Issue No. 02 - February (2006 vol. 7)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/MDSO.2006.8
Dragan Stojanovic , University of Nis
Perspectives on Web Services: Applying SOAP, WSDL, and UDDI to Real-World Projects
By Olaf Zimmermann, Mark R. Tomlinson, and Stefan Peuser
Modern enterprises are caught in the flux of rapid changes in business and information technologies. It's crucial for them to be able to provide effective, high-quality, flexible, Web-centric enterprise systems that match business functionality needs and change as business changes—all within a short time-to-market. To accomplish this, enterprise systems have been moving to Web services over the last few years. These service-oriented architectures contain discrete software components, are based on industry-standard protocols and specifications, and interoperate across platforms and programming languages. Web services have emerged as a powerful tool for building complex but adaptive and agile enterprise systems in heterogeneous environments, enabling effective inter- and intra-enterprise integration. Perspectives on Web Services: Applying SOAP, WSDL, and UDDI to Real-World Projects by Olaf Zimmermann, Mark R. Tomlinson, and Stefan Peuser contains everything you need to know about developing and deploying Web services-oriented enterprise applications.
Whatever your role in a Web services application project—for example, software architect, developer, project manager, or system administrator—you will find useful information in this book. The authors explain how to cope with Web services within your project domain and how to apply them in different project stages. They incorporate their extensive experience in developing and deploying Web service-oriented enterprise software systems as well as advice on how to cope with enterprise system complexity and Web service development. Looking at a software development project from different perspectives and explaining its concepts from different angles is a useful methodology. This has been proven in many development methodologies and models—for example, the Reference Model of Open Distributed Processing(RM-ODP), which uses five viewpoints to specify an ODP system.
Web services from different viewpoints
The book is organized as a story about a Web services-oriented software project's development in the fictional company Premier Quotes Group. The first section includes a business analysis and feasibility study, showing the project from a business viewpoint. The authors argue that using Web services in the development process can satisfy all requirements of contemporary business-to-business and EAI (Enterprise Application Integration) software solutions. They also explain Web services and the main benefits of using them in different scenarios and real-word projects.
The book's development team convinces the stakeholders of Web services' advantages, and they decide to invest in the project. The next logical step is to train the technical staff and present Web services' main technologies and concepts. The technical perspective offers an introductory look at XML and Web service technologies such as XML Schema, SOAP, Web Services Description Language (WSDL), and Universal Description, Discovery, and Integration (UDDI). In less than 100 pages, the company's training staff effectively presents the main Web services concepts descriptively enough for the rest of the book's software project and for basic Web service development. Software developers with too many real-life project duties will be grateful for this brief explanation of key Web service technologies.
Next, software architects come on the scene. The book introduces the architectural styles and concepts surrounding Web services and discusses the benefits of Web service-oriented architectures. Because Web services enforce encapsulation, loose coupling, and other important distributed applications architectural principles, they naturally support many well-known design patterns. Software architects coping with Web service-oriented architectures will find answers to their questions and support for their architectural decisions. This section also suggests ways to satisfy nonfunctional requirements, such as performance, scalability, and security.
The next section, from the developer's perspective, offers a step-by-step guide to developing Java 2 Enterprise Edition integration using the IBM WebSphere product family. This is a natural choice, given the authors' employer. Their dedication to IBM WebSphere products will satisfy readers who already use those products, but others must hope that they can find similar concepts and features in their favorite development environments and tools. The development procedure includes examples of all development artifacts in a format that you can use in your own projects.
Setting up a Web services application in the working environment can be difficult. For this reason, the book offers instructions for system administrators and highlights Web services problems and solutions from their perspective. The authors discuss and present solutions to managing the final application's deployment, availability, and security using the IBM WebSphere environment. They also present runtime topologies for Web services solutions based on different application deployment scenarios. System administrators deploying solutions to the WebSphere Application Server will find plenty of useful material. The security issues the book discusses are a little bit more general and are related to standard Web service security specifications, but again, the authors apply them to the WebSphere Application Server.
The next section, written from the project manager's perspective, is tedious, at least for software developers. However, the final section presents an interesting view of the future of Web services, emerging standards, and related technologies, including grid computing and the Semantic Web. Finding a balance between optimistic and pessimistic views of Web services, the authors conclude by discussing Web services' pros and cons in real-world projects.
The authors combine their practical experience in Web service-oriented enterprise applications with reviews and a hands-on examination of the latest Web service specifications and technologies and IBM product capabilities. Their unique chronological approach follows an enterprise-scale application's development from start to finish. The book is accessible to a broad spectrum of readers, including developers, students, researchers, and teachers who want insight into the state-of-the-art of Web service-based enterprise application development and integration. Because it targets such a wide audience, the book partly shares the weaknesses of other all-in-one reference books—covering a large domain but without the necessary depth in particular topics. So, some readers would eventually appreciate the extension of their perspectives with more important and necessary details, while removing less important perspectives. But the development team as a whole, especially if it uses IBM Web services products, will be grateful to have such a comprehensive Web service development guide at its disposal.
Dragan Stojanovic is an assistant professor at the University of Nis. Contact him at firstname.lastname@example.org.