Go to primary content
Oracle® Retail Integration Bus Implementation Guide
Release 19.0
F22947-01
  Go To Table Of Contents
Contents

Previous
Previous
 
Next
Next
 

16 Integration with External Applications

RIBforExt is the Oracle Retail Enterprise Integration component designed to address the connectivity requirements for 3rd Party integrations in a hybrid cloud topology where the RIB is deployed in the Retail Integration Cloud Services.

In a hybrid cloud scenario customers no longer have access to RIB's JMS server and cannot directly publish and subscribe to messages on the JMS topics. The RIB-EXT app is designed to fill that gap, it provides Web Service based APIs to publish to and subscribe from the RIB's JMS from third party systems.

RIBforEXT has all of the RIB flows available for the deployment time configuration based on the customer use cases.

RIB-EXT out-of-the-box provides the complete set of publishers, subscribers and retry adapters needed for the external application to integrate with Oracle Retail applications using RIB infrastructure.

The selective list of publisher and subscriber adapters needed by each specific external application is defined by the customer's implementation team.

Surrounding text describes integration-with-extapps.png.

Implementing RIB-EXT

RIB-EXT is an Oracle Retail Integration Application that provides necessary communication channel for external applications to publish and consume message from RIB's JMS on cloud and premise.


Note:

For more information on WDSL's, see the Oracle Retail Integration Bus Integration Guide and for information on plugable jar, see the Client Connector For Oracle Retail Integration Cloud Service 19.0.0 (Patch) available on My Oracle Support.

External Application as a Publisher

For external applications to publish to the RIB JMS on cloud, it needs to use a publishing webservice provided by rib-ext .The WSDL URL of publishing service is as follows:

http://<rib-ext-host>:<port>/ApplicationMessagePublishingServiceBean/ApplicationMessagePublishingService?wsdl

An external application can publish messages using the above webservice only when rib-ext is configured as a soap-app.

External Application as a Subscriber

For an external application to consume the message from the RIB's JMS on cloud, it has to host the Injector Service. Injector Service is a SOAP webservice that is made available as a pluggable jar.

Subscriber adapters in rib-ext makes a SOAP call to Injector service to send the message to the external application. The WSDL URL of injector service is as follows:

http://<external-app-host>:<port>/ApplicationMessageInjectorBean/InjectorService?wsdl

The following example describes the steps to configure an external application to publish and subscribe using RIB on cloud:

  • Include rib-private-app-plugin-19.0.0.jar in to the external application deployable file for example, ext-app.ear/lib.

  • In the rib-deployment-env-info.xml file, configure the EXT application to be of type "soap-app". Under <app-in-scope-for-integration>, change EXT from javaee-app to soap-app:

    <app id="ext" type="soap-app" />

  • Replace the existing rib-app section for rib-ext with a copy of the rib-app section for rib-sim (an existing soap-app). Edit the properties so that they apply for rib-ext.

    For example:

    <rib-app id="rib-ext" type="soap-app"><deploy-in refid="rib-ext-wls1" /><rib-admin-gui><message-flow id="901">
    <web-app-url>https://www.example.com:<port>/rib-ext-appserver-gui/index.jsp</web-app-url>
    <web-app-user-alias>rib-ext_rib-admin-gui_ user-name-alias</web-app-user-alias>
    </rib-admin-gui><error-hospital-database><hosp-user-alias>rib-ext_error-hospital-database_ user-name-alias</hosp-user-alias></error-hospital-database><app-database-not-applicable /><notifications><email><email-server-host>mail.example.com</email-server-host><email-server-port>25</email-server-port><from-address>admin@example.com</from-address><to-address-list>admin@example.com</to-address-list></email><jmx /></notifications><app id="ext" type="soap-app"><end-point><url>https://www.example.com:<port>/ApplicationMessageInjectorBean/InjectorServ ice?WSDL</url><ws-policy-name>policyA</ws-policy-name><user-alias>rib-ext_ws_security_user-name-alias</user-alias></end-point></app></rib-app>
    
  • ws-policy-name should be configured with a value ”policyA”.

  • Make sure the rib-ext_ws_security_user-name-alias user is a member of the ext_ integration_users group in the EXT WebLogic domain. Make sure the EXT services are up and running and can be called via the SOAP UI using the credentials that will be entered during RIB compilation.

  • Compile and deploy RIB.

Error Handling

The RIB infrastructure provides a mechanism called RIB error hospital to handle and manage the error messages. When the publishing or subscription of a message fails in the rib-ext for some reason, it lands in error hospital with a reason code. The retry adapters in the rib-ext application are responsible for retrying the messages in error hospital.

Oracle RIB Hospital Administration (RIHA) is a Weblogic application that allows the management of messages in error hospital. Some of the RIHA operations include:

  • Viewing error messages

  • Editing error messages

  • Retrying error messages

  • Stopping error messages

For more information, see the Oracle Retail Integration Bus Hospital Administration Guide.

Monitoring Integration

To monitor live statistics of various components involved in RIB integration system like RIB adapter, error hospital, JMS server, RTG provides a live monitoring application called the Retail Integration Console (RIC).

The RIC is the user interface application designed to provide a unified view of the RTG integration products within the business context of the Oracle Retail applications. It provides near real time statistics regarding the message flows, JMS topics, historical trends of each message family, performance comparisons, and static information like application configuration.

For more information, see the Oracle Retail Integration Console User Guide.