Home > Store

Modeling XML Applications with UML: Practical e-Business Applications

Register your product to gain access to bonus material or receive a coupon.

Modeling XML Applications with UML: Practical e-Business Applications


  • Sorry, this book is no longer in print.
Not for Sale




  • Copyright 2001
  • Dimensions: 7-3/8" x 9-1/4"
  • Pages: 368
  • Edition: 1st
  • Book
  • ISBN-10: 0-201-70915-5
  • ISBN-13: 978-0-201-70915-5

XML is rapidly becoming the standard platform for delivering e-Business information and integrating e-Business systems. XML developers desperately need mature software development processes and tools for developing effective applications. David Carlson fills the gap, showing exactly how to leverage the worldwide UML standard for modeling complex systems in advanced XML development. In Modeling XML Applications with UML, he presents the first comprehensive framework for modeling communications in any B2B software system. Carlson presents in-depth coverage of UML-based analysis, design, and modeling of XML content within e-Business environments. The book includes detailed coverage of using UML to support the creation of new XML-based B2B vocabularies and industry portals that reflect the requirements of several key stakeholder communities, including consumers, business analysts, web application specialists, system integration specialists, and content developers. Carlson presents several B2B use cases, and then decomposes them into scenarios illustrated with class diagrams, sequence diagrams, and activity diagrams showing how XML fits into an overall e-Business solution. Each chapter concludes with "steps for success" that distill UML's general principles into specific recommendations for action.

Sample Content

Online Sample Chapter

Building Portals with XML

Downloadable Sample Chapter

Click below for Sample Chapter related to this title:

Table of Contents




Chapter 1. Convergence of Communities.

Models for e-Business.

Stakeholder Communities.


Business Analyst.

Web Application Specialist.

System Integration Specialist.

Content Developer.

Road Map for This Book.

Part I. Foundations.

Part II. XML Vocabularies.

Part III. Deployment.

Steps for Success.

Chapter 2. What Is an XML Application?


XML Vocabularies.

XML Presentation.

Cascading Style Sheets.

XSLT Stylesheets.

Chapter Summary.

Steps for Success.

Chapter 3. What Is a UML Model?

Models and Views.

Requirements Workflow.

Use Case Diagram.

Analysis Workflow.

Activity Diagram.

Model Management Diagram.

Collaboration Diagram.

Design Workflow.

Class Diagram.

Object Diagram.

Sequence Diagram.

Component Diagram.

The Unified Process.

Chapter Summary.

Steps for Success.

Chapter 4. e-Business Integration with XML.

Use Case Analysis.

Catalog Vocabulary Requirements.

Shared Business Vocabularies.

Define Business Vocabulary.

Create XML Schema.

Validate Message.

Transform Message Content.

Process Workflow and Messaging.

Define Business Process.

Build Workflow Model.

Define Message Protocol.

Application Integration.

Create Application Classes.

Create Legacy Adapter.

Chapter Summary.

Steps for Success.

Chapter 5. Building Portals with XML.

Use Case Analysis.

Content Management.

Define Business Vocabulary.

Create Content.

Assign Content Metadata.

Portal Design.

Design Portlet.

Design Content Template.

Create Stylesheet.

Design Portal Layout.

Customize Portal Layout.

Wired and Wireless Convergence.

Chapter Summary.

Steps for Success.


Chapter 6. Modeling XML Vocabularies.

What Is a Vocabulary?

CatML Vocabulary.

Simplified Product Catalog Model.

Mapping UML to XML.

XML Metadata Interchange.

Disassembling UML Objects into XML.

UML Classes to XML Elements.


UML Attributes to XML Elements.

UML Attributes to XML Attributes.

Enumerated Attribute Values.

Mapping UML Compositions.

Mapping UML Associations.

Roots and Broken Branches.

Packaging Vocabularies.

FpML Vocabulary.

UML Packages.

XML Namespaces.

Chapter Summary.

Steps for Success.

Chapter 7. From Relationships to Hyperlinks.

Expanded CatML Vocabulary.

XML Standards for Linking.





A Hyperlinked CatML Vocabulary.

Product Bundles.

Product Details.

Taxonomy of Categories.

Chapter Summary.

Steps for Success.

