Pritam Mukherjee Posted January 7, 2020 Share Posted January 7, 2020 Hi, We are creating a person data model using EBX MDM. The Person model will have tables like:- Person - here person demographic information will be stored like dob, gender, name etc. Pk- Person_sid. Address- Here Address will be stored. Only unique Addresses. Pk - Address_sid. Person-Address- Here person to Address relationship will be stored. Person_sid and Address_sid link. Contact Methods - Here person's Phone/Email will be stored. Person_sid will be FK here. Identifier- here person's SSN, DL etc. will be stored.Person_sid will be FK here. Our EBX version is 5.8.1. Our Data volume is 6 million. The dataspace is Relational (we dont need workflow for the person data) My question is we need to have global trasnaction (composite txn) flavor to add a complete person record across multiple tables. From External source we will get the Person Data in batch file and Near real time (in queue) feed. The request can be add or update. How to develop composite services in EBX By composite i mean the global transaction which will add/update multiple tables and either whole trasnaction will be success or fail. Also after the global transaction/composite transaction is successful, we need to send Delta changes (what got added or chnaged in the current transaction context) to consumer applications via messaging. We have AMQ topic from which consumers will pick up the messages. If you can suggest us how these composite transaction and publish messages can be implemented in EBX, that will be super helpful. Please do let me know if you need anything. Link to comment Share on other sites More sharing options...
Christian MAYOR Posted February 4, 2020 Share Posted February 4, 2020 Hello, You can usejavax.jms.MessageProducer for publishing your messages. Regards, Link to comment Share on other sites More sharing options...
Pritam Mukherjee Posted February 4, 2020 Author Share Posted February 4, 2020 Hi, We are using JMS api to publish the message. Question is how to get the CDC (change data capture). Lets say in a transaction only person SSN is changed, then the ask is only send the person key and SSN. Not address/phone etc. which has no change. Link to comment Share on other sites More sharing options...
Christian MAYOR Posted February 4, 2020 Share Posted February 4, 2020 You can create a snapshot before modifications (create or update)and another one after modifications . Then use : DifferenceBetweenHomes diff= DifferenceHelper.compareHomes(snapshot1,snapshot2, false/true); then, iterate for each table usingdiff variable and compare each fieldfor each tabletable. Link to comment Share on other sites More sharing options...
Christian MAYOR Posted February 4, 2020 Share Posted February 4, 2020 You can create a snapshot before modifications (create or update) and another one after modifications . Then use : DifferenceBetweenHomes diff= DifferenceHelper.compareHomes(snapshot1,snapshot2, false/true); then, iterate for each table using diff variable and compare each field for each table table. Link to comment Share on other sites More sharing options...
Pritam Mukherjee Posted February 4, 2020 Author Share Posted February 4, 2020 Hi, The data is getting changed by batch loads (multiple scheduled times a day) and real time calls (any time). from external systems. And the ask is to send the change details after the transaction is done (near real time fashion). the data space is relational and volume is appx 40-50K per day (new add/ update). Link to comment Share on other sites More sharing options...
Christian MAYOR Posted February 4, 2020 Share Posted February 4, 2020 You can use the trigger beforeCreation/Modifiation, afterCreation/Modifiation and execute the steps of the previous comment. Or create a web service for the update/creation and in the end execute the steps of the previous comment. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now