Integration with Salesforce is becoming an important part of their activities for many SAP CPI developers. SAP CPI is a great integration platform and it has mature and extend many features from the early days when we developed the first adapters for HCI. The Advantco Salesforce adapter evolves through the years and has now many critical features to support use cases that we have identified as common.
We provide in this blog a list of requirements and use cases that are typical for any Salesforce integration project.
We will address the following items:
- SAP CPI has a broad base of great developers but not all of them have experiences with Salesforce. Providing a tool that supports during the development and maintenance phases of the projects is critical. This includes very well documented use guides with relevant and extensive examples.
- Near real time data exchanges between Salesforce and SAP is a must in any project, this can be achieve with Salesforce Streaming API and Platform Events.
- Support of batch data exchange is always part of any project, a good implementation should be it possible top easy switch between event-based and batch data exchange from SAP to Salesforce.
- Querying data out of Salesforce is a powerful way to get transactional data in one go. An order can be create in SAP with single query join query Salesforce query. Handling pagination should be handled automatic any solution.
The Workbench is a critical part of the Advantco Salesforce adapter, it provides important supporting features for the developers. The Advantco Salesforce Workbench is a responsive WEBUI interface solution that provides many advantages over a Eclipse based solution. No longer has the developer be occupied with permissions, JRE or Eclipse versions. Following functionalities are available with the Advantco Salesforce Workbench:
1. Define and test Salesforce connections.
2. Generate schemas: a fast schema generator for different types of Salesforce APIs. A developer should expect a reasonable response time from the Workbench else the tool is useless.
3. Test payloads: Allow the developer to quickly test a payload without having to trigger the iflow. Without this functionality, the developer will waste lots of time by editing and deploying the iflows.
4. Querying Salesforce objects: testing queries and generating schemas based on the query statement.
Real time data exchange:
A common use case is reacting in real time to an event in Salesforce like Opportunity creation or Account update. Salesforce Streaming API or Platform Events is very reliable and economical option to achieve this requirement. For example, when an Opportunity is created, one can configure a trigger in Salesforce to publish an platform event. The Advantco Salesforce adapter listens for events that are triggered in Salesforce and forward to the CPI iflow.
Batch large data processing.
Loading large set of data to Salesforce is a must have requirement, this can be part of a cut-over process or as a continuing requirements to limit the number of API calls. Is is important that any iflows that use BULK API can be implemented without burden the developer with the specific details of the BULK API. The Advantco Salesforce adapter handles the job and batch creation automatically. Secondly, the iflow should be able to handle both REST API as well BULK API calls without a complete rework of the mapping logics.
The following iflow is used to handle both a single DEBMAS idoc (REST API) or a batch of thousands of idocs (BULK). All technical challenges to handle the specific APIs is done by the Advantco Salesforce adapter.
Based on the IDOC data, an Account is created with with 2 custom child objects. The Advantco Salesforce can easily handle bulk messages with one or multiple objects.
Query Salesforce data:
Getting data out Salesforce by querying and joining multiple related objects is a powerful option. It is important that the Salesforce adapter handles the last time a query was executed and pagination without having the developer to implement complex logics in the iflows. Having the CPI developer handling different API calls based on the number of entries in the query result is clearly not a desired option.
An adapter is not defined on what features it’s supporting but on how easily it supports the developer to maximize his time and effort to implement the integration process. The Advantco Salesforce adapter tries to maximize the broad range of use cases it can support while minimizing the efforts from the developers to use it in a correct and efficient way.