A Complete Web Services Architecture
A recent Gartner Group "Perspective" on Web services implementations states:
"The Web services vision will be less than optimal if it is not introduced as a complete vision for dealing with aspects such as services registry, messaging, trading-partner specifications and industry standards." Source: "Web Services: Software as Service Comes Alive," Daryl Plummer, October 2001. Used by Permission.
In other words, far more is involved in building a Web services architecture than the "basic" architecture described in the previous section. A number of companiesincluding BEA, Hewlett-Packard, IBM, Microsoft, Sun, and othershave combined various development tools, application accelerators, specialized applications, and integration services to offer a more complete Web services architecture than described above. These environments contain additional architectural elements that are useful in building very robust, user-friendly Web services environments for small, medium, and large enterprises.
The example presented here is based on IBM's WebSphere product set (Figure 13). It is a particularly robust Internet application server environment, though not the only such solution available on the market today. Microsoft, BEA, HP, Oracle, Sun, and others have competitive products (though potentially not as broad as IBM's offering from a cross-platform integration perspective). All of these vendors and more will be covered in greater depth later in this book.
Figure 1-3 IBM's WebSphere Architecture. Source: Derived from www-4.ibm.com/cgibin/software/track3.cgi?file=/software/info/websphere/products/index.html&S_TACT=100AWW10&S_CMP=campaign. Used by Permission.
Sidebar 1-1 An Example: IBM's WebSphere Platform
Although Microsoft, BEA, and others offer somewhat similar products and services, IBM's WebSphere platform is a good starting point for evaluating the broad range of products and tools that can be used to build a robust Web services environment, because it contains all of the basic products and tools for creating a "basic Web services environment" (as described in the preceding section) plus many extensions needed to better integrate systems and applications with Web services applications on disparate platforms; or to present data to a wide range of different device types; or to deploy applications across multiple systems environments; or to secure and manage Web services application environments.
IBM's Web services protocols and directory services are hosted in various products and development tools within the company's WebSphere product set. The company separates its WebSphere offerings into three classes:
Application accelerators (programs and tools that help customers develop applications more quickly);
Development, Presentation, Deployment, and Integration extensions (IBM calls these offerings WebSphere "Foundation extensions"); and,
Web Application Serving and Integration services (IBM calls these offerings the WebSphere "Foundation").
These three classes contain software that helps developers to build Web services applications and also to build personalized user experiences and customized portals. They also include software that helps manage and secure entire WebSphere environments. Figure 13 lists a number of IBM's WebSphere-related software offerings.
The preceding section described how a basic Web services architecture can be built by settling on a common presentation format, using common program-to-program protocols over a common network (the Internet). Figure 13 illustrates how IBM extends its Web services architecture by including a wealth of systems software, development tools, Web tools (for personalization and presentation), integration tools, and utilities, as well as application development environments and applications (such as Lotus Domino) that can be tuned or modified to work in a Web services mode.
Other elements also help to create a "complete" Web services environment, including:
Systems management and security.
The user experience (including personalization, portal graphics).
Support for multiple device types (PDAs, smart phones, other mobile devices, desktops, workstations) using various interfaces (such as data-to-voice) for information presentation/relay.
Business process management/workflow (Web services can be implemented without paying attention to workflow and business process management software, but, to support hundreds or thousands of Web services sessions, Web services implementers should consider using business process management programs and tools in order to maximize the effectiveness and efficiency of Web-based applications).
Integration (not only between disparate systems but also between application environments).
The IBM WebSphere example used in this section (similar in architectural structure to products of Microsoft and other companies) illustrates that implementing a complete Web services environment involves a lot more than just servicing requests for application services from requestor applications!