Skip to content

SAP Application Extension Methodology

The SAP Application Extension Methodology allows you to create a customer specific, organizational framework to guide solution architects for defining the right technology choices for an extension.

Simplify Extensions by a Systematic Extension Approach.

  • Helps enterprise architects to shape their extension strategy
  • Collection of typical extension styles and patterns
  • Mapping to extension services (based on customer context)
  • Architecture blueprints for extensions including decision criteria
  • Open to SAP and Non-SAP integration technologies
  • Target Group: Enterprise Architects / Technical Architects

Extensibility is essential for an Intelligent Enterprise

Extensibility is a key enabler for intelligent enterprises to ensure rapid and continuous innovation. SAP Application Extension Methodology complements SAP’s technology portfolio by a methodology that helps enterprise architects to shape their extension strategy. SAP Application Extension Methodology provides a holistic view on extension including different types of extension domains.

Drivers for building extensions

SAP Application Extension Methodology Cycle

Phases for Enterprise Architects

Let’s start with a little bit more details of the SAP Application Extension Methodology:

Structure of the Methodology
TermDefinition
Extension DomainAn Extension Domain describes the relation of an extension to it‘s Core Solution and it‘s level of dependency. An extension always belongs to an Extension Domain.

Example: Side-By-Side, Cross-Domain or In-App
Application PatternAn Application Pattern describes a combination of Platform Technologies. It can also be referred to as architecture that describes the different levels of an application. In case of integration being part of such a Pattern – these can be a way to map possible integration styles according to ISA-M. Different Application Patterns can implement the same programming model in different Extension Domains.

Example: Key-User Extensibility S/4HANA, Full Stack Application Side-by-Side on S/4HANA custom APIs or Native Mobile App.
Operation ConceptEach Extension that is implementing an Application Pattern has certain requirements towards it‘s operations. E.g. used services an technologies need to have ownership within an organization. Also there might be requirements for global/local teams enabling necessary SLAs, etc.
Platform TechnologyThe main goal of SAP AEM is to identify the Platform Technologies to be used for implementing extensions. Different Solutions, Systems or Platforms offer certain Frameworks and technologies that can be used to implement extensions. These different technical capabilities are referred to as Platform Technologies in SAP AEM.
Key CriteriaTo be able to identify a suitable Platform Technology for a set of requirements, it is necessary to characterize each Platform Technology which is achieved by using Key Criteria. These Criteria are properties of a technology that can later be mapped to requirements which can be assessed with Questionnaires.
Decision MatrixTo be able to easier map requirements to Platform Technologies and its Criteria, a Decision Matrix is used. Such Decision Matrix can either be best practices summarized by SAP or can be customer specific findings including non-SAP technologies.
Extension TaskWhat are the things that I need to do for implementing the requirements of my extension use case.

High-Level Assessment of Your Extension Architecture

List of Core Solutions
IDCore Solution TypeVersionSID (host)OwnerSolution LifecycleDeployment
As IsTo Be
01SAP ECC6.0 Ehp 7PR3Max MustermannTo be replaced during S/4 conversion; redesign requiredCustomer data center in FrankfurtHyperscaler (in context of S/4 conversion)

Extension Domains

Extension domains provide the entry point into SAP AEM and can be used as a “big picture” for extension. You can do an assessment of your extension architecture by selecting the extension domains that are relevant for your organization or that you might want to further evaluate. Next, you can list your current extension technologies / services and skills (As Is) and also derive your future target architecture (To Be). Extension domains are technology agnostic and can therefore also help in blueprinting a hybrid extension platform consisting of multiple extension services/technologies (SAP/Non-SAP). You could also remove extension domains that are not relevant in your organization.

Structure of a System-Landscape

Extension Domains Structure

High-Level Assessment of Your Extension Architecture

Extension DomainRelevanceExtension technologies and skills
RelevantNot RelevantUnder EvaluationAs IsTo Be
In-App Extension
Side-by-side Extension
Hybrid Extension

Extension Capabilities

Extension capabilities describe the focus of an extension towards the Core Solution: UI, process, business object-, business logic-, and data model extension. Each extension capability has specific characteristics and can be refined by extension tasks (see following slides). Extension capabilities are one of the key pillars of SAP AEM.

Five Fundamental Archetypes of Extension Capabilities

