Technology Blogs by Members
Explore a vibrant mix of technical expertise, industry insights, and tech buzz in member blogs covering SAP products, technology, and events. Get in the mix!
cancel
Showing results for 
Search instead for 
Did you mean: 

Introduction


S4/HANA migration of big customers is happening and by the Clean Core Policy and Best Practice recommendation significant process changes are implemented with SAP CAP Framework as Side-By-Side Extensions (Applications) that are deployed on SAP BTP (independent app domains hosted in CF Spaces)

Based on real experience I tried to create a Reference Architecture one such SAP S4/HANA Side-by-Side extension. For sure each business requirement may be different but the most complex scenario involves : async events, extension domain persistency, async worker, ui app and odata backends exposed for it, custom actions and handlers.

Design Considerations


While creating the below reference starting architecture the following ideas were considered:

  • each extension lives in one Cloud Foundry space

  • autoscaler is used for maximum performance and availability

  • decouple the ui backend services and long running async tasks

  • modern async event  driven architecture is best suited

  • all backend modules can share application log, destination, connectivity, xsuaa service instances

  • API Service is planned to be a SAP CAP Api that serves UI and real-time requests

  • Processor App is planned to execute async events for long running tasks triggered via SAP Event Mesh queues

  • Autoscaler policy can be decoupled this way for real-time processing needs and for async long running tasks



TAM reference architecture for S4/HANA side-by-side extensions



Conclusions


Resulted architecture offers flexibility to apply autoscale on intensive components only and also isolates the tech stack between custom logic and ui backend so the programing language may be chosen between Java or Node.Js

Let me know what you think in comments...

Have I forgot something important ?
11 Comments
Labels in this area