A module is a basic deployment unit for a WebSphere® Enterprise Service Bus application. A module can contain components, libraries, and staging modules used by the application.
Developing modules involves ensuring that the components, staging modules, and libraries (collections of artifacts referenced by the module) required by the application are available on the production server.
WebSphere Integration Developer is the main tool for developing modules for deployment to WebSphere ESB. Although you can develop modules in other environments, it is best to use WebSphere Integration Developer.
WebSphere ESB supports mediation modules. Mediation modules are types of Service Component Architecture (SCA) module. A mediation module allows communication between applications by transforming the service invocation to a format understood by the target, passing the request to the target and returning the result to the originator.
The following sections address how to implement and update modules for WebSphere ESB.
SCA modules contain components, which are the basic building blocks to encapsulate reusable business logic. Components provide and consume services and are associated with interfaces, references, and implementations. The interface defines a contract between a service component and a calling component.
With WebSphere ESB, a module can either export a service component for use by other modules or import a service component for use. To invoke a service component, a calling module references the interface to the service component. The references to the interfaces are resolved by configuring the references from the calling module to their respective interfaces.
WebSphere ESB provides a component programming model to facilitate a service-oriented programming paradigm. To use this model, a provider exports interfaces of a service component so that a consumer can import those interfaces and use the service component as if it were local. A developer uses either strongly-typed interfaces or dynamically-typed interfaces to implement or invoke the service component. The interfaces and their methods are described in the References section within this information center.
After installing service modules to your servers, you can use the administrative console to change the target component for a reference from an application. The new target must accept the same business object type and perform the same operation that the reference from the application is requesting.
If so, make sure the interface you define for the component can be used by another module.
If so, consider implementing an asynchronous interface to the service component.
If so, consider having a copy of the service component in a service module that is deployed on a cluster of servers to benefit from parallel processing.
If so, make sure you enable last participant support for the application.