BizTalk


With every distributed object technology today that crosses application or business boundaries, new challenges associated with providing efficient, automated interaction seem to present themselves at every turn .

With the rapid growth of Internet e-business applications today, additional challenges in the areas of security and reliability must be addressed to communicate with other organizations.

These challenges, which evolve into requirements for interaction across business boundaries, interbusiness or departmental, include, at a minimum, the following:

  • A flexible and extensible common language to specify, package, publish, and exchange both structured and unstructured information across application or business boundaries

  • A flexible and extensible common language to convert information from one format to another as application and business boundaries are crossed

  • Platform-independent, application-level communication protocols that enable interactions across application or business boundaries

  • Platform-independent mechanisms to provide message security, integrity, and privacy

Microsoft's BizTalk specification is an attempt to provide a solution to these problems. It provides specifications for the design and development of XML-based messaging for communication between applications and organizations. The BizTalk Framework does not attempt to address all aspects of business-to-business (B-to-B) electronic commerce. It provides a set of basic mechanisms required for most B-to-B electronic exchanges. Microsoft is relying on other specifications and standards, consistent with the BizTalk Framework, being developed for the application- and domain-specific aspects. Currently, it functions in part as a repository for schemas developed by third-party organizations.

Now let's take a look at a representative BizTalk document.

BizTalk Schema Example

This discussion will not be an exhaustive, in-depth breakdown of BizTalk schema; rather, it will be an overview of the sections of a BizTalk document.

BizTalk relies on the Simple Object Access Protocol (SOAP) for messaging. More information on SOAP in the form of a W3C note can be found at http://www.w3.org/TR/SOAP/. An excellent white paper on SOAP, "Web Services and the Simple Object Access Protocol," is available on Microsoft's MSDN site at http://msdn.microsoft.com/xml/general/soap_webserv.asp.

In addition, BizTalk does not prescribe the content or structure (schema) of individual business documents. The details of the business document schema are defined and agreed on by the businesses involved. Think of BizTalk as a kind of wrapper for business documents.

Listing 5.19 shows a sample BizTalk document. This document consists of a standard SOAP 1.1 message containing the following:

  • An application-specific business document (in this case, a book purchase order), with its own application-defined XML namespace, carried in the body of the message.

  • BizTalk-specific <endpoints> and <properties> SOAP header tags, constructed using BizTags defined in standard BizTag namespaces. The schema is defined in the BizTalk specification.

Listing 5.19 A Simple BizTalk Document
 <SOAP-ENV:Envelope      xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"      xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance">    <SOAP-ENV:Header>      <eps:endpoints SOAP-ENV:mustUnderstand="1"          xmlns:eps="http://schemas.biztalk.org/btf-2-0/endpoints"          xmlns:agr="http://www.trading-agreements.org/types/">        <eps:to>          <eps:address xsi:type="agr:department">Book Orders</eps:address>        </eps:to>        <eps:from>          <eps:address xsi:type="agr:organization">Book  Lovers</eps:address>        </eps:from>      </eps:endpoints>      <prop:properties SOAP-ENV:mustUnderstand="1"          xmlns:prop="http://schemas.biztalk.org/btf-2-0/properties">        <prop:identity>uuid:74b9f5d0-33fb-4a81-b02b- 5b760641c1d6</prop:identity>        <prop:sentAt>2000-05-14T03:00:00+08:00</prop:sentAt>        <prop:expiresAt>2000-05-15T04:00:00+08:00</prop:expiresAt>        <prop:topic>http://electrocommerce.org/purchase_order/</prop:topic>        </prop:properties>      </SOAP-ENV:Header>      <SOAP-ENV:Body>        <po:PurchaseOrder  xmlns:po="http://electrocommerce.org/purchase_order/">        <po:Title>Essential BizTalk</po:Title>      </po:PurchaseOrder>    </SOAP-ENV:Body>  </SOAP-ENV:Envelope> 

In general, the body of the BizTalk document contains several related business documents, and the header of the document contains several BizTalk-specific header entries. The SOAP-ENV:mustUnderstand attribute with a value of "1" implies that the destination point of this document must understand and correctly process the header entries so attributed, and if not, the processing of the document must be terminated with failure.

All BizTags are defined within standard BizTag namespaces with URIs derived by extension from the prefix http://schemas.biztalk.org/btf-2-0/.

The <to> and <from> routing tags often use business-entity names for source and destination addressing rather than transport addresses such as HTTP URLs. The form and interpretation of the address content is indicated by the xsi:type attribute. The BizTalk document structure and function are independent of the transport over which the documents are carried. This transport independence was one of the major considerations in the design of the BizTalk Framework.

The Body element of the document contains the business documents being carried. In general, a BizTalk document can carry a set of related business documents (for instance, a purchase order, a shipper's name , and an address for shipping that order).

There are many more BizTalk tags than I have shown here, and I refer you to the BizTalk specification for detailed listings and explanations of those tags.

Hopefully, BizTalk will realize its expectations and make the development of distributed applications a much less painful process.



XML and SQL Server 2000
XML and SQL Server 2000
ISBN: 0735711127
EAN: 2147483647
Year: 2005
Pages: 104
Authors: John Griffin

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net