6 Performing Post-deployment Tasks

This chapter describes the tasks you perform after deploying AIA cloud native.

Integrating Applications with AIA Cloud Native

This section describes procedures for integrating the following cloud native applications with AIA cloud native:
  • Siebel CRM Cloud Native
  • Billing and Revenue Management (BRM) Cloud Native
  • Order and Service Management Cloud Native
See Application Integration Architecture Compatibility Matrix for supported and recommended versions of these applications.

Note:

Before proceeding with integrating these applications, ensure that all web user interfaces of these applications are available for integration.

Integrating Siebel Cloud Native

This section provides instructions for integrating Siebel cloud native with AIA cloud native.

To integrate Siebel CRM on Containers with AIA cloud native:
  1. Get the following JAR files:
    • From Siebel containers, get siebel.jar and SiebelJI_enu.jar.
    • From the WebLogic container, get wlthint3client.jar.
  2. Log in to the Siebel eCommunication Web UI as SADMIN user and update the JAVA64 profile parameters to include the three JAR files:

    Note:

    Ensure that the path /sfs/aiacn/jms is a persistent store so that the files are retained after the pod restarts.
    /sfs/aiacn/jms:/sfs/aiacn/jms/Siebel.jar:/sfs/aiacn/jms/SiebelJI_enu.jar:/sfs/aiacn/jms/wlthint3client.jar:.
  3. Relocate the JAR files:
    1. Connect to the Siebel SES pod.
    2. Create a folder with the same name as what is listed in step 2 (/sfs/aiacn/jms), where /sfs is a shared persistent folder, and then copy the 3 JAR files into the folder.
  4. In the same folder, create the jndi.properties file and copy the following text into it:

    Note:

    • Ensure that the AIACN t3 channel URL and user name and password are set with the correct values.

    • In the below example, Siebel and AIA are in the same cluster and different namespace.

    java.naming.factory.initial=weblogic.jndi.WLInitialContextFactory
    java.naming.provider.url=t3://soa_cluster_service_name.soa_namespace.svc.cluster.local:soa_service_cluster_port
    java.naming.security.principal=soa_console_username
    java.naming.security.credentials=soa_console_password
                   
  5. Copy the three JAR files into the Apache TOMCAT /siebel/mde/applicationcontainer/lib folder.
  6. Restart Apache TOMCAT server inside Siebel SES pod.
  7. Configure Siebel Web Service in Siebel DB.
    1. Create the update_siebel_ws.sql SQL script with the following content:
      UPDATE S_WS_PORT SET PORT_ADDRESS='jms://jms/aia/AIA_SALESORDERJMSQUEUE@jms/aia/COMMS_SUBMITORDER_CONSUMER', PORT_TRANSPORT='JMS' WHERE NAME='SWISubmitOrderPort';
      UPDATE S_WS_PORT SET PORT_ADDRESS='jms://jms/aia/AIA_SALESORDERJMSQUEUE@jms/aia/COMMS_SUBMITORDER_CONSUMER', PORT_TRANSPORT='JMS' WHERE NAME='SWISubmitOrder_o2cPort';
      UPDATE S_WS_PORT SET PORT_ADDRESS='jms://jms/aia/AIA_SALESORDERJMSQUEUE@jms/aia/COMMS_SUBMITORDER_CONSUMER', PORT_TRANSPORT='JMS' WHERE NAME='SWISubmitQuote_o2cPort';
      UPDATE S_WS_PORT SET PORT_ADDRESS='jms://jms/aia/AIA_SPECIALRATINGJMSQ@jms/aia/COMMS_SPECIALRATINGLIST_CONSUMER', PORT_TRANSPORT='JMS' WHERE NAME='SWISpecialRatingListPort';
      UPDATE S_WS_PORT SET PORT_ADDRESS='jms://jms/aia/AIA_CMUREQADJIOJMSQUEUE@jms/aia/COMMS_ADJUSTMENT_CONSUMER', PORT_TRANSPORT='JMS' WHERE NAME='SWICreateAdjustmentPort';
      UPDATE S_WS_PORT SET PORT_ADDRESS='http://aiacn_clusterService_name.aiacn_kubernetes_name:aiacn_clusterService_port/soa-infra/services/default/AccountBalanceSiebelCommsReqABCS/AccountBalanceSiebelCommsReqABCS_ep' WHERE NAME='_soap_AccountBalanceSiebelCommsReqABCS_AccountBalanceSiebelCommsReqABCS';
      UPDATE S_WS_PORT SET PORT_ADDRESS='http://aiacn_clusterService_name.aiacn_kubernetes_name:aiacn_clusterService_port/soa-infra/services/default/AdjustmentSiebelCommsReqABCS/AdjustmentSiebelCommsReqABCS_ep' WHERE NAME='AdjustmentSiebelCommsReqABCSPort';
      UPDATE S_WS_PORT SET PORT_ADDRESS='http://aiacn_clusterService_name.aiacn_kubernetes_name:aiacn_clusterService_port/soa-infra/services/default/InvoiceSiebelCommsReqABCS/InvoiceSiebelCommsReqABCS_ep' WHERE NAME='_soap_InvoiceSiebelCommsReqABCS_InvoiceSiebelCommsReqABCS';
      UPDATE S_WS_PORT SET PORT_ADDRESS='http://aiacn_clusterService_name.aiacn_kubernetes_name:aiacn_clusterService_port/soa-infra/services/default/PaymentSiebelCommsReqABCS/PaymentSiebelCommsReqABCS_ep' WHERE NAME='PaymentSiebelCommsReqABCSPort';
      UPDATE S_WS_PORT SET PORT_ADDRESS='http://aiacn_clusterService_name.aiacn_kubernetes_name:aiacn_clusterService_port/soa-infra/services/default/UnbilledUsageSiebelCommsReqABCS/UnbilledUsageSiebelCommsReqABCS_ep' WHERE NAME='_soap_UnbilledUsageSiebelCommsReqABCS_UnbilledUsageSiebelCommsReqABCS';
      UPDATE S_WS_PORT SET PORT_ADDRESS='http://aiacn_clusterService_name.aiacn_kubernetes_name:aiacn_clusterService_port/soa-infra/services/default/SyncCustomerSiebelEventAggregator/Client' WHERE NAME='SyncCustomerSiebelEventAggregatorPort'; 
      UPDATE S_WS_PORT SET PORT_ADDRESS='http://aiacn_clusterService_name.aiacn_kubernetes_name:aiacn_clusterService_port/soa-infra/services/default/UpdateCreditAlertSiebelCommsReqABCSImpl/UpdateCreditAlertSiebelCommsReqABCSImpl' WHERE NAME='UpdateCreditAlertSiebelCommsReqABCSImplServicePort';
      SET ESCAPE ON; 
      UPDATE S_WS_PORT SET PORT_ADDRESS='https://Siebel_hostname:Siebel_port/siebel/eai/enu/start.swe?SWEExtSource=SecureWebService\&SWEExtCmd=Execute\&WSSOAP=1' WHERE NAME='SWIOrderUpsert';
      UPDATE S_WS_PORT SET PORT_ADDRESS='https://Siebel_hostname:Siebel_port/siebel/eai/enu/start.swe?SWEExtSource=SecureWebService\&SWEExtCmd=Execute\&WSSOAP=1' WHERE NAME='SWI Product Attribute Import';
      UPDATE S_WS_PORT SET PORT_ADDRESS='https://Siebel_hostname:Siebel_port/siebel/eai/enu/start.swe?SWEExtSource=SecureWebService\&SWEExtCmd=Execute\&WSSOAP=1' WHERE NAME='SWI Product Class Import';
      UPDATE S_WS_PORT SET PORT_ADDRESS='https://Siebel_hostname:Siebel_port/siebel/eai/enu/start.swe?SWEExtSource=SecureWebService\&SWEExtCmd=Execute\&WSSOAP=1' WHERE NAME='SWIProductImport';
      UPDATE S_WS_PORT SET PORT_ADDRESS='https://Siebel_hostname:Siebel_port/siebel/eai/enu/start.swe?SWEExtSource=SecureWebService\&SWEExtCmd=Execute\&WSSOAP=1' WHERE NAME='SWIPromotionImport';
      UPDATE S_WS_PORT SET PORT_ADDRESS='https://Siebel_hostname:Siebel_port/siebel/eai/enu/start.swe?SWEExtSource=SecureWebService\&SWEExtCmd=Execute\&WSSOAP=1' WHERE NAME='SWIUpsertQuote';
      UPDATE S_WS_PORT SET PORT_ADDRESS='https://Siebel_hostname:Siebel_port/siebel/app/eai/enu?SWEExtSource=WebService\&SWEExtCmd=Execute\&WSSOAP=1' WHERE NAME='COMMSCancelOrderPort';
      UPDATE S_WS_PORT SET PORT_ADDRESS='https://Siebel_hostname:Siebel_port/siebel/app/eai/enu?SWEExtSource=WebService\&SWEExtCmd=Execute\&WSSOAP=1' WHERE NAME='COMMSCustomServicesPort';
      UPDATE S_WS_PORT SET PORT_ADDRESS='https://Siebel_hostname:Siebel_port/siebel/app/eai/enu?SWEExtSource=WebService\&SWEExtCmd=Execute\&WSSOAP=1' WHERE NAME='COMMSOrderUpsert';
      UPDATE S_WS_PORT SET PORT_ADDRESS='https://Siebel_hostname:Siebel_port/siebel/app/eai/enu?SWEExtSource=WebService\&SWEExtCmd=Execute\&WSSOAP=1' WHERE NAME='COMMSSubmitBillingOrder';
      commit;
      quit;
    2. Connect to Siebel DB and run the SQL script with DB user name and the corresponding password.
  8. Configure the Siebel repository in Siebel DB:
    1. Create the update_siebel_repository.sql SQL script with the following contents:
      UPDATE S_SYS_PREF SET VAL='TRUE' WHERE SYS_PREF_CD='Enable AIA Comms';
      UPDATE S_SYS_PREF SET VAL='TRUE' WHERE SYS_PREF_CD='Enable AIA MDM';
      UPDATE S_SYS_PREF SET VAL='TRUE' WHERE SYS_PREF_CD='Enable AIA Testing';
      UPDATE S_SYS_PREF SET VAL='FALSE' WHERE SYS_PREF_CD='Enable AIA Utility';
      UPDATE S_SYS_PREF SET VAL='No' WHERE SYS_PREF_CD='Enable Promotion Group';
      UPDATE S_SYS_PREF SET VAL='/siebel/mde/siebsrvr/temp/OrderBackup/' WHERE SYS_PREF_CD='AIA Order Backup Path';
      UPDATE S_SYS_PREF SET VAL='Yes' WHERE SYS_PREF_CD='Enable Promotion Group';
      UPDATE S_SYS_PREF SET VAL='Y' WHERE SYS_PREF_CD='Promotion Group Compatibility';
      commit;
      quit;
    2. Connect to Siebel DB and run the SQL script with DB user name and the corresponding password.
  9. Configure EAI File Transfer Folder:
    1. Connect to the SES pod of the Siebel CRM on Containers instance.
    2. Run the following two Siebel commands respectively and set EAIFileTransportFolders with the created OrderBackup sub-folder's full path as follows:

      Note:

      Ensure that the /siebel/mde/siebsrvr/temp/OrderBackup folder is created in the Siebel SES container. If not, then create the folder and proceed with below commands.
      [aiacn_pod-0:/siebel/mde]#srvrmgr /g cgw-aiacn-0.ses-aiacn.siebel-cn.svc.cluster.local:2320 /e aiacn /u username /p password /c "change ent param EAIFileTransportFolders=/siebel/mde/siebsrvr/temp/OrderBackup"
      srvrmgr> change ent param EAIFileTransportFolders=/siebel/mde/siebsrvr/temp/OrderBackup
      srvrmgr> change ent param EAIFileTransportFolders=/siebel/mde/siebsrvr/temp/OrderBackup for server aiacn_pod-0
    3. Restart the SES service by running the following command:
      kubectl -n siebel_namespace, delete pod Siebel_Enterprise_Server_pod_name-0
    4. After the pod is recreated and you have verified that it is running, follow steps 5 and 6.
  10. (Optional) Import products into Siebel cloud native by using the Siebel eCommunication application. Refer to Siebel CRM documentation for instructions.
  11. Import Siebel cloud native SSL/TLS security certificates and configure AIA cloud native with the certificates. See Installing SSL Certificates for more details.
    1. Validate that keystore custom identity and custom trust are created successfully. To do this, log in to the Enterprise Manager Console for AIA and navigate to the Keystore section.
    2. Validate that Siebel trust certificate is available in the custom trust keystore in the Keystore section.
    3. Log in to the Weblogic Console of AIA cloud native. For each managed server, in the Keystore section, ensure the following:
      • kss://system/custom_identity_keystorename is displayed for Custom Identity Store.
      • kss://system/custom_trust_keystorename is displayed for Custom Trust Store.
    4. Validate /u01/oracle/user_projects/domains/ domain_name /bin/setDomainEnv.sh with custom trust:
      1. Connect to any managed server pod.
      2. Open the /u01/oracle/user_projects/domains/ domain_name /bin/setDomainEnv.sh using the vi tool.
      3. Validate that -Djavax.net.ssl.trustStore=kss: //system/custom_trust_keystorename -Djavax.net.ssl.trustStoreType=kss -Djavax.net.ssl.keyStorePassword=password -Djavax.net.ssl.trustStorePassword=password is configured in EXTRA_JAVA_PROPERTIES.
  12. Configure Siebel credentials in the Enterprise Console of AIA cloud native.
    1. Navigate to the Credentials section and edit participatingapplications.siebel.server.eai.password to specify the username and password.
    2. Repeat step a. for participatingapplications.siebel.server.db.password if you want to change the Siebel DB credentials.
    3. Restart the AIA cloud native services by using the domain-lifecycle scripts.
  13. Configure AIA cloud native MetaData with Siebel Connection details, Business Unit ID, and PRICELIST.
    1. Get the latest AIAConfigurationProperties.xml and PRICELIST.dvm files:
      1. In the Enterprise Manager Console for AIA, navigate to the MDS Configuration section and export the zip file.
      2. Copy the following files from the zip: soa/configuration/default/AIAConfigurationProperties.xml and apps/AIAMetaData/dvm/PRICELIST.dvm. For more information on MDS operations, refer to Managing the Metadata Repository in Administering Oracle Fusion Middleware.
    2. Update Siebel connection details:
      1. In the AIAConfigurationProperties.xml file, update all the values of the XML tag SEBL_01.EndpointURI with correct details if required.
    3. Update the Business Unit ID details:
      1. Log in to Siebel and get Siebel Business Unit ID by navigating to Organizations. Navigate to About Record, and copy the Row Number.
      2. In the AIAConfigurationProperties.xml file, update all the values of the XML tag Siebel.SEBL_01.BusinessUnit, with the copied Default Organization Row Number.
    4. Update Pricelist details:
      1. Pricelists:
        1. Log in to Siebel and create or confirm pricelists as required on Siebel. Copy the Row Number of the required pricelist. For more information, refer to Siebel Price List in the Application Services Interface Reference Guide.

        2. In the PRICELIST.dvm file, update or add the values for SEBL_01 column of row with the copied Row Number and with the other required values.

          For more information, refer to "Working with the PRICELIST DVM" in the AIA Order to Cash Integration Pack Implementation Guide.

        3. Repeat steps 1 and 2 for each pricelist.
      2. Default Pricelist:
        1. In the AIAConfigurationProperties.xml file, update all the values of XML tag Siebel.SEBL_01.PriceList.ID with Row Number from Siebel for default pricelist.

          Note:

          Mention the default pricelist details in the AIAConfigurationProperties.xml file. In case of multi-pricelist configuration, do not mention the default pricelist section in the PRICELIST.dvm file.
    5. Update AIA MDS with the updated PRICELIST.dvm and the AIAConfigurationProperties.xml files. For more information about updating files in AIA MDS, refer to Updating Files in AIA MDS.
    6. Restart AIA cloud native using the domain-lifecycle scripts.
  14. Enable the eai_enu application configuration using the Siebel Management Console. Refer to the Siebel Management Console documentation for instructions.

