Designing Application Architecture

Objectives

After completing this lesson, you will be able to:
  • Create a product map to depict business scope and recommended products
  • Design a solution component diagram to illustrate relevant solution components and communication channels between them
  • Develop a solution flow value to represent a collection of realized, value-adding business activities
  • Construct a solution process flow to represent a specific, exemplary process flow of solution activities within a set of relevant solution components
  • Draft an application architecture overview diagram to describe relevant solution building blocks and relationships between them
  • Illustrate a software distribution diagram to show how solution components are distributed across the IT infrastructure

Product Map

Product Map

Solution Capabilities are implementations of Business Capabilities, realized by a combination of software components (one or many). Hence, the same Business Capability can be supported by multiple different Solution Capabilities.

Product Map

At least one Solution Component is mandatory to implement the business capability. Additional Solution Components might be optional to improve the quality/coverage/sophistication of how the business capability is implemented (for example, adding features like automation, intelligence). All Solution Components assigned to a Solution Capability must complement each other functionally and must be able to work together in an integrated fashion.

Overview of Product Maps

A Solution Capability describes a functional ability of a single or multiple Solution Components to implement and support a specific business capability.

Overview of Product Maps

The benefits of product maps are as follows:

  • They help to describe the functional positioning of SAP Solution Components and Products, which support designated Business Domains or Business Areas and should be enabled to meet specific business requirements or objectives
  • They deliver a Bill of Material, which supports a proposed target solution architecture
  • They can be used to describe an industry-specific Product or Solution Component offering

Product Map creation: Solution Components centric-view

Note

Other sequences than the following are also possible:

  • Business Domain
  • Business Area
  • Solution Component / Product
  • (Solution Capability)
Product Map creation: Solution Components centric-view

Example: Product Map for Sourcing and Procurement

The following figure is an example of the Product Map for sourcing and procurement.

Example: Product Map for Sourcing and Procurement

Product Map Creation: Solution Capabilities-centric view

A Solution Capability describes a functional ability of a single or multiple Solution Components to implement and support a specific Business Capability. The Solution Capability Catalog captures Solution Capabilities structured by Business Domains, Business Areas and possibly Business Capabilities or Solution Components for reference purposes.

Product Map Creation: Solution Capabilities-centric view

Note

Other sequences than the following are also possible:

  • Business Domain
  • Business Area
  • Solution Component / Product
  • (Solution Capability)

Benefits:

  • Lists relevant Solution Capabilities structured by business needs
  • Helps to identify relevant Solution Components and the role they can play to fulfill the business scope
  • Supports the comparison and value proposition of Solution Components

Example: Product Map for Human Resources

The following figure is an example of a product map for Human Resources.

Example: Product Map for Human Resources

Solution Component Diagram

Overview

Solution Component Diagram

A Solution Component Diagram is a structural component diagram that provides an overview of a concrete Solution Variant.

It visualizes the main Solution Components, describes structural groupings, and the Communication Channels between Deployment Units.

A Solution Component combines built-in and partially exposed functionality, behavior, and data.

Solution Components are key elements within Solution Architecture description.

Today we separate the following types of Solution Components.

  • Software Applications / Software Services
  • Solution Component Groups
  • External Components

Sub-components below the Software Applications and Services may not be further described.

Solution Component Groups are used to group Software Applications and Software Services or Sub-components.

External Components are not provided by SAP.

Solution Components that can be deployed to different deployment targets, can be operated separately, and collaborate by modeled integration are labeled as Deployment Units.

Deployment Units are Solution Components that bundle Solution Components that can be operated separately from other Deployment Units.

  • The interactions between Deployment Units are described as Communication Channels and they provide technical details as Communication Scenarios.
  • Interactions within a single Deployment Unit are not described within the SAP EA Methodology. These interactions include, for example, method calls, (direct/non-remote) service calls, modification and access to shared data on a common database.

Deployment Units characteristics:

  • Separated operations
  • The operations team needs to set up, run/manage/monitor the Communication Scenario, including monitoring and issue fixing

Solution Component Diagram

The Solution Component Diagram is a graphical representation of the solution components required for a solution variant, their possible deployment, and the integration among them with the reference to corresponding implementation artifacts, such as APIs and Integration Flows.

Solution Component Diagram

Identify relevant Solution Components:

Identify the relevant Solution Components which are needed to enable the business capabilities identified earlier during the business architecture phase. Best practice is to use the SAP Reference Architecture to speed up the work. As we saw earlier, the SAP EA Methodology allows navigation from the business architecture domain to the IT Solution architecture domain on all levels. As a result it possible to a navigation from Business Capability to Solution Components.

Understand Integration:

Identify the communication channels between the relevant Solution Components with the help of the SAP Reference Architecture content.

Visualize Solution Component Diagram:

