Home > Store > Web Services > XML

XML,  Web Services, and the Data Revolution

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

XML, Web Services, and the Data Revolution

Book

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

Description

  • Copyright 2002
  • Dimensions: 7-3/8x9-1/4
  • Pages: 400
  • Edition: 1st
  • Book
  • ISBN-10: 0-201-77641-3
  • ISBN-13: 978-0-201-77641-6

"Frank Coyle's XML,Web Services, and the Data Revolution does a great job of explaining the XML phenomenon by clearly describing where it came from, why it has proved so useful, and where it is likely to take us."—Michael Champion

XML, Web Services, and the Data Revolution presents a revealing view of XML that places this emerging technology in the context of the ongoing Web revolution. Written for business and technical professionals, this book reveals the true value of XML for distributed information systems, explaining how it is transforming the way organizations manage data and build software systems, and the opportunities it offers for those organizations that understand its significance and impact.

This book places XML at the heart of a paradigm shift that is bridging the gap between traditional tightly coupled proprietary networks (DCOM, CORBA) and the dynamic, loosely-coupled, data-driven Web. The author explains how XML's simple rules for defining data vocabularies and protocols have opened up new possibilities for server to server interaction in the form of Web services for dynamic discovery and interaction. He goes on to discuss how frameworks such as .NET and J2EE(TM) provide important messaging, transaction, and security services for leveraging Web services in enterprise computing. The book also discusses how XML and Web services reflect a fundamental shift in software construction from monolithic applications to software based on the composition of simple parts. In addition, the book showcases XML at work in a wide array of applications, and explores how major software organizations have responded to the changes brought about by XML-based technology.

Specific topics include:

  • XML and its role in the expanding enterprise
  • The XML family of technologies including:
  •       CSS, XFORMS, XHTML, and VoiceXML presentation technologies
  •       DTDs and XML Schema technologies for structure and typing
  •       XSLT, XPATH, and XQUERY technologies for manipulating XML
  • The three waves of XML in practice:
  •       Vertical industry-specific data vocabularies
  •       Horizontal industry vocabularies (SVG, SMIL, EJB descriptors)
  •       XML protocols (XML-RPC, SOAP)
  • UDDI and WDSL (Web Services Definition Language)
  • XML security, including XML Encryption, XML Signature, and XML Key Management Specification
  • How .NET and J2EE(TM) fulfill the need for transactions and security for Web services
  • ebXML and process-based Web interaction
  • A new role for mainframe-based legacy applications
  • A future where Web services meets P2P (peer-to-peer) computing

Containing both technical details and a broader perspective, XML, Web Services, and the Data Revolution provides the insight organizations must have to understand and harness this powerful technology for a successful venture into the evolving, Web-based enterprise computing environment.



0201776413B03012002

Sample Content

Online Sample Chapter

XML: Extending the Enterprise

Table of Contents



Foreword.


Preface.


Acknowledgments.


About the Author.


Introduction.


1. XML: Extending the Enterprise.

XML: Extending the Enterprise.

Extending the Enterprise.

The Role of XML.

XML: Just Tags?

The XML Advantage.

XML: Design by Omission.

XML and the Web.

SOAP.

Web Services.

.NET and J2EE.

XML: The Three Revolutions.

The Data Revolution.

The Architectural Revolution.

The Software Revolution.

Combination and Collaboration.

Summary.

Resources.

Article.

Web.



2. The XML Technology Family.

XML Technologies.

Leveraging the XML Technology Family.

XML 1.0.

XML Namespaces.

Structuring with Schemas.

DTD.

XML Schema.

XML Processing.

DOM.

SAX.

Presentation Technologies.

CSS.

XSL.

XFORMS.

XHTML.

VoiceXML.

Transformation.

XSLT.

XLINK.

XPATH.

Xquery.

XML Infrastructure Technologies.

Infoset.

RDF.

Summary.

Resources.

Books.

Web.



3. XML in Practice.

The Dimensions of XML in Practice.

The XML Application Spectrum.

Wave One: Vertical Industry Data Descriptions.

Finance: OFX.

Human Resources and HR-XML.

Mortgage Banking: MISMO.

Tracking XML Standards.

Wave Two: Configuration and Action.

EJB and XML.

SVG.

VoiceXML.

SMIL.

From Action to Combination.

The Third Wave: Power Through Combination.

The British Government GovTalk Initiative.

Resources.



4. SOAP.

What Is SOAP and Why Is it Important?

The Road to SOAP.

HTTP.

POST Me Some Data.

XML-RPC.

Data Typing.

ZwiftBooks and XML-RPC.

XML-RPC Responses.

SOAP.

SOAP Background.

The SOAP Protocol.

SOAP Overview.

SOAP Message Structure.

SOAP Messaging Example.

Message Paths.

SOAP Intermediaries.

SOAP and Actors.

SOAP Design Patterns.

SOAP Faults.

SOAP with Attachments.

SOAP and Firewalls.

The W3C and SOAP.

Taking SOAP to the Next Level.

Summary.

Resources.

Web.

Book.



5. Web Services.

What Is Web Services?

What Qualifies as Web Services?

Opportunity and Risk.

Web Services: A ZwiftBooks Perspective.

Web Services Technologies.

The Web Services Architecture.

Key Technologies.

UDDI.

UDDI: Public versus Private Registries.

Using UDDI to Make the ZwiftBooks Connection.

WSDL.

A ZwiftBooks WSDL Example.

Web Services Caveats.

ebXML.

ebXML Technologies.

ZwiftBooks and ebXML.

Summary.

Resources.



6. .NET, J2EE, and Beyond.

SOAP, Web Services, and E-Commerce.

Transactions.

Security.

Identity.

.NET and J2EE.

.NET.

The .NET Platform.

The .NET Framework.

What about Transactions?

J2EE.

Sun ONE and Web Services.

IBM.

BEA.

HP.

Oracle.

Adapters.

Summary.

