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
- The flyway scripts for creation of Multi entity admin user (MEADMIN1 and MEADMIN2) would be executed through plato-api-gateway.
- 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.- 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.