Chapter 8. XML DTDs and Schemas.

The Role of an XML Schema.

XML Document Type Definition.

DTD Attribute Declarations.

DTD Entity Declarations.

Limitations of DTDs.

W3C XML Schema.

Datatypes and Datatype Refinement.

Schemas Compatible with DTDs.

Advanced Schema Structures.

Replacement or Coexistence?

Chapter Summary.

Steps for Success.

Chapter 9. Generating XML Schemas from the UML.

Principles of Schema Generation.

Generating DTDs.

Relaxed DTDs.

Strict DTDs.

Generating W3C XML Schemas.

Relaxed Schemas.

Strict Schemas.

XLink Support.

Controlling Schema Strictness.

UML Extension Profiles.

An Extension Profile for XML.

Profile Applied to CatML.

Chapter Summary.

Steps for Success.


Chapter 10. Vocabulary Transformation.

Reasons for XML Transformation.

Alternative Vocabularies.

Filtering Sensitive or Irrelevant Data.

Presenting XML Documents.

Exporting Non-XML Data.

Introduction to XSLT.

XSLT Processing Model.

Transformation Rules.

Integrating CatML with RosettaNet.

Importing a RosettaNet Dictionary.

Exporting a RosettaNet Sales Catalog.

Chapter Summary.

Steps for Success.


Chapter 11. B2B Portal Presentation.

Portal Analysis Model.

Transforming XML Documents into Portlets.

A Portlet for Product Display.

A Portlet for Promotional Discounts.

Discount Transformation.

RSS Transformation.

Chapter Summary.

Steps for Success.

Chapter 12. e-Business Architecture.

Requirements for e-Business Architecture.

Deploying Web Services.

Message Protocols in XML.

Web Service Description.

Web Service Discovery.

CatX Component Architecture.

Display Portal Content.

Update Newsfeed.

Query Catalog Content.

Integrate Supplier Catalog.

Execute Currency Trade.

Query Schema Repository.

Query Service Registry.

Chapter Summary.

Steps for Success.


Appendix A. Reuse of FpML Vocabulary.

Trading Party Model.

Appendix B. MOF and XMI.

Meta Object Facility.

XML Metadata Interchange.

Appendix C. UML Profile for XML.



Bibliography Example.



Writing about XML and e-Business is a lot like taking a snapshot of a speeding train. And for those readers who are new to one or both of these subjects, itis a lot like attempting to jump onto that train. In writing this book, Iive attempted to strike a balance between an introduction to these challenging subjects and a practical guide for designing realistic systems.

I make some assumptions about a basic prior knowledge of both XML and UML, but not so much that a motivated reader cannot easily meet these expectations with quick supplemental study. There are dozens of introductory books on both subjects but there is a lack of good explanation about how XML and UML can be combined in the analysis of complex systems. The goal of this book is not only to teach you about XML and UML but also how to use these technologies for practical applications.

Goals of This Book

Over the past twenty-five years of learning, teaching, and working, I have realized that there is a very significant difference between gaining knowledge about a subject and gaining actionable knowledge about that same topic. Knowledge is actionable when it directly and immediately affects what you do and how you do it. While writing this book, I had a note taped to the top of my computer monitor that read "Actionable Knowledge," so that it would continually prompt me to keep this focus in mind.

After reading this book, you will have learned the following actionable knowledge:

  • Guidelines that you can use to gather key stakeholder input while developing your XML application.
  • How you can integrate XML and UML in current design projects and what this means to achieving your e-business objectives.
  • Steps and criteria to use in the visual analysis and design of XML vocabularies.
  • A detailed guide to how you can generate XML DTDs and Schemas from those vocabularies, plus the trade-offs you must consider while doing so.
  • Substantial, realistic examples to base your own work on.
  • Concrete suggestions about how to apply recently adopted (or almost adopted) XML standards.
  • A deep understanding that is based not on the marketing materials of individual vendors but on common practice that applies to all of them.
  • A solid grounding about how to design XML applications now and many product or system releases in the future.
  • An understanding of what is going to happen next!

Concepts of UML modeling and a streamlined Unified Process are woven throughout this book. e-Business examples demonstrate the breadth of UML modeling capabilities but without overwhelming the primary goal of creating successful applications using XML. As a means to this goal, this book focuses on a consistent, substantial example about the analysis and design of a product catalog application. An XML vocabulary for the Catalog Markup Language (CatML) is designed first in UML, then generated to both DTD and XML Schema languages.

This same catalog example is used to model requirements for the "MyCat" Web portal application, whose content is defined by the CatML vocabulary. An example MyCat portal is demonstrated using the Extensible Stylesheet Language Transformation (XSLT) to produce an HTML presentation from the XML documents, all based on the CatML vocabulary definitions. UML is used throughout the exercise to analyze the application requirements and the vocabulary design. Finally, XSLT is described as a language for transforming the CatML vocabulary to and from RosettaNet product catalog standards. Vocabulary transformation is an essential element in most e-business applications.

Who Should Read This Book?

This book is not a guide to programming XML applications; rather it focuses on the thoughtful analysis and design of XML vocabularies and their use within distributed systems. If you have a need to develop a system using XML, or if you are considering the value of such a system, then you will find this book helpful. Although their use is not restricted to e-business applications, those examples form the central theme throughout all chapters. These examples span the range of XML applied to the content of portal presentations to the specification and transformation of message content for system integration.

System architects will find many valuable points to consider when planning the use of XML. The use case analyses in Chapters 1, 4, and 5 build a business case for e-business integration and portal design using XML. These use cases are described from the perspective of key stakeholders who determine and evaluate the goals of a successful XML application. Each chapter concludes with a list of "Steps for Success" that are especially valuable to an architect.

Complex XML vocabulary definitions are often easier to comprehend and discuss with others when they are expressed graphically. Although a few existing tools provide some assistance in this regard, they are generally limited to a strict hierarchical view of the vocabulary structure. Complex structures may be represented in schemas that are more easily analyzed from an object-oriented perspective. These object-oriented models of schema definition are easily represented using UML class diagrams. This book is valuable to business analysts, who are responsible for the definition of business vocabularies that will be implemented using XML.

Those analysts often team with designers who fine-tune the vocabularies for generation to XML DTDs or Schemas. Chapter 8 provides a detailed comparison of XML DTDs with the new, much richer possibilities available in XML Schema definitions. Chapter 9 includes detailed design heuristics for generating both DTDs and Schemas from UML class models and describes trade-offs for specifying relaxed versus strict schema validation. These decisions are the daily work of XML designers.

Chapter 2 provides an overview of XML terminology using a simple real-world example that is relevant to the topics of this book. The Rich Site Summary (RSS) is described and compared with similar use of news content in HTML. For a more thorough introduction to XML, I recommend:

  • Simon St. Laurent. XML Elements of Style. New York: McGraw-Hill, 1999.

If you are not familiar with UML, Chapter 3 includes a fast-paced overview of the essential diagrams that are used in this book. Those diagrams are applied to the same RSS XML example that is introduced in Chapter 2. For a good introduction to UML that is short and easy to read, I recommend:

  • Martin Fowler, Kendall Scott. UML Distilled: A Brief Guide to the Standard Object Modeling Language, Second Edition. Boston: Addison-Wesley, 2000.

Chapters 10 and 11 include substantial examples of XSLT vocabulary transformations. XSLT is a very powerful but somewhat complex language whose detail is beyond the scope of this book. If you are new to XSLT, I recommend the following supplemental references:

  • Neil Bradley. The XSL Companion. Boston: Addison-Wesley, 2000.
  • Michael Kay. XSLT Programmeris Reference. Birmingham, UK: Wrox Press, 2000.


Because no book covering the topics of XML and e-business can promise more than a snapshot of the speeding train, it is equally important to offer a first-class ticket for the ride into the future. A Web site has been especially prepared as the companion site for this book. It is available at http://XMLModeling.com

The following information is available, organized in an easily navigated portal:

  • Current XML news
  • Quick links for XML and UML resources and tools
  • Complete UML models and XML listings from this book's examples
  • Tips and tools for generating XML schemas from UML models
  • Case studies that apply these techniques

Dave Carlson
Boulder, Colorado



A Absolute URI reference, 133
Abstracts, 161
Actions, 241
   in body of rule, 224
Activity diagrams, 6, 8, 33, 35-37
   for integrated process, 67
   for split process, 66
actuate attribute, 144
   legacy, 67-68
Advanced schema structures, 175-178
   content models with unordered elements, 175-176
   locally scoped element names, 176-177
   target namespaces, 177-178
Aggregation, 141
   Category to CategoryItem, 148
   composition contrasted with, 146-147
Alternative vocabularies
   transformation between, 220
Analysis and design convergence, 50
Analysis workflow, 35-39
   activity diagram, 35-37
   collaboration diagram, 37-39
   model management diagram, 37
Anonymous complexType, 199
Apache Jetspeed, 78, 80-81, 114, 244
   portal for MyCat, 264
   portal server, 246, 278
   Promotions portlet created by, 263
Apache Jetspeed portal framework, 13
   HTML document display within, 253
Apache Web server instance, 276
APIs. See Application programming interfaces
Application classes
   automated creation of, 54
   creating, 65-67
   legacy adapter creation, 67-68
Application integration, 52, 65-68, 69
   application classes creation, 65-67
   legacy adapter creation, 67-68
Application programming interfaces, 4, 51, 67
Application-specific vocabularies, 169
arc elements, 152
   metamodeling, 300
   Meta Object Facility, 296, 297, 298
   and use case requirements, 274-275
Artificial intelligence, 92
Associations, 99, 100, 129
   bidirectional, 144, 145
   diagram, 42, 43
   and extended XLink, 136
   names, 145
   in object diagram, 44
   UML, 109-111, 125, 244, 245
   unidirectional, 144, 151
   and XLink elements, 135
Asynchronous messaging infrastructure, 68
Attribute declarations
   DTD, 162-164
Attribute defaults
   XML, 163
AttributeGroup, 198
Attributes, 40, 41, 99, 100, 129, 184
   elements versus, 106
   names for, 119
   UML model, 244, 245
   XLink, 136, 137, 164
   XMI linking, 127, 128
   XML, 206
Attribute types
   XML 1.0 DTD, 163
Attribute values, 17, 42
   enumerated, 106-107
   product with, 102
Authentication, 268
Authoring tools, 167
   and XML schemas, 157, 158
B Backward-compatible document instances, 167
"Balkanization," 113
B2B. See Business-to-business
B2C. See Business-to-customer
Behavior diagrams, 32, 49
Bibliography DTD, 161, 162
Bibliography.dtd, 170
Bibliograpgy example, 310-314
   with stereotypes, 310, 311, 312
Bibliography.xml, 171
Bibliography.xsd, 172
Bidirectional associations, 144, 145
Bidirectional links, 125, 126, 137
Biztalk, 280
Boundary class, 244, 246, 247, 264, 265, 266
Boundary stereotype, 245
Broken branches
   and roots, 111-113
Business analysts, 8-9
   and datatypes, 167
   and schemas, 157
   transformation rules determined by, 220
   and vocabulary definition, 59
Business interactions
   Internet as primary channel for, 3
Business process
   defined, 61-62
   model, 68
Business-to-business, 3
   commerce policies, 65
   communication modeling, 4-5
   exchanges, 51
   requirements analysis of, 8. See also Catalog Exchange Service
Business-to-business applications
   shared process definitions in, 54
   Validate Message in, 60
   and vocabulary, 55
Business-to-business integration
   and legacy system adapters, 67-68
   need for Web-like connectivity by, 122
Business-to-business market
   and wireless applications, 85
Business-to-business portal presentation, 243-266
   portal analysis model, 244-246
   portlet for product display, 249-254
   portlet for promotional discounts, 254-264
   XML documents transformed into portlets, 246-249
Business-to-customer, 6
Business vocabulary
   defined, 55-56, 74
   modeling, 5
C Cache update
   object collaborations required for, 39
Carriage returns, 104
Cascading Style Sheets, 9, 23-26, 29, 158
   XML presented with, 26
Catalog class, 103
Catalog data
   XML vocabularies for, 219, 242
Catalog element, 108, 112
Catalog Exchange Service, 9, 54-55, 68, 91
   portal implementation, 83
   vocabulary package dependencies, 116
   Web service descriptions for model, 273
CatalogItem class, 103, 105, 142, 201, 226
CatalogItem DTD
   customized, 213
