Frequently asked questions about web services

This topic presents frequently asked questions about the development and implementation of web services.

What is the relationship of the WebSphere product to Apache open source?

The WebSphere product has always extensively supported open source. From a web services perspective, the WebSphere product contributed a large percentage of the JAX-RPC specification to the open source Apache Axis community. With the movement of web services to a more messaging-centric asynchronous model, the Apache Axis community created a new version of a web services runtime that is based on the StAX architecture entitled Apache Axis2.

Apache Axis2 introduced its own proprietary programming and deployment model that is agnostic of any Java-based JCP standards. It did this primarily so that it might support multiple Java-based programming models, whether it be JAX-WS, SCA (Apache Tuscany) or Groovy. While the WebSphere full profile implements a standards-based JAX-WS programming model, and it uses a version of Apache Axis2 as part of its implementation. As a result, one might see messages during tracing or within call stacks that reflect its Apache Axis2 origins. The WebSphere full profile supports only the JAX-WS programming model and the deployment model that is documented in the product documentation. Any usage of the native Apache Axis2 APIs in the product is not supported.

In a similar vein, the WebSphere product contributed to the Apache CXF implementation, and WebSphere choose to leverage this contribution by basing the Liberty profile web services container on Apache CXF. As with the WebSphere full profile, the Liberty profile only supports the JAX-WS programming and deployment model that is documented in the product documentation. Any native use of Apache CXF is not supported in the Liberty profile.

What IBM development tools work with Web Services?

The Rational® Application Developer assembly tools provide a graphical interface for developing code artifacts, assembling the code artifacts into various archives or modules, and configuring related Java EE deployment descriptors.

Is Web Services for Java EE technology part of the Java EE specification?

WebSphere Application Server Version 8.5 is based on Web Services for Java Platform, Enterprise Edition (Java EE) 6 and Java EE 5. Prior to Java EE 5, the specification name was Java 2 Platform, Enterprise Edition (J2EE). WebSphere Application Server Version 6.x is based on J2EE 1.4. For WebSphere Application Server Version 5.0.2 and Version 5.1.x, the Web Services for J2EE Version 1.0 specification is an addition to J2EE 1.3. The J2EE specification 1.4 requires support for Web Services for J2EE Version 1.1. Minor differences exist between the J2EE 1.3 Version (JSR-109 Version 1.0) and the J2EE 1.4 Version (JSR-109 Version 1.1).

What standards does the web services run time support?

You can review the standards and specifications that are supported by WebSphere Application Server for the web services run time in the specifications and API information.

Does the Web Services for Java EE technology interoperate with other SOAP implementations, like .NET?

WebSphere Application Server supports Web services that are consistent with the WS-I Basic Profile, and should interoperate with any other vendor conforming to this specification.

Can I use a JavaBeans component to implement a web service using SOAP over Java Message Service (JMS) invocation?

The SOAP over JMS support provides access only to enterprise beans-based web services If you want to use a JavaBeans implementation instead of an enterprise bean to implement the service endpoint, you must create a facade enterprise bean that delegates to the JavaBeans implementation.

Does the SOAP over JMS support interoperate with other vendors?

Before WebSphere Application Server Version 7.0, no specification has existed that describes interoperability requirements for SOAP over JMS implementations. WebSphere Application Server Version 7.0 introduces support for the emerging industry standard SOAP over Java Message Service specification. This proposed standard provides a standard set of interoperability guidelines for using a JMS-compliant transport with SOAP messages to enable interoperability between the implementations of different vendors. Support for this emerging standard positions WebSphere to be able to interoperate with other vendor implementations of SOAP over JMS as this standard is adopted. While the specification is in draft form and not yet final, WebSphere Application Server Version 7.0 supports the current SOAP over JMS draft specification. To learn more about this specification, see the specifications and API documentation.

How does two-way messaging with a SOAP and JMS implementation work? Can it support multiple clients making simultaneous requests?

When using two-way web services operations, the client can choose to use a permanent reply queue or the web services run time will, by default, use a temporary JMS queue. When the client issues a two-way request, the underlying web services run time creates a temporary JMS queue, if a permanent queue is not being used, to receive the response. The reply queue, either temporary or permanent, is specified as the replyTo destination that is in the outgoing JMS request message. After the server processes the request, it directs the response to the replyTo destination specified in the request message. The client deletes the temporary queue, if a permanent queue was not used, after the response is received. The server can handle simultaneous requests from multiple clients because each incoming request message contains the destination to which the reply is sent.