|
Application integration using XML
|
 |
As more organizations move to integrate, or aggregate, information from
disparate applications (i.e. enterprise information portals) they face many
challenges in extracting the data locked within proprietary environments.
This presentation will define a framework for using the
XML to simplify the communication and
transformation of data between applications.
Application integration using XML
Enterprise portals are intended to provide users with a single point
of access to a variety of content aggregated from within the enterprise, as
well as from supplier or trading partners and the Web. This information will
be represented in both structured and unstructured data stores. The feature
of extensibility, the ability to arbitrarily define new markup languages,
enables XML to represent either of these data types. We are moving toward
a time when users of popular application and database software will have the
ability to save information as XML. Until this becomes the norm, organizations
interested in aggregating disparate data using XML will be faced with purchasing
or developing custom "connector" applications that convert legacy formats
to XML. These applications must perform three functions, extraction through
proprietary interfaces, transformation into XML, and packaging for transmission.
In addition to intelligently marking up the content extracted from backend
systems, organizations can utilize XML messaging to transport content between
an application and a portal server. In this case, the XML message will contain
metadata along with the content. From the metadata, a portal server can index
the content, and give users the ability to retrieve the native data or document
for viewing through the portal.
XML messaging is also important for transporting data back to the originating
applications. This paper present one proposal for leveraging XML to facilitate
the exchange of information between applications or trading partners. The
External XML Transaction Architecture (EXTRA) schema, based on the BizTalk
framework, provides an intelligent transport mechanism for routing information
between the portal server and connected applications. Sequoia Software recently
published EXTRA on BizTalk.org, as an example of an XML messaging strategy
designed to facilitate information integration with portal servers.
EXTRA messages consist of the BizTalk routing information, portal instructions,
and the actual content. BizTalk routing information provides the necessary
information about the message sending and receiving applications. The EXTRA
schema defines the Packet portion of the message, which contains instructions
for the portal. This Packet contains a set of actions that can be performed
in the portal, metadata about the content, and the content itself. The EXTRA
schema provides definitions for saving, indexing, updating, and deleting documents
(the content), as well as functions for updating metadata related to a specific
document (this metadata can be used by the portal to index the content). The
metadata will be used later to search for this content inside of the portal.
Use Case - Unstructured Data
A portal interface is ideal for providing users access to content from
legacy applications with difficult-to-use or unfamiliar Web interfaces. To
make this possible, the portal must first be populated with data from the
legacy application, which can be facilitated using BizTalk and EXTRA schemas.
The sample message below is formatted using the BizTalk and EXTRA schemas.
The BizTalk tags provide the routing information and the EXTRA tags are inside
of the <body> tag. The <save> tag defines the original data source of
the application, the document type and the file type of the content. The meta-data
is populated in this section. In this example, there are multiple <indexfield>
tags that define the metadata that can be used to search on this content.
The content tags in this example message contain 64-bit encoded data that
will be decoded by the portal server. In this case, the content is a scanned
document stored in a TIFF format. The document encoded and stored within a
CDATA section of the XML message. The portal server must decode the content
before storing it in the portal. This would give the user the ability to search
on this document and view it with in the portal. In the example of a TIFF
file, a plug-in application (i.e. Outside/In Server from Inso) would render
this information for viewing inside the browser.
<?xml version="1.0">
<biztalk_1 xmlns="urn:biztalk-org:biztalk:biztalk_1">
<header>
BizTalk Routing Information...
</header>
<body>
<packet xmlns="http://schemas.biztalk.org/sequoiasoftware_com/myaxudtv.xml">
<save id="41" datasource="LegacyDB" doctype="Patient_Data"
filetype="TIFF" mode="1">
<key name="Client_ID">12328282</key>
<key name="LastName">Pickett</indexfield>
<indexfield name="LastName">Pickett</indexfield>
<indexfield name="SSN">213-22-1111</indexfield>
<content encoded="yes">
UGhpcyBpcyBzYWlwbBiZSBlc2...</content>
</save>
</packet>
</body>
</biztalk_l>
Use Case - Structured
The sample message below shows a record from a database saved as a
XML file with the XML structure stored in the <content> tag. With XML data,
the portal can take advantage of the markup to enable structured searches
using
XQL.
The portal user can create a more detailed search for the data using tag and
value pairs to find the data he needs. An additional attribute in the <save>
tag, called <mode>, allows for different relationships to be defined between
the portal and the external database. These modes have been implemented to
allow one-way or bi-directional channels to be established and maintained
between the portal and the external data source. Thus, data can persist in
the portal or an interactive relationship can be established, allowing the
portal to update the external data source directly.
<?xml version="1.0">
<biztalk_1 xmlns="urn:biztalk-org:biztalk:biztalk_1">
<header>
BizTalk Routing Information...
</header>
<body>
<packet xmlns="http://schemas.biztalk.org/sequoiasoftware_com/myaxudtv.xml">
<save id="41" datasource="LegacyDB" doctype="Patient_Data"
filetype="TIFF" mode="1">
<key name="Client_ID">12328282</key>
<key name="LastName">Pickett</indexfield>
<indexfield name="LastName">Pickett</indexfield>
<indexfield name="SSN">213-22-1111</indexfield>
<content encoded="no">
<client_record>
<client_id>12328282</client_id>
<firstName>William</firstName>
<lastName>Pickett</lastName>
<address>
<street>5457 Twin Knolls Rd.</street
<city>Columbia</city>
<state>MD</state>
<zip>21045</zip>
</address>
<phone>
<work>410-666-777</work>
</phone>
<date>01/06/1999</date>
</client_record></content>
</save>
</packet>
</body>
</biztalk_l>
Conclusion
XML can be leveraged in several areas of application development. It
can be used for content aggregation and management (indexing, metadata,, etc.),
and it can be used to exchange data with disparate distributed applications
using XML messaging. The EXTRA schema described in this paper provides the
necessary elements for bringing both structured and unstructured content into
a portal server, and when desired, for establishing and maintaining dynamic
relationships between the portal server and external data sources. XML messaging
provides an effective method of over coming the challenges of enterprise integration
for exchanging data in XML or in other formats. More important, XML messaging
also levels the playing field for businesses needing to exchange information
in support of business-to-business e-commerce.