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:
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.
Click below for Sample Chapter related to this title:
Part I. FOUNDATIONS.Chapter 1. Convergence of Communities.
Models for e-Business.
Web Application Specialist.
System Integration Specialist.
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.
Cascading Style Sheets.
Steps for Success.Chapter 3. What Is a UML Model?
Models and Views.
Use Case Diagram.
Model Management Diagram.
The Unified Process.
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.
Transform Message Content.
Process Workflow and Messaging.
Define Business Process.
Build Workflow Model.
Define Message Protocol.
Create Application Classes.
Create Legacy Adapter.
Steps for Success.Chapter 5. Building Portals with XML.
Use Case Analysis.
Define Business Vocabulary.
Assign Content Metadata.
Design Content Template.
Design Portal Layout.
Customize Portal Layout.
Wired and Wireless Convergence.
Steps for Success.
Part II. XML VOCABULARIES.Chapter 6. Modeling XML Vocabularies.
What Is a 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.
Steps for Success.Chapter 7. From Relationships to Hyperlinks.
Expanded CatML Vocabulary.
XML Standards for Linking.
XML ID and IDREF.
A Hyperlinked CatML Vocabulary.
Taxonomy of Categories.
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?
Steps for Success.Chapter 9. Generating XML Schemas from the UML.
Principles of Schema Generation.
Generating W3C XML Schemas.
Controlling Schema Strictness.
UML Extension Profiles.
An Extension Profile for XML.
Profile Applied to CatML.
Steps for Success.
Part III. DEPLOYMENT.Chapter 10. Vocabulary Transformation.
Reasons for XML Transformation.
Filtering Sensitive or Irrelevant Data.
Presenting XML Documents.
Exporting Non-XML Data.
Introduction to XSLT.
XSLT Processing Model.
Integrating CatML with RosettaNet.
Importing a RosettaNet Dictionary.
Exporting a RosettaNet Sales Catalog.
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.
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.
Query Catalog Content.
Integrate Supplier Catalog.
Execute Currency Trade.
Query Schema Repository.
Query Service Registry.
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.
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:
Absolute URI reference, 133
in body of rule, 224
Activity diagrams, 6, 8, 33, 35-37
for integrated process, 67
for split process, 66
actuate attribute, 144
Advanced schema structures, 175-178
content models with unordered elements, 175-176
locally scoped element names, 176-177
target namespaces, 177-178
Category to CategoryItem, 148
composition contrasted with, 146-147
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
automated creation of, 54
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
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
in object diagram, 44
UML, 109-111, 125, 244, 245
unidirectional, 144, 151
and XLink elements, 135
Asynchronous messaging infrastructure, 68
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 1.0 DTD, 163
Attribute values, 17, 42
product with, 102
Authoring tools, 167
and XML schemas, 157, 158
B Backward-compatible document instances, 167
B2B. See Business-to-business
B2C. See Business-to-customer
Behavior diagrams, 32, 49
Bibliography DTD, 161, 162
Bibliograpgy example, 310-314
with stereotypes, 310, 311, 312
Bidirectional associations, 144, 145
Bidirectional links, 125, 126, 137
Boundary class, 244, 246, 247, 264, 265, 266
Boundary stereotype, 245
and roots, 111-113
Business analysts, 8-9
and datatypes, 167
and schemas, 157
transformation rules determined by, 220
and vocabulary definition, 59
Internet as primary channel for, 3
commerce policies, 65
communication modeling, 4-5
requirements analysis of, 8. See also Catalog Exchange Service
shared process definitions in, 54
Validate Message in, 60
and vocabulary, 55
and legacy system adapters, 67-68
need for Web-like connectivity by, 122
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
defined, 55-56, 74
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
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 definition
CatalogItem element, 152
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
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
and XML message protocol, 64
XSLT pattern matching on, 225
XSLT transformation from, to RosettaNet, 237-239
XSLT transformation from, to RSS, 259-261
aggregation and presentation, 55, 56
composition of items, 108
integration of supplier with, 279
metamodel for content, 112
update process diagram, 63
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