|
August 2001
XMLEGANT ANSWERS
'T' is for 'Transformation'
by Bill Trippe
People often ask me, "What's the big deal about XML?" On its own, XML data just sits there - tidy, well organized and self-describing - but it still just sits there. Yet XML is an expanding technology not for what it does itself; it is important because of the many related technologies and standards now coming to light. At the very least, you need to be able to format data for presentation and shape it into any other necessary forms. This is where Extensible Stylesheet Language (XSL) comes in, and, in particular, its offshoot language, XSL Transformations (XSLT).
This talk of transformation probably seems self-serving - this magazine is named "Transform," after all. But, in fact, the word "transformation" has been used with XML since its inception and earlier than that with SGML, XML's predecessor. The question about XML data always has been, "What can I do with it?" The first answer has always been, "Transform it into something else."
In my June column, I talked about XML schemas and how they are central to data modeling in the new enterprise infrastructure. One of my key points in that column was that software development today often involves moving data among loosely coupled systems, and the schema becomes the lynchpin in this movement. If schemas are the lynchpin, XSLT and other transformation tools are both the intermodal transportation system - how the data gets from one unlike system to another - and the machinery for moving all the data at each point.
What Does XSLT Do?
The W3C Recommendation describes XSLT as "a language for transforming XML documents into other XML documents." As such, it is not intended to be a general-purpose language for transforming XML into anything and everything. There are already many XSLT-based products and other tools for such applications as moving data between XML and EDI systems, XML and common document formats, such as Microsoft Word, and XML and relational database structures.
The concepts are pretty straightforward. XML data can be traversed, among other ways, as a tree structure. For instance, you can think of an address database as one big tree, with each address being a branch, and elements of each address being smaller branches, and so on. In this example, you could use XSLT to traverse the addresses to select and manipulate each name and phone number, or each name and ZIP code, or each name, phone number and ZIP code. If you have multiple databases with such information, you could create XML versions of the data and use XSLT to map from one data source to another.
Why is this kind of mapping important? One obvious reason is that all organizations need to share data, both internally and externally. We all have multiple data sources, and none of them will be going away tomorrow. Contemporary software development is n-tier, after all, and the n is likely to keep growing. Perhaps more importantly, though, the mapping is a technical detail that reflects the much larger and more important business activity driving the n-tier integration. Why are you exchanging data in the first place? Do you have a new marketing partner with which you're exchanging customer lists? Do you have a new fulfillment partner and need to integrate your catalog data into its shipping systems? The mappings that underlie these integrations are where the business rubber meets the technology road.
Tools for Transformation
A number of technology companies have developed XSLT-based tools and other products for mapping data between XML and other data structures, notably EDI and a variety of document and database formats. At the low end of the price and feature spectrum are tools from Data Junction, Austin, TX, and Infoteria, Beverly, MA. Among the many competitors at the high end are Vitria Technology, Sunnyvale, CA, WebMethods, Fairfax, VA, and Iona Technologies, Waltham, MA.
Duane Nickull is founder and CTO of XML Global (Vancouver, BC), maker of a product called GoXML Transform. Nickull has been very active in XML standardization efforts such as Electronic Business XML (ebXML) and sees easier-to-use transformation tools as essential to today's electronic businesses. "There are many reasons for this," says Nickull. "One is the ability to reuse information easily and at less cost than existing 'hard-coded' transformations. It also means avoiding duplication of data, which of course is costly and cumbersome."
For Nickull and others, there is also an organizational benefit to the transformation tools being easy to use. With programming-intensive tools, the person who understands the business rules of the mappings is likely not the same person who programs the tools, so a team needs to be assembled. Such collaboration is complex, time-consuming and fraught with imprecision. The process works much better if the people who understand the business rules effect most of the mapping themselves, leaving only the most complicated work to the technologists.
Easy-to-use transformation tools and products are part of the cost and complexity equation when it comes to database mapping and conversion. The other part is the XML data itself and the data modeling that comes through the use of XML schemas. It is far easier to model and manipulate XML data than it is to convert existing databases wholesale. And it is also easier to change an XML schema than it is to change a complex relational model. If you have many data sources in many different forms, you should look into XML transformation tools to keep the data flowing.
Bill Trippe(btrippe@nmpub.com)
is president of New Millennium Publishing (www.nmpub.com), Boston.
|
|