Visualize the identified Solution Components in the form of a Solution Component Diagram. Visualization is key to get engaged with business stakeholders.

Solution Component Diagram Concept

Application Architecture - Solution Component Diagram Concept

Solution Variant

A solution refers to a set of interacting, software-based (solution) components that address a specific need or business scenario. The specific need is often the support of a business process.

Solution Process

A solution process is the realization of a business process. It leverages a defined set of solution components to meet the needs of the business process and realize it in a specific way.

Solution Component

Solution components are the modular, software-based units that perform the following:

  • They come together to form the entire solution
  • They are configured to perform a specific function to fulfill the business need

Solution components can be configured applications or services.

Solution components can be broken down into more fine granular Solution Components or can be grouped into more coarse-grained solution components to explain the overall structure of a solution:

  • In the example, we see on the top level 8 Solution Components: The SAP SuccessFactors HXM Suite, SAP Master Data Integration, SAP S/4HANA Cloud, SAP Integration Suite, and so on
  • The SAP SuccessFactors HXM Suite groups the next-level Solution Components: SAP SuccessFactors HXM Core and the SAP SuccessFactors Employee Central Payroll
  • In the picture, the small Cloud Icon separates the so-called Deployment Units from other solution components

Deployment Units

A deployment unit is the smallest of all solution components of a solution that can be deployed and run independently in a particular environment. Operations need to take "deployment units" into account during the provisioning process and needs to establish the integration between deployment units.

Deployment Types

The deployment type describes if a deployment unit can be operated in a public cloud, a private cloud or an on premise environment.

Communication Channel

A communication channel indicates that data has to be transferred from one deployment unit to another - for example, through direct or mediated messaging.

Example: Solution Component Diagram

The given example outlines a Solution Component Diagram.

Application Architecture - Example Solution Component Diagram

Solution Value Flow

Overview

A solution value flow is an abstract representation of a solution process and contains a collection of addressed business activities that create additional value for the stakeholders.

Solution Value Flow

The addressed Business Activities are associated with relevant Solution Components and Solution Capabilities implementing them.

The diagrams showing Solution Value Flows are named Solution Value Flow Diagrams. The associated Solution Components and Solution Capabilities might be displayed.

Solution Value Flow: Business Activities

We will now examine the following:

  • Specify Business Activities
  • Identify Solution Capabilities and Solution Components
  • Understand Process Flow
Solution Value Flow: Business Activities

Specify Business Activities:

Depict all addressed value-adding Business Activities. The selected Business Activities are shown in a logical order, which supports easy explanation of the Solution Process. The actual sequence of execution can differ from the shown order.

Identify Solution Capabilities and Solution Components:

Assign Business Activities to relevant Solution Capabilities and Solution Components realizing them.

Understand Process Flow:

Associate Solution Process depicted using Solution Value Flow to detailed Solution Process Flows .The related Solution Process Flows depict Solution Activities and provide addition details, such as alternative flows, paths, loops or decision points in the execution.

Example: Solution Value Flow Diagram

This Solution Value Flow Diagram for cloud Solution Components with Solution Capabilities shows the implementation of a Solution Process Module by depicting an implementable combination of Solution Components and their corresponding Solution Capabilities for cloud deployment.

Example: Solution Value Flow Diagram 1/2

This is a visualization of Solution Value Flow provided in SAP Business Accelerator Hub. This example illustrates Business Activities which are liked to related process flows depicted using Solution Process Flow Diagrams.

Example: Solution Value Flow Diagram 2/2

Solution Process Flow

Overview

The Solution Process Flow diagram is a behavioral diagram that is used to describe a concrete process flow of a solution process.

Solution Process Flow

Depending on the level of shown detail, Solution Process Diagrams are basically BPMN 2.0 collaboration or process diagrams with various SAP Enterprise Architecture Methodology extensions used to describe, for example, integration architecture aspects.

Pools in collaboration diagrams represent deployment units (solution components). The message flows describe the collaboration and integration aspects between these deployment units.

Lanes can represent sub-solution components or application roles.

Solution Process Flow

The Solution Process Flow Diagram is a behavioral diagram that is used to describe a concrete process flow of a solution process. The goal is to provide a common understanding on which solution activities are provided by the solution components to realize a particular solution process and the ordering of solution activities. Moreover, Solution Process Flow Diagrams specify how different solution components collaborate in the context of specific Solution Process Flows by depicting the integration between them.

Solution Process Flow

Specify Flow of Solution Activities

Depict all relevant Solution Activities, each representing one or a part of one or multiple Business Activities, and ordering constraints between them. Define the flow of Solution Activities, including parallel and optional process flow paths.

Identify Solution Components

Assign solution activities to solution components realizing them in the context of the given Solution Process Flow. A solution activity can be assigned to exactly one solution component, which is represented as a pool in the diagram.

Specify Integration

