IBM i > Trends > SOA

An SOA Starting Point

IBM's Server Express provides an SOA framework

IBM's Server Express provides an SOA framework

Bookmark and Share

The Web-Services Connector

The connector is included as a technology adapter with Server Express. It can also be used as the SOA Web service enablement method. The connector supports SOAP 1.1 and 1.2 over HTTP, HTTPS or Java* Message Service (JMS) transports, and allows SOAP messages to be transformed into business objects (BOs) and vice versa using the SOAP data handler. A single connector can "host" multiple Web services - this connector allows Web-service consumers to invoke collaborations (event processing) and enables collaborations to invoke Web services (request processing). (Note: The connector should only be used within the enterprise intranet (behind a gateway/firewall), though it could be configured with a proxy server to act as a gateway to the Internet.)

Request processing functions in just the opposite way: The BO is being sent from a collaboration to a Web service, and a response or fault will possibly be returned. (Note: With synchronous calls, a response or failure is expected to be returned, whereas asynchronous calls - as they are fire-and-go mechanisms - don't.) The basic steps for the connector's event processing are:

    • A SOAP message is received by the connector over HTTP, HTTPS or JMS from a Web-service consumer.
    • The connector determines if the SOAP message corresponds to a supported BO configured for the connector. If the BO is supported, the connector uses the SOAP data handler to convert the SOAP message into its corresponding BO. If not, it returns an error to the consumer and the transaction is complete.
    • The BO is delivered to the appropriate collaboration in the InterChange Server (ICS) for processing. (Note: If the event is asynchronous, the BO is delivered to all subscribing collaborations and the transaction is complete.)
    • If the event is synchronous, the processing collaboration returns a response or fault BO to the connector depending on the processing completion.
    • The response or fault BO is then reverted into a SOAP message using the SOAP data handler and returned to the consumer to complete the transaction.

The connector operates on two different types of BOs: top-level objects (TLOs) and non-TLOs. TLOs are hierarchical objects used in request processing by the Web-Services Connector. They must adhere to a specific structure. Application-specific BOs (ASBOs) for a particular Web service contain a child BO for the request, response and fault message structures (response and fault objects aren't necessary for asynchronous processing). Each of the request, response and fault child objects is itself a hierarchical BO containing children to define properties for the transport protocol settings, BO/SOAP transformation via the data handler, a header container BO and any other necessary attributes. Having a separate child object for each of the request, response and fault messages allows the structure, transport and transformation to be specified on a per message basis.

Non-TLOs are used when a collaboration is exposed as a Web service via the WSDL configuration wizard. Instead of creating a separate ASBO, the wizard adds application-specific properties to the connector definition under the WSCollaborations property. These properties allow the connector and SOAP data handler to conduct transformations between SOAP/BO without a TLO, and without requiring you to create a new BO.

The methods for enabling the connector for event and request processing are slightly different. For request processing, the connector is bound to a collaboration's output port, as with any other adapter used in a service call. However, event-processing collaborations must be exposed as Web services using the WSDL configuration wizard in addition to binding the connector to the collaboration's input port(s). The WSDL configuration wizard generates the necessary files (e.g., WSDL implementation, WSDL interface and XML schema files) to expose the collaboration as a Web service. And if needed, the wizard configures properties in the connector when exposing the collaboration.

Boden Russell is a software engineer with IBM. Boden can be reached at brussell@us.ibm.com.

Advertisement

Buyers Guide

Search our new 2013 Buyer's Guide.

Search Companies


Search Products


Advertisement

IBM Systems Magazine Subscribe Box Read Now Link Subscribe Now Link

Related Articles

A Blueprint for SOA

Cover Story |

An SOA Starting Point

Features | IBM's Server Express provides an SOA framework

SOA - Reality or Myth?

E-Newsletter | Is service-oriented architecture (SOA) is just a passing fancy in the ever-changing world of IT?