6 Implementing BDI-EXT

BDI External Job Admin as Receiver

For example, sender application is RMS and receiver is a third party application. There will be external application for the integration to happen as External edge application. External edge application organizes all the importer jobs. Ex-ternal edge application provides GUI and CLI tool to manage jobs like start/stop/restart jobs.

The External Importer Job imports data set for an Interface Module from Inbound Interface Tables into application specific transactional tables. Importer jobs are application specific jobs.

External Importer Job

The tables BDI_IMPRTR_IFACE_MOD_DATA_CTL and BDI_IMPORTER_IFACE_ DATA_CTL act as a handshake between the receiver service and importer jobs. When the Receiver Service completes processing a data set successfully, it creates an entry in these ta-bles.

An entry in the table BDI_IMPRTR_IFACE_MOD_DATA_CTL indicates to the

Importer Job that a data set is ready to be imported.

The Importer job imports a data set for an Interface Module from inbound tables into application specific transactional tables. Importer jobs are application (for example SIM/RPAS/EXTERNAL) specific jobs. It uses the Importer Data Control Tables to identify whether a data set is ready for import or not.

Figure 6-1 External importer Job

External importer Job

For each required interface, implement the logic in the "import" function of the "<Inter-faceModule_Name>_Importer_Body.sql" file as in the indicated section below. The sql file is located in <bdi-edge-external-job-home>/setup-data/ddl/ folder.

SQL File

External Importer

  1. Importer job is run from App B EXTERNAL Job Admin application through REST or UI.

  2. Importer job checks for data sets in importer data control tables.

  3. If data set is available for import, importer job downloads data from inbound table.

  4. Importer job loads data to App B EXTERNAL staging tables.

Configure External Job Admin as Receiver in the Process Flow

System options properties in bdi-process-flow-admin-deployment-env-info.json allow you to configure the available destination apps and appsInScope.

allAvailableDestinationApps property mentions all the applications available as destination.

The appsInScope property mentions the applications that are in scope. Add an external application in the appsInScope property to make it available as a receiver.

"SystemOptions":[
{"name":"allAvailableDestinationApps", "value": "SIM, RPAS, EXTERNAL, OCDS, RFI, RMS"},
{"name":"appsInScope", "value": "SIM, RPAS, OCDS, RFI, EXTERNAL"}

External BDI Process Flow

A process flow is a generic concept and is not limited to BDI. However all the

out-of-box process flows are for data transfers from a retail application to one or more retail applications.

There are process flow dsl files for each interface from RMS to external and External to other applications which have all the activities for the particular interface as depicted in below pictures. Scheduler will trigger the process flow to execute the activities within the dsl file. Process flows are available out of box to move data end to end. The only thing to implement is extractor or importer packages or both.

Figure 6-2 Merchandising to External Process Flow

Merchandising to External Process Flow