Define how integration between the relevant solution component is realized in the content of the given Solution Process Flow. Use message flows to depict different integration points between two solution components.

Example: Solution Process Flow Diagram

The example in the following figure outlines the Solution Process Flow for Time Data Management.

Example: Solution Process Flow Diagram

Application Architecture Overview Diagram

Application Architecture Overview Diagram

The Application Architecture Overview Diagram depicts the relevant Solution Building Blocks (in the context of SAP Solution Components) and their integrations. It is a sum of all relevant Solution Building Blocks (solution components). It is based on the solution concept Diagram and a mapping of included Architecture Building Blocks (functional components) to Solution Building Blocks (in SAP Context, Solution Components). Potential white spots (areas for which no Reference Solution Component exists) are also shown. Options for their implementation are also given (for example, existing Solution Components, 3rd Party, or custom-developed components).

Application Architecture - Application Architecture Overview Diagram

Application Architecture Overview Diagram

An Application Architecture Overview Diagram sketches in an abstract way all relevant solution components (or solution building blocks) required for a solution variant. Optionally, it shows relationships between the defined solution components. The diagram may be used to visualize an architecture overview in a more illustrative and less formalized form than in the Solution Component Diagrams.

Application Architecture Overview Diagram

Example: Application Architecture Overview Diagram

The example in the following figure outlines an Application Architecture Overview Diagram that shows the relevant solution building blocks.

Example: Application Architecture Overview Diagram 1/2

The example in the following figure outlines the corresponding Application Architecture Overview Diagram for the Solution Component Diagram depicted in the previous figure. It is a less formalized architecture overview of key solution building blocks and their relationships.

Example: Application Architecture Overview Diagram 2/2

The example shows an Application Architecture Overview Diagram. It is a less formalized architecture overview of key solution components and their relationships.

SAP BTP Icons are used as markers for different solution components.

The following figure provides you an example shows an Application Architecture Overview Diagram. It is a less formalized architecture overview of key solution components and their relationships.

SAP BTP Icons are used as markers for different solution components.

This is an example created in the content of Total Workforce Management Solution Process.

Example: Application Architecture Overview Diagram 3/3

Software Distribution Diagram

Overview

The Software Distribution Diagram shows how individual solution building blocks (on a high level) are structured and distributed across the IT infrastructure and used technology foundation. The level of detail depends on the granularity of the Solution Components in scope. Generally, only the classification between the following environments is considered in this diagram:

  • Premises (own data centers)
  • Private Cloud (separated private area in data center of IT partner)
  • Public Cloud (applications/services provided in public Hyperscaler data center)
Software Distribution Diagram

This helps you to understand, within the Application and Data Architecture phase already, the potential impact, risk, and connectivity challenges that may be introduced by the selected Solution Components. Further details about the data center's physical locations, their (virtual private / inter) connectivity and details about the used operational software layer (for example, for virtualization / container technology) are addressed in the Technology Architecture domain.

Software Distribution Diagram

A Software Distribution Diagram shows you how a solution is structured and how the solution components (or solution building blocks) are distributed across the IT infrastructure and used technology foundation. The purpose of the diagram is to enable a clear view of how the solution is hosted.

Software Distribution Diagram

Deployment Environments

Identify the relevant hosting and deployment environments (for example, Public Cloud, Private Cloud and on Premise) for your solution components.

Map Solution Building Blocks

Map the solution building blocks of your architecture to the previously identified hosting and deployment environments and visualizing the Software Distribution Diagram.

Data Flow

Visualize the relationships of type request-response or information flow between the building blocks. This helps you to understand potential latency considerations or network requirements.

Software Distribution Diagram: Template

An infrastructure provider, as Amazon Web Services (AWS), Google Cloud Platform (GCP), Microsoft Azure, provides essential services or resources needed to build, operate, and manage IT environments.

Software Distribution Diagram: Template

These services or resources can include things like hardware, storage, networking, or support services.

Solution Component

The Solution Components are the modular, software-based units that:

  • Come together to form the entire Solution
  • Configure things to perform a specific function to fulfill a business need

Solution Components can be configured Applications or Services.

Deployment Types

The deployment type describes whether a deployment unit can be operated in a public cloud, a private cloud or an on premise environment.

The following are relevant cloud deployment models. The definitions are taken from/aligned with the National Institute of Standards and Technology (NIST): https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-145.pdf

On Premise

On premise (OP) software is installed and runs on computers on the premises (in the building) of the organization using the software, rather than at a remote facility, such as at a server farm or cloud somewhere on the internet.

Private Cloud

The cloud infrastructure is provisioned for exclusive use by a single organization comprising multiple consumers (for example, business units). It may be owned, managed, and operated by the organization, a third party, or some combination of them, and it may exist on or off premises.

