XML, Web Services, and the Data Revolution
| |
Team-Fly |
| XML, Web Services, and the Data Revolution By Frank P. Coyle
|
Table of Contents | |
This book is about understanding and navigating the change brought about by Extensible Markup Language (XML) and the World Wide Web. To understand the momentum behind XML, it's important to realize that XML and the Web are not separate phenomena but very much interrelated. Both are part of a paradigm shift in computing based on software assembly and emergence rather than software creation. This phenomenon is changing how we think about software and is the driving force behind the market strategies of the major players in the software industry: Microsoft, Sun, IBM, and others. The layering of XML on top of the existing Web infrastructure is disrupting the status quo, giving rise to new initiatives such as the Simple Object Access Protocol (SOAP), and Web services. Like other disruptive technologies before them, the Web and XML bring with them a new wave of possibilities and challenges. In terms of software architecture, the Web and XML open up a new way of assembling systems based on loosely coupled confederations of servers exchanging XML data. Unlike servers with tight dependencies upon each other, this new loose confederation is capable of establishing dynamic connections through message-oriented middleware and asynchronous interaction. As with any technology that makes it possible to solve old problems in new, more efficient ways, the net effect is an upset in the balance of power in the computer industry. To appreciate the speed with which these changes have occurred, it's instructive to look at the Web and XML in the context of another recent technology innovation, the personal computer. The PC revolution started with the invention of the microprocessor in the 1970s, moved to the hobbyist realm in the mid-1970s, received IBM's blessing in 1981, and by the mid-1980s was making inroads into the mainframe and minicomputer world. Fueling the PC's rise was the emergence of networks, both local and wide area, that moved the focus of computing from centralized mainframes to the desktop where sharing was handled by local servers, ushering in the era of client-server computing. But whereas this process took years to unfold, the the Web arrived almost overnight. How do we explain this? How is the Web different from other large-scale software efforts such as the U.S. Air Traffic Control System, the Sabre airline reservation system, or an enterprise-wide software framework such as SAP, each taking years to specify, more years to implement, and even more years to get right? The difference is that the Web wasn't programmed; it was assembled from simple constituent parts . It seemed to appear so quickly because the Web emerged from its constituent building blocks and in the process took everyone by surprise. No team defined use cases for the Web, formulated detailed requirements, considered design alternatives, moved to an implementation phase, or published delivery schedules. If we had tried to build the Web this way, it simply would not exist. The Web as we know it today has emerged from four building blocks, limited in scope yet open to combination: an Internet driven by TCP/IP that provides reliable global communication; HTTP, a simple protocol for delivering files; HTML, a tag-based language for specifying how data should be displayed; and the browser, a graphical user interface for displaying HTML data. Each in its own right does something interesting, but taken together, the whole turned out to be greater than the sum of its parts, a principle long known to systems engineers and, before them, to the Gestalt psychologists. |
| |
Team-Fly |
Top |