1 / 13

Integration Design Patterns

Integration Design Patterns. Agenda – Integration Design Patterns. Integration Needs REST Vs SOAP Request and Reply Fire and Forget Batch Data Synchronization Remote Call-In UI Data update based on Data Changes Security Considerations Pattern Selection Guide. Integration Needs.

jferrell
Download Presentation

Integration Design Patterns

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Integration Design Patterns

  2. Agenda – Integration Design Patterns • Integration Needs • REST Vs SOAP • Request and Reply • Fire and Forget • Batch Data Synchronization • Remote Call-In • UI Data update based on Data Changes • Security Considerations • Pattern Selection Guide

  3. Integration Needs • Multiple Systems in the Organization eco system • Business process distributed across applications. • State of relevant Records to be tracked across systems and keep them in Sync.

  4. SOAP • Simple Object Access Protocol, XML Data over http • Contract Based(WSDL), describes methods and data types • Most Programming languages natively support • Supports Secure data transfer via SSL/TLS • Encryption of portion of message using WS Security(though Salesforce doesn’t support).

  5. REST • Representational State Transfer • REST exposes resources(entities/Objects) as URIs and uses HTTP Verbs to define CRUD operations on these resources • Requires no Pre-defined contract • Response in XML or JSON • Lightweight simple integration • Best for bulk data operations • OAuth for authorization

  6. Request and Reply • Problem Statement: Initiate a process in Remote system on occurrence of an event in Salesforce, receive the response and use the response data for updates in Salesforce. • Considerations: • Does the Remote system require Salesforce to wait for a response before continuing processing? • If the Call to remote system is Synchronous, does the response need to be processed by salesforce as part of same transaction as the initial Call? • Size of the message? • Is the event based on User Interface or DML based • Solutions: • Custom VF page or button click that initiates APEX SOAP callout in synchronous manner • Custom VF page or button click that initiates APEX HTTP callout in synchronous manner

  7. Fire and Forget • Problem Statement: Initiate a process in Remote system on occurrence of an event in Salesforce without waiting for a response from the remote system. • Considerations: • Does the call to Remote system require Salesforce to wait for a response before continuing processing? • If the Call to remote system is Synchronous, does the response need to be processed by salesforce as part of same transaction as the initial Call? • Size of the message? • Is the event based on User Interface or DML based • Is guaranteed message delivery a requirement? • Is the remote system able to participate in a contract first integration • Solutions: • Workflow driven outbound messaging • Outbound messaging and callbacks • Custom VF page that initiates and Apex SOAP or Http asynchronous callout

  8. Batch Data Synchronization • Problem Statement: Import or Export large volume of data from Salesforce. • Considerations: • Should the data be stored in Salesforce? • If the Data be stored in Salesforce, should the data be refreshed in response to an event in remote system • Should data be refreshed on a scheduled basis? • Does the data support primary business processes? • Are there analytics requirements on this data? • Solutions: • Middleware ETL tools, using Change Data set

  9. Remote Call-In • Problem Statement: Need Remote system to connect and Update records in Salesforce • Considerations: • Format of the Message(SOAP/REST) • Size of the message • Is Transaction processing required? • Tolerance of Customization in Salesforce • Solutions: • SOAP API • REST API • APEX Web Services • APEX Rest Service • Bulk API

  10. UI Data update based on Data change • Problem Statement: When an Event occurs in Salesforce, how can the user be notified in the Salesforce User Interface without having to refresh their screen? • Considerations: • Does the Data being acted on need to be stored in Salesforce? • Can a custom user interface layer be built for viewing this data? • Will the user have access for invoking the custom user interface? • Solutions: • Salesforce streaming API

  11. Security Considerations • Cloud to Cloud or On-Premise to Cloud • Reverse Proxy Server • Encryption • Two way SSL needs • Whitelisting Salesforce IP Addresses

  12. Selection Guide

  13. Thank you ! Questions?

More Related