Prepare to Develop the SAP SuccessFactors Extension
- The business scenario proposed to build an SAP SuccessFactors extension
- The extension architecture
- The extension data model
- How to get prepared to develop the extension complying to the prerequisites and steps below
- Get an SAP Business Technology Platform trial account following this tutorial
- Setup SAP Business Application Studio in your trial account following this tutorial
- Create an SAP HANA Cloud database instance in your trial account following this tutorial (please, be aware that everything in trial accounts shut down overnight – applications, databases etc., so make sure you start your database instance before deploying your solution)
- Setup the SAP Launchpad Service in your trial account following this tutorial
- Have access to an SAP SuccessFactors tenant with admin credentials (unfortunately there’s no trial for that one, so make sure you’re granted such access by other means)
- Step 1
You will build a simple project management application on top of SAP SuccessFactors following these business rules:
- Each project is composed by members (team) and activities;
- The project team (members) is made of SAP SuccessFactors employees;
- Each project member has an specific role in the project;
- Each project activity is assigned to a specific project member;
- Projects and activities have one status each (i.e. not started, in progress, overdue, completed etc.);
- And last, but not least, whenever a team member is assigned to a project, a special assignment is registered to the employee background to signal that such employee has participated in the project, acting in a specific role, as part of the employee’s professional experience.
- Step 2
Here’s a diagram representing the overall architecture for the application:
The solution is a standalone application that will read the basic employee (SF user) information from SAP SuccessFactors using the User entity from the platform user management OData service and write the project assignments to the employees’ background using the Background Special Assign entity from the employee profile OData service, through a single destination configured in SAP BTP, Cloud Foundry.
The application data model will be stored in an SAP HANA Cloud database.
In this tutorial group, the application will be deployed on Cloud Foundry, although it could be also deployed to the
KymaRuntime as depicted in the architecture.
- Step 3
Here’s a diagram representing the data model for the application:
An extension data model cannot have associations (or compositions) directly linked to entities in the extended solution as they’re not persisted in the same database.
Therefore, to assign the employees as members of projects’ teams you need to create a kind of “bridge” between the actual entity in SAP SuccessFactors (in this case User) and the application data model by defining an “auxiliary entity” (in this case Employee) to strictly hold the User data from SAP SuccessFactors and associate it to the other entities in the model, serving as a kind of “cache” of employees participating in projects (please, note that it’s not a “replication” of the User entity, as it only stores the employees who are assigned as members in existing projects).
The User entity from SAP SuccessFactors has been chosen because it’s completely stable, meaning that it cannot be deleted but only marked as “inactive”, otherwise you could fall into an integrity issue.
In the same way, there’s no direct association between the projects and the background assignments, but it’s added to the diagram just to have a complete conceptual representation of the model.
- Step 4
From the global account page on SAP BTP cockpit, click on the trial subaccount
On the left-hand side, expand the Connectivity section and click on Destinations
On the right, click on New Destination
Fill-up the destination information according to the screenshot and instructions below:
a. URL of your SAP SuccessFactors API tenant. Usually it follows the format:
https://api<tenant host>.successfactors.<eu or com>. You should ask this URL to your SAP SuccessFactors technical administrator.
b. SAP SuccessFactors admin user (or any user with read/write permission on Users/Employee Profiles and appropriate access to OData APIs). This user must be provided in the format:
c. User password
After providing the information above, click on Save
NOTE: for the learning purpose of the tutorial group you will use basic authentication in the destination, but be aware that this authentication method is deprecated for productive usage and will be replaced by OAuth 2 authentication. To learn how to setup OAuth 2 authentication in your production environment you can refer to this link from the SAP SuccessFactors HXM Suite OData API: Developer Guide.
Click on Check Connection
You should receive the following message:
Click on Close
- Step 5
Which of the following entities serves as a "bridge" between your application and SAP SuccessFactors?