SuccessFactors Integrations Tools: Integration Center and SAP Cloud Platform Integration
Frequent questions arise from SuccessFactors implementation projects on which tools can be used in order to develop and monitor all the required integrations with the existing system landscape. This blog discusses the choice of using SuccessFactors Integration Center and SAP Cloud Platform Integration for building integrations and also provides recommendations on when to use which tool.
Integration Center is a built-in tool offered within a SuccessFactors for creating, testing and monitoring inbound and outbound integrations. Multiple output file types can be used (from simple CSV to XML or JSON). The storing of the output can be done in a secure way on SFTP servers and various scheduling options can be implemented (from fixed time scheduling to event-driven triggers through Intelligent Services). Integration Center also has a catalog of prepackaged integrations which can be deployed and used in the customer instance.
SAP Cloud Platform Integration (CPI) is cloud middleware solution which allows creation, deployment and monitoring of integrations. These integrations can be between SAP On-Premise, SAP Cloud-based solutions and third-party applications. It offers an extensive set of options for connectivity, message transformation, authentication and even offers pre-packaged integrations to integrate SAP solutions with other SAP Solution and even third-party products.
SAP Cloud Platform Integration is the recommended tool for medium to high and complex integrations, whereas SuccessFactors Integration Center is recommended option for simple integrations. For example: for integrations requiring complex orchestration and transformation, requiring multiple receivers or multiple hierarchical column CSV based output, CPI is the tool of choice whereas for simple integrations requiring data extraction from OData entities with minimal mapping and single column-based outputs, SuccessFactors Integration Center is a more attractive option. Integration Center does support multiple columns for EDI/Stacked formats.
The Integration Center offer various scheduling options for the interfaces: from a one-time only run (very useful in case of testing or one-time cutover-related activities) to once per day/week/month/year.
In some cases, the interfaces need to run more often than once per day (e.g. once every 5 minutes) – for these cases,CPI can be used. CPI also offers the “Run Once” option in addition to the scheduling options:
• Daily: either to run once per day at a specific time or one can schedule it to run in specific time intervals (as low as once per second).
• Weekly: in a specific day of the week.
• Monthly: in a specific day of the month.
An additional feature of Integration Center is that instead of having a scheduled run, one can decide for a “live” interface triggered by the events available in Intelligent Services. This means that as soon as an event is triggered in SuccessFactors (e.g. Hire/Rehire/Termination etc.) interface is also triggered defined in Integration Center with
Intelligent Services. The same technical options can be used for integrations with third party systems which need to receive the updated data as soon as the event is triggered (and approved by all the involved workflows) in EC.
Usage of APIs
Integration Center allows integration via OData APIs from SuccessFactors. Usage of SFAPIs is deprecated except for
CompoundEmployee API. Integration Center does not support CompoundEmployee API. Therefore, integration requiring the usage of CompoundEmployee API (e.g. in the case of employee master data replication), currently can only be used separately via a cloud middleware such as SAP Cloud Platform Integrations.
Integration Center currently supports OData V2 APIs from the Employee Central, Recruiting, Performance Management, Goals and Succession. Therefore, any integration in Integration Center can only be designed with the available OData APIs from these modules. In order to develop any integration with any other module, for e.g. LMS with new OData V4 APIs, CPI would be the preferred option.
Field mapping options
Integration Center offers options to add fixed-value fields, calculated fields (e.g. string-based concatenations/derivations, sums between several values etc.) and even the use of if-then-else conditions for filling a calculated field depending on values from other fields. In case the mapping requires a logic more complex than that – then CPI can be used – to handle complex calculations. CPI also offers the possibility to create your own logic in lines of code through groovy scripts.
Integration Center supports certificate-based authentication, PGP encryption and even outbound integration using OAuth 2.0. In case the integration requires even more stringent checks and additional layer of security such as message level encryption then CPI can be used because it offers various encoding and decoding options. Refer the SAP Help documentation for detailed explanation on security features supported by Integration Center.
Sender and receiver
Integration Center supports various types of senders and receivers such as SFTP, SuccessFactors, REST, SOAP, though it supports, at the time writing this document, a single sender and receiver. Please refer SAP Help for any future updates on this topic. In case the integration requires multiple senders and receivers with complex orchestration logic such requiring merging data from multiple incoming messages, calling CPI at different point in time, or those integrations requiring temporary storage of data in the middleware, in all such scenarios CPI can be used for implementation.
Reusability and operation
SuccessFactors allows reusing integrations developed on Integration Center and also an integration can be built from a template chosen from a catalog of templates. This is performed by downloading and uploading the integration definition (.icd extension) in the respective SuccessFactors instances. Additionally, scheduled simple file output
integrations created can be re-used in CPI as well. Such an integration created in Integration Center, the corresponding CPI Artefacts can be downloaded and then imported into CPI for further usage. See figure below. In other words, these CPI artefacts can also act as an accelerator and to develop more complex logic in CPI over the imported integration from Integration Center.
It is not needed to import all the CPI artefacts from the integration center; using one or two of the artefacts can also help save some effort as compared to implementing everything from scratch. For example: In an integration involving SuccessFactors, the XSD file in CPI can be used as a source structure for message mapping and the XSL file can also be imported into CPI as a basis for creating more complicated XSLT mapping transformations.
Integration Center can be used for creating and monitoring inbound integrations to SuccessFactors, using CSV based files as an input source. Integration Center Execution Manager even provide logging capabilities for API calls. Below are some of the most common use cases for this feature:
• Employee and organisational data can be updated in SuccessFactors using Integration Center with flat file as a source. An example of such an update could include employee profile updates with CSV file as a source.
• Once recruitment data is migrated into the system, it cannot be updated or deleted through another load process. In the case of recruiting data migration, updating and deleting will be a manual activity. This is unlike the other types of data migration such as the migration of employee and organisational data. To avoid such a manual activity, an inbound integration can be used to update values for the candidate data. Please note that
Integration Center does not support delete operation, therefore any deletions still need to be manual or CPI integrations can be developed for such a purpose.
• Integration Center can be used to update MDF objects. Though MDF objects are exposed as OData APIs, updates to such objects via APIs may not be possible for all of them. For example: Picklist OData APIs are read only, therefore Integration Center also does not allow any update operation with such APIs.
Integration Center offer two main options:
• Basic authentication (username and password).
• Certificate based authentication (through Security Center). Security Center offers different authentication options like HTTP trust certificates, PGP File Encryption Keys, and OAuth X.509 keys.
For any other complex authentication requirements such as integrations requiring mutual authentication (server as well as client authentication), CPI would the preferable option. Refer the SAP Help documentation for detailed explanation on these topics.
Integration Center is definitely the tool to use in case of low complexity inbound and outbound integrations. The easy-to-use intuitive UI offering a visual representation of the data model available in SuccessFactors, allows even consultants with no technical background to get actively involved in integrations.
SAP Cloud Platform Integration remains the perfect solution for complex integrations. The various scheduling options offered by CPI enable the flexibility needed by all types of integrations and the extra layers of security for encoding and decoding messages can be a useful feature for transferring sensitive data.
As a general conclusion, Integration Center and CPI complement each other in terms of the options available to a customer for the implementation of integrations. CPI in general can be used for integration scenarios, therefore the factors that can influence the decision when to use Integration Center for any integration scenario are covered in the sections above. Few other factors that can influence such a decision are listed below:
• Cost: The cost of development any integration in CPI involves additional time for development, specialized skills as well as license costs. Comparatively Integration Center is more intuitive (drag and drop to select OData entities) and it is easy to learn even for a non-technical user with a knowledge of the underlying data model.
• Usage: If the integration is supposed to be executed only once then in terms of the cost, maintenance, it would be beneficial to develop this in Integration Center.
• API based Sender: In case the integration requires API based calls on both senders and receivers, then it is CPI would be preferred, as Integration Center currently only supports SFTP as a source.