Resources.



7. XML Security.

Security Overview.

Single-Key Cryptography.

Public-Key Cryptography.

Digital Signatures.

Managing Certificates and Private Keys.

Why Is XML Special?

Canonicalization.

The XML Security Framework.

XML Encryption.

Encrypting XML Data.

XML Digital Signature.

Digital Signature Elements.

Steps in Signature Generation.

XKMS.

XKMS Structure.

Guidelines for Signing XML Documents.

Summary.

Resources.



8. Back to the Future.

Change.

Convergence.

Collaborative and P2P Computing.

What Is P2P?

P2P Software.

Other P2P Initiatives.

ZwiftBooks and P2P.

Legacy Systems.

Connection Challenges.

Legacy's New Position.

Summary.

Resources.

Article.

Web.



Appendix A: XML Language Basics.


Appendix B: SOAP Version 1.2 Specification.


Glossary.


Index. 0201776413T03012002

Preface

The aim of this book is to try to tell the story that we're now all a part of--a story not just about emerging technologies such as XML and Web services, but also about how these technologies are coming together and combining in new ways, creating new applications for which the requirements have yet to be written.

Structure of the Book

Except for the first and last chapters, the book is essentially a bottom-up view of the XML-driven, open systems world in which we now find ourselves. Chapter 1 describes the big picture: how XML and the Web have changed our perspective about data so that instead of regarding data as something to be stored in a database and shuttled across networks by object systems locked in a tight transport protocol embrace, data is now free (thanks to XML and its family of standards) to move about the Web and create new synergies based on asynchronous loose coupling. After the next six chapters have described the current state of the technology, Chapter 8 then takes a top-down look at where we have arrived and explores some of the new kinds of interactions to expect in environments made up of traditional client-server networks, even more traditional mainframe applications, and the Web.

Chapter Overviews

Chapter 1 is an attempt to draw the big picture: how the Web and a data description technology known as XML have initiated fundamental changes in computing through a shift in focus from tightly coupled computing environments to loosely coupled networks centered around the Web and XML. The effect of this shift has been to spawn three revolutions. The first revolution, the data revolution, is the story of XML and its impact on how data businesses represent data. Although initially viewed as a data description language, XML in combination with HTTP, the Web transport protocol, quickly took on emergent properties, giving rise to SOAP. Today SOAP is the basis for communicating across loosely coupled Web space and is the key driver behind Web services. The second revolution is about software architectures and the move to loosely coupled distributed systems that are both an alternative and a complement to the more tightly coupled systems such as Common Object Request Broker Architecture (CORBA), Distributed Component Object Model (DCOM), or Remote Method Invocation (RMI). The third revolution, the software revolution, involves a changing model of software construction influenced by the World Wide Web Consortium (W3C) in its effort to build a universal Web. Instead of trying to construct software that "does it all," this new era of software assembly is based on the principles of simplicity and modularity, encouraging combination with other software entities.

Chapter 2 covers the core XML technologies, XML 1.0 and namespaces, and explores the family of technologies surrounding this core that provides the support system for delivering structured content across the Web. We examine the applicability of the various support technologies from the perspective of a fictitious company, ZwiftBooks, that has decided to adopt XML in an effort to build its business around Web standards and protocols. The chapter focuses on two important categories of XML support: presentation and transformation. For data presentation we look at cascading style sheets, Extensible Stylesheet Language (XSL), Extensible Hypertext Markup Language, and VoiceXML, each offering options for delivering XML to a variety of devices in different formats. For XML manipulation we look at XSL Transformations, XPath, and XQuery, three technologies used to transform, process, and query XML data. Finally, to round out our tour, we look at Resource Description Framework and the XML Information Set, which permit different XML technologies to integrate more effectively, helping foster what the W3C refers to as the seamless Web.

Chapter 3 looks at XML in practice: how XML has been put to use in a variety of ways, from simple industry-driven data description languages, to vocabularies for configuration and action, to the use of XML as a protocol language that has changed the fundamental assumptions about distributed object computing.

Chapter 4 takes a detailed look at the forces and technologies behind SOAP. SOAP is an example of what can happen when you put two technologies such as the Web and XML together. True to the Web's spirit of emergent behavior, SOAP has created a framework for building loosely coupled confederations of servers that communicate by exchanging XML data over XML protocols. The surprise here is a new set of options that provide alternatives to the tightly coupled network islands of CORBA, DCOM, and RMI. SOAP and its associated protocol, XML Remote Procedure Call, have the balance of power in the computer industry, creating new paradigms based on message-oriented middleware and dynamic discovery and interaction that are the basis for Web services.

Chapter 5 examines the playing field of Web services. Building on a framework of loosely coupled networks, Web services takes object technology's goal of reusability to the next level, by defining XML protocols for discovery and connection. These protocols include Universal Description, Discovery, and Integration (UDDI) and Web Services Description Language (WSDL). UDDI is a protocol for the discovery and deployment of Web services. WSDL describes how to connect to Web services. We examine details of both UDDI and WSDL to get a sense of how these technologies combine to create a new, developing framework for Web services.

Chapter 6 looks at how the software industry is reacting and adapting to the changes brought about by XML-driven loosely coupled networks and the emergence of Web services. Throughout the 1990s, the major network players--Microsoft, Sun, and the Object Management Group (OMG)--have been competing with their respective object-technology-based alternatives for distributed computing. Microsoft's DCOM, the OMG's CORBA and Sun's Java 2 Enterprise Edition (J2EE) represent competing options for building tightly coupled distributed networks. The advantage of these distributed networks is that they provide efficient communication and handle the complex interactions required for transactions and security. The downside is that each comes with its own object model and transport technology, so that connection outside their own universes is possible only with gateway software. Thus, what we're seeing--in Microsoft's .NET initiative, and in various J2EE implementations from Sun, IBM, HP, BEA, and others--are attempts to bridge the gap between tightly coupled, transaction-aware space (DCOM and J2EE) and the loosely coupled, XML-driven, message-centric space of the Web.

