We are working on a integration between two large systems. System A is a database with employee data, and System B is an external system that is used for the daily contact with the customers (i.e meetings, locationdata,work order,work status, and so on). We will deploy a ESB in the middle.
There are 3 instances of System A, and 1 instance of System B. This is due to legal restrictions and we cannot have all System A data in the same database.
In System B we have 20-30 active contacts each day, where some of the data from System A is used continously.
We need to update meeting, location, and work status in System B throughout the day. And have two proposed solutions for integrating these systems.
Solution A: Publish-Subscribe - System A sends out update messages (This is based on HL7 ADT Standards) and the instance of System B picks up the data that is for them. This is done as broadcast and will generate 1000-10000 messages pr day. It will send information from System A on all employees, thus generating a message for every employee in System A (1,2,3). There is only a subset of employees from System A that is "active" and interesting for updates in System B. But messages will flow on ALL employees since data is updated by other systems aswell.
Soltion B: System B ask for updated information through a request-reply solution. Will generate empty calls, but will only ask for the employees "active" in System B on given day.
Comments on solutions? Pros - Cons? What is the most infrastructure "heavy" solution between these two?
Hope there is someone out there who could give me som pointers :)