This chapter describes the steps that must be completed for rib-rwms hybrid cloud environment setup.
Prerequisite
Hybrid Cloud set-up involves 2 parts installation, one each for master (cloud) and slave components (on-prem).
This document provides specific instructions for rib-rwms installation for hybrid-cloud, for detailed instructions on RIB installation refer to the Chapter 6, "Run the RIB Application Installer".
Main difference between the regular RIB-RWMS installation and the hybrid cloud RIB-RWMS is the data sources created during the installation needs to point to a set of available database schema for AQ, Error Hospital and the Application DB, as listed below.
Database Schemas
Identify the DB users you will need for the data-sources. You willneed to input these during the compilation step.
Master rib-rwms app needs a valid AQ schema, a valid Error Hospital schema. Since the master-app does not have access to the on-premises RWMS application schema, we will point the app-db datasource to the Error hospital schema. AQ schema is the usual schema which all rib-apps are connected to including master rib-rwms as well.
Slave rib-rwms app will be deployed in the on-premise close to RWMS. Slave rib-rwms app needs a valid on-prem RWMS application schema. For the Error Hospital and the AQ data-sources can be pointed to the same RWMS app schema since the slave-app does not know about the on-cloud DB.
Table 7-1 Master and Slave rib-rwms Data-Sources Details
App Type | AQ Schema rib-rwms-jms1-ojmsmanaged-datasource | EH Schema rib-rwms-hosp-managed-datasource | App DB Schema rib-rwms-managed-datasource |
---|---|---|---|
Master rib-rwms (master-plsql-app) |
A valid AQ . example: rib_aq_schema |
A valid EH schema. example: eh_schema_master_rib_rwms |
same as EH eh_schema_master_rib_rwms |
Slave rib-rwms (slave-plsql-app) |
example: rwms_app_schema ( RWMS app schema on-prem.) |
example: rwms_app_schema ( RWMS app schema on-prem.) |
example: rwms_app_schema (RWMS app schema on-prem.) |
Rib-rwms Master can be installed using rib application installer, follow Chapter 6, "Run the RIB Application Installer" for instructions. For command line tool follow the below instructions.
Download and extract the RibKernel<RIB_MAJOR_VERSION>ForAll<RETAIL_APP_VERSION>Apps_eng_ga.tar.
e.g tar xvf RibKernel19.0.1ForAll19.x.xApps_eng_ga.jar
RibFuncArtifact<RIB_MAJOR_VERSION>ForAll<RETAIL_APP_VERSION>Apps_eng_ga.tar and put it in rib-home/download-home/rib-func-artifacts directory.
Do not extract the tar file. This will be done by the check-version-and-unpack tool.
Download all the RibPak<RIB_{MAJOR|MINOR}_ VERSION>For<RETAIL_APP_NAME><RETAIL_APP_VERSION>_eng_ ga.tar and put it in the rib-home/download-home/all-rib-apps directory.
Do not extract the tar file. This will be done by the check-version-and-unpack tool.
For Linux and Solaris OS only. Set the JAVA_HOME environment variable. The JAVA_HOME must be set to a JDK1.8.0+64bit with latest security updates, within the1.8codeline.64bit.
Run the rib-home/download-home/bin/check-version-and-un pack.sh script from rib-home/download-home/bin directory.
Edit rib-home/deployment-home/conf/rib-deployment-env-info.xml file to specify the deployment environment information.
Under <app-in-scope-for-integration> change RWMS from plsql-app to master-plsql-app:
<app id="rwms" type="master-plsql-app" />
Replace the existing rib-app with copy of commented hybrid cloud installation section for rib-rwms.
Example (this is also available on deployment XML as commented snippet):
Note: RWMS retail app type is "soap-app". RIB app (rib-rwms) type is "master-plsql-app". |
Compile: Run the rib-home/application-assembly-home/bin/rib-app-compiler.sh script with setup-security-credential from rib-home/application-assembly-home/bin directory.
example: ./rib-app-compiler.sh -setup-security-credential
For rib-rwms give the same schema details for Error Hospital (EH) and app-DB as follows:
There are two new webservices added in RIB that allow the master to communicate with slaves.
Publication – RemotePlsqlPublisherComponentServiceBeanService
Subscription – PlsqlApplicationMessageInjectorServiceBeanService
RIB supports policyA and poilicyC service provider. By default webservices are secured with policyC (http-or-https-username-token).
The compilation step prompts you to enter the user/password for the alias " rib-rwms_ws_security_user-name-alias" used for service calls. The credential should be the same as for "rib-rwms_rib-admin-gui_admin-user-name-alias" on the slave side.
Deploy: Execute the rib-home/deployment-home/bin/rib-app-deployer.sh script with the appropriate command line parameter.
rib-app-deployer.sh -prepare-jms rib-app-deployer.sh -deploy-rib-app-ear rib-<app>
Note: <app> must be rwms. |
Verify: Once the rib-rwms app is deployed, open the rib-admin-gui from a web browser:
<http or https://>host:port/rib-rwms-admin-gui
Note: There is no RIB installer GUI available for rib-rwms slave installation. |
Download RIB kernel For RMWS-slave-app (hybrid-cloud) distribution.
RibKernel19.0.1ForRwmsSlave19.x.xApps_eng_ga.jar
Extract contents of jar file.
Open rib-deployment-env-info.xml found inside ./rib-rwms-slave-home/deployment-home/conf.
Edit this file to specify your deployment environment information.
Make sure the following entries are present in the <app-in-scope-for-integration> section:
<app id="rwms" type=" slave-plsql-app" />
Update rib-jms-servers section to provide the AQ JMS server details. Because the slave app deploys on premise, it will not have access to AQ JMS on cloud. Use RWMS app schema detail for AQ JMS setup. For example:
Update RIB domain details in weblogic-application-servers section. For example:
Skip updating the rib-func-artifact-server details. Rib-func-artifact deployment is not required for slave.
Update RIB-RWMS slave server details. For example:
Make sure datasource url (host, port n service) entries are updated in the rib-app section of rib-rwms slave:
Note: As the slave app deploys on premise, it will not have access to AQ JMS and Error hospital. Therefore, all the datasources must connect to the RWMS app schema. |
Compile: Run the rib-home/application-assembly-home/bin/rib-app-co mpiler.sh script with setup-security-credential from rib-home/application-assembly-home/bin directory.
Example: ./rib-app-compiler.sh -setup-security-credential
Note: When the slave app deploys on-premise, it will not have access to AQ JMS and Error hospital. Therefore, both datasources must connect to the RWMS app schema. |
Deploy: Execute the rib-home/deployment-home/bin/rib-app-deployer.sh script with the appropriate command line parameter.
rib-app-deployer.sh -deploy-rib-app-ear rib-<app> rib-func-artifact deployment is not required.
Verify: Once the rib-rwms slave app is deployed, open the rib-admin-gui from a web browser using the credentials provided during compilation:
<http or https://>host:port/rib-rwms-admin-gui
Make sure the Publication and Subscription WS are available to use.
Example:
https://ribhost.example.com:17010/RemotePlsqlPublisherComponentServiceBean/ RemotePlsqlPublisherComponentServiceBeanService?WSDL https:// ribhost.example.com:17010/PlsqlApplicationMessageInjectorServiceBea n/PlsqlApplicationMessageInjectorServiceBeanService?WSDL
Sample script to create rib-rwms master AQ schema:
CREATE USER <rib aq user> IDENTIFIED BY <rib aq password> DEFAULT TABLESPACE "RETAIL_DATA" TEMPORARY TABLESPACE "TEMP"; GRANT "CONNECT" TO <rib aq user> ; GRANT "RESOURCE" TO <rib aq user> ; GRANT CREATE SESSION TO <rib aq user> ; GRANT EXECUTE ON "SYS"."DBMS_AQ" TO <rib aq user> ; GRANT EXECUTE ON "SYS"."DBMS_AQADM" TO <rib aq user> ; GRANT EXECUTE ON "SYS"."DBMS_AQIN" TO <rib aq user>; GRANT EXECUTE ON "SYS"."DBMS_AQJMS" TO <rib aq user>; GRANT "AQ_ADMINISTRATOR_ROLE" TO <rib aq user>; ALTER USER <rib aq user> QUOTA UNLIMITED ON RETAIL_DA