XML: A Managers Guide (2nd Edition) (Addison-Wesley Information Technology Series)

XML messaging is a technique that uses XML as the format for messages sent between software programs over the Internet. This technique has the potential to revolutionize distributed computing. XML, however, does not really enable new types of distributed applications but rather makes important types of existing applications more flexible, interoperable, and cost effective.

Distributed computing is the branch of computer science that is concerned with how pieces of software running on different machines communicate via a network. Some examples are connecting an order entry application running in a New Delhi call center to a product distribution application running in a Los Angeles warehouse or managing the ventilation , elevator, and security systems of an office building from a central control room. The Web is perhaps the best known example; it satisfies requests from user desktops throughout the world for content located on corporate servers. Each of these examples has the same basic characteristics. A program on one machine must send information to a program on another machine. The receiving program must interpret this information and take appropriate action.

EDI and distributed objects are two very successful distributed computing paradigms . EDI enables trading partners to turn the physical flow of document-oriented business processes into an electronic flow, thereby decreasing costs and cycle times and increasing predictability. Unfortunately, overly rigid formats for electronic business documents constrain EDI's ability to accommodate business change.

Distributed objects enable an enterprise to turn physically separate business systems into a single virtual system, thereby decreasing costs, improving efficiency, and improving decision making. Unfortunately, lack of interoperability among different distributed object implementations constrains their ability to integrate business operations. Both technologies are expensive to deploy and maintain.

XML messaging addresses the problems of flexibility, interoperability, and cost effectiveness. However, the EDI and distributed object paradigms are distinctly different in their semantics and infrastructure requirements. The EDI paradigm is about connecting similar systems across organizational boundaries. The distributed objects paradigm is about connecting different systems in the same organization. When EDI software sends information over the network, it sends large, self-contained documents like Request for Quote, Quote, and Purchase Order. The receiving software accepts a document and processes it over minutes, hours, or even days and sends back another large, self-contained document whenever it is ready. When distributed object software sends information over the network, it sends small, detailed instructions like Create New Order, Add Line Item to Order, and Set Payment Terms of Order. The receiving software processes the instruction in milliseconds and immediately returns the results to the waiting sender.

Software designed following the EDI model has relatively few exchanges of large blocks of data, but a series of explicitly related exchanges can take place over days, weeks, or months. Both the sender and the receiver always know the implicit context of what the other party is trying to accomplish. Software designed following the distributed objects model has exchanges that are relatively disconnected from each other but that occur in rapid-fire flurries lasting a few seconds. The sender knows the instructions that the receiver can execute, but the receiver often has no context for how the individual instructions relate to the sender's overall goal. Therefore, implementing these two paradigms with XML creates some confusion. They share much of the same low-level infrastructure, but the way they use this infrastructure differs significantly. This has serious implications for organizations considering building applications on top of an XML messaging foundation.

The situation has become even more confusing with the rise of Web Services. Originally, the term applied to the use of three protocols: Simple Object Access Protocol (SOAP); Web Services Definition Language (WSDL); and Universal Description, Discovery, and Integration (UDDI). The use of these protocols favored the distributed objects paradigm. However, as people began considering systems based on the EDI paradigm, the term began to mean a comprehensive interoperable framework based on XML messaging that could address both paradigms.

Because you can use XML messaging and Web Services as part of either paradigm, you should explictly choose between the business document paradigm of EDI and the remote interface paradigm of distributed objects for each project. Once you have determined the paradigm, much of the apparent complexity of the technology falls away. You can more easily identify which Web Services initiatives match your needs. Table 4-1 summarizes these choices, and the rest of this chapter addresses them in detail

Table 4-1. EDI vs. Distributed Object XML Paradigms

XML Feature EDI Distributed Objects
Messaging Protocol SOAP SOAP
Framework BizTalk or ebXML WSDL + UDDI
Flow Language ebXML or BPML XLANG or WSFL

Категории