Chapter 7 is about securing the XML traffic as it travels across the loose fabric of the Web. XML's ability to structure data provides both opportunities and challenges for applying encryption, authentication, and digital signatures to XML-encoded data. For example, in a workflow environment where XML documents move between participants, and where a digital signature implies some commitment or assertion, participants may wish to sign only parts of a document to minimize liability. Existing secure Web standards, such as the HyperText Transfer Protocol over Secure Socket Layer, that support secure Web transmissions are not able to address XML-specific issues relating to partial document signing or to deal with the fact that XML documents may be processed in stages along loosely coupled network paths. To deal with this reality, three new XML-related security initiatives are explored: XML Encryption, for encoding individual parts of an XML document; XML Signature, for managing the integrity of XML as it moves across the Web; and the XML Key Management Specification for dealing with public key verification and validation.

Chapter 8 takes a high-level look at some of the forces driving the new hybrid world in which we now find ourselves, an amalgam of three architectures: (1) loosely coupled Web space driven by SOAP messaging, (2) tightly coupled transaction-capable; object systems with their own transport protocols; and (3) legacy applications, mostly mainframe based, that have long been difficult to integrate into client-server systems. The irony here is that the central repository model made possible by the mainframe, and made obsolete by client-server network computing, is now undergoing a renewed interest due to the need to manage collaborative peer-to-peer efforts over the loosely coupled Web.



0201776413P03012002

Index

A

Abbreviations, namespace, 40
Accredited Standards Committee X12 (ASC X12) group, 114, 167
ACID properties of transactions, 177-78
Acknowledged Submission (W3C), 26
Active Server Pages (ASP), 182
actor attribute information item, 134, 135, 271-72
Actors, SOAP, 134-35, 259-60
Adapters, Oracle, 193-94
Adobe SVG Viewer, 98
AlphaWorks web site, 189
American National Standards Institute (ANSI), 114
Animation, 97
SVG support for, 98
Apache Batik SVG browser, 98
APIs
tree-based, 49
in Web Services Pack, 187-88
Application assembly information, EJB, 97
Applications of XML, 81-108
dimensions of, 81-82
horizontal industry applications, 81-82, 93
(.*?)EJB, 82, 95-97
SMIL, 82, 101-3
SVG, 97-99
VoiceXML, 31, 58-60, 82, 99-101
protocols, 103-7
(.*?)combinatoric capability of XML and, 104-5
GovTalk initiative, 105-7
Simple Object Access Protocol. See SOAP
XML Remote Procedure Call (XML-RPC), 105, 119-24
spectrum of, 82-83
vertical industry data descriptions, 83-94
(.*?)elements vs. attributes issue in, 84
in finance, 84, 85-86
in human resources, 86-90
in mortgage banking, 90-92
"Architectural Principles of the Internet" (Carpenter), xxix-xxx
Architectural revolution, 13, 14, 19-20. See also Loosely coupled systems
Architecture patterns, software, 135-37
Ariba, 154
ASP, 182
Assertions, 48
Atomicity in transactions, 177
Attachments, SOAP with, 138-39
Attribute information items, 266
in SOAP header block, 270-71
Attributes, 5
in DTDs, 244-47
(.*?)attribute types, 245-46
default values, 246
implied attributes, 247
elements vs., 36, 84, 240-41
empty element as container for, 238-39
Authentication, 197, 198, 200, 201

B

B2B connections, 2-3, 4, 8-9
B2B data interchange, 14, 91, 114
B2C connection, 2-3
B2E connection, 2-3
BEA, 191
Berners-Lee, Tim, 22-23, 75, 116
Bidirectional Web linking, 65
binding element, 161
bindingKey, 158
Bindings, WSDL, 160, 161-63
bindingTemplate, 156-57, 158
BizTalk, 182
Body, SOAP, 257, 263, 272-73
Body element information item, 131, 272-73
British government GovTalk initiative, 105-7
Broker, 12
Web services, 152
Brokerage information, downloading of, 85-86
Browser, xxviii
voice, 99
VoiceXML, 59
Web, as GUI, 106
businessEntity structure, 156
Business messages, ebXML, 170-71
Business processes, ebXML, 168, 170
Business Service Interface, 170
Business-to-business (B2B) connection, 2-3, 4, 8-9
Business-to-business data exchange, 14, 91, 114
Business-to-consumer (B2C) connection, 2-3
Business-to-employee (B2E) connection, 2-3

C

Candidate Recommendation (W3C), 26-27
Canonicalization, 205-6, 207, 216
CanonicalizationMethod element, 212
Carpenter, Bob Brian, xxix-xxx
Cascading style sheets (CSS), 31, 51-52, 54, 55
XSLT and, 64
CDATA, 204, 206, 242-43
Certificate authorities (CAs), 203
Certificate management, 203
Change, XML-driven, 220
CheckFree, 85
Client-server systems, 231, 232
CLR, 184, 185
COBOL, 16, 17, 184-85, 219
XML connection with, 230-31
Code as data, 18-19
Code culture, 16-17
Collaboration. See also Peer-to-peer (P2P) technologies
combination and, 24
software model based on, 20-21
Collaboration Protocol Agreement (CPA), 171
Collaboration protocol profile (CPP), 168-69, 170
Collaborative applications, 226
Combination of technologies, 20-24, 103-7
collaboration and, 24
GovTalk initiative, 105-7
power of surprise and, 21-23
simplicity and, 103
Commerce on the Web, key ingredients for, 12. See also E-commerce
Common Language Runtime (CLR), 184, 185, 233
Component assembly, 148
Component Object Model (COM+), 182
Components, 17-18
Confidentiality, 197, 198, 200-201
Configuration management, Web services and, 165-66
Conformance testing, 93
Connectivity, universal, 19
Consistency in transactions, 177
Content encryption, 209
Convergence, 220
Conversion utilities, 84
CORBA (Common Object Request Broker Architecture), xv, xvi, 9,10, 14,15, 17-19, 111-13, 119, 127, 221, 232-233
Core components, ebXML, 168-69, 170
Core Library, 171
Coupling concept in SOAP, 125-26
CPA, 171
CPP, 168-69, 170
Cross-Process Objects (CPO) Workgroup, 87
Cryptography, 198-99
private-key, 198
public-key, 198, 200, 203-4, 207
single-key, 199
CSIRO Pocket SVG Viewer, 98
CSS, 31, 51-52, 54, 55
XSLT and, 64
CSS1 specification, 52
CSS2 specification, 52

