W3C Validator

One of the best tools for checking the validity of a page’s markup is the World Wide Web Consortium’s validator, available at validator.w3.org. I use the validator almost exclusively from within Firefox, into which I have installed the Web Developer plugin. This plugin lets you validate the HTML of any page, simply by selecting Validate HTML from the browser. The browser submits the page’s URL to the W3C validator, which then gives a line-by-line indication of what problems (if any) the page contains.

The W3C validator has at least two problems, however. First, it requires that you submit each page, one at a time, to the validator program. This means a great deal of time and effort, just to check your pages. A second consideration is more practical; the validator works only with pages that are accessible via the Internet, without password protection. If your site is being developed on your local computer, and if you have a firewall protecting your business from the outside world, you probably will be unable to use the validator via the Web.

One solution to this problem is to install the W3C validator on your local computer. You can get the source code from validator.w3.org/source, which comes in the form of a Perl program. On modern Debian and Ubuntu machines, you can install w3c-markup-validator, which makes it available via your local Web server, ready to be invoked.

If you end up installing the validator manually, it requires a number of modules, which you might need to download from CPAN (Comprehensive Perl Archive Network), a large number of mirrors containing open-source Perl modules. It might take some trial and error to figure out which modules are necessary, although if you are an experienced user of the CPAN.pm installer, this shouldn’t be too much trouble. Note that the SGML::Parser::OpenSP module requires the OpenSP parser, which you can get from SourceForge at openjade.sf.net. As you might be able to tell, a number of these modules are required in order to handle alternate encoding schemes, particularly those for Asian languages. Even if you aren’t planning to handle such languages, the modules are mandatory and must be installed.

The validator program, called check, should be put in a directory for CGI programs or in a directory handled by mod_perl, the Apache plugin that lets you run Perl programs at a higher speed, among other things. You also will need to install a configuration file, typically placed in the directory /etc/w3c, but which you can relocate by setting the W3C_VALIDATOR_CFG environment variable.

Source of Information : Linux Journal Issue 182 June 2009

VMM is a series of components that include Windows Server, SQL Server, a local agent, an Administrative console, and a self-service console. The components that make up VMM include

• A Microsoft Windows Server 2003 SP1 or later server on which the VMM service (server component) is installed.

• A Microsoft SQL Server 2005 database. This database contains all VMM objects.

• Servers on which the VMM local agent is installed. These servers act as hosts on which to deploy VMs using VMM. A host computer runs Microsoft Virtual Server 2005 R2, Virtual Server 2005 R2 Service Pack 1 (SP1), or Windows Server 2008 with Hyper-V.

• Servers on which the VMM local agent is installed that act as library servers. Library servers store resources for the VMM environment.

• Computers on which the VMM Administrative console is installed. These computers or servers provide the administrative GUI and command shell to manage the physical and virtual infrastructure.

• Web servers that act as self-service portals. Self-service portals allow designated users to create/manage their own VMs.

Source of Information : Sams - Windows Server 2008 Hyper-V Unleashed 08

Despite Microsoft having a major release of both Windows server virtualization and Virtual Machine Management in 2008, their history in virtualization is less than six years old, with virtualization management being less than year or two.

Microsoft History of Virtualization
Microsoft obtained its role in virtualization by acquiring the technology and then developing it over time. They first purchased virtualization technology and then developed the technology into both a server and client product.

Microsoft’s Introduction to Virtualization by Acquisition
Microsoft first entered the operating system virtualization market when it purchased Connectix in 2003. Microsoft’s first VM product was Microsoft Virtual PC, which they released as a free product in 2004. Virtual PC was meant to allow administrators to create VMs on a desktop-class computer for testing purposes.

Microsoft’s First Release of Server Virtualization
About the same time, they released Microsoft Virtual Server 2005, which was designed to run on server-class equipment and offered more robust features. In Q2 2006, Microsoft made Virtual Server 2005 R2 Enterprise Edition a free download to better compete with the free virtualization offerings from VMware and Xen. Virtual machines are created and
managed through a Windows client application tool called VMRCplus or through an Internet Information Services (IIS) web-based interface. Virtual Server 2005 provides more features than Virtual PC and is designed to run in the data center.

