"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 to exchange 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.