XML databases help businesses create low-cost, next-generation Web applications. Linux Advisor hed: Intelligent data meets Linux dek: XML databases help businesses create low-cost, next-generation Web applications. by Maggie Biggs
When measured in Internet time, neither Linux nor XML should be considered new. Both have been around for some time, though they are evolving along different paths. Now, however, Linux and XML are proving a potent and economical combination for businesses that need to create next-generation Web applications.
Since Linux was originally created in 1991 by Linus Torvalds at the University of Helsinki in Finland, the operating system has continued to gain ground as a solid, cost-effective platform that can be used on a wide variety of hardware-from servers and desktops to wireless devices and other post-PC technology.
In particular, the marriage of the Apache Web Server >www.apache.org< to the Linux operating system has proven a highly cost-effective mechanism for serving up Web applications. Today, 60 percent of all Web domains use the Apache Web server, according to a Netcraft survey.
The majority of first-generation Web applications served up static content using HTML. But, as commercial and academic use of the Web increased, the need to serve up more dynamic content also grew. Enter Extensible Markup Language (XML). Derived from Standard Generalized Markup Language (SGML), the first draft describing XML was created in 1996 by a group within the (W3C) World Wide Web Consortium, which was chaired by Jon Bosak of Sun Microsystems. XML can best be described as a universal format for exchanging structured documents and data on the Web.
You might think of XML as similar to HTML in that both make use of tags. HTML defines what each tag and its attributes mean; XML uses tags to delimit bits of data, and it leaves interpretation of that data to the applications that read it.
The W3C is also working on blending HTML and XML into a new standard called XHTML. Sun Microsystems also has a good tutorial on XML.
So where do Linux and XML cross paths? Though XML can be used across any number of platforms, Linux is particularly attractive since it can be used to serve up XML-capable Web applications at a much lower cost than other platforms.
One of my favorite ways to implement XML-based Web applications is to use a commercial Linux distribution, such as Red Hat or SuSE, which includes the Apache Web Server. To that I add a commercially supported application server, such as Lutris Enhydra. My total cost is less than $2,000, and I have support when I need it.
If I was to blend other operating systems–such as Windows 2000, which also includes a Web server-with an application server solution–such as BEA’s WebLogic–to serve XML-based applications, the cost could quickly exceed $25,000. It makes good economic sense to consider implementing the next generation of Web applications using XML on Linux.
Data, data, data…
There is another issue to contend with. Think about all the data you have in your business today. Most of it is stored in unstructured documents or in relational databases. How do you translate your existing data into XML so you can exchange it with others?
Some back-end databases, such as IBM’s DB2 and Oracle’s Oracle9i, offer support for XML translations. But this can slow down your application performance if you’re not careful. And, you’ll need to do some extra work to enable these databases to translate other unstructured documents into XML. You’ll want to check to see which XML options are available for the databases you use.
A newer way to approach database exchange with XML is to use one of the many native XML databases or XML translation tools that are arriving on the market today (see table). Costs can range from free if you’re adventuresome, to a few hundred dollars for a commercially supported product, to several thousand dollars for a higher-end solution. All of the solutions shown in the accompanying chart are available for Linux.
These native XML databases and translation tools, in their present form, do not replace your existing relational databases or the unstructured documents you might have on your file systems. What they do is sit between your application server and your databases or the file systems that hold your unstructured documents.
Many of the XML translation tools simply offer fast conversions (and query facilities) to and from XML on the fly as application requests arrive. Native XML databases can store collections of XML documents, and you can use these to cache your most frequently accessed information to give your applications a performance boost. XML data exchange currently provides the biggest payback in business-to-business applications. Suppose you own a bicycle shop and regularly order parts from a wholesale supplier. Both you and your supplier may use different operating systems and databases.
Using an XML translator allows you to form a standard request for parts. A native XML database will let you cache XML requests, which can be automatically sent to your supplier at regular intervals. Likewise, your supplier can cache the quantities of available parts in an XML database or process your request quickly by translating your XML order for immediate processing.
Using XML allows you and your supplier to speed up your transactions by using a standard, structured way to exchange data. XML is rapidly becoming the de facto standard for business-to-business data exchange because it reduces the costs of setting up and maintaining data communication between companies.
But expect the use of XML to spread to other parts of the computing world. E-commerce applications and wireless portals can also benefit from implementing XML as a means to support data exchange more easily. XML is also a key part of newer Web Services technologies, such as SOAP, UDDI, and ebXML. I’ll talk more about Web Services in an upcoming column.
Make no mistake about it; XML is an important standard for exchanging data, and one that businesses of all sizes need to invest in if they want to compete. However, using XML at your company does not have to be an expensive proposition. By marrying Linux and XML, your costs will be dramatically lower than implementing XML on other platforms.