In order to support cloud deployment (including hybrid cloud), RIB is enhanced with the addition of two web services. These are injector and publisher web services that allows retail applications to communicate with other applications.
Applications can invoke the new web services to send and receive messages to/from other applications via RIB. Client applications must use credentials of a user in group ribAdminGroup to call the publisher web service. For consuming messages (using the injector service) applications must create a user in group IntegrationGroup on the server where the retail application is deployed. The rib-<app> must be configured with the same user credentials at install time, so that RIB can call the injector service with the correct credentials.
Following example shows how to configure a hybrid scenario in which SIM is on-premise and RIB is on-cloud.
In the rib-deployment-env-info.xml file, configure SIM app to be of type "soap-app". Under <app-in-scope-for-integration> change SIM from javaee-app to soap-app:
<app id="sim" type="soap-app" />
Replace the existing rib-app section for rib-sim with a copy of the rib-app section for rib-sim (as soap-app). Edit the properties as per rib-sim. Here's an example:
<rib-app id="rib-sim" type="soap-app"> <deploy-in refid="rib-sim-wls1" /> <rib-admin-gui> <web-app-url>http://ribhost.example.com:19206/rib-sim-appserver-gui/index.jsp</web-app-url> <web-app-user-alias>rib-sim_rib-admin-gui_admin-user-name-alias</web-app-user-alias> <web-app-user-alias>rib-sim_rib-admin-gui_operator-user-name-alias</web-app-user-alias> <web-app-user-alias>rib-sim_rib-admin-gui_monitor-user-name-alias</web-app-user-alias> </rib-admin-gui> <error-hospital-database> <hosp-url>jdbc:oracle:thin:@simhost.example.com:1521/pdborcl</hosp-url> <hosp-user-alias>rib-sim_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="sim" type="soap-app"> <end-point> <url>http://simhost.example.com:9001/ApplicationMessageInjectorBean/InjectorService</url> <!-- Supported security policy names =policyC (default) OR policyA' <ws-policy-name>policyC</ws-policy-name> <user-alias>rib-sim_ws_security_user-name-alias</user-alias> </end-point> </app> </rib-app>
Make sure the rib-sim_ws_security_user-name-alias user is a member of the IntegrationGroup in the SIM WebLogic domain. Make sure the SIM services are up and running and can be called via SOAP UI using the credentials that will be entered during RIB compilation.
Compile and deploy RIB.