Integrating BRM Cloud Native

This section provides instructions for integrating BRM cloud native with AIA cloud native.

To integrate BRM cloud native with AIA cloud native:

  1. Validate the BRM cloud native CM parameter by running the following command:

    Note:

    Ensure that the BRM CM service is configured with the dnsName of the cluster, so that the CM service can be connected using the dnsName in the cluster.
    kubectl -n brmcn_namespace get deployment/cm -o yaml
    A sample output is as follows:
    - name: CM_DNS_NAME
      value: dns:<cm service>.<brm ns>.svc.cluster.local
  2. Deploy the BRM JCA Adapter. See Deploying the BRM JCA Adapter in Oracle Communications Application Integration Architecture Cloud Native Deployment Guide for more information.
  3. (Optional) Validate the connection between AIA cloud native and BRM cloud native by deploying the BRM JCA Adapter test client (Web application) and sending a test request with the test client Web UI. See Testing JCA Resource Adapter Configuration and BRM Connectivity in Oracle Communications BRM JCA Resource Adapter Guide for more information.
  4. Enable notification and Product Sync in BRM cloud native.
    1. Ensure that the fm_publish enable_publish parameter is set to 1 in the CM pin.conf. You can set this by using the helm chart or by editing the Kubernetes config manager entry of cm cm-pin-conf-config.
    2. For EAI (eai-java-server container in the cm pod), ensure that payload for Infranet.properties is set to payloadconfig_crm_sync.xml. This payload contains the required events (ProductInfoChange and DiscountInfo change) for generating the XML for EAI. Ensure that the DB is 0.0.0.0, which points to EAI. The DB entries mapping can be found in dm-oracle pin.conf. You can set this by using the helm chart or by editing the Kubernetes config manager entry of the EAI eai-java-server-infranet-properties-config and eai-java-server-payload.

      Note:

      Bounce the CM pod after the change to reflect the changes.

      Publisher DB=\"0.0.0.0

    3. In the dm-oracle-aq-event-map-config config file, uncomment ALL in aq_event_map.
    4. Ensure that notifications are enabled for the following:
      /event/notification/price/products/modify
      /event/notification/price/discounts/modify
      /event/notification/price/sponsorships/modify
      /event/customer/status
      /event/notification/amt/AccountInfoChange
    5. Run helm command from the BRM Helm charts path to publish Prod Sync data.
      cd $BRM_CNTK/artifacts
      $ helm upgrade --namespace <brm_namespace> brm-cn-apps helm-charts/ --values profiles/deploy-oci.yaml --values profiles/pdc-publish.yaml
    6. Restart the cm, dm-oracle, and dm-ifw-sync pods of the BRM cloud native instance.

