Introduction
In the ever evolving landscape of enterprise applications, designing and developing a scalable and secure business applications is a crucial skill for developers, consultants and architects. This blog showcases a full stack project that brings together SAP and open source technologies to deliver a robust solution.
I have tried to showcase the important components of the project and how they are translated to executing blocks once deployed on cloud. The blog also touches cloud (Business Technology Platform) services which are important in many customer use cases.
The intent of this blog is to provide you the starting point and give you a leverage to explore possibilities on your own and ofcourse, with the help of your preferred co-pilot!
At the end of the blog, I have also provided my GitHub repo where you can find a complete project for your reference.
I will breakdown the article into 3 parts
Use Case
I have developed a full stack application adhering to the architecture and developed based on a use case. It is available on GitHub.
The README file takes you through each and every step starting from use case till full fledge enterprise solution.
The project is more than just a standalone application. It serves as a blueprint for SAP extensibility while adhering to the Clean Core strategy. By leveraging SAP BTP services, CAP, Fiori, and seamless S/4HANA integration, this approach ensures that businesses can extend their ERP capabilities without modifications to the core system.
This architecture is highly adaptable and can be referred to your specific use case.
Solution Architecture
Below diagram provides the architecture of the solution. It also shows the transition from design time to run time artifacts and how the components fit along with seamless integration with the BTP services.
Figure-1
Components of the architecture
In this section, let us go through all the components shown in the above diagram and understand the details around each one of it and how these components are translated to the code for the specific use case.
The complete solution is built on the robust SAP Business Technology Platform.
Development/Design Time
I have extracted a part of the architecture diagram below to focus on the design/development aspects:
Figure-2
Developer develops the application on Business Application Studio. When creating a full-stack CAP application, there are 6 important components which are explained below to showcase some critical files inside each of the directories.
Deployment/Run Time:
Now, let us see how the above components translate after deployment. I have extracted a part of the architecture diagram below to focus on the runtime/deployment aspects:
Figure-3
When you deploy the project, using the multi target application descriptor file, the MTA deployer creates the resources defined in the resources section of the mta.yaml. Let's take an example of the HDI container and XSUAA service instance required by the application runtime i.e. srv. In the below fragment, you will see the module sales-commission-srv and dependencies in the requires section
If you go down in the resources section, you will see the dependencies for HDI container and XSUAA service.
Now, let's come to the UI part and see how the artifacts are translated from design time to runtime during deployment
As you know, HTML5 repository provides a central place to store the static content of the HTML5 applications. Deep dive on HTML5 repository can be found here.
So, to add the UI content to the HTML5 repository on BTP, you have to add the service in your mta.yaml as shown in the below fragment
Once you update the HTML5 repository, it will pull the UI content from your project.
Destination Service: The destination service is required to store the API destinations which can be used at runtime to connect to the backend APIs. In our project, we have a use case to connect to the backend API_BUSINESS_PARTNER. In package.json you will see the API_BUSINESS_PARTNER configuration.
You create the destination - BP_DESTINATION in the destination service which will be used by the application when connecting to the backend API.
The Application Router & SAP Build Work Zone: The last two critical pieces in the puzzle. These are the gateway to your application.
Conclusion
Drawing from my experience, I must emphasize that these insights can serve as a starting point, though their applicability may vary based on specific scenarios. Also there will be most probably customizations required as per your specific use case.
In summary, SAP BTP provides robust ecosystem that empowers enterprises with flexible integration, secure connectivity and efficient development.
This project will surely give you a holistic view from design and development of cloud native application and eventually deployment on cloud in production scenarios.
It's never too late to start  —  GitHub Repo
Stay curious! Keep learning!
Feel free to “like“, “Share“, “Add a Comment” and to get more updates about my next blogs follow me!
References
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
| User | Count |
|---|---|
| 46 | |
| 41 | |
| 38 | |
| 36 | |
| 30 | |
| 28 | |
| 27 | |
| 24 | |
| 24 | |
| 23 |