Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
miroll
Product and Topic Expert
Product and Topic Expert

Clean Core Extensibility

Here comes the next edition of our blog series “10+ ways to reshape your SAP landscape with SAP Business Technology Platform” – this time the main topic will be extensibility.

Summary:
The extensibility aspect of the SAP Clean Core strategy is one of the most important for many development organisations. To master this aspect knowledge of the technological building blocks, reference architectures and how to tie them together is required. Once an understanding of the possibilities is reached it is important to put this into governance and create a Clean Core Extension strategy. The Application Extension Methodology (AEM) is there to help you achieve this.

Extensibility as a topic is probably as old as SAP systems themselves. Since a standard SAP system represents standard processes and only provides configuration-based changes to those standard processes, the options for adaptation to specific processes are sometimes too limited to achieve the set goal. So far so good and not a problem from the architectural view – extensions have always been and will always be an important part of SAP systems. The problem – as outlined in the previous blog on “How Clean Core can accelerate your SAP Business Transformation” – doesn’t come from wanting to extend the system but how this is done. Through the combination of In-App Extensibility – including Key-User-Tools as well as On-Stack Developer Extensibility – and Side-by-Side Extensibility a Clean Core can be sustained while still realizing business processes through extensions.

As the reasoning should be clear after the previously mentioned blog, this blog will focus on the more technical aspects of such a Clean Core compliant extension. We will look at reference architectures, technological building blocks, resources, where to find them and how to apply them.

References

A lot of software architecture best practices are based on reference architectures. These usually provide a sample along with reasonings and outline options to continue from there. SAP provides a growing number of officially recommended reference architectures for BTP in its Discovery Center. These are fully fledged reference architectures with all needed information. However, you can use other resources as well to find resources from SAP to get an orientation on what others might have implemented or what SAP recommends. In the missions section of the Discovery Center you can search for Clean Core or just browse by topic e.g. Extensibility.

The mentioned resources are part of the SAP BTP Guidance framework which covers not only guidance for architects but also for developers and admins:

miroll_0-1713881814612.png

Technological Building Blocks

For most cases there’s more than one way to extend a specific functionality in an SAP system. However, not all of them (e.g. a new Dynpro application) comply with the Clean Core paradigm but still it is important to know and find them. Finding them used to be a bigger challenge but fortunately the documentation and coverage in the SAP Business Accelerator Hub has increased immensely and we can find a lot of the previously mentioned resources there. This includes APIs ranging from OData and plain REST all the way to CDS views as well as Events and Integrations. When building a Clean Core compliant extension this is especially useful since we can select our SAP system version and see all standard APIs for it. This works for S/4 systems as well as for all LoB solutions such as SAP SuccessFactors, SAP Concur, SAP Fieldglass, etc. The documented APIs and Events list their status and link to the business documentation, so you know which one to use.

Coming from the implementation side there are two more technical building blocks which make it easier to create Clean Core compliant solutions: CAP and RAP. Both are programming models (Cloud Application Programming Model and RESTful ABAP Programming Model) built and curated by SAP. To cover both non-SAP-experienced and SAP-experienced developers ABAP (RAP) is covered as well as Java and Javascript, the two flavors of CAP. Both models make it a lot easier to create extensions for SAP system using state of the art mechanisms and providing you with the basics for your extension to perfectly integrate into your system landscape. Using the models lets your development focus shift from being able to work with your SAP systems to developing the extension need and business functionality.

An additional factor besides the pro-code-oriented approaches of CAP and RAP are the low-code and no-code tools offered on SAP BTP in the SAP Build Suite. With mostly visual approaches a new developer community can help to realize business functionality while maintain a Clean Core and including them in the process. This can release resources in the IT department and raise satisfaction of business functions since they are more involved.

Tying it all together

Now that we’ve looked at the general possibilities from a technical side (frameworks, tools, APIs, events, …) and an architectural side, it’s time to tie it together and answer the all-important question: When do I use what?

The short answer is that there is no one-size-fits-all solution for this question since it is always dependent on the context ranging from systems and business requirements all the way to existing development resources and personal preference. However, since we know that this is a challenge there’s a toolbox of guidance assets and methodologies to help you answer this question for your organization. Listed in the “Methodologies” section of the SAP BTP Guidance Framework overview you can see three methodologies covering three of the five Clean Core aspects. “Why not all five?” you may ask – the other two aspects also appear in each of the methodologies as a cross concern, so they are covered as well.

Since we’re looking at Extensibility the Application Extension Methodology is our main asset here. The SAP Application Extension Methodology can support and guide you by providing a structured, technology-agnostic approach for customers and partners to define an organization-specific extension strategy. Following this methodology will ensure that everyone in your project uses the same terminology and quickly arrives at a common understanding of the business use case and to-be solution. You’ll have an overview of possible technical extension building blocks and you’ll be able to make an informed decision about your organization’s future extension architecture. After an initial setup the resulting extension framework can be applied to current and future extension projects. This is especially important looking at the aspect of “keep the core clean vs. make the core clean” you read about in Holger’s blog. An extension strategy like this can help you tackle this problem by applying it to new developments and gradually using it with previous developments to bring them up to a Clean Core standard.

Events

To get more insights, please also visit one of our BTP Innovation Days: