This chapter describes the RIB cloud enhancements.
The following diagram describes a sample hybrid architecture in which some of the retail applications are on-premise and some other (including RIB) are in the cloud. In this architecture, the retail applications SIM and RWMS are on-premise, while RIB and BDI are on the cloud.
In order to support cloud deployment (including a hybrid cloud), RIB is enhanced with the addition of two Web services. These are injector and publisher Web services that allow retail applications to communicate with other applications.
Applications can invoke the new Web services to send and receive messages to/from other applications via the RIB. Client applications must use credentials of a user with the role ribAdminRole to call the publisher Web service. For consuming messages (using the injector service), applications must create a user with a IntegrationRole role 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.
The following example describes the steps to configure a hybrid scenario in which SIM is on-premise and RIB is on the cloud:
In the rib-deployment-env-info.xml file, configure the SIM application 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-oms (an existing soap-app). Edit the properties so that they apply for rib-sim. For example:
<rib-app id="rib-sim" type="soap-app"> <deploy-in refid="rib-sim-wls1" /> <rib-admin-gui> <web-app-url>https://www.example.com<port>/rib-sim-appserver-gui/index.jsp</web-app-url> <web-app-user-alias>rib-sim_rib-admin-gui_user-name-alias</web-app-user-alias> </rib-admin-gui> <error-hospital-database> <hosp-url>jdbc:oracle:thin:@www.example.com:<port>/<service></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>https://www.example.com:<port>/ApplicationMessageInjectorBean/InjectorService?WSDL</url> <!-- Supported security policy names =unsecured (default) OR policyA OR policyB --> <ws-policy-name>unsecured</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 sim_integration_users group in the SIM WebLogic domain. Make sure the SIM 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.