Modeling XML Applications with UML: Convergence of Communities
e-Business is a catalyst for change. The change has been profound and fast as companies adopt the Internet as a primary channel for business interactions. Businesses initially used the Web as a one-way channel for communicating text and graphical information to consumers. The Web quickly became a platform for electronically processing orders and making catalog and real-time inventory available online. This consumer-oriented business transformation has now begun to impact the very heart of supply chain operations. Recent forecasts predict that business-to-business (B2B) transactions via the Internet will soon dwarf the other e-business conducted with consumers. Behind the scenes of this publicity, however, information-technology professionals are scrambling faster than ever. Yet, they are still falling behind in their efforts to interconnect all of the new and legacy systems required to fulfill this new electronic-business age.
e-Business requires integration of the information and processes needed to conduct business in real time. At the consumer level, this means that online catalogs must access the inventory database; also, credit authorization, order processing, and fulfillment must be integrated to deliver the goods to each buyer. Challenges have been encountered but were conquered, and the world moved on with this new, faster channel for sales. Then came B2B integration. Supply chain integration of manufacturers and distributors requires deeper introspection into sales forecasts, production scheduling, product configuration, and inventory management. The arrival of electronic marketplaces has created a "brave new world" of electronic bidding, auctions, reverse auctions, and a steady stream of never-before encountered business processesall of which needs to be completed yesterday.
Finally, as if these challenges weren't difficult enough, all these new services must be delivered via personalized portals that can be accessed using Web browsers, personal digital assistants (PDAs), cell phones, pagers, interactive television, and automated shopping agents. These portals must become an extension of the core enterprise information infrastructure, not simply patched on as a Web sales channel. The portal becomes a secure conduit for basic operational data to be delivered to remote and mobile employees, key business partners, suppliers, and customers. The portal is a window into the B2B flow of information.
To satisfy these new demands, we must adopt a fundamental change in the way system integration is accomplished. This means an infrastructure that supports loose coupling of intra- and inter-enterprise information between widely disparate application designs, operating systems, databases, and application programming interfaces (APIs). The eXtensible Markup Language (XML) has become a solution for many of these needs. XML is not a magic wand that can solve all problems, but it does enable us to focus on the definition of shared vocabularies for exchanging information that can be processed easily by both human and computer systems. XML and its domain vocabularies are becoming the lingua franca for B2B communication.
An additional benefit of XML is that it was derived from a document-processing heritage for supporting both computer and human communication. As a result, it contains standardized stylesheet processing languages and tools for presenting XML documents to human users in many formatsprint, multimedia, and synthesized voice. Through these technologies, XML has the potential to become the standard platform for convergence of information to all types of portals.
A complete coverage of how XML can address these e-business issues would require many volumes. This book adopts a more modest goal of addressing business-to-business vocabularies and portals using XML. Our main goal is to describe the use of the Unified Modeling Language (UML) as a technique for designing business vocabularies that can be deployed using XML for e-business integration.
Models for e-Business
By itself, XML is only a syntax for the exchange of data and text-oriented documents; yet we need more than a common syntax for successful communication. Communication requires shared models of both the underlying domain semantics, and the processes and policies used to engage in electronic commerce. These models are the very essence of B2B integration. They may be implicit in the applications that process the XML documents; or they may be explicit in definition of the model's concepts, relationships, and constraints. In practice, the models are defined both implicitly and explicitly.
We'll cover the following three aspects of modeling B2B communication.
Modeling system requirements with use cases. These models define the roles of stakeholders and the use case actors who are involved in B2B interactions, plus the functional requirements of those stakeholders and actors.
Modeling processes and communication policies. B2B interactions are not limited to sending a single message but require a coordinated sequence of activities and expectations of the business partners.
Modeling business vocabularies. Each message exchanged within a communication process contains information content that may be short and simple or very long and complex. Each of these content documents is defined by a vocabulary that is shared by the parties engaged in the communication.
XML is becoming widely used for representing both the process and the content information when deploying models. Process information includes the messaging infrastructure and workflow control that guides the process execution. Many B2B processes are asynchronous and long running, so the XML-based message header information identifies the parties, process, and purpose of the message. The business vocabularies define the heart of the messageits content. Example product catalog vocabulary is developed in this book. The catalog data using this vocabulary will be exchanged in messages between business partners when aggregating catalogs from multiple suppliers or when responding to queries for product specification data.
An XML application is, however, much more than structured data! The application is part of a broader system context, including both architectural and process requirements. Most e-business applications contain requirements, from both business and technical stakeholders, which are distributed across an interenterprise system. Development of these systems benefits greatly from visual models and a process that encourages active communication. Let's face itthe business world revolves around graphical presentation, so anything that adds a visual component to XML specification is very helpful.