Thursday, March 07, 2013

Integration patterns/technologies

I was talking with a friend of mine about different options available for integrating one system with another. Following came up in my mind:
  1. File based - In this type of integration, one system send a file of transactions or records every predefined period of time. The protocol could be FTP/SFTP. The other system picks up the file and processes those records. Optionally it could respond by sending a file of its own that contain error transactions/records. The advantage of this approach is that it is simple and straitforward. However, it is not real time. Also, there is no inherent persistence other than file based.
  2. Database sharing - in this approach both systems read/write from a shared database. The disadvantage is that the database becomes owner of data. It is not real time inherently but could be implemented for real time by polling database
  3. Message based such as JMS/MQ - request/respond pattern can be implemented for real time integration
  4. WebServices/SOAP/Rest - real time.

No comments: