Home > Store > Software Development & Management > UML

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


  • Your Price: $31.99
  • List Price: $39.99
  • Usually ships in 24 hours.




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

eXtensible Markup Language (XML) and Unified Modeling Language (UML) are two of the most significant advances from the fields of Web application development and object-oriented modeling. Modeling XML Applications with UML reveals how to integrate these two technologies to create dynamic, interactive Web applications and achieve optimal business-to-business application integration.

This book focuses on the design and visual analysis of XML vocabularies. It explores the generation of DTD and Schema languages from those vocabularies, as well as the design of enterprise integration and portals--all using UML class diagrams and use case analysis. Also featured are extensive details on the deployment of XML vocabularies and portals, showing how to put these elements to work within distributed e-business systems. You will learn practical techniques that can be applied to both small and large system development projects using either formal or informal processes.

For those who may be new to XML and UML, the book includes a brief overview of these topics, although some background knowledge in these areas is recommended.

Topic coverage includes:

  • An overview of XML vocabularies, HTML presentations, and XSLT stylesheets
  • An overview of the UML diagrams and the Unified Process
  • Defining business vocabulary and creating XML Schemas
  • Designing and customizing e-business portals using XML
  • Mapping UML to XML, including UML relationships to XML hyperlinks
  • Generating XML Schemas from the UML class diagrams
  • Transforming custom XML vocabularies into the RosettaNet XML standard
  • Transforming XML vocabularies into HTML using XSLT
  • Transforming XML documents into Portlets
  • Simple Object Access Protocol (SOAP) as an XML-based messaging standard for business-to-business integration

A large-scale example runs throughout the book to illustrate important concepts and techniques. Each chapter also features "Steps for Success," a list of tips and issues to consider when planning for a more effective design effort.


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

Unlimited one-month access with your purchase
Free Safari Membership