Integrating OSM Cloud Native

This section provides instructions for integrating OSM cloud native with AIA cloud native.

To integrate OSM cloud native with AIA cloud native:
  1. Create a t3 channel in the AIA cloud native instance:
    • For a single cluster scenario, where in AIA cloud native, Siebel CRM cloud native, BRM cloud native, and OSM cloud native are deployed in the same cluster, create a t3 channel in the WebLogic Admin Console for AIA cloud native.
      1. Log in to AIA cloud native Weblogic Console.
      2. Navigate to the Servers section in the Domain Structure pane and then select a managed server (for example, select soa_server1).
      3. Navigate to the Channels tab in Protocols and create a new channel (for example, T3Channel).
      4. Specify the following:
        • Listen Address as soainfra-cluster-soa-cluster.namespace.svc.cluster.local.
        • External Listen Port as soa-cluster-service-name.namespace.svc.cluster.local
      5. Ensure that Tunneling Enabled is selected.
      6. Repeat steps b. to e. for remaining managed servers.
    • For multiple clusters, where in AIA cloud native and OSM cloud native are deployed in different clusters, do the following:
      1. Connect to the AIA cloud native cluster and create an ingressroute that includes route rules for all common names and the respective ports.
        apiVersion: traefik.containo.us/v1alpha1
        kind: IngressRoute
        metadata:
          name: aia-ingress
          namespace: namespace
        spec:
          entryPoints:
          - web
          routes:
          - kind: Rule
            match: Host(`soa.domain_name.namespace.aia.org`)
            services:
            - name: soa_cluster_service_name
              port: soa_ms_port
              sticky:
                cookie:
                  httpOnly: true
          - kind: Rule
            match: Host(`t3.domain_name.namespace.aia.org`)
            services:
            - name: soa_cluster_service_name  
              port: soa_cluster_service_port
              sticky:
                cookie:
                  httpOnly: true
          - kind: Rule
            match: Host(`admin.domain_name.namespace.aia.org`)
            services:
            - name: soa_admin_server_service_name
              port: soa_admin_server_port
              sticky:
                cookie:
                  httpOnly: true
      2. Apply the yaml file to create the ingressroute:
        kubectl apply -f aia-ingress.yaml
      3. Edit the AIA cloud native domain configuration to specify the following settings for integrating with the OSM cloud native instance:

        Note:

        If the previous node is cordoned, deleted, or repaved, update the values for hostAliases and change the IP addresses to new IP addresses of a working node.
        spec:
        .........
        .........
          serverPod:
        .........
        .........
            hostAliases:
            - hostnames:
              - t3.instance.project.osm.org
              - instance.project.osm.org
              - admin.instance.project.osm.org
              ip: osm_node_IP_address
            - hostnames:
              - soa.soainfra.soa_namespace.aia.org
              - t3.domain_name.namespace.aia.org
              - admin.domain_name.namespace.aia.org
              ip: soa_node_IP_address
                                   
      4. Edit the OSM cloud native domain configuration to specify the same settings as described in step 1.b for integrating with the AIA cloud native instance.

        Note:

        Ensure that the AIA cloud native and OSM cloud native instance pods restart automatically after steps b and c. If they do not restart automatically, run the corresponding scripts to manually restart the AIA and OSM instances.
      5. Create a t3 channel in the WebLogic Admin Console for AIA cloud native, ensuring that the External Listen Address is set as the hostname defined earlier. In addition, ensure that the HTTP Enabled for This Protocol option is selected.
  2. Deploy the O2A cartridge into the OSM cloud native instance. See Creating Order-to-Activate Credentials and Accounts and Deploying the Sample Cartridge for instructions.
  3. Set the AIA cloud native SAF t3 value which was created earlier, in the OSM project specification file as follows:
    • For single cluster, specify the following:
      safConnectionConfig:
        - name: O2A_SAFImportedDestinations
          t3Url: t3://soa_cluster_servicename.namespace.svc.cluster.local:soa_cluster_serviceport
          secretName: osm_project_instance__saf_credentials_aia_secret_name
                           

      Note:

      osm_project_instance__saf_credentials_aia_secret_name is the secret you created while setting up and deploying OSM.
    • For multiple clusters, specify the following:
      safConnectionConfig:
        - name: O2A_SAFImportedDestinations
          t3Url: http://t3_hostname_in_ingressroute:t3_port_created
          secretName: osm_project_instance__saf_credentials_aia_secret_name
                           
  4. Restart the OSM instance to deploy the O2A cartridge with the AIA cloud native configuration. See Restarting the Instance in Oracle Communications Order and Service Management Cloud Native Deployment Guide.
  5. Log in to the Weblogic Admin Console for OSM cloud native and verify that the SAF setting is configured with the expected t3 Url value.
  6. Log in to the OSM Task Web client and verify that the O2A cartridge is deployed.
  7. In WebLogic Admin Console for OSM cloud native, copy the t3 URL displayed for T3ClustChannel for single cluster or the value of T3Channel (HTTP) for multi-cluster channel.
  8. In the WebLogic Admin Console for AIA cloud native, navigate to the JMS Modules page, for the OSM and SOM AIAJMSModules, set the URL test fields with the copied t3 URLs.

    Note:

    You must set a username and password for the WebLogic Admin Console for AIA cloud native.
  9. Restart the AIA cloud native domain services by using the domain-lifecycle scripts.
  10. In AIA WebLogic Console, navigate to the Store and Forward Agents page. In the Remote Endpoints tab for OSM_SAFAgent, ensure that for each Remote Endpoint, the t3 URL is displayed for single-cluster environment.
  11. Log in to Oracle Enterprise Manager Fusion Middleware Control for AIA cloud native, and add the singleton property. See the AIA Installation Guide for instructions.
  12. Configure the AIA queues to support JMS Priority. See the AIA Installation Guide for instructions.
  13. Add the No Authentication security policy to the Product class service. See the AIA Installation Guide for instructions. Ensure that you select "QueryProductClassAndAttributesSCECommsReqABCSImpl" in the Service and References region.
  14. Ensure that the JAVA_OPTIONS parameter -Dweblogic.rjvm.allowUnknownHost=true is added into AIA cloud native domain setting.
  15. In Oracle Enterprise Manager Fusion Middleware Control, for SOA Infrastructure, set the Callback Server URL and Server URL common properties with the SOA infrastructure URL.

Performing AABC Post-deployment Tasks

This section describes tasks that you perform after deploying AABC.

Prerequisites and Assumptions

The following are the prerequisites for performing AABC post-installation tasks:

  • The Master Repository and the Work Repository are created in Oracle Data Integrator (ODI).
  • Oracle Data Integrator (ODI) is installed with template - J2EE Enterprise Agent and has the encode.sh script in $ODI_HOME/bin directory.
  • Oracle Data Integrator (ODI) agent is available and agent wsdl is reachable inside the AIA cloud native 14.0 installation pods.
  • The AABC PIPs are deployed successfully. Confirm that the Comms Agent Assisted Billing Care: Siebel - BRM Pre-Built Integration services are installed. See Verifying Composite Deployment in the AIA Installation Guide for details.
  • Verify Collections installation. Within the admin pod, verify that the following are present in the DVM path /u01/shared/aia-comms/commsOracleHome/comms_home/source/soainfra/apps/AIAMetaData/dvm:
    • CURRENCY_CODE.dvm
    • COLLECTION_STATUS.dvm
    • COLLECTION_ACTIONNAME.dvm
    • COLLECTION_PRIORITY.dvm
    • COLLECTION_SUBSTATUS.dvm
  • Confirm the URL for composite definition for "SyncCollectionHeaderInfoBRMCommsReqImpl" composite is correct.
  • Mount AIA PV on the machine where ODI is installed. Mount the PV at location /u01/shared/.
AABC PIPs Post-installation Tasks

Perform the following AABC PIPs post-installation tasks:

  1. Update the mailing details in the /u01/shared/aia-comms/commsOracleHome/comms_home/source/soainfra/apps/config/AIAConfigurationProperties.xml file as required. Update the below properties for module CollectionsParameters file:
    • FromMailAddress
    • ToMailAddress
    • MailServer
    • MailSMTPPort
  2. Encode passwords for the following:
    • AIA XREF

      To encode the XREF password, run the following command and note the encoded password:

      $ODI_HOME/bin/encode.sh -INSTANCE=OdiInstanceName AIA_XREF_DB_Password
      Update the encoded password in the connections file:
      cd $AIA_PV/aia-comms/commsOracleHome/comms_home/source/soainfra/apps/services/industry/Communications/BulkDataProcess/BRMToSiebel/Collections/ODI/Oracle/V1/ODI_Master_Repository
        
      # Replace fp.db.xref.password with value received from encode.sh
      vi CONN_AIADS.xml
    • BRM
      To encode the BRM password, run the following command and note the encoded password:
      $ODI_HOME/bin/encode.sh -INSTANCE=OdiInstanceName BRM_Database_Advanced_Queuing_user_password
      Update the encoded password in the connections file:
      cd $AIA_PV/aia-comms/commsOracleHome/comms_home/source/soainfra/apps/services/industry/Communications/BulkDataProcess/BRMToSiebel/Collections/ODI/Oracle/V1/ODI_Master_Repository
        
      # Replace participatingapplications.brm.db.password with value received from encode.sh
      vi CONN_OracleBRMDS.xml
    • Siebel
      To encode the Siebel password, run the following command:
      $ODI_HOME/bin/encode.sh -INSTANCE=OdiInstanceName Siebel_database_user_password
      Update the encoded password in the connections file:
      cd $AIA_PV/aia-comms/commsOracleHome/comms_home/source/soainfra/apps/services/industry/Communications/BulkDataProcess/BRMToSiebel/Collections/ODI/Oracle/V1/ODI_Master_Repository
      
      # Replace participatingapplications.siebel.db.password with value received from encode.sh
      vi CONN_SiebelDS.xml
  3. Import the AIA connections to ODI Studio. If AABC installation is successful, then the importAIAODIConnections.sh script will be generated in the AIA_PV directory. Run the following command to import:
    sh importAIAODIConnections.sh \
        -a AIA_PV_Path \
        -o ODI_DOMAIN_HOME_path \
        -i ODI Instance Name. Example: OracleDIAgent \
        -w ODI Workrep name. Example: WORKREP
