6 Multi Entity Configuration

This topic describes the information about the multi entity configuration for Oracle Banking Microservices Architecture services.

Enable Multi Entity

By Default, Multi Entity is disabled.

To enable Multi Entity, add jvm argument as -Dmulti.entity.enabled=true.

Create Default Entity

Default entity creation is described as follows:

  • A new column ENTITY_ID will be introduced in the APPLICATION_LEDGER table in the PLATO schema with default value as “DEFAULTENTITY”. This will get executed as a part of flyway for plato-config-service-{version}.war.
  • A new table “SERVICE_REGISTRY” will be introduced in the PLATO schema. This table will contain the AppId and microservice name of all the microservices. This will get executed as a part of flyway for plato-config-service-{version}.war.
  • A new table “PLATO_TM_ENTITY” will be introduced in the PLATO SECURITY schema with a single entry for “DEFAULTENTITY”. This will get executed as a part of the flyway scripts for plato-api-gateway-{version}.war.
  • A new table “PLATO_TM_USER_ENTITY_MAPPING” will be introduced in the PLATO SECURITY schema which will also get executed as part of the flyway scripts for plato-api-gateway-{version}.war.
  • Only for Existing Customers: For users already maintained in SMS, users must be replicated to PLATO_TM_USER_ENTITY_MAPPING for the DEFAULTENTITY.
  • The sample query is as follows:

    INSERT INTO PLATO_TM_USER_ENTITY_MAPPING (ID, USER_ID , ENTITY_ID ,HOME_ENTITY,MULTI_ENTITY_ADMIN,USER_NAME,ENTITY_ADMIN,EMAIL,START_DATE,END_DATE)

    SELECT ID , USER_LOGIN_ID ,'DEFAULTENTITY'

    ,'Y','N',USER_NAME,'N',USER_EMAIL,START_DATE,END_DATE FROM

    PLATOSMS.SMS_TM_USER

    PLATOSMS – SMS schema for the DEFAULTENTITY

  • If the customer wishes to change the default entity ID, it can be done by changing the ENTITY_ID column value in the PLATO_TM_ENTITY , APPLICATION_LEDGER & PLATO_TM_USER_ENTITY_MAPPING table. It is considered that the entity schemas are same and only entity ID is changed.

Create Multi-Entity Admin User

To create multi-entity user, perform below steps:
  1. Execute the below scripts at the path in the OSDC zip.

    The user are prompted to enter the multi-entity admin user Id and language code.

    • For new users: <<PRODUCT_NAME>>_INITIAL_SETUP\INSTALL\PLATO\INS_PLATO_SEC_ME_ADMIN_USER_CREATION_14.6.0.0.0.sql
    • For existing users: <<PRODUCT_NAME>>_INITIAL_SETUP\UPGRADE\PLATO\INS_PLATO_SEC_ME_ADMIN_USER_CREATION_14.6.0.0.0.sql.
  2. Create the multi-entity admin user in the LDAP.

Create Entity

Using the Multi-entity admin created in the previous step, log in to the app-shell and create the entities.

Note:

Refer to Oracle Banking Multi Entity Deployment Guide for the procedure to create an entity.
When the multi entity admin create an entity, the following processes executes in the background:
  • The entity details are saved in the PLATO_TM_ENTITY table.
  • The JNDIs are saved in the APPLICATION_LEDGER table.
  • The flyway scripts for all the micro services gets executed in their respective schemas.
  • Once the flyway execution is completed, a new role ENTITY_ADMIN is created in the entity. This step inserts the scripts into the following tables:
    • SMS_TM_ROLE
    • SMS_TW_ROLE
    • SMS_TM_ROLE_ACTIVITY
    • SMS_TW_ROLE_ACTIVITY

      This role is assigned to the entity admin user in the user creation step.

  • The Head Office branch details are inserted into the CMC_TM_CORE_BRANCH and CMC_TW_CORE_BRANCH tables.
  • The Bank details are inserted into the CMC_TM_CORE_BANK and CMC_TW_CORE_BANK tables.
  • The System dates are inserted into the CMC_TM_SYSTEM_DATES and CMC_TW_SYSTEM_DATES tables.

Create User

Make sure that the entity creation step is complete before creating users.

  • Create the users in the LDAP.
  • Multi entity admin must login to the app-shell and create entity admins and users.

    Note:

    Refer to Oracle Banking Multi Entity Deployment Guide for the procedure to create users.
  • The entity admins and user details will be stored in the PLATO_TM_USER_MAPPING table in the security schema.
  • For the entity admins scripts will be executed in the SMS schema in the following tables to assign the ENTITY_ADMIN role to the entity admin users.
    • sms_tm_user
    • sms_tw_user
    • sms_tm_user_role_branch
    • sms_tw_user_role_branch
    • sms_tm_user_application
    • sms_tw_user_application
  • The entity admins need to log in to the app-shell, and provide the missing user details, assign roles and branches to users.