LogiCoy has implemented OTM with PMS [Pallet Management System] using OpenESB which is currently running in production.
How OTM integration is implemented using OpenESB?
Types of integration that we at LogiCoy have accomplished by sending data to [inbound to OTM] and from OTM [outbound from OTM] with PMS using OpenESB is as follows:
1.)Addltd [outbound from OTM]
2.)GetPreDOInformation [inbound to OTM]
3.)ChangePreDOStatus [inbound to OTM]
AddLTD:
Description:
When Orders (Child Pre-DO) are created in OTM, before they actually go in execution (i.e. before planning into shipment in OTM), PMS check will be initiated. OTM system will call the service exposed by OpenESB application and send the required message for PMS status check. OpenESB application will receive the request from OTM and call PMS service to check PMS status (either Block or Open) based on the SoldTo code and Quantity information received from OTM. Based on the response received from PMS system, OpenESB application will send status update information back to OTM via standard integration API provided by OTM service as a TransmissionACK [OTM response acknowledgement].
GetPreDOInformation:
Description:
PMS will send the request to OpenESB POJO service to get Pre-DO information from OTM.OpenESB application will receive the request from PMS and call OTM services.OpenESB will create Pre-DO SQL query and send it to OTM for information retrieval. On successful execution of SQL queries,OTM will provide the required information to OpenESB exposed web service which will read the OTM response and send the appropriate output to PMS system.
ChangePreDOStatus:
Description:
PMS will send the request to OpenESB to change the status in OTM.Then,OpenESB will create GLog structure message and sent to OTM for status update.
Once the information is received OTM will send acknowledgement.OpenESB will read the OTM response and check for final processing status based on response.
Based on this final status, OpenESB will send response back to PMS.
Step 1: Getting data from PMS and sending it over to OpenESB:
Step 2: Structuring the GLog XML for OTM
Step 3: Sending the OTM ack back to PMS
Error Handling in OpenESB:
Error handling is an integral part while designing OpenESB applications as OpenESB applications integrate heterogeneous IT systems across the organizational boundaries, vendor and partner IT assets. Focusing on error handling analysis early in the analysis and design phases ensures that appropriate error handling standards/guidelines are put in place for modules in different platforms.
Error reporting BPEL process flow:
The catch block of BPEL Interpreter’s execute method is the central point where all exceptions are caught and converted to BPEL faults. A BPEL fault needs to have a fault name (name) and data.
Types of Catch Statements used for the above integrations:
SystemException
SelectionFailureException
CatchAll