154 Broker Interactions for Intra- and Inter-enterprise
8.3 Applying patterns
The Retail system needs to get delivery dates based on a part or system number
from the appropriate Wholesale supplier. Each Wholesale supplier has its own
unique implementation that returns the delivery date to requesters but has
basically the same input and output formats for incoming requests and outgoing
responses. Each Wholesale system does not necessarily support the same
protocol for transmission of the requests and responses.
From this, ITSO Electronics determined the following requirements:
? Each Wholesale department must expose its services as Web services.
The actual implementation on the Wholesale systems must be transparent to
the Retail system. The request for a delivery date will be done as a Web
service invocation, relieving the Retail system from having to know how the
request is fulfilled.
? The design must be able to support multiple protocols and perform protocol
transformation.
For the same Web service, Wholesale1 offers a SOAP/HTTP implementation,
while Wholesale2 offers a SOAP/JMS implementation. Although the Retail
system will initially use SOAP/HTTP as an interface, future requirements will
include the need to access the services using SOAP/JMS.
8.3.1 Application patterns
A Router node provides the multi-protocol transformation and intelligent request
routing required for the solution, therefore ITSO Electronics decided to use the
Application Integration Router pattern to design the solution.
To phase in the solution, they decided to implement it in stages.
Stage 1: Basic integration
In the first stage, the Retail system requests either the service of the Wholesale1
or Wholesale2 department. This assumes that the Retail system knows which
Wholesale department is the supplier for a particular part number. This solution
requires simple router functions, which will be supplied by Web Services
Gateway.
The request is directed to the Router node, which invokes the Web service from
the requested Wholesale department. The Router presents a unified interface for
the Retail system and transforms the message to the appropriate transport
protocol for the target. It also performs logging of the event.