Connectivity Options with SAP Cloud Platform Workflow Service
Context
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.
Connectivity Options
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 Connector Required? |
Integration via SAP Cloud Platform Integration Service Possible? | Consumption in SAP CP Workflow |
---|---|---|---|---|
SAP Hybris, SAP C4C, SAP Ariba, SuccessFactors |
REST or OData |
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 | YES |
1. Create a Java servlet to expose the RFC as a REST service 2. Consume backend OData services in the service task 3. Use the RFC Adapter in SAP CP Integration, and expose it as a REST service. You can consume such REST service in SAP CP Workflow. |
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 OData SOAP |
Required | YES | Consume the 3rd party service in SAP Cloud Platform Integration as expose it as REST service |
Nice Article… Waiting for the Beta service availability in HANA Cloud trail account..
Workflow is available in the trial account since 15-Jul. Please share your experience via comment or blog
Its Awesome.. Just Created first workflow definition with simple User Task by following Blog ( link )... i just loved it..
Thanks a lot for that great overview and your following blog posts!
On a side-note, you could also use the SAP API Management Service to access any REST API that you have previously published there. In case the backend service is a SOAP webservice or a REST API, you could even bypass the SAP Cloud Platform Integration layer and use API Management only. This eventually depends on the use case, and this is especially true for simple SOAP WS and native REST APIs.
Cheers,
Sven
Hi Seshadri Sreenivas,
Great blog. In the SAP BAS, add service task in the workflow editor, if want to call OP S/4HANA RFC, how to maintain the details information in the service task properties details tab? How to specify which BTP RFC destination used here? Is there any guide for this? Thanks a lot.
Best regards,
Tikeer
Service Task Properiies
Hi Tikeer Guo,
SAP Workflow Management supports REST/OData services with JSON as output payload. To call a RFC enabled function module, you can create cloud integration iflow (calling the backed via RFC adapter) and call the iflow from the service task.
The field Destination in the service task properties is where you maintain the destination name configured at the BTP cockpit. In the above use case, you will configure a destination to call any iflows with the authentication (basic or OAuth). You could maintain the service path the Path variable of the service task.
Best Regards
Seshadri Sreenivas