Team-Fly |
XML, Web Services, and the Data Revolution By Frank P. Coyle | |
Table of Contents | |
XML and XML-based Web services have been the " next big thing" for the last couple of years , and will increasingly touch the lives and careers of most of us in the software and Internet industries in the future. There is a tendency among many observers to treat the World Wide Web as part of the "high technology" industry and describe its development as driven by some vaguely understood technological imperative. Web Services are (as of this writing) a particularly clear example of the "if we build it, they will come" assumption that tends to go along with the view of the Web as just a corner of the High-Tech sector. Executives of large software companies tend to make speeches extolling the coming era of Web services without explaining how or why this will come about. There's much talk about the new "paradigm," but little explanation of how anyone besides software vendors desiring a guaranteed revenue stream will benefit if it is technically possible to sell software as a service rather than on a CD. We are starting to see more sophisticated analyses of the Web phenomenon and the role that XML may play in its evolution. To understand where the Web is going, we not only need to understand the technologies that define it, but also to understand how they have interacted with one another and with the social and economic system to produce something very much greater than the sum of the technological parts . In this view, the Web was not designed ; it is evolving in ways not foreseen by the inventors of the technologies out of which it emerged. No visionary drew a picture of what we have today and proselytized until it became a reality, and no committee laid out requirements for the Web and reviewed designs to achieve it. Instead, its features are the emergent properties that appeared when TCP/IP and HTTP produced a reasonably reliable universal network and the simple but powerful HTML (and later XML) markup languages became almost universally supported in browsers and authoring tools. This is not to downplay the role of good engineering in the success of the many great products that define its individual components, such as IP routers, HTTP servers, and HTML/XML browsers and editors. The principles of sound engineering are the same as those that contribute to evolutionary survival ”simplicity, modularity, ease of use, low cost of ownership, etc. Conversely, if it's hard to understand, it will be hard to build; if it's hard to build, it will break; if it breaks, it won't survive. Nevertheless, to understand how the "Web" as we know it emerged from the separate components , and to predict how it will evolve in the future, a higher-level, less technology-driven perspective is necessary. Frank Coyle's XML, Web Services , and the Data Revolution does a great job of explaining the Web/XML phenomenon by clearly describing where it came from, why it has proved so useful, and where it is likely to take us. It provides a solid technical overview to the various XML- related specifications and standardization organizations, especially those relevant to Web services. More importantly, he explains how they all fit together, and what a real business might be able to do with them today and in the near future. By combining these bottom-up and top-down approaches, Coyle's book can be fruitfully read by technologists needing an introduction to the fast “moving and confusing world of XML and Web services specifications, by managers trying to come to grips with the business implications of it all, and by architects who need to integrate both perspectives. The book's greatest strength is to show how XML accepts and extends the architectural principles that have fostered the World Wide Web:
In other words, powerful systems emerge when built on an infrastructure made of simple, loosely coupled components; The future of the XML- powered Web is not being designed in the labs or meeting rooms of the largest companies, but it will evolve in unanticipated ways as XML liberates data from the applications that create it. SOAP, the most fundamental standard for Web services, is a good example of this phenomenon. Large companies struggled for years to get various proprietary "remote procedure call" tools to work well and become widely used by developers, and an industry group worked hard to perfect a platform-neutral, vendor-neutral standard to do the same thing. Java RMI , Microsoft's COM/DCOM, and OMG's CORBA are all solid, widely deployed technologies, but none generated much in the way of "buzz." SOAP, however, has created a phenomenal amount of excitement even though it has fewer features and is less mature than its predecessors, basically because it solves many previously difficult problems simply by leveraging the installed base of interoperable HTTP servers and the platform neutrality of XML. Coyle's readers will quickly recognize SOAP's "emergent properties" that arise when complementary technologies are combined to produce a new compound that is something more than the sum of its parts. This liberation of data from applications is the "Data Revolution" noted in the title. Unlike EDI systems (which specify both data formats and protocols) or Java RMI (which is tied to the Java Virtual Machine operating environment), XML is "pure" data, free to be used in any environment and to be exchanged by any feasible means. By declaring the independence of data from programming and transport issues, XML processing components can be even more modular and assembled into even more loosely coupled systems than is possible in any object-centric approach, even those such as Java or CORBA that have tried very hard to be platform-neutral. Furthermore, once data is in XML form, it doesn't matter whether the information encoded in XML is "really" a document, a message, an RPC invocation, or whatever; there are an ever-growing array of specifications and tools to query, manipulate, validate, transform, and display the XML data. Those operations that cannot be performed in an XML technology per se can be defined with any modern software development language or tool. As an example of how the message of XML, Web Services, and the Data Revolution may apply in real life, consider a couple of exercises in informed speculation. First, many computer industry pundits believe that XML will not come into its own until industry-standard schemas are in place to define the format of messages between businesses in a supply chain; they believe that the adoption of XML is hindered by the "Tower of Babel" or the "balkanization" of XML efforts. There is undoubtedly much truth in this analysis, but think about it from a loosely coupled "Web" perspective rather than the conventional tightly coupled perspective. With loosely coupled systems that only know the bare minimum about each other (e.g., WSDL descriptions of the calling conventions of a Web service), designers can effectively maximize the possibility of interaction rather than forcing every component to conform to the master plan. Loosely coupled Web services may open up possibilities as components are connected and re-used in new ways in some of the same ways that HTML and HTTP liberated the text world from tight coupling between applications and proprietary formats and protocols. Likewise, while Coyle does not discuss the point explicitly, it seems to follow from his analysis that since the success of the Web and XML depends on simplicity, modularity, and loose coupling, it may be necessary to resist the inevitable tendency for standards groups to add "power" to these specifications and for vendors to combine implementations into more "efficient" packages. So long as new features are layered on top of existing modules (optimizations do not change the external behavior of Web components) or new simple, modular, loosely coupled technologies are added to the "menu," such progress is desirable. Ease of use and performance that compromise the fundamental principles of the Web, however, may not be sufficient reasons to jeopardize the evolution of the system that has brought us so many unanticipated benefits. However history judges (or ignores) these arguments, they illustrate some ways in which a thoughtful reading of XML, Web Services, and the Data Revolution may change the way one thinks about XML and Web technology. Frank Coyle offers both a fresh perspective and solid detail on the role of XML in the various software, Internet, and data revolutions that we are living through. Reading this book will help one to understand XML technology as well as how and where to employ it. ”Michael Champion |
Team-Fly |
Top |