Salesforce Integration Architect Part 3: Translate Needs to Integration Requirements
This Translate Needs to Integration Requirements topic includes the following objectives:
- Given an existing system landscape diagram, create an inventory of the systems and integration patterns.
There are different types of Salesforce system architecture landscapes, namely, ground-to-cloud, cloud-to-ground, and cloud-to-cloud. In the Cloud-to-Ground architecture, data originates from Salesforce and is pushed into an on-premise system. In the Ground-to-Cloud architecture, data originates from the on-premise architecture and is pushed into Salesforce. In the Cloud-to-Cloud architecture, data is moved from one org to another. The integration pattern(s) used in a system landscape depend on the company’s business requirements. The different integration patterns are Remote Process Invocation – Request & Reply, Remote Process Invocation – Fire & Forget, Batch Data Synchronization, Remote Call-In, UI Update Based on Data Changes, and Data Virtualization.
- Given a use case and business process, evaluate system and process constraints.
An integration design may be affected by system and/or process constraints. System constraints are limitations or restrictions within Salesforce or a remote system that necessitate the implementation of an alternative. On the other hand, process constraints are limitations or restrictions in a business process that necessitate the implementation of an alternative approach. For example, an integration solution design may be affected by the limited number of API calls per day or the lack of support for REST API by the remote system.
- Given a use case, identify integration security / authentication / authorization requirements.
Salesforce provides industry-standard and secure protocols for authorizing external applications with the platform. In a scenario where a user outside Salesforce needs to access the services of the platform, Salesforce can be used to authenticate the user, or Salesforce can rely on an external service to validate the identity of the user before authorizing access. Several types of authentication flows are supported to allow different types of applications such as web apps, mobile apps, servers, and IoT devices to integrate with the org. Although Salesforce uses some of the most advanced technology for protecting the multi-tenant platform, additional security procedures are always recommended to further enhance org security that will be described in this section.
- Given a use case, identify performance needs (volumes, response times, latency) and propose appropriate integration solutions that will meet business requirements.
The choice of the integration pattern for an integration between Salesforce and a remote system may depend on the required data volumes, response times, and latency. For example, an integration based on the ‘Remote Process Invocation – Request & Reply’ pattern is suitable for small volume, real-time activities.
REST/SOAP API can be invoked from a remote system to create, update or delete 200 records at a time. If a data load for data synchronization with a remote system requires processing of more than 2,000 records, the use of Bulk API 2.0 can be considered. Synchronous Apex callouts are suitable for small volume, real-time activities. Salesforce Connect can be used to give users real-time access to data.
LEAVE A COMMENT