CatalogItem DTD definition
   relaxed, 190
   strict, 193
CatalogItem element, 152
CatalogItem schema
   customized, 212
   relaxed, 197-198
   strict, 202
Catalog Markup Language, 11, 39, 54, 56, 60, 68, 83, 93, 113, 114, 119, 220, 281
   catalog document, 235
   document named Products.xml, 236
   document with four discounts, 256, 257
   document with one Product, 250
   and MOF model, 299
   MyCat portal with three portlets in, 264
   namespace, 117
   package diagram with stereotypes, 209
   RosettaNet integrated with, 226-227
   simplified product catalog model, 94, 95
   and SOAP message header, 272
   subset of, showing Discount class, 255
   taxonomy produced by transformation, 234
   UML profile applied to, 209-213
   vocabulary, 93-95
   and XML message protocol, 64
   XSLT pattern matching on, 225
   XSLT transformation from, to RosettaNet, 237-239
   XSLT transformation from, to RSS, 259-261
Catalogs, 11
   aggregation and presentation, 55, 56
   composition of items, 108
   integration of supplier with, 279
   metamodel for content, 112
   subsystems, 37
   update process diagram, 63
   updates, 113
   vocabulary requirements for, 54-55
Categorization component, 151
Category Browser boundary class, 264
Category elements, 139, 150, 152
Category objects, 149
Category to CategoryItem a


Submit Errata

More Information

InformIT Promotional Mailings & Special Offers

I would like to receive exclusive offers and hear about products from InformIT and its family of brands. I can unsubscribe at any time.


Pearson Education, Inc., 221 River Street, Hoboken, New Jersey 07030, (Pearson) presents this site to provide information about products and services that can be purchased through this site.

This privacy notice provides an overview of our commitment to privacy and describes how we collect, protect, use and share personal information collected through this site. Please note that other Pearson websites and online products and services have their own separate privacy policies.

Collection and Use of Information

To conduct business and deliver products and services, Pearson collects and uses personal information in several ways in connection with this site, including:

Questions and Inquiries

For inquiries and questions, we collect the inquiry or question, together with name, contact details (email address, phone number and mailing address) and any other additional information voluntarily submitted to us through a Contact Us form or an email. We use this information to address the inquiry and respond to the question.

Online Store

For orders and purchases placed through our online store on this site, we collect order details, name, institution name and address (if applicable), email address, phone number, shipping and billing addresses, credit/debit card information, shipping options and any instructions. We use this information to complete transactions, fulfill orders, communicate with individuals placing orders or visiting the online store, and for related purposes.


Pearson may offer opportunities to provide feedback or participate in surveys, including surveys evaluating Pearson products, services or sites. Participation is voluntary. Pearson collects information requested in the survey questions and uses the information to evaluate, support, maintain and improve products, services or sites, develop new products and services, conduct educational research and for other purposes specified in the survey.

Contests and Drawings

Occasionally, we may sponsor a contest or drawing. Participation is optional. Pearson collects name, contact information and other information specified on the entry form for the contest or drawing to conduct the contest or drawing. Pearson may collect additional personal information from the winners of a contest or drawing in order to award the prize and for tax reporting purposes, as required by law.


If you have elected to receive email newsletters or promotional mailings and special offers but want to unsubscribe, simply email information@informit.com.

Service Announcements

On rare occasions it is necessary to send out a strictly service related announcement. For instance, if our service is temporarily suspended for maintenance we might send users an email. Generally, users may not opt-out of these communications, though they can deactivate their account information. However, these communications are not promotional in nature.

Customer Service

We communicate with users on a regular basis to provide requested services and in regard to issues relating to their account we reply via email or phone in accordance with the users' wishes when a user submits their information through our Contact Us form.

Other Collection and Use of Information

Application and System Logs

Pearson automatically collects log data to help ensure the delivery, availability and security of this site. Log data may include technical information about how a user or visitor connected to this site, such as browser type, type of computer/device, operating system, internet service provider and IP address. We use this information for support purposes and to monitor the health of the site, identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents and appropriately scale computing resources.

Web Analytics

