Internet Electronic Data Interchange with XML and JAVA   Table of contents   Indexes   SWIGing for fun and profit

 

Application integration using XML

Caporlette, Bryan
 
 Bryan  Caporlette
 Vice President, Product Management
  Columbia 
 Maryland 
Sequoia Software Corporation
 USA 
Sequoia Software Corporation,  5457 Twin Knolls Road
Columbia  Maryland  21045 USA
Phone: 410 715-0206 Fax: 410 715-6835 email: bcaporlette@sequoiasoftware.com web site: www.sequoiasoftware.com
 Biography
 Bryan Caporlette - Mr. Caprolette is Vice President, Product Management for Sequoia Software, a recognized leader in the development of interactive eBusiness portal. He has more than 11 years experience designing and implementing Internet publishing, electronic commerce, and document management solutions in a variety of vertical markets. Mr. Caporlette specializes in the development SGML/XML-based products.He is the Sequoia representative for OASIS, the Organization for the Advancement of Structured Information Standards.
 Prior to joining Sequoia, Mr. Caporlette held various product and engineering management positions at companies such as Hynet Technologies, ARINC Incorporated and Passage Systems, Inc. Mr. Caporlette is a regular presenter at industry conferences and various XML/SGML user groups. He has won the Armstrong Laboratory Chief Scientist Award and the USAF Technical Achievement Award for the creation of the Interactive Electronic Technical Manual (IETM) Data Model. He has also published articles in online and print technical journals. Mr. Caporlette received a B.S. in Systems Analysis at Miami University, Oxford, Ohio.
 Abstract
 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 theXML 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
 XQL 
 
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 usingXQL . 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.

Internet Electronic Data Interchange with XML and JAVA   Table of contents   Indexes   SWIGing for fun and profit