There are two approaches a collaboration can use to request services
in the WebSphere InterChange Server. The first method is through a
static call; you define the destination collaboration or connector for
the service call when you design the collaboration and bind it to a specific
port. This makes the service call static in that it can only
communicate with the explicitly bound destination.
The second method is by making a dynamic service call to the destination
collaboration or connector. This method allows you to dispatch business
objects to multiple destinations that are not known when you are designing the
collaboration. You implement a dynamic service call using dynamicSend().
The advantages of using dynamic service calls are:
- There is no requirement to bind a port at design time. The
information needed to process the business object is part of the service
call.
- The collaboration can interact with many connectors providing greater
flexibility in a dynamic processing environment.
- The collaborations handle the requests synchronously.
When deciding whether to use dynamic service calls, consider the
following:
- You must understand event sequencing when using dynamic service
calls. Because there is no port explicitly configured with a dynamic
service call, the dynamic service call may change the event sequencing
instance queue.
- Dynamic service calls cannot suport compensation. There is no
rollback method available when using a dynamic service call.
- InterChange Server does not consider a dynamic service call to another
collaboration as establishing a collaboration group. This is because
there is no explicit port binding between the two collaborations.
- A long-lived business process cannot be a consumer of a dynamic service
call.
- A long-lived business process can make a dynamic service call to a
connector but the connector must use JMS as its transport type.