Pearson may use third party web trend analytical services, including Google Analytics, to collect visitor information, such as IP addresses, browser types, referring pages, pages visited and time spent on a particular site. While these analytical services collect and report information on an anonymous basis, they may use cookies to gather web trend information. The information gathered may enable Pearson (but not the third party web trend services) to link information with application and system log data. Pearson uses this information for system administration and to identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents, appropriately scale computing resources and otherwise support and deliver this site and its services.

Cookies and Related Technologies

This site uses cookies and similar technologies to personalize content, measure traffic patterns, control security, track use and access of information on this site, and provide interest-based messages and advertising. Users can manage and block the use of cookies through their browser. Disabling or blocking certain cookies may limit the functionality of this site.

Do Not Track

This site currently does not respond to Do Not Track signals.


Pearson uses appropriate physical, administrative and technical security measures to protect personal information from unauthorized access, use and disclosure.


This site is not directed to children under the age of 13.


Pearson may send or direct marketing communications to users, provided that

  • Pearson will not use personal information collected or processed as a K-12 school service provider for the purpose of directed or targeted advertising.
  • Such marketing is consistent with applicable law and Pearson's legal obligations.
  • Pearson will not knowingly direct or send marketing communications to an individual who has expressed a preference not to receive marketing.
  • Where required by applicable law, express or implied consent to marketing exists and has not been withdrawn.

Pearson may provide personal information to a third party service provider on a restricted basis to provide marketing solely on behalf of Pearson or an affiliate or customer for whom Pearson is a service provider. Marketing preferences may be changed at any time.

Correcting/Updating Personal Information

If a user's personally identifiable information changes (such as your postal address or email address), we provide a way to correct or update that user's personal data provided to us. This can be done on the Account page. If a user no longer desires our service and desires to delete his or her account, please contact us at customer-service@informit.com and we will process the deletion of a user's account.


Users can always make an informed choice as to whether they should proceed with certain services offered by InformIT. If you choose to remove yourself from our mailing list(s) simply visit the following page and uncheck any communication you no longer want to receive: www.informit.com/u.aspx.

Sale of Personal Information

Pearson does not rent or sell personal information in exchange for any payment of money.

While Pearson does not sell personal information, as defined in Nevada law, Nevada residents may email a request for no sale of their personal information to NevadaDesignatedRequest@pearson.com.

Supplemental Privacy Statement for California Residents

California residents should read our Supplemental privacy statement for California residents in conjunction with this Privacy Notice. The Supplemental privacy statement for California residents explains Pearson's commitment to comply with California law and applies to personal information of California residents collected in connection with this site and the Services.

Sharing and Disclosure

Pearson may disclose personal information, as follows:

  • As required by law.
  • With the consent of the individual (or their parent, if the individual is a minor)
  • In response to a subpoena, court order or legal process, to the extent permitted or required by law
  • To protect the security and safety of individuals, data, assets and systems, consistent with applicable law
  • In connection the sale, joint venture or other transfer of some or all of its company or assets, subject to the provisions of this Privacy Notice
  • To investigate or address actual or suspected fraud or other illegal activities
  • To exercise its legal rights, including enforcement of the Terms of Use for this site or another contract
  • To affiliated Pearson companies and other companies and organizations who perform work for Pearson and are obligated to protect the privacy of personal information consistent with this Privacy Notice
  • To a school, organization, company or government agency, where Pearson collects or processes the personal information in a school setting or on behalf of such organization, company or government agency.


This web site contains links to other sites. Please be aware that we are not responsible for the privacy practices of such other sites. We encourage our users to be aware when they leave our site and to read the privacy statements of each and every web site that collects Personal Information. This privacy statement applies solely to information collected by this web site.

Requests and Contact

Please contact us about this Privacy Notice or if you have any requests or questions relating to the privacy of your personal information.

Changes to this Privacy Notice

We may revise this Privacy Notice through an updated posting. We will identify the effective date of the revision in the posting. Often, updates are made to provide greater clarity or to comply with changes in regulatory requirements. If the updates involve material changes to the collection, protection, use or disclosure of Personal Information, Pearson will provide notice of the change through a conspicuous notice on this site or other appropriate way. Continued use of the site after the effective date of a posted revision evidences acceptance. Please contact us if you have questions or concerns about the Privacy Notice or any objection to any revisions.

Last Update: November 17, 2020