Verifying the Deployment
To verify the Comms Agent Assisted Billing Care: Siebel CRM - BRM Pre-Built Integration deployment:
  1. Login to ODI Studio with ODI user credentials.
  2. Verify and confirm AIA Collections Project is imported into the Designer section.
  3. Verify and confirm connection details under Topology - Physical Architecture - Oracle and XML.
    • Oracle - AIA DS
    • Oracle - Oracle BRM DS
    • Oracle - Siebel DS
    • XML - AIA Config Properties DS
    • XML - Collection Action Name
    • XML - Collection Priority DS
    • XML - Collection Status Mapping
    • XML - Collection Substatus model
    • XML - Currency DS

Deploying Custom Components

This section describes how to deploy custom components.

You can deploy the following:

Deploying Custom AIA Artifacts

The deployment of the artifacts is done by AIA Installation Driver (AID). AID takes the deployment plan and the AIAInstallProperties.xml file as input. Based on the tags specified in the deployment plan, AID configures and deploys the artifacts onto the server.

AID supports the following deployment plans:
  • Main Deployment Plan
  • Supplementary Deployment Plan
  • Custom Deployment Plan

Main Deployment Plan is auto-generated by the Deployment Plan Generator. Whereas, Supplementary Deployment Plan and Custom Deployment Plan are handcoded. Support to add custom deployment tags to the main deployment plan is available through Pre-Install and Post-Install sections in the Deployment plan. However, the problem with using these sections is that the deployment plan may not be upgrade-safe. To mitigate the issue, supplementary and custom deployment plans are introduced. The supplementary deployment plan is used mostly by the internal Pre-Built Integration development team. Use custom deployment plan to meet the requirement of non-native artifact deployment plan.

The running sequence of deployment plans followed by AID is as follows:
  1. Main Deployment Plan
  2. (Optional) Supplementary Deployment Plan
  3. (Optional) Custom Deployment Plan

Note:

To facilitate durability across upgrades and patch updates, place the custom modified files in a directory path different from AIA-shipped PIP_Name DP.xml and PIP_Name SupplementaryDP.xml.

The following sections show the deployment commands for various deployment scenarios.

Deploying AIA Shipped Native Artifacts and Non-native Artifacts

This scenario does not involve any customizations. The following command takes the main deployment plan and the supplementary deployment plan which are shipped with the Pre-Built Integration installer as input.

Run this command inside the domain admin pod:
source $COMMS_AIA_HOME/comms_home/bin/commsenv.sh
ant -f $SOA_HOME/aiafp/Install/AID/AIAInstallDriver.xml \
-DPropertiesFile=$VOLUME_DIR/domains/$DOMAIN_NAME/soa/aia/bin/AIAInstallProperties.xml \
-DDeploymentPlan=$COMMS_HOME/pips/PIP_name/DeploymentPlans/PIP_nameDP.xml  \
-DSupplementaryDeploymentPlan=$COMMS_HOME/pips/PIP_name/DeploymentPlans/PIP_nameSupplementaryDP.xml  \
-DDeploymentPolicyFile=$COMMS_HOME/pips/PIP_name/DeploymentPlans/PIP_nameConditionalPolicy.xml
Deploying Modified AIA-shipped Artifacts

This section describes how to deploy modified AIA-shipped native and non-native artifacts.

Deploying Modified Native Artifacts and Original Non-native Artifacts

For modified native artifacts scenario, re-harvest the modified artifacts and regenerate the deployment plan, and name it as PIP_Name CustomDP.xml. Pass this as the main deployment plan, instead of the shipped deployment plan.

Run the following AID command inside the domain admin pod:
source $COMMS_AIA_HOME/comms_home/bin/commsenv.sh
ant -f $SOA_HOME/aiafp/Install/AID/AIAInstallDriver.xml \
-DPropertiesFile=$VOLUME_DIR/domains/$DOMAIN_NAME/soa/aia/bin/AIAInstallProperties.xml \
-DDeploymentPlan=$COMMS_HOME/pips/PIP_name/DeploymentPlans/PIP_nameCustomDP.xml  \
-DSupplementaryDeploymentPlan=$COMMS_HOME/pips/PIP_name/DeploymentPlans/PIP_nameSupplementaryDP.xml  \
-DDeploymentPolicyFile=$COMMS_HOME/pips/PIP_name/DeploymentPlans/PIP_nameConditionalPolicy.xml

Deploying Original Native Artifacts and Modified Non-native Artifacts

