XML messaging is the technology of choice for implementing business-to-business (B2B) and application-to-application (A2A) transactions and for connecting internal systems that previously operated as "stovepipes." The problem today is that so many companies and industry organizations are proposing standards for a common e-business language that it is difficult to differentiate among them or know which one to use. In this section, we look at the basic components of XML messaging, as well as several efforts to promote XML for standard communication among organizations and applications. XML Messaging ComponentsAn XML messaging system contains
The transport mechanism itself is typically not specified as a component of XML messaging. Nevertheless, the messaging service must "wrap" the XML message, as required by the selected transport protocol. Examples of transport protocols used for XML messaging are HTTP, File Transfer Protocol (FTP), Simple Mail Transfer Protocol (SMTP), Microsoft Message Queue (MSMQ), MQSeries, and Electronic Data Interchange (EDI). Another element is becoming an important part of XML messaging. That is an e-commerce registry and repository structure for looking up companies, discovering products and services they provide, and learning about the types of business relationships they support. BizTalkBizTalk is an industry initiative headed by Microsoft to promote XML as the common data exchange language for e-commerce and application integration over the Internet. Although not a standards body per se, the group is fostering a common XML message-passing architecture to tie systems together. BizTalk provides XML messaging services through the BizTalk Framework. Figure 9-8 presents a simple document exchange using the BizTalk Framework. Figure 9-8. Document exchange using the BizTalk Framework
An application generates a business documenta well- formed XML document containing business dataadds any attachments, and submits it to the BizTalk Framework Compliant (BFC) server. Either the application or the BFC server can have responsibility for wrapping the business document in a BizTalk document. A BizTalk document is a Simple Object Access Protocol (SOAP) message. The body of the message contains the business document, and the header contains BizTalk-specific data. The BFC server processes the document and any attachments and constructs a BizTalk message as appropriate for the transport protocol. The BizTalk Framework does not prescribe transport protocols. Common protocols used for BizTalk are HTTP, SMTP, and MSMQ. The BizTalk Framework 2.0 documentation recommends using high-performance messaging middleware for reliable delivery and supports Secure Multipurpose Internet Mail Extensions (S/MIME) for securing BizTalk messages [Microsoft 00]. The BizTalk Framework does not prescribe the XML content or structure of the business documents being exchanged. The context and structure are defined by the organizations involved in the transaction. BizTalk.org provides an object library that can be queried and updated by its members . [5] This library is a set of sample schemas that members have used in their applications or schemas supported by members of the organization. These schemas can be used for communicating, but they are not a set of standard schemas that define business content to be transmitted inside a BizTalk message.
Electronic Business XMLElectronic Business XML (ebXML) is a project to standardize the secure exchange of business data, using XML. [6] The United Nations body for Trade Facilitation and Electronic Business Information Standards (UN/CEFACT) and the Organization for the Advancement of Structured Information Standards (OASIS) launched the ebXML project as a joint initiative. Its membership includes a wide variety of companies, ranging from major IT vendors to trade associations throughout the world.
Figure 9-9 illustrates a typical usage scenario for ebXML [Siddalingaiah 01].
Figure 9-9. Typical ebXML usage scenario
To support this scenario, the ebXML Technical Architecture Specification defines the following elements [ebXML 01]:
Similar to the other standards, ebXML's messaging service is transport neutral. HTTP and SMTP are commonly used protocols. Open Applications Group Integration SpecificationThe Open Applications Group (OAG) is a nonprofit consortium formed in February 1995 by a group of eight software vendors, including Oracle, SAP, and PeopleSoft. [7] The mission of OAG was to define and promote the adoption of a unifying standard for B2B and A2A interoperability, based on XML content. The result of this work is the Open Applications Group Integration Specification (OAGIS).
The OAGIS prescribes a content-based, business object model (Figure 9-10). To communicate with a business object in this model, events are communicated through the integration backbone in the form of an OAGIS-compliant, business object document (BOD) to a virtual object interface [OAG 99]. This virtual object interface is basically an OAGIS-compliant wrapper built around an application so it can exchange BODs with other applications. The integration backbone should provide at least the following services: request/reply, publish/subscribe, directory services, routing, queuing, and logging. Figure 9-10. OAGIS virtual business object model
The BOD uses metadata, in the form of an XML schema. The BOD conveys two primary components: the business service request and the business data area. This BOD structure is shown in Figure 9-11. Figure 9-11. BOD structure
Each business service request (BSR) contains a unique verb/noun combination, such as POST JOURNAL or SYNC ITEM, that drives the contents of the business data area (BDA). This combination of BSR and BDA corresponds to the object name , method, and arguments of a procedure call or method invocation model. OAGIS does not contain a messaging infrastructure. It is strictly an XML content repository and a set of common integration scenarios. However, its scenarios do fit best with enterprise application integration middleware, such as MQSeries. OAGIS is also responsible for OAMAS (Open Applications Middleware API Specification). OAMAS is a proposal to the middleware community for a common, higher-level middleware API so business applications can connect in a more standard way. RosettaNetRosettaNet is a nonprofit organization that creates, implements, and promotes open e-business standards. [8] RosettaNet is defining a common parts dictionary so that companies can define the same product in the same way and is also defining up to 100 e-business transaction processes, mainly for supply chain integration. RosettaNet's members include Microsoft, Netscape, 3Com, Toshiba America, Compaq, CompUSA, Hewlett-Packard, IBM, and Intel.
The main standard components offered by RosettaNet are
A RosettaNet-enabled trading partner uses the RNIF and the dictionaries to set up its environment. Two RosettaNet-enabled partners must agree on a PIP to use and establish a TPA before any communication takes place. From then on, every time they need to communicate, they execute a PIP instance as a sequence of business messages and signals, such as the one shown in Figure 9-12 for order placement [RosettaNet 02]. Figure 9-12. Sample PIP interaction sequence
RosettaNet business messages can be S/MIME packaged for security and can be transmitted using HTTP over SSL (HTTPS) or SMTP as protocols. How These Standards RelateBizTalk, ebXML, OAGIS, and RosettaNet compete and complement one another. In theory, any XML content conforming to the BizTalk, ebXML, RosettaNet, or OAGIS specifications can be transported using the BizTalk, ebXML, or RosettaNet infrastructures . OAGIS does not provide an infrastructure framework. In practice, it is not that simple. However, efforts are underway to make it happen. OAG has published several white papers on how to use OAGIS as the business content and BizTalk Framework, the RosettaNet Integration Framework, or the ebXML messaging service as part of the underlying messaging infrastructure. In addition, a product called BizTalk Accelerator for RosettaNet integrates these two products. The process of packaging, routing, and transporting XML-based messages is not the main issue. Rather, the issue is that an implementation of XML messaging is useless if the parties involved do not agree on the semantics of the information being exchanged. OAGIS is an XML content repository that represents common business transactions. RosettaNet and ebXML have some definitions of common content and also specifications for defining content and processes. In this case, the two parties must agree on their exchange in advance on an individual basis. The ebXML repository and the BizTalk object library try to make this agreement more automatic. The bottom line is that XML messaging can aid data interoperability where shared semantics can be assumed. XML messaging does not guarantee semantic interoperability; nor does it solve the integration problem. But XML messaging does make solving the problem easier. Other Standards Related to XML MessagingSimple Object Access Protocol (SOAP)SOAP is a platform-independent W3C protocol for applications to communicate with one another over the Internet. SOAP specifies exactly how to encode an HTTP header and an XML file so that a program in one computer can call a program in another computer and pass it information. SOAP also specifies how the called program can return a response. An advantage of SOAP is that program calls are much more likely to get through firewall servers because HTTP requests are usually allowed through. Other SOAP implementations include MSMQ, MQSeries, SMTP, and TCP/IP. [9]
Universal Description, Discovery, and Integration (UDDI)UDDI is an XML-based distributed registry that enables businesses to list themselves on the Internet and to discover one another, similar to a traditional phone book's white, yellow, and blue pages. The ultimate goal of UDDI is to allow online transactions by enabling companies to find one another on the Web and to make their systems interoperable for e-commerce. UDDI allows businesses to list themselves by name, product, location, or the Web services they offer. Web Services Description Language (WSDL)WSDL is an XML-based language used by UDDI to describe the services a business offers and to provide access to those services electronically . |