D

Data
code as, 18-19
encrypting, 208-11
extended enterprise and, 3
registries of, 188
(.*?)ebXML, 168-69, 170
UDDI, 154-55
Web services, 150, 192
storage in XML, 5
synchronized, 85
Data culture, 16-17
Data definitions, user requirements and, 87-88
Data encapsulation in SOAP, 256-57
DataEncodingUnknown faultcode, 277
Data exchange
B2B, 14, 91, 114
financial, 86
point-to-point solutions to, 114-15
with SOAP, 110-13
Data exchange vs. data storage approach, 84-85, 86
Data flow diagrams, 120
Data independence, distributed computing and, 14-15
Data integrity, 197, 198, 201-2
Data interchange
B2B, 91
HR-XML initiative, 86-87
Data representation, stakeholder consensus in, 87
Data revolution, xx, 13-19
defined, xvi
Data standards, 84
Data typing
omission of, 7
in XML-RPC, 121
Data typing technologies, 30-31, 40-50
document type definitions (DTDs), 30, 41-43, 48, 242, 243-47
(.*?)defining attributes in, 244-47
for financial data exchange, 86
for MISMO, 91-92
for Person element in HR-XML, 88-90
XML processing and, 48
XML Schema, 30-31, 41, 43-48
DCOM, 10, 18-19, 111-12
Decentralization, 23
Declarations, namespace, 38-39
Descriptor file, 96-97
Design-by-omission principles of XML, 6-7
Design patterns, SOAP, 135-37
detail element information item, 138, 275-76
Develop-Mentor, 126
Development tools, .NET, 182
Devices, .NET-enabled, 183
Dialogs, VoiceXML, 60
Digest, 201
DigestMethod element, 213
DigestValue element, 213
Digital hashing, 201
Digital signatures, 202, 205, 207
guidelines for, 216-17
special XML constraints on, 205
XML Digital Signature, 197, 206, 212-13
Display capabilities, omission of, 7
Distributed Component Object Model (DCOM), 10, 18-19, 111-12
Distributed computing, 104
based on message passing and peer-to-peer interaction, 20
data independent and, 14-15
SOAP and, 10, 175-76
tightly coupled networks, 125
XML protocols and, 105
Distributed object systems, 233
Distributed state machine, 283
DLL problem, 165-66
Document culture, 16-17
Document information item, 267-68, 284
Document Type Declaration. See DTDs
DOM (Document Object Model), 48-49
DOM levels, 49
ds:KeyInfo element, 215
DSSSL, 51
DTDNotSupported faultcode, 267, 277
DTDs, 30, 41-43, 48, 242, 243-47
defining attributes in, 244-47
(.*?)attribute types, 245-46
default values, 246
implied attributes, 247
for financial data exchange, 86
for MISMO, 91-92
for Person element in HR-XML, 88-90
Durability in transactions, 177-78
Dynamic link library (DLL) problem, 165-66

E

ebXML, 141-42, 166-70
key players behind, 166-67
support for, 167
technologies, 167-68
terminology, 170-71
Eclipse, 190-91
E-commerce, 175-80
forms in, 54
identity issues in, 178-80
mortgage industry, 90-92
security issues in, 178
transactions requirement of, 176-77, 178
Economy, global, 84
EDI (Electronic Data Interchange), 13, 18-19, 110, 113-15
EJB deployment descriptor, 96-97
EJB (Enterprise JavaBeans), 82, 95-97
Electronic Business XML. See ebXML
Electronic commerce. See E-commerce
Element(s), 237-41
attributes vs., 36, 84, 240-41
empty, 69-70
encryption of, 210-11
namespaces and, 39
naming rules, 239-40
Person, in HR-XML data definition, 87-90
in SMIL, 102
timeline, 102
uses of, 237-39
Element information items, 263, 266, 267-68, 285
Embedded style sheet, 216
Emergence, phenomenon of, xv, xxix-xxx, 146-47
Empty elements, 69-70
encodingStyle attribute information item, 268-69
Encryption, 197, 206, 207-11. See also Cryptography; Security
of data, 208-11
End tags, 5, 6
Enterprise computing, .NET and J2EE as frameworks for, 180-81
Enterprise JavaBeans (EJB), 82, 95-97
Entities, 241-42
Enumeration constraint, 44
Envelope, SOAP, 253, 256, 267-80
body, 257, 263, 272-73
encoding and versioning, 268-69
faults, 135, 137-38, 257, 264-65, 273-80
(.*?)detail, 138, 275-76
Fault, 137, 273-74
faultactor, 274-75
faultcode, 138, 274, 276-78
faultstring, 138, 274
MustUnderstand, 264, 277, 278-80
VersionMismatch, 277, 293-94
header, 135, 256, 261-62, 269-72
envelope element information item, 130, 293
"E-Services," 192
e-speak, 192
Event handlers, 101
Execution adapters, 194
Explicit grouping, restructuring by, 68-69
Extensibility, 141
SOAP model of, 291-92
Extensible Hypertext Markup Language (XHTML), 31, 57-58
modularization, 103
Extensible Markup Language. See XML
Extensible Stylesheet Language (XSL) formatting, 31, 53-54
External style sheet, 216
Extraction, database, 66-67

F

