I would like to provide you a practical guide on application integration. I have come up with the patterns that we commonly use in integrating application.
Success of the integration project depends on selection of suitable design pattern.
The design patterns described below may be used as a reference for the developers and architects for building new integration process. Suitable design pattern should be selected for implementation as per customer requirement. Complex design pattern should be avoided to reduce cost of development and maintenance.
Find below the list of the standard patterns. This list is commonly followed approach in EAI.
Type | Pattern |
Message Processing | Synchronous Message Processing – Request Response Pattern |
Synchronous Message Processing – Request-Response pattern; Handle failed request asynchronously | |
Synchronous Message Processing – Request-Response pattern, handle both failed request and response asynchronously | |
Asynchronous Fire and Forget Pattern | |
Asynchronous Message Processing – Delayed response | |
Asynchronous Message Processing –Asynchronous Response. | |
Asynchronous Message Processing – Queue as staging area for requester messages | |
Asynchronous Message Processing – Queue as staging area for response messages | |
Asynchronous Message Processing – Queue as staging area for request message and response messages | |
Asynchronous Message Processing -Publish and Subscribe pattern | |
Asynchronous Message Processing-Requester read the status of messages from a database | |
FTP Processes | Standard FTP Process – One Source to One destination |
Standard FTP Process – One Source to Multiple (N) Destinations. | |
Standard FTP Process – Multiple Sources (N) to Multiple (N) Destinations. | |
Bulk Data Processing | Bulk data processing– Read database and call web services to process each records individually. |
Bulk data processing– Read the file and call web services to processes each record individually. | |
Bulk data processing– Read File from share directory, process each record individually and Merge and write back to the shared directory/FTP server. | |
Bulk data processing– Read File from FTP server and process each record individually and FTP the file. | |
Bulk data processing– Read multiple Files from FTP server and processes each record individually and FTP the files. | |
Bulk data processing – Single message containing multiple records | |
Sending reports in the mail – Read the database or file and produce a report in a scheduled process | |
Database Polling | Poll databases for new records |
Special Messaging Need | Asynchronous Message Processing – Message to be processed in order of receiving. |
Asynchronous Message Processing – Asynchronous Request, – Message set (co-related) to be processed in order irrespective of receiving order. | |
Message Coordination | Message aggregation |
Message Split | |
Message Orchestration | |
Messages Security | Authentication |
Encryption | |
Threat prevention in messages content. | |
Transport layer data protection | |
Message Storage | Database vs Message Queue |
Other Topics | Will Come up later |
Follow the next post for details of each design pattern.