Total Pageviews

Monday, July 6, 2015

Integration Design patterns in Salesforce

Has this been your reaction when trying to navigate your path around design patterns especially when it involves patterns governing integration !! Well to be  honest technical jargon always gets to my nerves , but after the initial jerky reaction I always take it upon me to demystify / simplify it.

So what are "Design Patterns"? 
As per Wikipedia -   design pattern is a general reusable solution to a commonly occurring problem within a given context in software design. A design pattern is not a finished design that can be transformed directly into source or machine code. It is a description or template for how to solve a problem that can be used in many different situations. 

In layman's language - its a solution approach one should adopt for a certain category of recurring problem statement. For example one has to come up with a "Contingency plan for a natural disaster" what would be the main steps to formulate a strategy?
1. Evaluate the vulnerability of the area under inspection
2. Find the steps to reduce damage and vulnerability
                  3. What would be the precaution each can take.
                  4. Have an advance warning system if possible.
                  5. Formulate a relief and rescue strategy

So be it a earthquake/ floods or any other natural calamity the basic steps will follow above pattern.

What are the main types of design patterns?

  • Algorithm strategy patterns
  • Computational design patterns
  • Execution patterns 
  • Implementation strategy patterns
Another school of thought goes by the following classification:-
  • Creational Design Pattern
  • Structural Design Pattern
  • Behavioral Design Pattern 

 Lets leave the general design pattern and dive into design patterns associated with SFDC Integration.

Broadly all integration design pattern are classified into:-
1. Data - These service the need for taking or synchronizing data from one system to another. Mostly the purpose of these integration is to see that both system have meaningful data. These type of integration are supposed to be the simplest.
2. Process - Here the two different system target and source communicate to service a business process related requirement.These might require complex design and implementation and involve multiple systems, where the one invoking the other systems may be the controller while other act like members of an orchestra .

There are certain things which need to be considered while embarking over a type of design pattern. the main considerations are:-

1. Source / Target systems

2.Type of integration (Data/ Process)

3.. Timing (Synchronous/ Asynchronous)

We would deep dive on those aspects in a followup blog.


  1. This is the worthy content that i have seen ever. The way you have presented this article is really awesome. By the way you are running a great blog. Thanks for sharing and just keep up this good work.

    Salesforce developer training in Chennai
    Salesforce administrator training in chennai

  2. Salesforce is the cloud based tool which is used by most of the professional who do CRM. Salesforce is the cost effective tool.
    salesforce training in chennai|salesforce training institute in chennai|salesforce training institutes in chennai|salesforce course in chennai

  3. What i really like about salesforce is its user friendly UI and it is a cloud based tool so it can be accessed from any where. Also there is a mobile app and the features are such that any sales rep would fall for it.
    salesforce training in chennai|salesforce training institute in chennai|salesforce training institutes in chennai

  4. Cloud computing is the next big thing, through cloud the users have the liberty to use a shared network. The companies can focus on core business parts rather than investing heavily on infrastucture.
    cloud computing training in chennai|cloud computing courses in chennai|cloud computing training

  5. Nowadays, most of the businesses rely on cloud based CRM tool to power their business process. They want to access the business from anywhere and anytime. In such scenarios, salesforce CRM will ensure massive advantage to the business owners. Salesforce Training | Salesforce Training in Chennai

  6. This was really an informative post, thanks for sharing the tips with us.

    Salesforce CRM Services

  7. This was really an informative post, thanks for sharing the tips with us.
    SSRS training in chennai

  8. I feel really happy to have seen your webpage and look forward to so many more entertaining times reading here. Thanks once more for all the details.
    Best Python Training Institute in Bangalore

  9. The information which you have provided is very good. It is very useful who is looking for salesforce Online Training