SKIP THE SHIPPING
Use code NOSHIP during checkout to save 40% on eligible eBooks, now through January 5. Shop now.
Register your product to gain access to bonus material or receive a coupon.
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.
Modeling XML Vocabularies with UML: Part I
Modeling XML Vocabularies with UML: Part II
Modeling XML Vocabularies with UML: Part III
Click below for Sample Chapter related to this title:
carlsonch1.pdf
Foreword.
Preface.
Part I. FOUNDATIONS.
Chapter 1. Convergence of Communities.Models for e-Business.
Stakeholder Communities.
Consumer.
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?HTML, XML, and XHTML.
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.
Part II. XML VOCABULARIES.
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.
Inheritance.
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.
XML ID and IDREF.
Xpath.
Xpointer.
Xlink.
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.
Part III. DEPLOYMENT.
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.
Bibliography.
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.
Part IV. APPENDIXES.
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.Introduction.
Stereotypes.
Bibliography Example.
References.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.
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:
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.
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:
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:
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:
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:
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
Adapters
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
Architecture
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