Integration Design Pattern

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.