Survey of Related IBM Web Services Activities


The web services world is large, changing rapidly, and, to be honest, confusing. It's practically a full-time job just keeping up with current events in the field. This section summarizes some of the IBM WebSphere-related activities in web services and provides references so you can learn more about them on your own.

WebSphere Web Services Components

The components reviewed in this section are included with WAS version 5.0 or the WebSphere Web Services Technology Preview. The information presented here augments that provided in the web services section of Chapter 2.

Apache SOAP

IBM had contributed Apache SOAP (http://xml.apache.org/soap) to the open source in 2001. Version 2.2 was included in WAS version 4.0, and support continues for it (at the 2.3 level) in WAS version 5.0. The WebSphere Studio web services support described in Chapter 3 currently uses Apache SOAP. Apache SOAP uses non-standard APIs and was not designed for scalability or performance, so it will be deprecated in future releases of WebSphere.

Apache Axis

Apache Axis (http://xml.apache.org/axis) is a follow-on to the Apache SOAP project. It is a redesign for improved scalability, flexibility, and performance. It also implements the JAX-RPC specification. IBM has been a major contributor to Axis. The WebSphere Web Services Technology Preview described in this chapter is based on Axis 1.0. WebSphere Application Server uses Axis "under the covers" as an implementation of the J2EE standards. Axis is not part of the WebSphere programming model, and use of Axis-specific APIs is not supported. There's lots more to learn about Axis; entire books, like Axis: The Next Generation of Java SOAP from Wrox Press ISBN 1-86100-715-9, have been written about it.

Apache Web Services Invocation Framework (WSIF)

The Web Services Invocation Framework was developed by IBM and contributed to the Apache Axis project (http://xml.apache.org/axis). WSIF is included in WAS version 5.0. It is a Dynamic Invocation Interface (DII) designed to closely match WSDL. It has parts, operations, and messages. The power of WSIF is that it can use its internal representation of the WSDL message to transmit the message on a variety of different protocols and transports, not just SOAP/HTTP.

WSIF provider handles the conversion to a specific protocol and transport, and new providers can be written and plugged into the framework. Extensions to WSDL bindings are defined for each new provider to instruct WSIF how to transmit the message. WSIF currently defines WSDL binding extensions and providers for SOAP over JMS, native JMS, direct calls to Java, and direct calls to EJBs.

The role of WSIF is primarily to facilitate the use of protocols and transports other than SOAP/HTTP.

Normally WSIF will be configured automatically when a protocol other than SOAP or a transport other than HTTP is required, based on the information in the WSDL file and deployment information. You won't use WSIF directly unless you want to use the WSIF DII as an alternative to the DII defined by JAX-RPC when your application must make calls based on dynamically imported WSDL.

UDDI4J

UDDI4J is a Java class library that provides an API to interact with a UDDI registry. This library is an open source project (http://www.uddi4j.org). There are two versions of the UDDI APIs, 1.0 and 2.0 (see http://www.uddi.org for details), consequently, there are also two versions of UDDI4J bundled with WAS version 5.0. The version 1.0 APIs are included in uddi4j.jar, and the version 2.0 APIs are included in uddi4jv2.jar. You can read more about UDDIJ4 at http://www-106.ibm.com/developerworks/webservices/library/ws-uddi4j2.html.

WSDL4J (JSR-110)

WSDL4J is a Java class library that provides an API to read, write, and modify WSDL files. It is an IBM open source project (http://www-124.ibm.com/developerworks/projects/wsdl4j/) and is in the process of becoming a Java standard under JSR-110, Java APIs for WSDL (http://www.jcp.org/en/jsr/detail?id=110).

Private UDDI Registry

The private UDDI registry is a component of WebSphere Application Server Network Deployment (WASND) that implements a UDDI V2.0 registry for corporate intranet services not intended to be publicly available. It is implemented as an EJB application running on WebSphere Application Server. You can read more about the rationale behind and uses for a private UDDI Registry at http://www-106.ibm.com/developerworks/webservices/library/ws-rpu1.html.

Web Services Gateway

The Web Services Gateway is a runtime component that provides configurable mapping based on WSDL documents. It maps any WSDL-defined service to another service on any available transport channel. It is usually deployed at the firewall and has access to internal services. The Web Services Gateway is a component of WASND. See http://www-106.ibm.com/developerworks/webservices/library/ws-gateway for an introduction. The Web Services Gateway is a dynamic web services application built on the Web Services Invocation Framework discussed above.

The Web Services Gateway provides the following features:

  • Service Mapping
    The primary function of the Web Services Gateway is to map an existing WSDL-defined web service to a new web service that appears to be provided by the gateway. The gateway acts as the proxy. External services are imported into the gateway and made available to the enterprise as proxy services internally. Likewise, internal services are imported into the gateway and made available as proxy services externally. These services are also published to the relevant UDDI directories where required.

    • Export Mapping
      An internal service can be exported for outside consumption. Given the WSDL file, the gateway will generate a new WSDL file that can be shared with outside requestors. The requestors will use the gateway as the service endpoint.

    • Import Services
      Similarly, an external service may be imported and made available as an internal service. This will help the internal service requestors to invoke the service as if it were running on the gateway.

  • Transformation
    A request for a service may originate on one protocol, but the service may be invoked in some other protocol by using the transformation function. An internal service available on SOAP over JMS could be invoked using SOAP over HTTP.

  • UDDI Publication and lookup
    Gateway facilitates working with the UDDI registry. As you map a service for external consumption using the gateway, you can publish the exported WSDL in the UDDI directories. When the services in the gateway are modified, the UDDI registry is updated with the latest updates.

  • Security and Management
    The gateway provides a single point of control, access and validation of web service requests. Authorization is based on the gateway service name and the operation being invoked.

WS-Security

WS-Security is a new web services security standard based on joint work by Microsoft and IBM (http://www-106.ibm.com/developerworks/webservices/library/ws-secure/). It is included with the Web Services Technology Preview for WAS version 5.0. The document at http://www-106.ibm.com/developerworks/webservices/library/ws-secapp/ is a WS-Security application note.

Standards Organizations

Although there are many standards organizations involved with web services, the Web Services Interoperability Organization (http://www.ws-i.org) is likely to become the most important. This organization was started by Microsoft and IBM, and currently has hundreds of corporate members. The purpose of WS-I is to publish profiles that specify what combinations of other specifications (as well as their versions) work together. Part of the purpose of the WS-I profiles is to clarify existing specifications, for example stating that the SOAP encodings (rpc/encoded) are not permitted in conforming WSDL. WS-I is essential to achieving the objective of "ubiquitous interoperability". At the time of writing, the first WS-I profile is still under development. The Web Services Developer's Kit discussed below, as well as the WebSphere platform, will fully support WS-I profiles in future releases.

DeveloperWorks Web Services Zone

The IBM DeveloperWorks web services web site (http://www-106.ibm.com/developerworks/webservices/) contains a wealth of information about the web services technologies surveyed above. There are white papers, tutorials, and downloads. The most relevant download is the WSDK (Web Services Developer's Kit).

IBM Web Services Developer's Kit

The Web Services Developer's Kit (http://www-106.ibm.com/developerworks/webservices/wsdk/) is a free developer-oriented web services development kit. It is intended to promote the programming models and standards used by WebSphere Application Server and WebSphere Studio in a timely, affordable manner while facilitating the development of web services that can be deployed to WebSphere Application Server. Web services technologies that will be added to the WebSphere Programming Model will likely appear in the WSDK first. One important role of the WSDK is to serve as a proof of concept for the WS-I interoperability profiles as they emerge.

AlphaWorks Web Services Technologies

The IBM AlphaWorks web services technologies web site (http://www.alphaworks.ibm.com/webservices) focuses on interesting newly emerging web services technologies. The easiest way to explore these technologies is to download the IBM Web Services Toolkit from http://www.alphaworks.ibm.com/tech/webservicestoolkit. The Toolkit is updated quarterly, and the contents change on a regular basis. There is no guarantee that any of these technologies will ever be included in a product, and, if they are, they may take a year or two to mature and be productized.




Professional IBM WebSphere 5. 0 Applicationa Server
Professional IBM WebSphere 5. 0 Applicationa Server
ISBN: N/A
EAN: N/A
Year: 2001
Pages: 135

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net