Fannie Mae, 90
Fanning, Shawn, 223
Faults, SOAP, 135, 137-38, 257, 264-65, 273-80
detail, 138, 275-76
faultactor, 274-75
faultcode, 138, 274, 276-78
faultstring, 138, 274
MustUnderstand, 264, 277, 278-80
VersionMismatch, 277, 293-94
field elements, 101
Filter chains, 50
Finance
mortgage banking, 90-92
XML applications in, 84, 85-86
Firewalls, 164
SOAP and, 139
Flattening function in XQuery, 67-68
Formatting objects, 53
XSL (XSL-FO), 31, 64
form element, 101
Forms
HTML, 54-55
VoiceXML, 60, 100-101
XForms, 31, 54-57
Freddie Mac, 90

G

Gelertner, David, 227
get_bindingTemplate API call, 158
GET command, 116, 117
GIF format, 97
Global Commerce Initiative, 167
Global economy, 84
Glossary, 317-39
Google, 71
GovTalk initiative, 105-7
Graphics, SVG, 97-99
Green pages, Web services, 151
Groove Networks, 219, 225-27
GUI, Web browser as, 106

H

Hashing, digital, 201
Header, SOAP, 135, 256, 261-62, 269-72
Header block, SOAP, 256, 260-61, 265, 270
Header element information item, 130-31, 270
Hewlett-Packard (HP), 192-93
Horizontal industry applications, 81-82, 93
EJB, 82, 95-97
SMIL, 82, 101-3
(.*?)advantages of, 101-2
elements in, 102
modularization of, 102-3
SVG, 97-99
VoiceXML, 31, 58-60, 82, 99-101
(.*?)forms and menus, 60, 100-101
HR-XML, 86-90
HR-XML Consortium, 84, 85, 86-90
HTML, xxviii
HTML forms, 54-55
HTTP, xxviii, 22, 104, 109
SOAP and, 115-19, 124
Web services and, 145, 146
Human resources, XML applications in, 86-90

I

IBM, 113, 154
J2EE implementation by, 189-91
Identity, 178-80
in Web commerce, 12
Independence of RDF properties, 74
Independent invention, test of, 23
InfoSet, 31, 69-70
in SOAP messages, 266
Infrastructure technologies, 69-70
Input and output adapters, 193
input element, 163
Interactive behavior, 97
Interchangeability of RDF statements, 74
Intermediary, SOAP, 134, 137, 258
Intermediate Langauge (IL), 185
Internet alignment, 106
Internet Engineering Task Force (IETF), 24
Internet Inter-ORB Protocol (IIOP), 111-12
Interoperability specifications and standards, 93
Intuit, 85
Invention, test of independent, 23
iPlanet integration platform, 189
Isolation in transactions, 177

J

J2EE (Java 2 Enterprise Edition), 12-13, 180-81, 186-94
evolution of, 186-87
as framework for enterprise computing, 180-81
legacy systems and, 233-34
.NET compared to, 180-81
SOAP and, 178
vendors implementing, 188
(.*?)BEA, 191
HP, 192-93
IBM, 189-91
Oracle, 193-94
Sun ONE, 113, 189
Web Services Pack and, 186-88
Java API for XML Messaging (JAXM), 187, 188
Java API for XML Processing (JAXP), 187
Java API for XML Registries (JAXR), 188
Java API for XML Remote Procedure Calls (JAX-RPC), 188
Java Architecture for XML Binding (JAXB), 187-88
Java Community Process (JCP), 21, 24, 186
Java Connection Architecture, 233-34
Java Remote Method Protocol (JRMP), 112
JavaSpaces, 227-29
JPEG format, 97

K

KeyInfo element, 212-13

L

Language basics. See XML language basics
Language profile, 103
Layers Pattern, 135-36
Least power, principle of, 23
Legacy systems, xxiii, 219, 221, 230-34
bridging gap to, 230-31
connection challenges, 232-33
new position of, 233-34
SOAP and, 233-34
Liberty Alliance Project, 180
Linda distributed operating system, 227-28
Loans, mortgage, 90-92
Loose coupling, xv, 19
Loosely coupled systems, xvi-xvii, xx, xxvii, 19-20
ad hoc interaction between network nodes, 222
interplay between tightly coupled systems and, 180, 221-22. See also J2EE (Java 2 Enterprise Edition); .NET
transactional capabilities required by, 176-77
universal connectivity and, 19
Loosely coupled Web space, xxiii

M

Mainframe model, 224
Mainframes, 230-32
Manipulation technologies, 31, 60-69
XLink, 31, 65
XPath, 31, 64, 65, 66
XQuery, 31, 65-69
(.*?)flattening function in, 67-68
in practice. See Applications of XML
restructuring in, 68-69
select-and-extract using, 66-67
sorting in, 69
tag variables in, 69
XSL Transformation (XSLT), 31, 60-64
(.*?)CSS and, 64
template rules in, 61-64
Markup languages, proprietary, 57-58
Menus in VoiceXML, 60, 100-101
Message Oriented Middleware, 7
Message passing, distributed computing based on, 20
Message path, SOAP, 133, 257
Messages, SOAP, 120, 164, 256
examples of, 131-33, 254-55
exchange model, 258-66
processing, 263-66
sender and receiver concepts, 257-58
structure of, 130-31
XML Information Set in, 266
Messaging
ebXML, 168, 170
in Web commerce, 12
Messaging middleware, 7
Metadata, 71-72
Metainformation, 31
methodCall element, 123
methodResponse element, 123
Microsoft, xxii, 85, 113, 126, 154
Microsoft .NET. See .NET
Microsoft Passport, 179-80
Microsoft Transaction Server (MTS), 186
Middleware, 109, 125, 177
messaging, 7
MISMO (Mortgage Industry Standards Maintenance Organization), 84, 187-88, 239
Modularity, xv, xxx, 22-23
Modularization
in SMIL, 102-3
XHTML, 57, 58, 103
Modules, coupling of, 125
Mortgage-backed securities, 90
Mortgage banking, XML applications in, 90-92
Mozquito XForms Preview, 56-57
MP3 files, 223
Multimedia presentations, SMIL for, 82, 101-3
Multi-Purpose Internet Mail Extensions (MIME) multipart/related message, 139
Multitier Pattern, 136
Music industry, Napster and, 223-24
mustUnderstand attribute information items, 135, 262, 272
MustUnderstand fault, 264, 277, 278-80
Myers, Glenford, 125

