Team-Fly |
XML, Web Services, and the Data Revolution By Frank P. Coyle | |
Table of Contents | |
Preface |
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. |
Team-Fly |
Top |