Skip to Content

How to combine S/4HANA Cloud SDK, CP Workflow and Fiori?

I'm building a complex extension app on SAP Cloud Platform and I would like to validate my plans. The back-end will S/4HANA Cloud, with data persisted in custom business objects. The front-end will be UI5. There is a requirement for workflow to drive an approval/rejection process. We could use the My Inbox app for this part.

At the time of writing (Dec 2018) this means a split across the Neo and Cloud Foundry (CF) environments. The question is, what goes where?

We want to combine the S/4HANA Cloud SDK with the Cloud Application Programming Model (APM) and this can only be done on Cloud Foundry. The workflow service is only available on Neo and it seems that the integration with UI5 components only works if the components are deployed in the same sub-account. I can use the portal service to run a Fiori Launchpad (FLP) in Neo (pretty mature) or in Cloud Foundry (quite new).

My plan is:

  • Java service module deployed on Cloud Foundry, combing S4SDK and APM. Calls standard and custom S4/HANA Cloud APIs. Provides custom OData service for UI5 app
  • Neo destination pointing to above service module OData service
  • Workflow running on Neo
  • FLP running in Neo on portal service
  • UI5 component running in Neo as own Fiori app (create mode) and also within My Inbox (approval mode)

Does this look like the best approach? Are there any alternatives I should consider? Obviously I could build a UI module in CF but then it would be separated from the workflow service.

Should I put an app router in front of my Java srv module? Perhaps using the spring security framework will suffice in this case.

The Neo sub-account and CF org will both be linked to the same SCIA tenant as Identity Provider (IdP). Given that, I'm not sure if I will need to set up trust between the two environments.

I would appreciate any feedback. Thank you for reading.

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

7 Answers

  • Best Answer
    Jan 27 at 09:50 AM

    Here's an update. You do need to set up Principle Propagation between Neo and CF but that is documented here:

    https://help.sap.com/viewer/65de2977205c403bbc107264b8eccf4b/Cloud/en-US/6e194f8e919a40bab7e39cd992677cb7.html

    With some help from SAP I have this working now in dev, so my Fiori apps running in Neo can call the OData service (srv module) in CF which in turn is calling S/4. My srv module is sitting behind an app router too.

    It seems that the workflow service may be ready soon (in CF) but the portal service won't be mature enough for a while. Better I think to stick to the mature versions of each in Neo.

    I don't want to give up the benefit of the APM (in saved time) hence I want to keep my S4SDK artifacts in Neo.

    Thanks again everyone for your comments

    Add comment
    10|10000 characters needed characters exceeded

  • Dec 16, 2018 at 09:15 AM

    Hi Mike,

    My approach, right now, would be to forget about the CF components, see what you can do on Neo right now. I think you have to realise that we're at a stage where there is migration of services to CF and anything we build on multiplatform is a tactical solution not a strategic one.

    You could build most of what you want on Neo. If and when CF has full capabilities to implement your solution, then do everything on CF. From many roadmaps that I saw at TechEd, this could be in the very near future.

    Whilst multi platform builds are completely doable I'd be concerned about the additional maintenance and fragility you're building into your solution. The balance of finding a good support experience and using the latest tooling is a fine one.

    Sounds like a lot of fun to build!

    Cheers,

    Chris

    Add comment
    10|10000 characters needed characters exceeded

    • OK, yes, I get your point. I would still point you to some interesting points raised by Chris.

      Aviad

      p.s. sorry for being quiet lately, a lot is going around here and I don't get to be very active here and on social media. Hope to fix this in early 2019 ;)

  • Dec 15, 2018 at 03:22 PM

    Hi,

    I’m not pretending to be an expert on theses topics but I recently had to build a demo like this fir TechEd.

    As per the documentation it seems now possible to deploy FLP to CF as stated here.

    Regarding the workflow service, I saw in the documentation somewhere that “with the beta version, you cannot deploy it to CF.

    And I couldn’t find any additional references.

    Here, I leave it to the experts ;-).

    Add comment
    10|10000 characters needed characters exceeded

    • Hi Abdel, thanks so much for making a contribution. I too saw that the portal service is now available on CF but AFAIK I can't have My Inbox in CF polling Neo for workitems. Maybe Stephan Schluchter or a colleague could clarify on that point. The other question would be how mature the portal service in CF is.

  • Dec 16, 2018 at 08:38 AM

    woah, this is a rock‘n‘roll architecture, going cutting edge what‘s feasible on „the clouds“.

    regarding the app router on cf (but without honestly fully grasping all details and consequences of your setup), you certainly need it - either to hook the ui5 app up with a dedicated user store on cf or for propagation to some auth source only accesible via the cloud connector.

    let us know how it goes - interesting use case

    Add comment
    10|10000 characters needed characters exceeded

    • hm, from a gut feeling, stay with configuration scope for authentication (== router) rather than implementation/runtime (== Java/Spring). But don't have any hard facts top of my hat supporting that gut feeling.

      Godspeed with that project!

  • Dec 15, 2018 at 08:31 PM

    I would probably stick with the architecture you proposed and have the API done on CF and then use destinations and a HTML5 app in Neo with create and approve.

    That would be close to how not to recreate your work. Otherwise how about creating a UI module and then use the forms builder in the workflow? Everything would be in your context I would assume?

    Add comment
    10|10000 characters needed characters exceeded

    • Thanks so much for giving your thoughts Jakob. Workflow forms looks cool but it isn't sophisticated enough for my requirement. I'm going to have a complex form with lots of validations.

      I don't plan to put all the data in the context. Instead I will store the unique key there and read the data from S/4HANA. The data can be quite sensitive and I've read that we must be careful what we put in the context.

  • Dec 19, 2018 at 01:09 PM

    Hi Mike,

    We plan to have Workflow available on CF by end of Q1/2019.
    While the "cross-consumption" of REST/OData APIs from CF on Neo (or vice versa) should be possible in general, there are challenges related to cross-origin policy, SSO/OAuth...

    So for now really the best option is to have everything running in the same environment.


    Regards,

    Christian

    Add comment
    10|10000 characters needed characters exceeded

  • Dec 20, 2018 at 07:16 AM

    Hello Mike,

    It will be GA (general availability) release

    Add comment
    10|10000 characters needed characters exceeded