Technical Articles
Event-driven Extensions for SAP SuccessFactors on SAP BTP – Connecting the Dots
To build cloud-native extensions for the Intelligent Enterprise on SAP BTP, all cloud solutions need to provide a consistent end-to-end experience, made possible by lightweight, event-driven applications that extend the digital core (in this case SuccessFactors solution). This is where CloudAutomated Configurations and SAP Event Mesh come to the fore.
Automated Configurations provides a simplified extensibility concept while SAP Event Mesh provides the messaging and event-driven capabilities to decouple communication and share event data reliably across your hybrid system landscapes. Events are published from sources like SAP SuccessFactors to a topic in Event Mesh from where extension applications can subscribe to receive the events and react to it. For example, the event from SAP SuccessFactors when an Employee joins or leaves the company can be sent to a topic in Event Mesh and a cloud-native application running on SAP BTP can react and process it.
The first step when developing an extension application is to establish a secure connection between the SuccessFactors system and your SAP BTP account. By using Automated Configurations, you can register the SuccessFactors system in an SAP BTP account. The registration process is based on an integration token that is used for the pairing of the SAP SuccessFactors company and the corresponding SAP BTP global account. Once the registration is successful, the extension applications running on SAP BTP can connect to the SuccessFactors system securely and with ease.
The next step would be to expose the required SuccessFactors events to SAP BTP. SuccessFactors allows you to create “Custom Integrations” that can push the events (with data payload) to a topic in SAP Event Mesh. What this brings about is that when events are raised in the SuccessFactors system, the event data can be sent to a cloud-native extension application running in the SAP BTP.
Finally, extension applications can be quickly developed using SAP Cloud Application Programming Model (CAP), a framework to build enterprise-grade Business Applications on SAP BTP within the SAP ecosystem. The SuccessFactors APIs that are to be used in an application can be downloaded from SAP API Business Hub (as EDMX files) and the client-side implementation to consume the APIs can be automatically generated by CAP. CAP also simplifies the access to APIs exposed by SuccessFactors via Automated Configurations and the consumption of the events from SAP Event Mesh as CAP has built-in support for both the services.
Thus, we can extend the existing SAP Cloud solutions without disrupting any core business processes in the SuccessFactors solution. To help better understand the steps involved in developing an extension application, please refer to the sample application here. The application – RunSmooth – is a reference application that showcases how to build an event-driven extension for SAP SuccessFactors using the capabilities provided by SAP BTP Extension Factory. RunSmooth uses :
- Automated Configurations to quickly set up the trust between the SuccessFactors system and SAP BTP Global Account,
- Event Mesh to enable the consumption of the events generated by SuccessFactors and
- CAP for rapid application development with limited coding that binds all the pieces together seamlessly.
if the event " HR relationship change" doesn't exist in SuccessFactors, what are the options to generate an event message to be consumed by BTP in Event Mesh ?