For the original native artifacts and modified non-native artifacts scenario, copy the contents of the shipped supplementary DP to a new file and name it as PIP_Name CustomSupplementaryDP.xml. Modify this file with the customizations. This is passed as the supplementary deployment plan, instead of the shipped supplementary DP.

Run the following AID command inside the domain admin pod:
source $COMMS_AIA_HOME/comms_home/bin/commsenv.sh
ant -f $SOA_HOME/aiafp/Install/AID/AIAInstallDriver.xml \
-DPropertiesFile=$VOLUME_DIR/domains/$DOMAIN_NAME/soa/aia/bin/AIAInstallProperties.xml \
-DDeploymentPlan=$COMMS_HOME/pips/PIP_name/DeploymentPlans/PIP_nameDP.xml  \
-DSupplementaryDeploymentPlan=$COMMS_HOME/pips/PIP_name/DeploymentPlans/PIP_nameCustomSupplementaryDP.xml  \
-DDeploymentPolicyFile=$COMMS_HOME/pips/PIP_name/DeploymentPlans/PIP_nameConditionalPolicy.xml
Deploying New or Custom Built Artifacts

This section discusses how to deploy newly added native and non-native artifacts.

Deploying Newly-added Native Artifacts and Original Non-native Artifacts

If you are introducing new native artifacts, harvest the new artifacts and regenerate the deployment plan for the new artifacts along with the shipped ones, and name it PIP_Name CustomDP.xml. Pass this as the main deployment plan, instead of the shipped deployment plan.

Run the following AID command inside the domain admin pod:

source $COMMS_AIA_HOME/comms_home/bin/commsenv.sh
ant -f $SOA_HOME/aiafp/Install/AID/AIAInstallDriver.xml \
-DPropertiesFile=$VOLUME_DIR/domains/$DOMAIN_NAME/soa/aia/bin/AIAInstallProperties.xml \
-DDeploymentPlan=$COMMS_HOME/pips/PIP_name/DeploymentPlans/PIP_nameCustomDP.xml  \
-DSupplementaryDeploymentPlan=$COMMS_HOME/pips/PIP_name/DeploymentPlans/PIP_nameSupplementaryDP.xml  \
-DDeploymentPolicyFile=$COMMS_HOME/pips/PIP_name/DeploymentPlans/PIP_nameConditionalPolicy.xml \
-l $COMMS_HOME/pips/PIP_name/DeploymentPlans/PIPDeploymentPlanName.log

Deploying Newly Added Non-native Artifacts

For new non-native artifacts scenario, add customizations to PIP_Name CustomDP.xml, which is an empty deployment plan shipped with the Pre-Built Integration. This custom plan is in the same location as the main plan. Pass this as Custom Deployment Plan to AID.

Run the following AID command inside the domain admin pod:
source $COMMS_AIA_HOME/comms_home/bin/commsenv.sh
ant -f $SOA_HOME/aiafp/Install/AID/AIAInstallDriver.xml \
-DPropertiesFile=$VOLUME_DIR/domains/$DOMAIN_NAME/soa/aia/bin/AIAInstallProperties.xml \
-DDeploymentPlan=$COMMS_HOME/pips/PIP_name/DeploymentPlans/PIP_nameDP.xml  \
-DSupplementaryDeploymentPlan=$COMMS_HOME/pips/PIP_name/DeploymentPlans/PIP_nameSupplementaryDP.xml  \
-DCustomDeploymentPlan=$COMMS_HOME/pips/PIP_name/DeploymentPlans/PIP_nameCustomDP.xml> \
-DDeploymentPolicyFile=$COMMS_HOME/pips/PIP_name/DeploymentPlans/PIP_nameConditionalPolicy.xml

The AIAInstallProperties.xml file contain the details of the AIA environment and is located at $VOLUME_DIR/domains/$DOMAIN_NAME/soa/aia/bin/AIAInstallProperties.xml.

Undeploying Services

The undeployment plan is generated at the same location as the deployment plan with the name PIP_Name UndeployDP.xml. The undeployment plan is generated only for native artifacts modified through the Project Lifecycle Workbench. This contains undeploy tasks for all the services deployed and the configurations done as part of the Deployment Plan. The undeployment plan is run using the AID.

The undeployment command is similar to the deployment plan command except for the input argument and an additional argument Uninstall. You run this command inside the domain admin pod.

For example, if you have used the following command to deploy modified native artifacts:
source $COMMS_AIA_HOME/comms_home/bin/commsenv.sh
ant -f $SOA_HOME/aiafp/Install/AID/AIAInstallDriver.xml \
-DPropertiesFile=$VOLUME_DIR/domains/$DOMAIN_NAME/soa/aia/bin/AIAInstallProperties.xml \
-DDeploymentPlan=$COMMS_HOME/pips/PIP_name/DeploymentPlans/PIP_nameDP.xml  \
-DSupplementaryDeploymentPlan=$COMMS_HOME/pips/PIP_name/DeploymentPlans/PIP_nameSupplementaryDP.xml  \
-DDeploymentPolicyFile=$COMMS_HOME/pips/PIP_name/DeploymentPlans/PIP_nameConditionalPolicy.xml
Then, the undeployment command would be:
source $COMMS_AIA_HOME/comms_home/bin/commsenv.sh
ant -f $SOA_HOME/aiafp/Install/AID/AIAInstallDriver.xml \
-DPropertiesFile=$VOLUME_DIR/domains/$DOMAIN_NAME/soa/aia/bin/AIAInstallProperties.xml Uninstall \
-DDeploymentPlan=$COMMS_HOME/pips/PIP_name/DeploymentPlans/PIP_nameUndeployDP.xml
For non-native artifacts, generate the undeployment plan manually:
  1. Copy the supplementary deployment plan and name it as PIP_Name UndeploySupplementaryDP.xml or PIP_Name UndeployCustomSupplementaryDP.xml, depending on the supplementary deployment plan name.
  2. In the new deployment plan, change the action attributes of all the tasks from deploy to undeploy or from create to delete.

