Solution Overview

The Sterling Order Management System Software and the JDA systems communicate asynchronously with each other through JMS queues and optionally an enterprise service bus (ESB).

To communicate, the systems first convert messages to the global language business format as specified by GS1. GS1 sets a global standard for electronic business messages. The GS1 standard provides a common language that allows different systems to communicate with each other, such as Sterling Order Management System Software and JDA. For more information about GS1, see the GS1 - Official Site.

After Sterling Order Management System Software or JDA converts a message to GS1 format, the system can post the message directly to a JMS queue where the other system fetches the message; or optionally, the systems can post and fetch messages to and from JMS queues that are monitored by an ESB. In this case, the ESB forwards the messages to a JMS queue where the other system picks up the message.

Sterling Order Management System Software uses the Service Definition Framework (SDF) to convert message content to GS1 format and transport messages to and from JMS queues. For information about configuring Sterling Order Management System Software for communication with JDA, see Configuring and deploying Sterling Order Management System Software for integration with JDA.

JDA uses adapters to convert messages to GS1 format and transport messages to and from JMS queues. You must configure JDA for communications with Sterling Order Management System Software. For product documentation about configuring JDA for communications with Sterling Order Management System Software, go to JDA Customer Support.

Additionally, if you are using an ESB, you must configure the ESB for communications with JDA and Sterling Order Management System Software. See your ESB documentation for instructions.

The following figure shows the communications pathway between Sterling Order Management System Software and JDA. The figure includes JDA adapters, SDF, JMS queues, and an ESB.

Workflow Diagram
The Sterling Order Management System Software SDF provides services that you can use to implement the following process flows:
  • Customer Order Ship by Parcel process flow
  • Customer Order Return with Authorization process flow
  • Click and Collect process flow
  • Customer Order Sync Sterling Order Management System Software to JDA Demand process flow

Service Definition Framework

The Sterling Order Management System Software SDF provides services for communication between Sterling Order Management System Software and external systems.

The SDF comprises a set of components that you can connect and use to build out integration with external systems. In addition to sending and receiving service calls, these components, such as API node, XSL, and JMS, convert message formats and content.

You can view a list of services that are provided by Sterling Order Management System Software for communications with JDA by opening the Application Platform application in the Sterling Order Management System Software Applications Manager and going to the following process type repositories under Process Modeling services:
  • Order Fulfillment
  • Reverse Logistics
  • Return Receipt
  • Transfer Order Execution
  • Transfer Order Delivery
  • Outbound Shipment
JDA integration services are grouped under IBMJDA Integration.
The integration between JDA and Sterling Order Management System Software includes two types of touch points:
  • Asynchronous calls from JDA to Sterling Order Management System Software
  • Asynchronous calls from Sterling Order Management System Software to JDA

Asynchronous calls from JDA to Sterling Order Management System Software

For asynchronous messaging from JDA to Sterling Order Management System Software, the JDA adapter converts messages to GS1 format and then posts the messages to a JMS queue that is monitored by a Sterling Order Management System Software integration server or by the ESB. If the message is posted to a JMS queue that is monitored by an ESB, the ESB transports the message to a JMS queue that is monitored by the Sterling Order Management System Software integration server. The integration server picks up the message and calls the appropriate SDF service, which converts the message from GS1 format to Sterling Order Management System Software format.

For example, when a shipment departs a warehouse by parcel service, the Warehouse Management System (WMS) publishes parcel shipment details, such as tracking numbers and container information, that must be communicated to Sterling Order Management System Software. Sterling Order Management System Software uses the parcel shipment information to mark the customer order as shipped. To initiate communications, JDA converts the message to GS1 format and then posts the message to a JMS queue that is monitored by the Sterling Order Management System Software integration server, IBMJDA_changeShipment, or by the ESB. If the JMS queue is monitored by the ESB, the ESB transports the message to a queue that is monitored by IBMJDA_changeShipment. The integration server calls the IBMJDA_changeShipment service, as shown in the next figure.

The integration server calls the IBMJDA_changeShipment service.

The IBMJDA_changeShipment service picks up the message and calls IBMJDA_changeShipment_Internal, which converts the message from GS1 format to Sterling Order Management System Software format.

IBMJDA_changeShipment_Internal converts the message from GS1 format.

Asynchronous calls from Sterling Order Management System Software to JDA

For asynchronous communications from Sterling Order Management System Software to JDA, a Sterling Order Management System Software event publishes a message to a JMS queue by calling a Sterling Order Management System Software service. The service translates the message to GS1 format and then drops the message into a JMS queue that is monitored by the ESB or by JDA. If the message is posted to a JMS queue is monitored by an ESB, the ESB transports the message to a JMS queue that is monitored by JDA. JDA picks up the message and converts the message from GS1 format to JDA format.

For example, the Sterling Order Management System Software event, ON_RELEASE_CREATION_OR_CHANGE, publishes a message to a JMS queue by calling the IBMJDA_RO_OnCreationOrChange service. The service then calls an internal service, IBMJDA_RO_OnCreationOrChange_Internal, as shown in the following figure.
 IBMJDA_RO_OnCreationOrChange service calls an internal service, IBMJDA_RO_OnCreationOrChange_Internal.
The IBMJDA_RO_OnCreationOrChange_Internal service converts the message to GS1 format.
The IBMJDA_RO_OnCreationOrChange_Internal service converts the message to GS1 format.

Upon conversion, the message is placed in a JMS queue.

Components and parameters in the Service Definition Framework

The Service Definition Framework uses the following components and parameters for the integration of JDA and Sterling Order Management System Software.

ValueMapXSLT Translator

This component translates requests and responses between Sterling Order Management System Software and external systems. For the Sterling Order Management System Software and JDA integration, the component converts GS1 message formats to Sterling API XML format and executes reverse (XSLT) value map conversion.
The file, IBMJDAValueMaps.xml, contains value mapping for specific configuration attributes that do not have same value in both systems. For example, the Sterling Order Management System Software attribute, OrganizationCode, maps to the GS1 attribute, additionalPartyIdentification.
The ValueMapXSLTranslator takes the following parameters:
  • xslFile: This property defines the location of the XSL file that is used for the message-format conversion and value mapping. Different XSL files are used for inbound and outbound messages.
  • valueMapXML: This property defines the location of the IBMJDAValueMaps.xml, which contains the mapping of values between GS1 and Sterling Order Management System Software.
  • extensionClass: This property is used to extend the behavior of a service.
The ValueMapXSLT Translator takes the parameters: xslFile, valueMapXML, and extensionClass.
You can use extensionClass to execute custom logic before or after the input XML conversion. For example:
public interface JDAXSLTCallback {
	
	public Document beforeXSLTCall(YFSEnvironment env, Document input);
	public Document afterXSLTCall(YFSEnvironment env, Document output);
	
}

API

This component calls the Sterling Order Management System Software APIs. In the following example, the IBMJDA_receiveOrder_Internal service calls the receiveOrder API.
The IBMJDA_TO_ReceiveShipment_Internal service calls the receiveOrder API.