Application integration using XML
Bryan Caporlette
Find


Abstract
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.

Contents
  1. Application integration using XML

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.
Previous Previous Table of Contents