Microsoft’s Client Virtualization
In Q1 2007, Microsoft released Virtual PC 2007. The main advantages over Virtual PC 2004 were support for hardware virtualization, viewing virtual machines on multiple monitors, and support for Windows Vista as both host and guest. The following year
Virtual PC 2007 SP1 was released.

Microsoft’s History on Virtualization Management
While virtual servers and clients have helped organizations minimize the number of physical systems they have, the challenge has been to manage these virtual systems. It wasn’t until 2007 that Microsoft finally had a product dedicated to VM management, which has then led to the current release covered in this book, Virtual Machine Manager 2008.

Early Virtualization Management Techniques
Up to this point, VM management was performed by the system administrator using the standard Windows monitoring and management techniques: viewing event logs, performance counters, and system properties of both the VM and the host that runs it. With the proliferation of VMs in the data center, there grew a need to centralize VM management and to manage the placement and provide disaster-recovery options for these guests.

Release of Virtualization Machine Manager 2007
Microsoft’s answer to this need was Microsoft System Center Virtual Machine Manager 2007 (VMM 2007). VMM 2007 was available in three versions: System Center Virtual Machine Manager 2007, System Center Virtual Machine Manager 2007 Workgroup Edition (VMM WGE 2007), and System Center Essentials 2007 (Essentials 2007). VMM 2007 provides comprehensive support for consolidating 32-bit physical servers onto virtual infrastructures and rapid provisioning and deployment of new 32-bit virtual machines. To help IT administrators keep organized, VMM features a library to centrally manage the building blocks of the virtual data center, including virtual hard drives, VMM templates, and P2V conversions.

Release of Virtualization Machine Manager 2008
Microsoft System Center VMM 2008 is the latest version of the VMM product line. It replaces System Center VMM 2007 and adds many new features, including full Hyper-V support, 64-bit VM support, the ability to manage both Microsoft and VMware virtual infrastructures, and more.


Source of Information : Sams - Windows Server 2008 Hyper-V Unleashed 08

What Is Virtual Machine Manager?

Up to now, we have discussed what Hyper-V provides to the data center and how to deploy and configure single virtual machines. Once the organization understands and adopts the value of system virtualization, IT administrators look for improved ways to deploy, control, and administer the virtual infrastructure. Enter Microsoft System Center Virtual Machine Manager 2008. Virtual Machine Manager 2008 (VMM 2008) provides a System Center common management interface for the virtualized data center that allows increased server utilization and dynamic resource allocation. It also works across multiple virtualization platforms, including those from Microsoft and VMware. Third-party add ons for XenSource, XenWorks, and others will be available in the near future. VMM 2008 takes a holistic approach to managing the virtual infrastructure by examining and rating the virtualization hosts. It compares these hosts against a set of criteria and rates the suitability of the virtual machine (VM) to be deployed on the hosts where it can be deployed. This is important because a single physical host server can host tens of virtual machines.

Source of Information : Sams - Windows Server 2008 Hyper-V Unleashed 08

A Brief History of SQL

The history of the SQL is intimately intertwined with the development of relational databases. The relational concept was originally developed by Edgar Frank “Ted” Codd, an IBM researcher. In June 1970, Codd published an article entitled “A Relational Model of Data for Large Shared Data Banks,” which outlined a mathematical theory of how data could be stored and manipulated using a tabular structure. Relational databases and SQL trace their origins to this article, which appeared in the Communications of the Association for Computing Machinery.


The Early Years
Codd’s article triggered a flurry of relational database research, including a major research project within IBM. The goal of the project, called System/R, was to prove the workability of the relational concept and to provide some experience in actually implementing a relational DBMS. Work on System/R began in the mid-1970s at IBM’s Santa Teresa laboratories in San Jose, California.

In 1974 and 1975, the first phase of the System/R project produced a minimal prototype of a relational DBMS. In addition to the DBMS itself, the System/R project included work on database query languages. One of these languages was called SEQUEL, an acronym for Structured English Query Language. In 1976 and 1977, the System/R research prototype was rewritten from scratch, and the new implementation was distributed to selected IBM customers for evaluation in 1978 and 1979. These early customer sites provided some actual user experience with System/R and its database language, which, for legal reasons, had been renamed SQL, or Structured Query Language. In 1979, the System/R research project came to an end, with IBM concluding that relational databases were not only feasible, but also could be the basis for a useful commercial product.


