Configuring Arrangement Microservice
This section helps you to perform the required configuration in Arrangement microservice.
It includes two configurations:
Configuration Properties are available in arrangement.yml and api is the container used for internal ingestion.
The following are the property configuration required.
|
PROPERTY |
DEFAULT VALUE |
DESCRIPTION |
|---|---|---|
|
HOST |
db-service |
Host name of the database |
|
PORT |
3306 |
port number of the database |
|
DATABASE_NAME |
arrangement |
database name |
|
DB_USERNAME |
root |
database username |
|
DB_PASSWORD |
my-secret-pw |
database password |
|
DRIVER_NAME |
com.mysql.jdbc.Driver |
database driver name |
|
DIALECT |
org.hibernate.dialect.MySQL5InnoDBDialect |
database dialect |
|
DB_CONNECTION_URL |
jdbc:mysql://${HOST}:${PORT}/${DATABASE_NAME} |
database connection url |
|
MIN_POOL_SIZE |
10 |
database min pool connection |
|
MAX_POOL_SIZE |
150 |
database max pool connection |
|
DATABASE_KEY |
sql |
database key |
|
tem.msf.disableInbox |
"true" |
To Enable Inbox-Outbox feature |
|
class.inbox.dao |
com.temenos.microservice.framework.core.inbox.InboxDaoImpl |
Inbox Features implementation |
|
class.outbox.dao |
com.temenos.microservice.framework.core.outbox.OutboxDaoImpl |
Outbox Features implementation |
|
temn.msf.outbox.stream.vendor |
kafka |
IP of Stream vendor for outbox |
|
temn.msf.stream.kafka.bootstrap.servers |
kafka:29092 |
IP and port of bootstrap server |
|
temn.msf.ingest.outbox.cache.namespace |
arrangement-outbox |
Outbox cache namespace |
|
tmn.ignite.host |
cache-service |
Ignite host name |
|
tmn.ignite.port |
10800 |
Inginte host port |
|
className_getHealthCheck |
com.temenos.microservice.framework.core.health.GetHealthCheckImpl |
Health Check Implementation |
|
API_HEALTH_CHECK_BUSINESS_CONDITION |
com.temenos.microservice.arrangement.function.BusinessConditionImpl |
Business condition health check Implementation |
|
API_HEALTH_CHECK_URIS_PROPERTY |
api.properties |
Property file used for health check |
|
temn.msf.security.authz.enabled |
"true" |
To enable xacml validation |
|
PDP_CONFIG |
classpath:xacml/pdp-config.xml |
Location of the xacml policy config file |
|
temn.msf.pdp.resource.type |
API |
Resource Type used on xacml policy |
|
temn.msf.pdp.resource.manager |
ARRANGEMENT |
Resource Manager used in xacml policy |
|
ms.security.tokencheck.enabled |
N |
To Enable Entitlement token check |
|
temn.entitlement.service.enabled |
"false" |
To configure if entitlement service is enabled or not |
|
temn.entitlement.service.base.path |
http://localhost:8095/ms-entitlement-api/api/v1.0.0 |
Base url of the entitlement service |
|
temn.entitlement.service.resource.path |
system/entitlements/users/{userId}/roles |
Resource path of the entitlement service |
|
temn.entitlement.stubbed.service.enabled |
"false" |
Configure if entitlement stubbed service enabled |
|
temn.entitlement.service.api.key |
<x-api-key here> |
entitlement api key |
|
ID_TOKEN_SIGNED |
"false" |
Signesd token configuration for fabric |
|
JWT_TOKEN_ISSUE |
Fabric |
Token issuer for fabric |
|
JWT_TOKEN_PRINCIPAL_CLAIM |
FABRICUSER |
Token Principal claim for fabric |
|
temn.keystore.database.url |
jdbc:mysql://${HOST}:${PORT}/${DATABASE_NAME} |
Keystore database url |
|
temn.keystore.database.driver |
com.mysql.cj.jdbc.Driver |
Keystore database driver |
|
temn.keystore.database.user |
${DB_USERNAME} |
Keystore database user |
|
temn.keystore.database.password |
${DB_PASSWORD} |
Keystore database password |
The api.properties is used to configure the ingestion. The db.properties is used to configure database connectivity.The above files are available in the ms-holdings-api.war\WEB-INF\classes\properties\ path.
The following are the property configuration required.
api.properties
|
PROPERTY |
DEFAULT VALUE |
|---|---|
|
tem.msf.disableInbox |
true |
|
className_getHealthCheck |
com.temenos.microservice.framework.core.health.GetHealthCheckImpl |
|
API_HEALTH_CHECK_BUSINESS_CONDITION |
com.temenos.microservice.arrangement.function.BusinessConditionImpl |
|
API_HEALTH_CHECK_URIS_PROPERTY |
api.properties |
|
temn.msf.security.authz.enabled |
true |
|
PDP_CONFIG |
classpath:xacml/pdp-config.xml |
|
temn.msf.pdp.resource.type |
API |
|
temn.msf.pdp.resource.manager |
ARRANGEMENT |
|
ms.security.tokencheck.enabled |
N |
|
temn.entitlement.service.enabled |
false |
|
temn.entitlement.service.base.path |
http://localhost:8095/ms-entitlement-api/api/v1.0.0 |
|
temn.entitlement.service.resource.path |
system/entitlements/users/{userId}/roles |
|
temn.entitlement.stubbed.service.enabled |
false |
|
temn.entitlement.service.api.key |
<x-api-key here> |
|
ID_TOKEN_SIGNED |
false |
|
JWT_TOKEN_ISSUE |
Fabric |
|
JWT_TOKEN_PRINCIPAL_CLAIM |
FABRICUSER |
|
MS.ENC.KEY |
temenos |
|
MS.ENC.ALGORITHM |
PBEWithMD5AndTripleDES |
db.properties
|
PROPERTY |
DEFAULT VALUE |
DESCRIPTION |
|---|---|---|
|
database.name |
arrangement |
Database name |
|
db.username |
root |
Database username |
|
db.password |
ENC(8B3GzKNNkSoa38RxLIkx4Jy+rj+5eeO3) |
Data password encrypted |
|
driver.name |
com.mysql.cj.jdbc.Driver |
Database driver name |
|
dialect |
org.hibernate.dialect.MySQL5InnoDBDialect |
Database Dialect |
|
db.connection.url |
jdbc:mysql://localhost:4300/arrangement |
Database db connection url |
|
db.minpoolsize |
10 |
Database min pool connection |
|
db.maxpoolsize |
150 |
Database max pool connection |
|
PROPERTY |
EXISTING VALUE |
TO BE UPDATED AS |
DESCRIPTION |
|---|---|---|---|
|
AWS_ACCESS_KEY_ID |
Developer's credentials |
AWS Account Access Id |
|
|
AWS_SECRET_ACCESS_KEY |
Developer's credentials |
AWS Account Secret Key |
|
|
AWS_REGION |
Developer's credentials |
AWS Account Region |
|
|
Stream creation value after this command: aws kinesis create-stream --stream-name |
data-event-arrangement |
As configured inT24 DES. |
the topic for streaming to Account Aggregation. |
|
temn_msf_security_authz_enabled |
true |
true or false |
enable/disable the XACML policy authorization |
|
ms_security_tokencheck_enabled |
Y |
Y or N |
enable/disable the JWT token authorization |
|
JWT_TOKEN_ISSUER |
Fabric |
Issue value present in XACML Policy file |
The JWT token issuer to be sent in iss field in JWT token |
|
JWT_TOKEN_PRINCIPAL_CLAIM |
FABRICUSER |
The value should match with JWT token used |
Principal Claim to be sent in subfield in JWT token |
|
PROPERTY |
EXISTING VALUE |
|---|---|
|
RESOURCE_GROUP_NAME |
nas-ssl-sandyyyaccagg |
|
APP_NAME |
arrangementapp |
|
LOCATION |
northeurope |
|
DB_NAME_SPACE |
sqlarrangementdb |
|
DB_USERNAME |
sand@sqlarrangementdb |
|
DB_PASSWORD |
rootroot@1234 |
|
DB_CONNECTION_URL |
jdbc:mysql://sqlarrangementdb.mysql.database.azure.com:3306/arrangement |
|
HOST |
sqlarrangementdb.mysql.database.azure.com |
|
PORT |
3306 |
|
ADMIN_USER_NAME |
sand |
|
EVENT_HUB_NAME_SPACE |
AccAgg-Kafka |
|
EVENT_HUB |
account-event |
|
REGISTRY_URL |
account-event |
|
KAFKA_SERVER |
accagg-kafka.servicebus.windows.net:9093 |
|
context-event |
context-event |
|
temn_msf_security_authz_enabled |
false |
|
ms_security_tokencheck_enabled |
Y |
|
JWT_TOKEN_ISSUER |
Fabric |
|
JWT_TOKEN_PRINCIPAL_CLAIM |
FABRICUSER |
|
T24APP_NAME |
amst24ingester |
|
REGISTRY_URL |
data-event |
|
temn_config_extension_file_path |
path:/etc/mapping/avro/ |
|
temn_config_file_path |
path:/etc/mapping/avro/ |
|
T24EVENT_HUB |
data-event |
|
T24EVENT_HUB_NAME_SPACE |
AccAgg-Kafka |
|
JAR_NAME |
ms-arrangement |
|
JAR_VERSION |
DEV.0.0-SNAPSHOT |
|
T24EVENT_HUB_NAME_SPACE |
AccAgg-Kafka |
It includes two configurations.
Configuration Properties are available in arrangement.yml.
Ingester is the container used for internal ingestion
The following are the property configuration required.
|
PROPERTY |
DEFAULT VALUE |
|---|---|
|
temn.msf.stream.vendor |
kafka |
|
temn.msf.schema.registry.url |
http://schema-registry:27100 |
|
temn.msf.stream.kafka.bootstrap.servers |
kafka:23300 |
|
temn.msf.ingest.source.stream |
external-account-event |
|
temn.msf.ingest.source.stream.consumergroup.id |
saapmss-partysarrangement-consumer |
|
temn.msf.ingest.sink.error.stream |
error-aggregation |
|
temn.msf.ingest.sink.error.enabled |
"true" |
|
temn.msf.ingest.event.ingester |
com.temenos.microservice.framework.core.ingester.MicroserviceIngester |
|
temn.msf.ingest.is.avro.event.ingester |
"false" |
|
temn.ingester.mapping.enabled |
"false" |
|
temn.msf.ingest.generic.ingester |
com.temenos.microservice.arrangement.ingester.AccountAggregationIngester |
|
context-event |
context-event |
|
class.inbox.dao |
com.temenos.microservice.framework.core.inbox.InboxDaoImpl |
|
class.outbox.dao |
com.temenos.microservice.framework.core.outbox.OutboxDaoImpl |
|
serviceadaptor.preprocessorimpl.class |
com.temenos.microservice.arrangement.core.AmsTokenGenerator |
|
temn.msf.ingest.thread.count |
1 |
|
temn.msf.ingest.consumer.max.poll.records |
1 |
|
HOST |
db-service |
|
PORT |
3306 |
|
DATABASE_NAME |
arrangement |
|
DB_USERNAME |
root |
|
DB_PASSWORD |
my-secret-pw |
|
DRIVER_NAME |
com.mysql.jdbc.Driver |
|
DIALECT |
org.hibernate.dialect.MySQL5InnoDBDialect |
|
DB_CONNECTION_URL |
jdbc:mysql://${HOST}:${PORT}/${DATABASE_NAME} |
|
MIN_POOL_SIZE |
10 |
|
MAX_POOL_SIZE |
150 |
|
DATABASE_KEY |
sql |
The dataIngester.properties is used to configure the ingestion. The db.properties is used to configure database connectivity. The above files are available in the ms-holdings-binary-ingester.war\WEB-INF\classes\properties\ path.
The following are the property configuration required.
commandIngester.properties
|
PROPERTY |
DEFAULT VALUE |
|---|---|
|
temn.msf.stream.vendor |
kafka |
|
temn.msf.schema.registry.url |
http://10.94.2.34:8081 |
|
temn.msf.stream.kafka.bootstrap.servers |
10.94.2.34:29092 |
|
temn.msf.ingest.source.stream |
external-account-event |
|
temn.msf.ingest.source.stream.consumergroup.id |
saapmss-partysarrangement-consumer |
|
temn.msf.ingest.sink.error.stream |
error-aggregation |
|
temn.msf.ingest.sink.error.enabled |
true |
|
temn.msf.ingest.event.ingester |
com.temenos.microservice.framework.core.ingester.MicroserviceIngester |
|
temn.msf.ingest.is.avro.event.ingester |
false |
|
temn.ingester.mapping.enabled |
false |
|
temn.msf.ingest.generic.ingester |
com.temenos.microservice.arrangement.ingester.AccountAggregationIngester |
|
class.inbox.dao |
com.temenos.microservice.framework.core.inbox.InboxDaoImpl |
|
class.outbox.dao |
com.temenos.microservice.framework.core.outbox.OutboxDaoImpl |
|
serviceadaptor.preprocessorimpl.class |
com.temenos.microservice.arrangement.core.AmsTokenGenerator |
|
temn.msf.ingest.thread.count |
1 |
|
temn.msf.ingest.consumer.max.poll.records |
1 |
|
MS.ENC.KEY |
temenos |
|
MS.ENC.ALGORITHM |
PBEWithMD5AndTripleDES |
db.properties
|
PROPERTY |
DEFAULT VALUE |
DESCRIPTION |
|---|---|---|
|
database.name |
arrangement |
Database name |
|
db.username |
root |
Database username |
|
db.password |
ENC(8B3GzKNNkSoa38RxLIkx4Jy+rj+5eeO3) |
Data password encrypted |
|
driver.name |
com.mysql.cj.jdbc.Driver |
Database driver name |
|
dialect |
org.hibernate.dialect.MySQL5InnoDBDialect |
Database Dialect |
|
db.connection.url |
jdbc:mysql://localhost:4300/arrangement |
Database db connection url |
|
db.minpoolsize |
10 |
Database min pool connection |
|
db.maxpoolsize |
150 |
Database max pool connection |
It includes two configurations.
Configuration Properties are available in arrangement.yml. IngesterT24 is the container used for internal ingestion.
The following are the property configuration required.
|
PROPERTY |
DEFAULT VALUE |
DESCRIPTION |
|---|---|---|
|
temn.msf.stream.vendor |
kafka |
data stream vendor name |
|
temn.msf.schema.registry.url |
http://schema-registry:8081 |
url of the schema registry |
|
temn.msf.stream.kafka.bootstrap.servers |
kafka:29092 |
ip and port of kafka bootstrap server |
|
temn.msf.ingest.source.stream |
assembled-event |
source stream of the incoming event |
|
temn.msf.ingest.source.stream.consumergroup.id |
ms-arrangement-consumer |
id of the consumer consuming the event |
|
temn.msf.ingest.sink.error.stream |
error-ams |
error topic name |
|
temn.msf.ingest.sink.error.enabled |
"true" |
property to enable writing data into error topic |
|
temn.msf.ingest.event.ingester |
com.temenos.microservice.framework.core.ingester.MicroserviceIngester |
Framework class file used for multi event ingestion |
|
temn.config.file.path |
path:/etc/mapping/avro/ |
path where the jolt spec files are located |
|
temn.msf.ingest.is.multi.event.data |
"true" |
Is the incoming data is multi event |
|
temn.ingester.mapping.enabled |
"false" |
is the jolt spec mapping is handled at framework level |
|
temn.msf.ingest.multi.event.ingester.class |
com.temenos.microservice.arrangement.ingester.PartyArrangementIngester |
Class name of AMS which is triggered for ingestion |
|
class.inbox.dao |
com.temenos.microservice.framework.core.inbox.InboxDaoImpl |
class names for inboxoutbox feature |
|
class.outbox.dao |
com.temenos.microservice.framework.core.outbox.OutboxDaoImpl |
class names for inboxoutbox feature |
|
serviceadaptor.preprocessorimpl.class |
com.temenos.microservice.arrangement.core.AmsTokenGenerator |
Token generation implementation class |
|
temn.msf.ingest.thread.count |
1 |
To configure No of ingestion thread |
|
temn.msf.ingest.consumer.max.poll.records |
1 |
To configure max poll size for the ingestion thread |
|
HOST |
db-service |
Host name of the database |
|
PORT |
3306 |
port number of the database |
|
DATABASE_NAME |
arrangement |
database name |
|
DB_USERNAME |
root |
database username |
|
DB_PASSWORD |
my-secret-pw |
database password |
|
DRIVER_NAME |
com.mysql.jdbc.Driver |
database driver name |
|
DIALECT |
org.hibernate.dialect.MySQL5InnoDBDialect |
database dialect |
|
DB_CONNECTION_URL |
jdbc:mysql://${HOST}:${PORT}/${DATABASE_NAME} |
database connection url |
|
MIN_POOL_SIZE |
10 |
database min pool connection |
|
MAX_POOL_SIZE |
150 |
database max pool connection |
|
DATABASE_KEY |
sql |
database key |
|
CUSTOMER |
com.temenos.microservice.arrangement.entity.PartyDetails |
Configuration of which event maps to which entity extension data and alternate key updation |
|
AA_ARRANGEMENT |
com.temenos.microservice.arrangement.entity.Arrangement |
|
|
AA_ARR_OFFICERS |
com.temenos.microservice.arrangement.entity.Arrangement |
|
|
AA_ARR_ACCOUNT |
com.temenos.microservice.arrangement.entity.Arrangement |
|
|
AA_ARR_PAYMENT_SCHEDULE |
com.temenos.microservice.arrangement.entity.Arrangement |
|
|
AA_ACCOUNT_DETAILS |
com.temenos.microservice.arrangement.entity.Arrangement |
|
|
AA_ARR_CUSTOMER |
com.temenos.microservice.arrangement.entity.Arrangement |
The dataIngester.properties is used to configure the ingestion. The db.properties is used to configure database connectivity. The above files are available in the ms-arrangement-data-ingester.war\WEB-INF\classes\properties\ path.
The following are the property configuration required.
dataIngester.properties
|
PROPERTY |
DEFAULT VALUE |
|---|---|
|
temn.msf.stream.vendor |
kafka |
|
temn.msf.schema.registry.url |
http://schema-registry:8081 |
|
temn.msf.stream.kafka.bootstrap.servers |
kafka:29092 |
|
temn.msf.ingest.source.stream |
assembled-event |
|
temn.msf.ingest.source.stream.consumergroup.id |
ms-arrangement-consumer |
|
temn.msf.ingest.sink.error.stream |
error-ams |
|
temn.msf.ingest.sink.error.enabled |
true |
|
temn.msf.ingest.event.ingester |
com.temenos.microservice.framework.core.ingester.MicroserviceIngester |
|
temn.config.file.path |
path:C:\\Testing\\avro\\ |
|
temn.msf.ingest.is.multi.event.data |
true |
|
temn.ingester.mapping.enabled |
false |
|
temn.msf.ingest.multi.event.ingester.class |
com.temenos.microservice.arrangement.ingester.PartyArrangementIngester |
|
class.inbox.dao |
com.temenos.microservice.framework.core.inbox.InboxDaoImpl |
|
class.outbox.dao |
com.temenos.microservice.framework.core.outbox.OutboxDaoImpl |
|
serviceadaptor.preprocessorimpl.class |
com.temenos.microservice.arrangement.core.AmsTokenGenerator |
|
temn.msf.ingest.thread.count |
1 |
|
temn.msf.ingest.consumer.max.poll.records |
1 |
|
MS.ENC.KEY |
temenos |
|
MS.ENC.ALGORITHM |
PBEWithMD5AndTripleDES |
|
CUSTOMER |
com.temenos.microservice.arrangement.entity.PartyDetails |
|
AA_ARRANGEMENT |
com.temenos.microservice.arrangement.entity.Arrangement |
|
AA_ARR_OFFICERS |
com.temenos.microservice.arrangement.entity.Arrangement |
|
AA_ARR_ACCOUNT |
com.temenos.microservice.arrangement.entity.Arrangement |
|
AA_ARR_PAYMENT_SCHEDULE |
com.temenos.microservice.arrangement.entity.Arrangement |
|
AA_ACCOUNT_DETAILS |
com.temenos.microservice.arrangement.entity.Arrangement |
|
AA_ARR_CUSTOMER |
com.temenos.microservice.arrangement.entity.Arrangement |
db.properties
|
PROPERTY |
DEFAULT VALUE |
DESCRIPTION |
|---|---|---|
|
database.name |
arrangement |
Database name |
|
db.username |
root |
Database username |
|
db.password |
ENC(8B3GzKNNkSoa38RxLIkx4Jy+rj+5eeO3) |
Data password encrypted |
|
driver.name |
com.mysql.cj.jdbc.Driver |
Database driver name |
|
dialect |
org.hibernate.dialect.MySQL5InnoDBDialect |
Database Dialect |
|
db.connection.url |
jdbc:mysql://localhost:4300/arrangement |
Database db connection url |
|
db.minpoolsize |
10 |
Database min pool connection |
|
db.maxpoolsize |
150 |
Database max pool connection |
In this topic