Universal Service Mapper (USM)

The Universal Service Mapper (USM) is an application component of Retail Integration Cloud Service (RICS) that allows the definition, mapping, and configurations needed to support the integration between two heterogeneous applications. Typically this would be an Oracle Retail Application such as RMS, found in the Merchandise Foundation Cloud Service, and an application external to Oracle Retail such as Oracle Warehouse Management CS.

RICS USM supports two of the styles of integration used within Oracle Retail; message-based and service-based as inputs. Within the RGBU applications the message-based flows are across the RIB. It is typical that external applications are predominately service-based so the output of USM is a call is to an external service.

Service calls from an external service are transformed to the correct style and format of the internal application.

The functional requirement for the USM is to act as the place to transform the Oracle Retail application data style and the data format into the data format expected by the external application, and then to perform the transformations of the external application's response.

Figure 2-3 USM Process Flow

USM Process Flow

The USM User Interface provides the ability to create and manage Projects in USM and to view app statistics, metrics about the message flow and the system Logs

The USM Engine is the logic part of the system where the data is received from one application, mapped to other data and the mapped data is sent to other applications. Data is communicated through service calls.

  • USM hosts all the necessary web-services that are required by both the participating sender and the receiver applications.

  • USM has a configuration file of the service URLs to the participating applications.

  • USM has templates that contains the mapping information, the code that does the mapping and other configuration files to make the application work.

USM Architecture

Figure 2-4 USM Architecture

USM Architecture

Universal Service Mapper has three major components:

  • Event Listener [Abstract Service Mapper, Service Def JSON]

  • Service Mapper Orchestration [Orchestrator, Template and DVM]

  • External Service Invocation and Service Provider

Event Listener

The Event listener is a service hosted by the USM application which is open to receiving data from any application that is connected to it. The application here is either RIB-LGF or WMS Cloud. The applications have the following URL pattern set in their target for USM.

http://<host>:<port>

When application sends data, the event listener internally calls the abstract service mapper which determines family, message type and the operation(s) from the message received by referring to the Service Def JSON file.

Service Mapper Orchestration

The abstract service mapper in turn now calls the Service mapper orchestrator which decides which what data is to be populated in the mapper templates. The orchestrator does the mapping, field by field, from the source application to destination application. Certain key-value pairs in the DVM in order to maintain context between the applications.

Service Provider and External Services

The Service Mapper Orchestrator calls the services hosted by the service providers after the mapping operations are completed. The service providers here are either RIB-LGF or WMS Cloud, which consume these services via USM. The calls are REST calls. USM holds the information necessary for it to call these services in a file with the prefix "external_env_json" for the respective application. These are stored as key-value pairs in JSON file