The adapter for Maximo MEA is built using the WebSphere Business Integration Adapter (WBIA) adapter framework and WBIX adapter framework extensions. WebSphere Business Integration extensions (WBIX) are a set of modular components built on top of the WBIA framework and are configured and instantiated at runtime. The components are, at a high level, two transports and one or more logic modules. Logic modules process an internal business object enroute from the originating transport to the target transport. Logic modules can be chained together if necessary. A routing path defines a path for a particular business object from one transport through certain logic modules and into the other transport. The WBIX XML data handler is used to convert between generic business objects and their XML representation for processing by the XSLT logic module.
Figure 2 is a detailed view showing components. Each of these components is described below.
Figure 2. Detail
view of the adapter for Maximo MEA components
The following are the adapter components:
The event store for this adapter is com.ibm.wbix.adapter.transports.FileSystemEventStore.
You can create custom logic modules to provide processing specific to your requirements. For example, you could create a specific XSL file to define a specific grammar transformation. Logic modules can also be chained if you require that capability.
The logic module for this adapter is com.ibm.wbix.adapter.logicmodules.XsltLogicModule.
Because an application might have a mix of different protocols as its integration interface (for example, an SQL database interface for some data and an MQ messaging interface for other data), multiple transports can be loaded with a single adapter to enable the adapter to communicate across disparate protocols. In addition, each transport can house multiple incoming (receivers) and outgoing (senders) endpoints, such as a single receiver or sender for each of the application messaging queues. Transports are provided for some common interfaces. See Adapter transport for additional details on the transport component.
The standard WBI sender and receiver transport modules are used for communication with the integration broker. These components expect the body of the message to contain WBIX XML, which gets converted into a WBI Java object and sent into the integration broker for processing. The WBI transport consists of the following components packaged with WBIX:
Events generated are propagated to ICS as follows:
The FileSystemEventStore uses the local file system as the provided default persistent event store implementation. When the adapter is started, it creates separate directories for the event store proper and the event store archive.
For each event added to store, the adapter writes a new log file with the event contents. Each event record uses a naming convention consisting of a unique ID, appended with an event status separated by an underscore (_), for example, uniqueID_status value. The unique ID is obtained by computing a hash function on the event ID of the message.
If you use this event store, ensure that the event IDs generated by the receivers contain no special characters that are disallowed by your file system. For event status changes, the event store generally renames the file to reflect the updated status. However, for status changes that indicate a change in the event body, for example, IN_PROCESSING to READY_FOR_POLL, the event store rewrites the file contents.
The status constants are listed in Table 1. Error constants are listed in Table 2.
Status constant | Value |
---|---|
EVENT_RECEIVED | 2147483647 |
IN_PROCESSING | 2147483646 |
EVENT_PROCESSED | 2147483645 |
READY_FOR_POLL | 0 |
IN_PROGRESS | 1 |
SUCCESS | 3 |
The error constants are:
Error | Value |
---|---|
ERROR_IN_LOGIC_PROCESSING | -2147483647 |
UNSUBSCRIBED | 2 |
ERROR_PROCESSING_EVENT | -1 |
ERROR_POSTING_EVENT | -2 |
ERROR_OBJECT_NOT_FOUND | -3 |