Go to primary content
Oracle® Retail Bulk Data Integration Installation Guide
Release 19.0.1
F44763-01
  Go To Table Of Contents
Contents

Previous
Previous
 
Next
Next
 

5 Process Flow Installation

Prerequisites

The Process Flow application has the same tech stack requirements mentioned in the beginning of this document for JDK, WebLogic domain, and database. Before installing the Process Flow application install the following infrastructure components for the application.

  • A WebLogic domain with JRF for the application

  • A database schema for the Process Flow application

Before you begin installing BDI Process Flow, make sure you have the database schema created for BDI Process flow.

If you are migrating from previous version of BDI PROCESS FLOW to a newer version, Follow upgrade instructions for bdi. Before following upgrade instructions for bdi, you need to provide permissions for database schema. Run the below commands on admin schema where database schema is created, to provide permissions.

Commands:

        CREATE TABLE TO 'user schema';
        CREATE SEQUENCE TO 'user schema';
        CREATE INDEX TO 'user schema';

Example: User schema name is bdi_process_app. Run below commands on admin schema.

CREATE TABLE TO 'bdi_ process _app';
CREATE SEQUENCE TO 'bdi_ process _app';
CREATE INDEX TO 'bdi_ process _app';

The recommended java VM memory setting for the Process Flow application domain is:

-Xms1024m -Xmx2048m

Install the Process Flow Application

