Bidirectional script enablement in WebSphere Business Integration products occurs at different levels and through different component configurations. Bidirectional enablement is actualized on three different levels.
The following WebSphere Business Integration products are enabled for processing bidirectional scripts data: Toolset, Adapter Framework, ICS broker, as well as nine adapters (JText, JDBC, Email, XML, WebSphere MQ, SAP, PeopleSoft, Web services, and Lotus Domino) and appropriate ODAs (JDBC, XML, WSDL).
Out of those components mentioned above, those belonging to the first-level are the WebSphere Business Integration Toolset that are Java-based tools such as System manager, C++-based tools such as Business Object Designer and Connector Configurator, and Web-based tools such as Dashboard. Those components belonging to the second-level components are the bidirectional enabled adapters. Those components belonging to the third-level are the bidirectional enabled adapters and Adapter Framework.
The next section provides a brief overview for enabling each of the following components:
A connector mediates between an application (or other programmatic entity, such as a Web server) and one or more collaborations. A connector can be specific to an application--such as SAP R/3, version 4--or to a technology, such as a data format or protocol (XML or EDI). Connector communications with collaborations can take two forms:
(See Connectors for more information.)
Connectors process content data from a data source (application or programming entity) using meta and configuration data defined by a WebSphere Tool such as Connector Configurator. In the WebSphere product environment the meta and configuration data is represented and stored in standard Windows bidirectional format. Because an external application can hold the same meta and configuration data in a bidirectional format different from the Windows bidirectional format used in the WebSphere Business Integration products, a transformation is required for correct communication between the WebSphere Business Integration environment and the external application. Connectors that are bidirectional language enabled can be configured by the connector BiDi.Metadata standard property to enforce the bidirectional format of the meta and configuration data specific to that external application.
The Adapter Framework links a connector to InterChange Server and WebSphere Business Integration Adapters allowing content to flow between an application or programming entity and one or more collaborations. Whereas connectors process the meta and configuration type of data, the Adapter Framework processes the actual data content such as the business object attribute values. This is because the Adapter Runtime component is common to all connectors.
The role of the Adapter Framework becomes one of preserving data consistency between the WebSphere Business Integration environment presentation, in which data is represented in Windows bidirectional format, and external application presentations, where might use different bidirectional formats. Therefore, if data is flowing from the WebSphere Business Integration environment to an external application, the Adapter Framework makes the necessary transformations, if needed, from Windows bidirectional format to an external bidirectional format. Conversely, if the external bidirectional format is different from the Windows bidirectional format used in WebSphere Business Integration environment, the Adapter Framework performs the necessary transformations in to the Windows bidirectional format.
The Adapter Framework can also keep data consistent when a broker other than the WebSphere Business Integration broker is used. If the broker uses a bidirectional format that is different from that of Windows, there is an option to change the default bidirectional format into a format used by that broker.
In a WebSphere product implementation, the term collaborations refers to software modules that contain code and business process logic that drive interactions between applications. A collaboration can be simple, consisting of just a few steps, or complex, involving several steps and other collaborations.
Collaborations can be distributed across any number of applications, can handle synchronous and asynchronous service calls, and can support long-lived business processes.
WebSphere product support for bidirectional scripts includes collaborations. Collaborations receive data coming from either the WebSphere environment (connectors, access interface, or other collaborations) or from external sources such as Web Service. The bidirectional data format is enforced either implicitly, by one of the enabled connectors, or explicitly, by bidirectional support or API. If data coming from a component that does not enforce bidirectional support, such as Web Service or a connector that is non-bidirectional language enabled, then format inconsistencies can occur and cause the business logic in the collaborations to fail or to produce incorrect results. You can avoid these types of errors by:
WebSphere Business Integration products support maps with bidirectional scripts. Maps receive data either from connectors or from external sources. Therefore, data passing into the WebSphere Business Integration product environment that comes from a bidirectional language enabled connector is guaranteed to be in a uniform bidirectional language format (standard Windows bidirectional format). However, data can be introduced into a map from unknown external sources, for instance, data that is exported through a Web service. In the event that a Web service operates with bidirectional data that is not in Windows bidirectional format, two results are possible. The first result is that the connection to such a service might fail. The second result is that the bidirectional data is in a format different from Windows bidirectional format that gives unpredictable results in data processing because the data is being compared against data in Windows bidirectional format (see, Using bidirectional functionality in Activity Editor in the Map Development Guide) These errors can be avoided using the same steps discussed in Enabling collaborations for bidirectional scripts.