Taking into account SAP and the customer-facing perspective, private cloud is one type of the Cloud Deployment Models whereby the cloud infrastructure is provisioned for exclusive use by a single organization comprising multiple consumers (that is, single tenant) and generally accessed by Virtual Private Network.

It is a cloud environment, which is entirely hosted by an organization's infrastructure and dedicated resources.

Public Cloud

The cloud infrastructure is provisioned for open use by the general public. It may be owned, managed, and operated by a business, academic, or government organization, or some combination of them. It exists on the premises of the cloud provider.

Taking into account SAP and the customer-facing perspective, public cloud is one type of the Cloud Deployment Models whereby the cloud infrastructure is provisioned to multiple customers for open use via the Internet. Generally the vendor owns and manages the infrastructure for public cloud on the premises of the cloud provider.

In an on premise deployment, a data center of the organization itself provides essential services or resources needed to build, operate, and manage IT environments.

Example: Software Distribution Diagram

The following graphical representation outlines an example for a Software Distribution Diagram.

Example: Software Distribution Diagram 1/2

The following graphical representation outlines an example for a Software Distribution Diagram.

Example: Software Distribution Diagram 2/2

Software Distribution Diagram 1/2

There are three relevant cloud deployment models as defined by the National Institute of Standards and Technology (NIST): https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-145.pdf

Software Distribution Diagram

On Premise

On premise (OP) software is installed and runs on computers on the premises (in the building) of the organization using the software, rather than at a remote facility, such as at a server farm or cloud somewhere on the internet.

Private Cloud

The cloud infrastructure is provisioned for exclusive use by a single organization comprising multiple consumers (for example, business units). It may be owned, managed, and operated by the organization, a third party, or some combination of them, and it may exist on or off premises.

Taking into account SAP and the customer-facing perspective, private cloud is one type of the Cloud Deployment Models whereby the cloud infrastructure is provisioned for exclusive use by a single organization comprising multiple consumers (that is, single tenant) and generally accessed by Virtual Private Network.

It is a cloud environment which is entirely hosted by an organization's infrastructure and dedicated resources.

Public Cloud

The cloud infrastructure is provisioned for open use by the general public. It may be owned, managed, and operated by a business, academic, or government organization, or some combination of them. It exists on the premises of the cloud provider.

Taking into account SAP and the customer-facing perspective, public cloud is one type of the Cloud Deployment Models whereby the cloud infrastructure is provisioned to multiple customers for open use by the Internet. Generally the vendor owns and manages the infrastructure for public cloud on the premises of the cloud provider.

Software Distribution Diagram 2/2

Cloud service models describe the scope of the services provided to the customer by the service provider, that is, whether the service provider is responsible for the application lifecycle management or just the hardware.

Software Distribution Diagram 2/2

Cloud Service Model

Cloud Service Model is about the following:

  • The scope of the services provided
  • The service is provided between the Cloud Service Provider and the Cloud Service Consumer
  • The responsibility for the application lifecycle or hardware
  • The control over the components of the service provided

Source: National Institute of Standards and Technology (NIST)

Software-as-a-Service

  • Operated by the vendor
  • Customer subscribes to usage contract
  • The application is accessed through thin clients (web, mobile, application interfaces)
  • Usually based on a multi-tenant architecture
  • Data from different customers not necessarily physically separated, only logically

Control over cloud service

  • No control of the underlying (cloud) infrastructure
  • Limited user-specific application configuration
  • Usually no control over software release and update cycles

Based on NIST

The capability provided to the consumer is to use the provider's applications running on a cloud infrastructure.

SaaS applications are typically available by web browser or mobile devices.

Platform-as-a-Service

  • Development platform or middleware offered as a service.
  • Customer subscribes to usage contract
  • Deployment of customer-created applications

The control over cloud service is as follows:

  • No control of the underlying (cloud) infrastructure
  • Control over the deployed application
  • Control over configuration settings for the platform environment possible

Based on NIST

The capability provided to the consumer is to deploy onto the cloud applications created using programming languages, libraries, services, and tools supported by the provider.

PaaS is a hosted application environment for building and deploying cloud applications.

Infrastructure-as-a-Service

  • Provisioning of processing, storage, network and other IT computing resources
  • Computer infrastructure "as-a-service" charged on a utility basis and by consumption

The control over cloud service is as follows:

  • No control over the underlying physical infrastructure
  • Logical control over OS, storage containers, and deployed applications
  • Limited control of selected network components (that is, VLAN)

Based on NIST

The capability provided to the consumer is to provision processing, storage, networks, and other fundamental computing resources where the consumer is able to deploy and run arbitrary software, which can include operating systems and applications.

IaaS refers to computing resources provided on demand.

Comparison of the Common Service Models

The following graphic shows the responsibilities by layer and the control over the stack.

Comparison of the Common Service Models

Log in to track your progress & complete quizzes