N

Namespace(s), 29, 30, 36-40
abbreviations, 40
declarations, 38-39
SOAP, 266-67
Napster, xxx, 23, 219, 223-24
Nesting, in XQuery, 68
.NET, 12-13, 113, 180-86, 221
architecture of, 182-83
Common Language Runtime (CLR), 184, 185, 233
as framework for enterprise computing, 180-81
J2EE compared to, 180-81
legacy systems and, 233, 234
security capabilities of, 178
transactions in, 185-86
.NET Enterprise Servers, 183
.NET Framework, 184-85
.NET Platform, 183-84
Network lock-in, 114
Networks, emergence of, xxviii
Note (W3C document), 26

O

OASIS (Organization for the Advancement of Structured Information Standards), 57-58, 93-94, 166-67
Object Management Group (OMG), xxii
Object-oriented languages, 17
Object Remote Procedure Call (ORPC), 112
Object Request Broker (ORB), 113
Object Transaction Monitor, 186
OFX (Open Financial Exchange), 84, 85-86
Open Applications Group Inc., 167
operation element, 160, 161
Oracle9i Web Services Framework, 193-94
output element, 163
Ozzie, Ray, 225-26

P

P2P technologies. See Peer-to-peer (P2P) technologies
Parameter entities, 242
Parnas, Dave, 125
Parsers, XML, 48. See also DOM (Document Object Model); SAX
Passport, 179-80
Pattern, XSL, 53
Peer-to-peer (P2P) technologies, 219-30
defined, 222
distributed computing based on, 20
Groove Networks, 219, 225-27
JavaSpaces, 227-29
Napster, 219, 223-24
options in, 224-25
servers and, 222
software, 225-27
TSpaces, 227-29
Personal computer (PC), xxvii-xxviii
Person element in HR-XML data definition, 87-90
Pipe and Filter Pattern, 136-37
Pipelines, SAX support of, 50
Point-to-point solutions to data exchange, 114-15
Port 80, security risks of, 139, 164
Ports, WSDL, 159-61
portType element, 161
POST command, 117-18
Predefined entities, 241-42
Presentation technologies, 34, 50-60
cascading style sheets (CSS), 31, 51-52, 54, 55, 64
Extensible Hypertext Markup Language (XHTML), 31, 57-58, 103
Extensible Stylesheet Language (XSL) formatting, 31, 53-54
VoiceXML, 31, 58-60, 82, 99-101
(.*?)forms and menus, 100-101
XForms, 31, 54-57
Pretty Good Privacy (PGP), 215
"Principles of Design" (Berners-Lee), 22-23
Private keys management, 203
Procedures, 120
Profiling, 103
Project Gutenberg, 58
prompt elements, 101
Properties, RDF, 73, 74-75
Proposed Recommendation (W3C), 26
Protocol adapters, 193
Protocols, 103-7
combinatoric capability of XML and, 104-5
GovTalk initiative, 105-7
security, 178
Simple Object Access Protocol. See SOAP
XML Remote Procedure Call (XML-RPC), 105, 119-24
(.*?)data typing in, 121
responses in, 123-24
scalar parameter types for, 121
in SOAP messages, 139
Public-key cryptography, 198, 200, 203-4, 207

R

RDF, 31, 71-75
characteristics of, 74-75
properties, 73, 74-75
resources, 72-73, 74-75
statements, 73-74, 75
vocabularies, 74
Receiver, SOAP, 257, 258
Receiver faultcode, 278
"Recommendation" in W3C parlance, 25, 27
Recording Industry Association of America, 223-24
Reference element, 212
Registries of data, 188
ebXML, 168-69, 170
UDDI, 154-55
Web services, 150
HP, 192
Remote Method Invocation (RMI), 10, 18-19, 111-12
Repositories. See ebXML; Web services
Resources, RDF, 72-73, 74-75
Restriction constraint, 44
Restructuring in XQuery, 68-69
RosettaNet, 167

S

SAX, 49-50
SAX2, 50
Scalability, 98
of RDF statements, 74
of single-key cryptography, 199
Scalable Vector Graphics (SVG), 82
Schemas, 40-50. See also XML Schema
defined, 41
in practice, 48
Scripting, SVG support for, 98
Seamless Web, xxi
Search engines, 71
Searching images library, 98
Secure communication, InfoSet and, 70
Secure Sockets Layer (SSL), 178, 204
Securing XML traffic, xxii-xxiii
Securities, mortgage-backed, 90
Security, 197-218
authentication, 197, 198, 200, 201
Canonicalization, 205-6, 207, 216
certificate and private keys management, 203
confidentiality, 197, 198, 200-201
cryptography, 198-99
(.*?)private-key, 198
public-key, 198, 200, 203-4, 207
single-key, 199
data integrity, 197, 198, 201-2
digital signatures, 202, 205, 207
(.*?)guidelines for, 216-17
special XML constraints on, 205
XML Digital Signature, 197, 206, 212-13
in E-commerce, 178
in J2EE, 178
in .NET, 178
SOAP and, 178, 197, 204-5
special requirements of XML regarding, 204
W3C framework for, 206-7
in Web commerce, 12
of Web services, 164
XKMS, 197, 214-15
of XML documents, 164, 204
XML Encryption, xxiii, 197, 206, 207-11
(.*?)of data, 208-11
Selection, database, 66-67
Selector, 51
Semantic Web, 71, 75
Sender, SOAP, 257, 258
Sender faultcode, 277
Server(s)
.NET Enterprise, 183
peer-to-peer technologies and, 222
SOAP-compliant, 134-35
Service provider, 11, 152
Service requester, 11, 152
SGML, 15-16, 81
SignatureMethod element, 212
Signatures, digital, 202, 205, 207
guidelines for, 216-17
special XML constraints on, 205
XML Digital Signature, 197, 206, 212-13
SignedInfo element, 212
Simple API for XML. See SAX
Simple Object Access Protocol. See SOAP
Simplicity, xv, xxx, 22
combination and, 103
software model based on, 20
Single-key cryptography, 199
SMIL, 82, 101-3
advantages of, 101-2
elements in, 102
modularization of, 102-3
SOAP, xv-xvi, xx, xxi, 105, 109-44, 220, 249-316
actors, 134-35, 259-60
with Attachments, 138-39
change log, 297-312
coupling concept in, 125-26
data encapsulation concepts, 256-57
data movement between partners through, 110-13
design goals of, 253
design patterns, 135-37
development of, 126-27
distributed computing and, 10, 175-76
document status, 250-51
ebXML initiative and, 171
Electronic Business XML (ebXML) and, 141-42
elements, 263
envelope, 253, 256, 267-80
(.*?)body, 257, 263, 272-73
encoding and versioning, 268-69
faults, 135, 137-38, 257, 264-65, 273-80
header, 135, 256, 261-62, 269-72
evolution of, 113-15
extensibility model of, 291-92
firewalls and, 139
header block, 256, 260-61, 265, 270
HTTP and, 115-19, 124
impact of, 113
importance of, 109-13
intermediary, 134, 137, 258
legacy systems and, 233-34
message path, 133, 257
messages, 120, 164, 256
(.*?)examples of, 131-33, 254-55
exchange model, 258-66
processing, 263-66
sender and receiver concepts, 257-58
structure of, 130-31
XML Information Set in, 266
namespaces, 266-67
node, 256, 259-60
notational conventions, 245
overview of, 129-30
protocol binding framework, 253, 255, 280-86
(.*?)binding to application-specific protocol, 285-86
distributed state machine in, 283
goals of, 282-83
protocol concepts, 127-29, 255-56
receiver, 257, 258
security and, 178, 197, 204-5
sender, 257, 258
URIs in, 286-87
version transition from 1.1 to 1.2, 290-94
W3C and, 140-41
Web services and, 10, 141-42, 145, 146, 153-54, 155, 175-80
XML and, 4-5, 9-10, 266-67
XML schema changes, 313-15
soap:binding element, 161
soap:body element, 163
soap:operation element, 162
soapAction attribute, 162
Software architecture, xxvii, 135-37
revolution in, xx
Software combination, 20-24
Software configuration, 95
Software industry, xxii
Software interaction, Web services and, 10-11
Software revolution, xx, 13, 14, 20-24
Software specification and design, collaboration on, 24
Sorting in XQuery, 69
Speech-enabled applications, 58-60
SSL, 178, 204
Standard Generalized Markup Language (SGML), 15-16, 81
Standards, tracking XML, 93-94
Start tags, 5, 6
State maintenance in SAX, 50
Statements, RDF, 73-74, 75
Structural information, EJB, 97
Structure, 30-31
Style sheets
cascading (CSS), 31, 51-52, 54, 55
(.*?)XSLT and, 64
embedded, 216
external, 216
Subelement encryption, 209
Submission to W3C, 25-26
Sun, xxii, 113, 186-87
Sun Open Net Environment (Sun ONE), 113, 189
Surprise and combination, power of, 21-23
SVG, 97-99
Synchronized Multimedia Integration Language (SMIL), 82, 101-3
advantages of, 101-2
elements in, 102
modularization of, 102-3

T

Tags, 5-6
Tag variables, in XQuery, 69
TCP/IP, xxviii, 19, 21, 104
Technical Committee Process (OASIS), 93
Technology family, XML, 29-80
data typing, 30-31, 40-50
(.*?)document type definitions (DTDs), 30, 41-43, 48, 86, 88-90, 91-92, 242, 243-47
XML Schema, 30-31, 41, 43-48, 161
leveraging, 32-40
manipulation and transformation, 31, 60-69
(.*?)XLink, 31, 65
XPath, 31, 64, 65, 66
XQuery, 31, 65-69
XSL Transformation (XSLT), 31, 60-64
presentation, 34, 50-60
(.*?)cascading style sheets (CSS), 31, 51-52, 54, 55, 64
Extensible Hypertext Markup Language (XHTML), 31, 57-58, 103
Extensible Stylesheet Language (XSL) formatting, 31, 53-54
VoiceXML, 31, 58-60, 82, 99-101
XForms, 31, 54-57
RDF, 31, 71-75
(.*?)characteristics of, 74-75
properties, 73, 74-75
resources, 72-73, 74-75
statements, 73-74, 75
vocabularies, 74
structure and, 30-31
XML Information Set (InfoSet), 31, 69-70, 266
XML processing and, 48
Template rule, 53
Templates
XSL, 53
XSLT, 61-64
Tiered systems, 136
Tightly coupled systems, 125
interplay between loosely coupled systems and, 221-22
Time-related processing, 48
tModel, 157
Trading partner profiles and agreements, ebXML, 168
Transaction-capable object systems, xxiii
Transactions
ACID properties of, 177-78
integrity of, 180
in .NET, 185-86
risks of, 164
Web commerce, 12
Transformation technologies, 31, 60-69
content alterations due to, 216-17
XLink, 31, 65
XPath, 31, 64, 65, 66
XQuery, 31, 65-69
XSL Transformation (XSLT), 31, 60-64
Transforms element, 213
Transport, omission of, 7
Transport Layer Security (TLS), 178, 204
Tree-based APIs, 49
Tree structures, XML, 65, 66
TSpaces, 227-29
TupleSpace, 227-28

