XML: Shaping Enterprise
XML: Shaping Enterprise
Michael Champion, Senior R&D Advisor, Software AG
"XML" is often used to describe a cluster of inter-related technologies at different levels of maturity. The most important organization responsible for developing and standardizing the XML specifications is the World Wide Web Consortium (W3C), and these specifications are all available at www.w3.org.
The XML-related specifications that are sufficiently mature and widely supported today to be of interest to enterprise-level IT developers include:
XML 1.0 - A metaformat for both documents and data described by a W3C Recommendation finalized in February 1998.
The Document Object Model (DOM) API for building XML applications, first released in October 1998.
XPath - A November 1999 simple query language to locate substructures in an XML document or collection of documents.
XSLT - A November 1999 "stylesheet" format used to specify how XML documents in some specific format can be translated to another, or to HTML, or to raw text.
These specifications are widely supported in commercial and open-source products from the top-tier enterprise software companies, and from many other companies and organizations as well. XML parsers, DOM interfaces, XSLT transformation engines, and Xpath query processors are built into all recent versions of Windows and Internet Explorer, Oracle databases, much freely available software from IBM, Java 1.4, and in all of Software AG's current generation of products. XML development tools are widely available from many of these vendors, and a number of smaller, more specialized vendors such as SoftQuad and Extensibility develop state-of-the-art tools that are bundled with Software AG's products. In short, the XML technologies are ready to enter the IT mainstream and enterpise developers can take advantage of them now.
Let's consider a simple example of XML technologies working in conjunction with existing enterprise infrastructure components. In the scenario illustrated here, a company has had a mainframe-hosted invoice system in place for some time. The company is basically satisfied with the performance, reliability, and scalability of their existing system, but is under increasing pressure to make it easily interoperate with their Web-based retail sales systems, their other enterprise systems, and with the systems of the other members of their supply chain.
XML-enabled B2B and EAI systems are available from vendors such as WebMethods, Ariba, CommerceOne, etc., and these allow the company to connect to the "rest of the world" using XML messages. The problem they face is how to bring their classic invoice system into this information flow, e.g. to produce invoices in the existing database when a sale is generated by a B2C or B2B commerce system. Since XML is rapidly becoming the "lingua franca" of web commerce, the customer would like to leverage the investment in XML technology as far as possible and minimize the amount of code written to proprietary languages and APIs.
A critical step is to make the "classic" application's data available in XML format. Fortunately, most vendors of enterprise-class applications, databases, and ERP systems provide some sort of XML access interface that allows data to be imported and exported in an XML format. (If the classic system has no XML access interface, there are a considerable number of products, tools, and services available to produce one relatively easily). Once the XML interface is in place, it will be fairly straightforward to produce the desired integration. In our example, The B2B system will produce XML invoice update messages in some well-defined XML format, and the customer needs to develop some "glue" to pass these on to the classic system. The bulk of the work involved entails constructing XSLT stylesheets to map back and forth between the XML format for an invoice defined by the B2B / EAI vendor and the XML view of the existing invoice file. The "glue" code can then call an XSLT engine to transform the incoming B2B / EAI message into the XML format mapped onto the existing database, and then calls the XML Access Interface to do the actual insertion.
Sometimes invoices need to be extracted from the classic system to be sent to some other system, e.g. the ERP system of a newly acquired division of the company. In this case, a similar bit of "glue" code can extract an invoice from the classic system in XML format, call XSLT to translate it into the format expected by the EAI system, and then rely on the EAI system to transfer it to the other ERP system.
In another typical example, while XML "B2B" applications fill much the same role as existing UN/EDIFACT Electronic Data Interchange (EDI) systems, XML offers a very different set of advantages. EDI systems are best suited for high-volume, performance-critical communications between large companies with well-established business relationships. XML systems are much better suited for more flexible, ad-hoc communications involving small organizations and mobile devices. Thus, the addition of XML to an EDI infrastructure allows the advantages of EDI to be propagated to all the nodes of an organization without jeopardizing the investment in EDI.
To summarize: XML can provide great benefit to enterprises that have invested heavily to build an effective information technology infrastructure, but are challenged toexchange data between the legacy components of this infrastructure and newer "web-enabled" e-business applications. XML technologies help: map diverse existing data onto a more easily useable master format translate that master format into other XML dialects used by various enterprise and supply chain integration products exchange data between diverse applications and systems.