The SAP Cloud Platform Workflow offers state-of-the-art process automation capabilities. This lightweight workflow service orchestrates service calls and user interaction steps. There are quite a few use cases for consuming such a service in the SAP Cloud Platform:
- Orchestrate and extend workflow across people and organizations: SAP Cloud Platform Workflow service allows partners and customers to build, run and manage workflows, from simple approvals to end-to-end processes that span across different organizations and application.
- Extend your standard processes: Embedded workflow capabilities within standard applications like SAP S/4HANA or SAP SuccessFactors are usually limited and are by design do not support full orchestration of end-to-end processes across different applications or business areas. With SAP Cloud Platform Workflow service, workflows in standard applications can be easily extended.
- Create new workflow applications: Create and adapt value-adding processes in your company. Increase efficiency and transparency by automating manual steps in individual applications.
But to achieve the above use case, one might be interested to know how to consume the services exposed (as RFC/BAPI, OData, REST, IDoc, etc.) by their existing backend systems in SAP CP Workflow. This blog series will try to answer all your queries related to consuming your existing services in SAP Cloud Platform Workflow.
To consume any service from SAP CP Workflow, you will add a ‘service task’ to the workflow model and configure it to the corresponding service & a destination which you wish to consume. Being a cloud-based application (and light weight), the SAP CP Workflow can consume any REST based service and also work with JSON data model. But not all your backend services are RESTful services. You could have your business APIs as a SOAP service, IDoc, RFC, etc. The goal here is to make your backend API available as REST services which can also be formatted as JSON model. The following list explains in brief on the various connectivity options and a link for more details on how to achieve this.
(I will be writing blogs that explains individual options and will eventually link them in the below table)
|Backend System||API Protocol||Is SAP Cloud
|Integration via SAP Cloud Platform Integration Service Possible?||Consumption in SAP CP Workflow|
|SAP Hybris, SAP C4C, SAP Ariba,
|Not Required||YES||1. Consume directly in a Service Task
2. Create an IFlow in SAP Cloud Integration Services if there is a need to process or modify data and expose a limited data set to the workflow
|SAP ERP, CRM, HCM, SRM, SAP S/4 HANA||RFC / BAPI||Required||NO||1. Create a Java servlet to expose the RFC as a REST service
2. Create a OData service using SAP Gateway Service Builder and consume it directly in the service task
|HTTP||Required||YES||1. Consume the HTTP service in SAP Cloud Platform Integration IFlow and expose it as REST service
2. Create a Java servlet which consumes and expose the HTTP service as a REST service
|OData||Required||YES||1. Consume directly in a service task (This blog series explains in detail about how to access OData service in SAP CP Workflow for cloud applications. The approach is very similar, but you need to expose the service via SAP cloud connector)
2. Consume the OData service in SAP Cloud Platform Integration IFlow and expose it as REST service
|SOAP||Required||YES||1.Consume the SOAP service in SAP Cloud Platform Integration IFlow and expose it as REST service
2. Create a Java servlet to expose the SOAP service as a REST service
|IDoc||Required||YES||Consume the IDoc in SAP Cloud Platform Integration as expose it as REST service|
|3rd Party Systems||HTTP
|Required||YES||Consume the 3rd party service in SAP Cloud Platform Integration as expose it as REST service|