WebSphere Portal Server and Web Services
The concept of web services has been developed to allow business applications to communicate and cooperate over the Internet. Web services imply a paradigm shift compared to the way the Internet works today. While traditional applications interacting with services in the Internet need to know those services a-priori and need to be pointed to these peers manually, the web services concept allows applications to find web services in a standardized directory structure and bind to these services with minimal human interaction (see Figure 8).
Figure 8: Web Services – publish, find, bind
Web services allow objects to be distributed across web sites where clients can access them via the Internet. Global service registries are used to promote and discover distributed services. A client that needs a particular kind of service can make a query to the global service registry to find services that suit its needs. The client can select one of the services, bind to that service, and use it for a certain period of time. As service discovery and selection in some cases can be performed without human interaction, services can be switched very quickly. Automated service discovery also allows establishing very robust networks of services. If multiple web services exist that provide identical functions, a client can easily switch to a back-up system when the currently used service fails.
The most important standards in this area are Universal Description, Discovery, and Integration (UDDI, see ) for registration and discovery of web services, the Simple Object Access Protocol (SOAP, see ) for communication between web services, and the associated Web Services Description Language (WSDL, see ) for formal description of web service interfaces.
As web services will become the predominant method for making information and applications programmatically available via the Internet, portals will need to allow for integration of web services as data sources and as remote application components very soon. A typical example is a news portlet that allows the user to configure the news categories to track and then gets the news for these categories live from a web service whenever it is displayed. In this case, the portlet code runs locally on the portal and uses the web service to access information. Rendering is done by the local portlet while the web service only provides the information to be rendered, for example as an XML document (see Figure 9, search portlet and news portlet).