Perform the following procedure to install the Process Flow application:

  1. Download the process flow archive BdiProcessFlow19.0.1ForAll19.x.xApps_eng_ga.zip

  2. Unzip the downloaded archive. The Process Home directory will be created under the current directory.

    unzip BdiProcessFlow19.0.1ForAll19.x.xApps_eng_ga.zip
    

    This command extracts the archive. The relevant directories for the installation are shown below (There are more directories than what is shown).

    |
    |- - - - - - - bin
    |                    ` - - - - - - bdi-process-flow-admin-deployer.sh
    |- - - - - - - conf
    |                    ` - - - - - - bdi-process-flow-admin-deployment-env-info.json
    |                    ` - - - - - - bdi-process-flow-admin-internal-trust-store.jks
    |                    ` - - - - - - log4j2.xml
    |                    ` - - - - - - security
    |                    ` - - - - - - jazn-data.xml
    |                    ` - - - - - - jps-config.xml
    |- - - - - - - dist
    |                    ` - - - - - - bdi-process-flow-19.0.100.war
    |                    ` - - - - - - README.txt
    |- - - - - - - lib
    |- - - - - - - scripts
    |                    ` - - - - - - DBSchemaMigration.groovy
    |                    ` - - - - - - ProcessFlowAdminDeployer.groovy
    |                    ` - - - - - - README.txt
    |                    ` - - - - - - WebLogicManager.groovy
    |- - - - - - - setup-data
    |                    ` - - - - - - ddl
    |                                       |                        |- - - - - - - - -  migration
    |                            |    |                        |- - - - - - - - - BDI_Database_Util_Spec_Permission.sql
    |                            |    |                        |- - - - - - - - - BDI_Database_Util_Spec.sql
    |                            |    |                        |- - - - - - - - - create_wl_llr_table.sql
     
    |                            |    |                        |- - - - - - - - - migrate-process-schema-from-16.0.027-to-16.0.028.sql
    |                            |    |                        |- - - - - - - - - migrate-schema-from-16.0.021-to-16.0.023.sql
    |                            |    |                        |- - - - - - - - - migrate-schema-from-16.0.023-to-16.0.025.sql
    |                            |    |                        |- - - - - - - - - migrate-schema-from-16.0.025-to-16.0.027.sql
    |                            |    |                        |- - - - - - - - - migrate-schema-from-16.0.031-to-19.0.10019.0.100.sql
    |                            |    |                        |- - - - - - - - - migrate-schema-from-16.0.21-to-16.0.023.sql
    |                                       |                        |- - - - - - - - -  purge
    |                                       |                        |- - - - - - - - -  purge_process_repo.sql
    |                    ` - - - - - - dml
    |                    ` - - - - - - dsl
    |                    ` - - - - - - available_process_flow_options
    |                                       |                        |- - - - - - - - -  enterprise-sender_side_split_flows
    |                                       |                        |- - - - - - - - -  external_ocds-no_split_flows
    |                                       |                        |- - - - - - - - -  external_sim-no_split_flows
    |                                       |                        |- - - - - - - - -  rms_enterprise-sender_side_split_flows
    |                                       |                        |- - - - - - - - -  rms_external-no_split_flows
    |                                       |                        |- - - - - - - - -  rms_ocds-no_split_flows
    |                                       |                        |- - - - - - - - -  rms_rfi-no_split_flows
    |                                       |                        |- - - - - - - - -  rms_rpas_file_creator-no_split_flows
    |                                       |                        |- - - - - - - - -  rms_rxm-no_split_flows
    |                                       |                        |- - - - - - - - -  rms_sim-no_split_flows
    |                                       |                        |- - - - - - - - -  rms_sim_rxm-receiver_side_split_flows
    |                                       |                        |- - - - - - - - -  rms_sim_rxm-sender_side_split_flows
    |- - - - - - - target
    |                    ` - - - - - - bdi-process-flow.war
    |                    ` - - - - - - README.txt
    
  3. Modify process flow configuration file(conf/bdi-process-flow-admin-deployment-env-info.json) to match the deployment environment and to support OAuth2 feature. The deployment description json format has changed from previous release, to accommodate IDCS client credentials and URL.While you can change many values to match your requirements, here is a table of a minimum set of configuration values that you need to modify for process flow application.

    To deploy without OAuth, we need to remove or replace the OAuth2 aliases (For example:- jobAdminUiOAuth2ApplicationClientAliasRef) in bdi-process-flow-admin-deployment-env-info.json, and then deploy. No other extra steps required for deployment.


    Note:

    The alias names in the configuration files should not be changed.

    Configuration Field Description

    BdiProcessFlowAdminDataSource ->jdbcUrl

    JDBC URL for the process flow schema. Change this value to match the environment

    ProcessFlowAdminAppServer ->weblogicDomainName

    Name of the WebLogic domain where the process flow application is deployed

    ProcessFlowAdminAppServer ->weblogicDomainHome

    WebLogic Domain home directory

    ProcessFlowAdminAppServer- > weblogicDomainProtocol

    WebLogic admin server protocol is by default t3, if SSL configured then update to t3s.

    ProcessFlowAdminAppServer ->weblogicDomainAdminServerUrl

    WebLogic Admin server URL

    ProcessFlowAdminAppServer ->weblogicDomainAdminServerHost

    Host name of WebLogic Admin Server

    ProcessFlowAdminAppServer ->weblogicDomainAdminServerPort

    WebLogic admin server port

    ProcessFlowAdminAppServer ->weblogicDomainTargetManagedServerName

    Managed Server name where Process Flow is hosted

    ProcessFlowAdminAppServer ->processFlowAdminUiUrl

    Process Flow admin app URL. Update only the host and port

    RmsAppJobAdminAppServer-->jobAdminUiUrl

    BDI RMS job admin URL

    SimAppJobAdminAppServer-->jobAdminUiUrl

    BDI SIM job admin URL

    SimJobAdminAppServer-->jobAdminUiUrl

    BDI SIM job admin URL

    RfiAppJobAdminAppServer-> jobAdminUiUrl

    RFIAPP job admin URL

    OcdsAppJobAdminAppServer

    BDI OCDS job admin URL

    ExternalAppJobAdminAppServer

    BDI EXTERNAL job admin URL

    RpasAppJobAdminAppServer

    BDI RPAS job admin URL

    oauth2AuthorizationServerUrl

    IDCS URL

    For example: https://idcs-4ff493196128425c80ce4ecbfc8352e5.identity.c9dev1.oc9qadev.com/oauth2/v1/token

    SystemOptions

    allAvailableDestinationApps mentions all the apps available as destination

    appsInScope - mentions the apps that are in scope.


    Example:

    ProcessFlow JSON Snippet:

    "ProcessFlowAdminApplication":{
                "ProcessFlowAdminAppUses":[
                    "ProcessFlowAdminDataSource",
                    "ProcessFlowAdminAppServer",
                    {
                        "RemoteJobAdminAppServers":[
                           "RfiAppJobAdminAppServer",
                           "SimJobAdminAppServer",
                           "RmsAppJobAdminAppServer",
                           "SimAppJobAdminAppServer",                       
                           "RpasAppJobAdminAppServer",
                           "OcdsAppJobAdminAppServer",
                           "ExternalAppJobAdminAppServer"
                        ]
                    }
                ],
                "SystemOptions":[
                    {"name":"allAvailableDestinationApps", "value":"SIM,RPAS,EXTERNAL,OCDS,RFI,RMS"},
                    {"name":"appsInScope", "value":"SIM,RPAS,OCDS,MFP,RDF,AP,IP,RFI"},
                    {"name":"jobGroupCacheEnabled", "value":"false"},
                    {"name":"flowSelection.1.pattern", "value":"_From_EXTERNAL"},
                    {"name":"flowSelection.1.initialState", "value":"false"},
                    {"name":"flowSelection.2.pattern","value":"ProcessFlowName1,ProcessFlowName2"},
                    {"name":"flowSelection.2.initialState", "value":"true"}
                ]
            }
    

    Process Flow Json snippet for OAuth support:

    "CentralAuthenticationSystem":{
     
                "IdcsAuthenticationProvider":{
     
                    "oauth2AuthorizationServerUrl":"https://idcs-4ff493196128425c80ce4ecbfc8352e5.identity.c9dev1.oc9qadev.com/oauth2/v1/token",
                    "oauth2Application":[
                        {
                             "oauth2ApplicationName" : "RICS",
                             "oauth2ApplicationScopeOfAccess" : {"name":"oauth2.default.scopeOfAccess.*", "value":"urn:opc:idm:__myscopes__"},
                             "oauth2ApplicationClientAlias" : "ric-sOauth2ApplicationClientAlias",
                             "oauth2ApplicationClientId" : "GET_FROM_WALLET",
                             "oauth2ApplicationClientSecret" : "GET_FROM_WALLET"
     
                        },
                        {
                             "oauth2ApplicationName" : "MFCS",
                             "oauth2ApplicationScopeOfAccess" : {"name":"oauth2.default.scopeOfAccess.*", "value":"urn:opc:idm:__myscopes__"},
                             "oauth2ApplicationClientAlias" : "mfcsO-auth2ApplicationClientAlias",
                             "oauth2ApplicationClientId" : "GET_FROM_WALLET",
                             "oauth2ApplicationClientSecret" : "GET_FROM_WALLET"
     
                        },  
                        {
                             "oauth2ApplicationName" : "RPAS",
                             "oauth2ApplicationScopeOfAccess" : {"name":"oauth2.default.scopeOfAccess.*", "value":"urn:opc:idm:__myscopes__"},
                             "oauth2ApplicationClientAlias" : "rpasO-auth2ApplicationClientAlias",
                             "oauth2ApplicationClientId" : "GET_FROM_WALLET",
                             "oauth2ApplicationClientSecret" : "GET_FROM_WALLET"
     
                        }  
     
                    ]
     
                },
                "OamAuthenticationProvider":{
                }
    

    BDI Process flow installer copies all the enterprise flows from bdi-process-home/setup-data/dsl/available_process_flow_options/rms_enterprise-sender_side_split_flows/ to bdi-process-home/setup-data/dsl/flows-in-scope.

  4. Configure the appsInScope system options in process flow configuration file. As shown in step 3 above.

  5. If you are migrating from previous version to a new version, follow the upgrade instructions for bdi.

  6. Run the deployer. Make sure that the WebLogic server is running before issuing the following command.

    cd bin
    bdi-process-flow-admin-deployer.sh -setup-credentials -deploy-process-flow-admin-app
    

    The process flow deployer will prompt for username and password for the following credential aliases:

    Alias Description

    bdiAppServerAdminServerUserAlias

    WebLogic admin server credentials

    processFlowAdminBaseUrlUserAlias

    Credentials for Admin Role user for Process Flow Admin app

    processFlowOperatorBaseUrlUserAlias

    Credentials for Operator Role user for Process Flow Admin app

    processFlowMonitorBaseUrlUserAlias

    Credentials for Monitor Role user for Process Flow Admin app

    bdiProcessFlowAdminDataSourceUserAlias

    Credentials for the Data Source of the Process Flow Schema

    rmsappJobAdminBaseUrlUserAlias

    RMS job admin credentials

    simappJobAdminBaseUrlUserAlias

    SIM job admin credentials

    simJobAdminBaseUrlUserAlias

    SIM job admin credentials

    ocdsappJobAdminBaseUrlUserAlias

    OCDS job admin credentials

    externalappJobAdminBaseUrlUserAlias

    External job admin credentials

    rfiappJobAdminBaseUrlUserAlias

    RFIAPP job admin credentials

    rpasappJobAdminBaseUrlUserAlias

    RPAS job admin credentials

    jobAdminUiOAuth2ApplicationClientAliasRef

    (name":"rpasappJobAdminBaseUrlOAuth2ApplicationClientAlias", "value": "*rpasOauth2ApplicationClientAlias)

    IDCS Client ID and password

    jobAdminUiOAuth2ApplicationClientAliasRef

    (name":"ocdsappJobAdminBaseUrlOAuth2ApplicationClientAlias", "value": "*ricsOauth2ApplicationClientAlias)

    IDCS Client ID and password

    jobAdminUiOAuth2ApplicationClientAliasRef

    (name":"rmsappJobAdminBaseUrlOAuth2ApplicationClientAlias", "value": "*mfcsOauth2ApplicationClientAlias)

    IDCS Client ID and password

    jobAdminUiOAuth2ApplicationClientAliasRef

    (name":"rfiappJobAdminBaseUrlOAuth2ApplicationClientAlias", "value": "*ricsOauth2ApplicationClientAlias)

    IDCS Client ID and password



    Note:

    If you have an existing process flow deployment then, login to Process Flow App, go to Manage Configurations -> System Options and update the following system options before running the above command. LOADPROCESSDEF = TRUE and LOADSEEDDATA = TRUE

    If you have already configured various credentials required for process flow, you can run the deployer with the following syntax. It will not ask the credentials again for the deployment. Make sure you set the LOADPROCESSDEF = true, LOADSEEDDATA = true.

    bdi-process-flow-admin-deployer.sh -use-existing-credentials -deploy-process-flow-admin-app
    

  7. Make sure the deployment step shows deployment success message at the end.

  8. Restrict access to the bdi-process-home folder:

    cd bdi-process-home
    chmod -R 700 . 
    
  9. Bounce the process managed server.

Verify Installation

If the process flow app is successfully deployed, you should be able to access the application at the URL http://<host>:<port>/bdi-process-flow/. The following is a sample screenshot of the process flow application. Make sure all the tabs of the application are properly displayed.

Surrounding text describes processflow-console.png.

See the Oracle Retail Bulk Data Integration Implementation Guide for the operation details of the Process Flow application.

Enabling Email Notification Alerts

Process Flow can send email alerts upon success or failure of process executions as specified in the process definitions. The following configuration is required for process email notification.

Mail Session configuration in WebLogic, for process email notification:

  1. Go to the WebLogic Admin console of the environment where the process app is deployed.

  2. Navigate to Services -> Mail Sessions.

  3. Select New to create a new mail session.

  4. Enter the following details:

    Name: BdiProcessMailSession

    JNDI name: mail/BdiProcessMailSession

    Session Username: A valid email id, preferably email-id of an administrator.

    Session password: The password for the above email id.

  5. Enter the following in the JavaMail properties:

    mail.smtp.ssl.enable=true

    mail.smtp.auth=true

    mail.smtp.ssl.trust=<company's smtp mail server host name>

    mail.smtp.port=<mail server smtps port, typically is 465>

    mail.transport.protocol=smtps

    mail.smtp.host=<company's smtp mail server host name>

    mail.from=<A valid email-id for 'from email address' when email is sent>

    mail.to(Optional)=<List of valid recipients email-ids>

    Web Session Mail.to property is used if processFlowNotification.<scope>.recipients is not set in Process Notification Configuration.

  6. Click Next. In the Mail Session Targets, select the managed server where the process application is deployed.

  7. Finish creating the mail session.


Note:

For more information on configuring Mail sessions on WebLogic, see the Oracle® WebLogic Administrator's Guide 12c Release.

Process Flow Upgrade Steps

  1. Download the BdiProcessFlow19.0.1ForAll19.x.xApps_eng_ga.zip from RTG Wiki and extract.

  2. Take the backup of existing bdi-process-home.

  3. Cd to bdi-process-home/conf folder.

  4. Modify process flow configuration file (conf/bdi-process-flow-admin-deployement-env-info.json) to match the deployment environment and support OAuth2 feature.

  5. To deploy without OAuth, we need to remove or replace the OAuth2 aliases (For example:- jobAdminUiOAuth2ApplicationClientAliasRef) in bdi-process-flow-admin-deployment-env-info.json, and then deploy. No other extra steps required for deployment.

  6. The deployment description json format has changed from previous release, to accom-modate IDCS client credentials and URL.


    Note:

    The alias names in the configuration files should not be changed.

    "oauth2AuthorizationServerUrl":"https://idcs-4ff493196128425c80ce4ecbfc8352e5.identity.c9dev1.oc9qadev.com/oauth2/v1/token" ? Replace with IDCS server url

  7. Configure the appsInScope system options in process flow configuration file.

  8. Login to the existing deployed process flow app.

  9. Go to Manage Configurations -> System Options and make following changes: LOADPROCESSDEF = TRUE and LOADSEEDDATA = TRUE

  10. Delete the existing process flow app.

  11. Run the below command to upgrade and deploy the process-flow-app.

    Cd bin
    sh bdi-process-flow-admin-deployer.sh -use-existing-credentials -deploy-process-flow-admin-app
    
  12. BDI process flow installer copies all the enterprise flows from process-home/setup-data/dsl/available_process_flow_options/rms_enterprise-sender_side_split_flows/ to process-home/setup-data/dsl/flows-in-scope while deployment.

  13. After successful deployment, bounce the managed server.