Early Relational Products
The System/R project and its SQL database language were well-chronicled in technical journals during the 1970s. Seminars on database technology featured debates on the merits of the new and heretical relational model. By 1976, it was apparent that IBM was becoming enthusiastic about relational database technology and that it was making a major commitment to SQL.

The publicity about System/R attracted the attention of a group of engineers in Menlo
Park, California, who decided that IBM’s research foreshadowed a commercial market for relational databases. In 1977 they formed a company, Relational Software, Inc., to build a relational DBMS based on SQL. Their product named Oracle, shipped in 1979 and became the first commercially available relational DBMS. Oracle beat IBM’s first product to market by a full two years, and Oracle ran on Digital’s VAX minicomputers, which were less expensive than IBM mainframes. The company aggressively sold the merits of the new relational style of database management and eventually renamed itself after its flagship product. Today, Oracle Corporation is the leading vendor of relational database management systems and a major vendor of enterprise applications based on the Oracle database, with annual sales of tens of billions of dollars.

Professors at the University of California’s Berkeley computer laboratories were also researching relational databases in the mid-1970s. Like the IBM research team, they built a prototype of a relational DBMS and called their system Ingres. The Ingres project included a query language named QUEL that, although more structured than SQL, was less Englishlike. Many database pioneers, key database developers, and founders of database startup companies trace their history back to the Berkeley Ingres project.

In 1980, several professors left Berkeley and founded Relational Technology, Inc., to build a commercial version of Ingres, which was announced in 1981. Ingres and Oracle quickly became bitter archrivals, but their rivalry helped to call attention to relational database technology in this early stage. Despite its technical superiority in many areas,
Ingres became a clear second-place player in the market, competing against the SQL-based capabilities (and the aggressive marketing and sales strategies) of Oracle. The original QUEL query language was effectively replaced by SQL in 1986, a testimony to the market power of the SQL standard. By the mid-1990s, the Ingres technology had been sold to Computer Associates, a leading mainframe software vendor. (Computer Associates sold its interest in Ingres to a private equity company in 2005.)

Source of Information : MCGraw Hill - SQL the Complete Reference 3rd Edition (10-2009)

MySQL Database Maintenance, Backups, and Replication

Every MySQL administrator hopes to avoid having to deal with corrupted or destroyed database tables. But hope alone won’t keep problems from occurring.You should take steps to minimize your risks and learn what to do if bad things do happen.

Preventive maintenance. A regular program of preventive maintenance should be put in place to minimize the likelihood of database corruption or damage.You should also be making backups, of course, but preventive maintenance reduces the chance that you’ll need to use them.

Database backups. In the event of a severe system crash, database backups are of crucial importance. You want to be able to restore your databases to the state they were in at the time of the crash with as little data loss as possible. Note that backing up your databases is not the same thing as performing general system backups (as is done, for example, by using the Unix dump program).The files corresponding to your database tables might be in flux due to server activity when system backups take place, so restoring those files will not give you internally consistent tables.The mysqldump program generates backup files that are more useful for database restoration, and it enables you to create backups without taking down the server. You might also need the backup files for moving databases to a different location in the event of a full disk.

Crash recovery. Should disaster strike in spite of your best efforts, you should know how to repair or restore your tables. Crash recovery should be necessary only rarely, but when it is, it’s an unpleasant, high-stress business (especially with the phone ringing and people knocking on the door while you’re scrambling to fix things). Nevertheless, you must know how to do it because your users will be quite unhappy otherwise! Be familiar with MySQL’s table-checking and repair programs. Know how to recover data using your backup files and how to use the binary log to recover changes that were made after your most recent backup.

Database migration. If you decide to run MySQL on a faster host, you’ll need to copy your databases to a different machine.You should understand the procedure for doing this, should the need arise. Database file contents might be machine dependent; if so, you can’t just copy them from one system to another.

Database replication. Making a backup or a copy of a database takes a snapshot of its state at one point in time. Another option available to you is to use replication, which involves setting up two servers in cooperative fashion such that changes to databases managed by one server are propagated on a continuing basis to the corresponding databases managed by the other server. To use replication, you should know how to set up a server as a master replication server, and how to set up slave servers that replicate the master. If trouble occurs and replication stops, you must know where to look to identify the problem and how to get replication started again.

Source of Information : MySQL (4th Edition)


Subscribe to Developer Techno ?
Enter your email address:

Delivered by FeedBurner