UI ExtensionUser interface extensibility deals with surfacing field definitions in UIs. This can be done in either of two ways, by modifying existing user interfaces or by providing new ones.
Process ExtensionExtend Core Solution by providing consumable events. Logic inside a business process step is not extended, but instead whole business process steps might be added, exchanged or rewired.
Business Object ExtensionCustom business objects are more flexible and more complex to adapt than data models, UI and business logic. They require a combination of additional data models, additional business logic, and additional APIs.
Business Logic ExtensionBusiness logic extensibility concerns extension within a business process step. Depending on the business requirements, such business logic can be executed asynchronously or synchronously.
Data Model ExtensionExisting data models are often not sufficient to cover the individual business requirements. In almost every implementation project the standard data model is extended by fields and nodes

Extension Tasks for UI Extension

As the UI is the central access point for end-users it is important that the UI screens fit the specific end-user’s needs. That includes the option to build custom UIs on top of the existing backend functionality. But if the existing UI mostly fits the use case, it is important to have upgrade stable extension mechanisms to avoid the additional maintenance efforts. That includes hiding irrelevant information, but also moving, combining or adding new information available in the standard backend functionality as well as via extensions (e.g., custom fields).

IDExtension TaskDescription
UI1Extend Core Standard UI with FieldDisplay additional information in the standard UI
UI2Modify Standard UIE.g. rearrange standard UI or mash-ups like integrate custom content as iFrames
UI3Create Custom UICreate separate UIs as alternative to adapting existing standard UIs
UI4Create Custom Form/ TemplateCreate a new custom email template or form template based on an existing data source

Extension Tasks for Process Extension

As opposed to business logic extensibility, process extensibility concerns extensions on a more coarse-grained level. Logic inside a business process step is not extended, but instead whole business process steps might be added, exchanged or rewired through either extending and adapting standard integrations or rewiring services for innovative business processes.

IDExtension TaskDescription
PE1Extend Core Process by consuming external eventExternal Events e.g. from SaaS solutions can be leveraged to extend core processes.
PE2Extend Core Process by consuming external APIExternal APIs e.g. cloud based services like machine learning can be leveraged in core solutions processes.
PE3Extend Core Process by additional SaaS solution integrationIn a hybrid landscape, SaaS solutions are further extending the existing core process. Particular integration technologies are relevant for such scenarios.
PE4Extend Core Process by additional onPremise Solution IntegrationIntegrating core solutions with each other in order to extend a standard process of a single core solution requires particular integration technologies to realize.
PE5Extend Core Process by publishing consumable eventEspecially to enable side-by-side extensions, the core solution needs to be capable of providing events that can be subscribed and consumed.
PE6Extend Core Process by publishing consumable APIEspecially to enable side-by-side extensions, the core solution needs to be capable of providing APIs to integrated.
PE7Extend Core Process by workflow (human centric process)Workflow Requirements can either be in scope of the core solution or can span multiple core solutions. This specific task needs to evaluate the different technical possibilities how to implement such requirements.
PE8Extend Core Process by business rulesTo enable business users to enhance a process in the core solution, this can be achieved by business rules that allow de-coupling of rules from the application lifecycle.

Extension Tasks for Business Object Extension

Business object extensibility is more flexible and more complex to adapt than Data Models, UI, and Business Logic - especially when implemented in the strategic side-by-side approach. Custom business objects require a combination of additional data models, additional business logic, and additional APIs. Can be mapped to "Develop your own custom application" from extensibility Explorer.

IDExtension TaskDescription
BOE1Create Custom Business Object
Data Model Layer
Creating custom objects (e.g. own tables)
BOE2Create Custom Business Object
Business Logic Layer
Creating bigger parts of custom logic

Extension Tasks for Business Logic Extension

Business logic extensibility concerns extension within a business process step. To adapt the Intelligent Enterprise to individual business needs, there are two ways to execute business logic, depending on the business requirements: asynchronous execution or synchronous execution in order to influence the control flow of the standard application.

IDExtension TaskDescription
BLE1Add Custom Business Logic (asynchronous)Asynchronous execution, e.g., either scheduled (batch) runs or on occurrence of a certain event to trigger subsequent process steps (e.g., send notifications, calculate KPIs, etc.).
BLE2Add Custom Business Logic (synchronous)Synchronous execution in order to influence the control flow of the standard application (e.g., validation logic to check conditions before a binding sales quote is released to the customer).

Extension Tasks for Data Model Extension

The data models of different solutions often represent either the same business entities or related business entities. Typically, a consistent extension of the related data models across different products in the landscape is required. This includes the consistent integration of the extension fields together with the standard parts of the data model.

IDExtension TaskDescription
DME1Add Custom Field to Standard ObjectEnhancing existing business objects of the core solution in order to store additional information.
DME2Creation of own application objectsCreating custom business objects including persistence to enhance the standard data model.