Home > Store

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

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

Description

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

XML is a disruptive technology: one that has already upset the balance of power throughout the technology industry, and offers organizations powerful opportunities for competitive advantage. In this book, Frank Coyle puts XML in context for both business and technical professionals, focusing on the big picture: the real value of XML, and the new Web services paradigm it has spawned. Coyle explains how XML makes it possible to deliver distributed computing solutions via loosely-coupled networks centered on the Web and XML -- and how this, in turn, transforms the way organizations manage data, build software, and assemble software systems. He introduces XML's simple rules for defining data vocabularies and its tools for structuring data, showing how XML's simplicity is the source of its power. He introduces the family of technologies surrounding XML, including namespaces, schema, and standards for presentation, transformation and meta-description. Next, Coyle shows XML at work in a wide array of applications, from financial services to wireless. He introduces SOAP, UDDI, and WDSL; shows how Web services enable an entirely new generation of software; and explores how the software is reacting to the radical changes brought about by XML-based technology. Coyle concludes by introducing three new XML-related initiatives designed to address the challenge of securing business-critical XML traffic.

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

InformIT Promotional Mailings & Special Offers

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

Overview


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

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

Collection and Use of Information


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

Questions and Inquiries

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

Online Store

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

Surveys

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

Contests and Drawings

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

Newsletters

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

Service Announcements

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

Customer Service

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

Other Collection and Use of Information


Application and System Logs

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

Web Analytics

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

Cookies and Related Technologies

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

Do Not Track

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

Security


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

Children


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

Marketing


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

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

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

Correcting/Updating Personal Information


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

Choice/Opt-out


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

Sale of Personal Information


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

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

Supplemental Privacy Statement for California Residents


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

Sharing and Disclosure


Pearson may disclose personal information, as follows:

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

Links


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

Requests and Contact


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

Changes to this Privacy Notice


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

Last Update: November 17, 2020