U

UDDI, xxi-xxii, 150, 151, 153, 154-58
failure and recovery, 157-58
interaction scenario, 156-57
registries, 154-55
repository, 150, 151
specifications family, 156
UDDI4J, 189
Uniform Resource Identifiers (URIs), 37
in SOAP, 286-87
Uniform Resource Locator (URL), 37-38
Union constraint, 44, 46
United Nations Centre for Trade Facilitation and Electronic Business, 166
United Nations Directories for Electronic Data Interchange for Administration, Commerce and Transport Working Group, 167
Universal Character Set UTF-8, 206
Universal Description, Discovery, and Integration. See UDDI
Upgrade element information item, 292-93
uriReference data type, 48
User requirements, data definitions and, 87-88
User validation, 178-80

V

Validation, user, 178-80
Values functioning as resources, 75
Versioning, 48, 268-69
VersionMismatch fault, 277, 293-94
Vertical industry applications, 83-94
elements vs. attributes issue in, 84
in finance, 84, 85-86
in human resources, 86-90
in mortgage banking, 90-92
VisualStudio.NET (VS.NET), 183-84
Vocabularies, RDF, 74
Voice browser, 99
Voice dialogs, 58-60
VoiceXML, 31, 58-60, 82, 99-101
forms and menus, 100-101
von Neumann, John, 94

W

W3C, xx, 20, 24, 25-27
framework for security, 206-7
"Recommendation" by, 25, 27
SOAP and, 140-41
SVG compatibility with initiatives, 98-99
Web, the, 232
architectural philosophy underlying, xxix
as example of power of combination, 20-21
extended enterprise enabled by, 2-3
rapid emergence of, xxviii
seamless, xxi
XML and, xxvii, 7-9
Web browser as GUI, 106
Web commerce, key ingredients for, 12. See also E-commerce
Web linking, bidirectional, 65
WebLogic E-Business Platform (BEA), 191
Web services, xxi-xxii, xxvii, 145-73. See also J2EE (Java 2 Enterprise Edition); .NET
architecture of, 152, 153
BEA, 192
emergence of, 8-9
exploiting (example), 149-52
frameworks, 113
HP, 192-93
HTTP and, 145, 146
IBM, 189-91
major aspects to, 11-12
model of, 147
nature and functions of, 145-47
opportunity and risk in, 148-49
Oracle, 193-94
qualifications for, 148
risks in, 163-66
(.*?)configuration management, 165-66
maturity, 163
security, 164
transactions, 164
SOAP and, 10, 141-42, 145, 146, 153-54, 155, 175-80
software interaction and, 10-11
Sun ONE and, 189
technologies, 152-63
(.*?)UDDI, xxi-xxii, 150, 151, 153, 154-58
WSDL, xxi-xxii, 153, 158-63
XML and, 10-12
Web Services Description Language. See WSDL
Web Services Pack, 186-88
WebSphere, 190
White pages, Web services, 151
Winer, Dave, 112-13, 119, 124, 126
Wireless Markup Language (WML), 31
Working Draft (W3C), 26
World Wide Web Consortium. See W3C
WSDL, xxi-xxii, 153, 158-63
bindings, 160, 161-63
ports or network endpoints, 159-61

X

X.509, 215
XForms, 31, 54-57
XHTML, 31, 57-58
modularization, 103
X-KISS, 214-15
XKMS, xxiii, 197, 214-15
X-KRSS, 214, 215
XLink, 31, 65
XML, 1-28
advantages of, 6
architectural revolution and, 13, 14, 19-20
data revolution and, 13-19
design-by-omission principles of, 6-7
as driver of change, 220
extending enterprise, 2-3
.NET and J2EE and, 12-13
origins and culture of, 15-16
role of, 3-5
SOAP and, 4-5, 9-10, 266-67
software revolution and, 13, 14, 20-24
tags and content components of, 5-7
the Web and, xxvii, 7-9
Web services and, 10-12
XML 1.0, 33-35
XML4J parser, 189
XML core, 30
XML documents, guidelines for signing, 216-17
XML Encryption, xxiii, 197, 206, 207-11
of data, 208-11
XML Information Set (InfoSet), 31, 69-70
in SOAP messages, 266
XML Key Information Service Specification (X-KISS), 214-15
XML Key Management Specification (XKMS), xxiii, 197, 214-15
XML Key Registration Service Specification (S-KRSS), 214, 215
XML language basics, 237-47
attributes, 240-41, 244-47
CDATA, 242-43
DTDs and, 243-47
(.*?)defining attributes in, 244-47
elements, 237-41
(.*?)attributes vs., 36, 84, 240-41
naming rules, 239-40
uses of, 237-39
entities, 241-42
processing instructions, 243
XML processing, 48
XML Protocol Working Group, 140
XML Query Working Group, 65-66
XML Remote Procedure Call (XML-RPC), 105, 119-24
data typing in, 121
responses in, 123-24
scalar parameter types for, 121
in SOAP messages, 139
XML Schema, 30-31, 41, 43-48, 161
changes in, 313-15
complex types, 46
data type hierarchy, 44, 45
derivation rules, 44-46
XML processing burden and, 44
XML Signature, xxiii
XPath, 31, 64, 65, 66
XQuery, 31, 65-69
flattening function in, 67-68
in practice. See Applications of XML
restructuring in, 68-69
select-and-extract using, 66-67
sorting in, 69
tag variables in, 69
Xsi:type attribute, 48
XSL, 31, 53-54
XSL Formatting Objects (XSL-FO), 31, 64
XSL Transformation (XSLT), 31, 60-64
CSS and, 64
template rules in, 61-64
XSL Working Group, 53
X-Smiles, 56

Y

Y2K problems, 232
Yahoo, 71
Yellow pages, Web services, 150-52

Z

Zooming images, 98

Updates

Submit Errata

More Information

Unlimited one-month access with your purchase
Free Safari Membership