Installing SSL Certificates

To install SSL certificates:

Note:

This procedure automates the process of importing certificates to kss-based keystore. If you wish to use jks-based keystore, you need to set it up manually.
  1. Create keystore credentials by running the following commands:

    Note:

    Ensure that certificates are available in the $AIA_DIR/oc-cn-aia-comms/helm-charts/aia-comms-chart/charts/aia-comms-certs/certificates directory and that proper management policies are used to store the private keys.
    cd $AIA_DIR/oc-cn-aia-comms/scripts/  
    ./create-keystore-secret.sh -h
    usage: ./create-keystore-secret.sh -k keystore -c custTrust -i custIdentity [-d domainUID] [-n namespace] [-h]
      -k  pasword for  KeyStore, must be specified.
      -c  password for  Cust Trust, must be specified.
      -i  password for Cust Identity , must be specified.
      -d domainUID, optional. The default value is soainfra. If specified, the secret will be labeled with the domainUID unless the given value is an empty string.
      -n namespace, optional. Use the soans namespace if not specified
      -h Help
  2. Run the following command, which creates Kubernetes secret:
    kubectl -n soa_namespace create secret generic secret_name --from-file=certificates
  3. Update values in the following files:
    • oc-cn-aia-comms/helm-charts/aia-comms-chart/values.yaml
    • oc-cn-aia-comms/helm-charts/aia-comms-chart/charts/aia-comms-certs/values.yaml
    The values to be updated are:
    • name: The Keystore name on which the operation is to be performed. For example, custTrust or CustIdentity.
    • identityKeyStoreName: The Keystore name of the Identity Keystore. For example, custIdentity.
    • trustKeyStoreName: The Keystore name of Custom Trust Keystore. For example, custTrust.
    • type: The type of the certificate which is to be imported, updated, and deleted. For example, TrustedCertificate.
    • For each Siebel certificate and OSM certificate to be imported, specify the following:
      • fileName: The certificate filename which is to be imported. This should be available in the aia-comms-chart/charts/aia-comms-certs/certificates directory.
      • alias: The alias name.
      • operation: The supported operation types are: import, delete, and update. Leave this value empty or commented in case no operation is required to be performed on either OSM certificate or Siebel certificate.

      Note:

      The helm chart execution supports adding, updating, and deleting the certificate. The mandatory fields are:
      • import: alias, fileName, operation
      • delete: alias, operation
      • update: alias, fileName (the file name of the new certificate to be updated), operation
  4. After the aia-comms-ssl-certificate-job completes, restart the domain to import, update, or delete the OSM certificate, Siebel certificate, or both certificates as specified in the values.yaml file of the chart.
    cd $AIA_DIR/oc-cn-aia-comms/helm-charts
     
    helm install aia-comms-certs\
         aia-comms-chart/charts/aia-comms-certs/ \
         --namespace namespace \
         --values ./aia-comms-chart/values.yaml \ 
         --values ./aia-comms-chart/charts/aia-comms-certs/values.yaml
     
    # Restart domain

Updating Files in AIA MDS

To update multiple files at once in AIA MDS:

  1. Update the following values.yaml files as per your requirement:

    $AIA_DIR/oc-cn-aia-comms/helm-charts/aia-comms-chart/values.yaml

    $AIA_DIR/oc-cn-aia-comms/helm-charts/aia-comms-chart/charts/aia-comms-update-mds/values.yaml

    See Global Parameters for details about the parameters.

    Table 6-1 Parameters in the values.yaml

    Parameter Description Example
    fileList List of files with their full paths in MDS.

    Note: This is the destination path where files need to be uploaded in MDS and not a source path where files are present in AIA PV at /u01/ shared/mds.

    soa/configuration/default/AIAConfigurationProperties.xml
    apps/AIAMetaData/config/AIAInstallProperties.xml
  2. Upload the files to AIA PV:
    kubectl cp File_to_be_Uploaded_in_MDS SOA_Admin_Pod:/u01/shared/mds/-n SOA_Namespace
  3. Run the following command:
    $ cd $AIA_DIR/oc-cn-aia-comms/helm-charts/
    $ helm install aia-comms-update-mds \
         aia-comms-chart/charts/aia-comms-update-mds/ \
         --namespace namespace \
         --values ./aia-comms-chart/values.yaml \
         --values ./aia-comms-chart/charts/aia-comms-update-mds/values.yaml
  4. Wait till the aia-comms-update-mds-job completes.
  5. Restart the domain.

    This validates the path in MDS.

Validating the AIA Cloud Native Deployment

To validate your AIA cloud native deployment:
  1. Verify the logs:
    1. Run the following command:
      kubectl exec -it admin_server -n namepspace –- bash
      
      cd $ORACLE_HOME/user_projects/domains/domain_name 
    2. Verify there are no errors in the log files.

    Note:

    If you want to verify the PIP deployment log, refer to the below log files within the admin server pod:
    • /u01/shared/logs/runconfig.log
    • /u01/shared/logs/setupo2c.log
    As these logs contain sensitive information, delete them once the validation is complete. For more information, see Oracle Communications Application Integration Architecture Security Guide.
  2. Verify the deployment of composites for Siebel CRM, OSM, and BRM. See "Verifying Composite Deployment" in the AIA Installation Guide for details. To generate a diagnostic report, see "Generating a Diagnostic Report."
  3. Test the order flow to check connectivity between Siebel, OSM, and BRM.