Explaining Distributed Architecture and Its Challenges

Objectives

After completing this lesson, you will be able to:

  • Describe the distributed architecture
  • Describe the whole scenario

Distributed Architectures and Its Challenges

In this lesson, the following topics are discussed:

  • What is a distributed architecture?
  • What challenges have to be solved?

What Is a Distributed Architecture?

A distributed IT system is an architectural paradigm and according to the Encyclopedia of Business Informatics Online Dictionary is defined as follows:

"A distributed IT system comprises subsystems (components in the broadest sense) that are coupled together within the framework of a specific architecture and handle tasks cooperatively."

In contrast, in a monolithic IT system, the functions of a system are bundled (centralized). The logical distribution of system functions among components can be accompanied by a coordinated physical decentralization in a computer network.

We understand all IT installations and services as components. For example, ERP On-Premise, SAP S/4HANA On-Premise and/or SaaS applications.

An Example of a Distributed Architecture

Below is an example of a customer landscape. You can see that many different technical systems communicate with each other with all their technical peculiarities.

The graphic shows the network (public and private) and many different technical systems communicating with each other such as point of sales, customs, social media, credit check, payment, SAP Customer Activity Repository, DS/ML Platform (AI), AP S/4HANA, Web Shop, SAP Customer Cloud, Own and Third Party Apps, In-Shop Experience, Supplier Management System, Marketing and Logistics Provider.

What Challenges Have to Be Solved?

Due to heterogeneity, expensive and complex solutions must be sought, found, and implemented to the following challenges:

  • Many different transport and message protocols
  • Release management
  • Monitoring
  • Error identification and correction
  • Latency
  • Quality of service
  • Security
  • Availability of implementations
  • Observability
  • Documentation

One way to overcome these challenges is to use an API first approach.

An API-first approach is a design methodology where the primary focus during the development process is on designing the application programming interface (API) before any other aspects of the software solution. This approach emphasizes creating a well-defined and robust API that meets the needs of developers and integrators who use it to build applications, services, or integrations.

Key aspects of an API-first approach include:

  1. Design-Centric: API design becomes a central part of the software development life cycle. Design decisions prioritize clarity, consistency, and usability to ensure developers can easily understand and use the API.
  2. Iterative Development: Developers iterate on the API design based on feedback and evolving requirements before moving onto the backend implementation or other aspects of the application.
  3. Facilitates Collaboration: By defining the API early, different teams (front end, backend, mobile, third-party developers) can work concurrently and in sync. This reduces dependencies and accelerates development.
  4. Ensures Scalability and Flexibility: An API-first approach promotes scalability as it encourages modular, reusable components. It also provides flexibility to adapt to changing business requirements and technological advancements.
  5. Focus on Developer Experience (DX): DX becomes crucial, aiming to provide developers with clear documentation, SDKs (Software Development Kits), code samples, and testing tools to ease integration and usage of the API.
  6. Supports Ecosystems Growth: APIs designed with an API-first approach can foster an ecosystem around the platform or service, allowing for third-party integrations, partnerships, and innovation.

Summary

For automated technical processes, many different software components, different installations, technology, and spatial availability are often coupled via networks with different protocols. The functionalities of these implementations are called services. The interface is provided via APIs (Application Programming Interfaces). The type, location, and implementation of the APIs are irrelevant for now. These APIs are language agnostic. That's why we also speak of an API first architecture or approach. Cloud native architectures are based on APIs. This is accompanied by new challenges.

Describe the Whole Exercise Scenario

Business Example

A well-known retailer faces a major challenge due to global supply chain disruptions, port congestion, and logistical issues. This causes delays in delivering popular products like electronics, home appliances, and specialty items. As a result, many customers are affected, putting customer satisfaction, and the company's reliable reputation at risk.

To address this situation effectively, the company has devised a comprehensive plan to inform all affected customers about the delays and manage their expectations.

You are part of the IT Team, which must identify all orders impacted by the delivery delays.

Message Flow of This Exercise

The following figure shows the business example as a step-by-step process:

The exercise scenario is shown as a step-by-step process. Each of the steps is explained in the following text of the exercise.

Description

  1. The responsible department creates a list of non-deliverable ProductIDs.
  2. The business process gets started with this list.
  3. First, the list gets split and processed for each product In the list one after the other (sequentially). To do this, the process runs through a loop.
  4. It needs to be checked if the processed product can be found in the database. To do this, a request needs to be sent to the database with it ProductID.
  5. If the product is available in the database, another request will be sent to the database to get the order data.
  6. We get the matching order data to our products from the database.
  7. For each product there is various order information associated to different customers. To find out all customers for each order information another request needs to be sent to the database.
  8. The customer information gets stored in a data store.
  9. Once all products from the list have been processed and the customer information has been saved, the process ends.

In a subsequent business process, the customer information is retrieved from the data store and the customers are informed by e-mail about the delayed delivery. However, this process is not the subject of the exercise.

The Solution Architecture

In a previous phase, the corresponding solution architecture was defined with the help of the SAP Integration Solution Advisory Methodology (ISA-M). The entire process is to be realized with the tools and concepts of the SAP Integration Suite.The Solution Architecture

The list of products that can't be delivered on time is created by the specialist department (1).

The iFlow in Cloud Integration (2) is started via a request. API management (3) encapsulates the API of the actual order database (4).

Authorization takes place via the SAP Cloud Identity Service (5).

Prerequisites

Knowledge of the design, development, and operation of APIs is helpful.

From a technical point of view, you need either one:

  • SAP BTP trial account
  • Free tier model for SAP BTP
  • Enterprise SAP BTP account

The SAP Integration Suite must be provisioned in your subaccount. The following capabilities must be activated in the SAP Integration Suite:

  • API Management
  • Cloud Integration

The appropriate role collections must then be assigned to the user. We will build on this later in the exercises.

Set up the prerequisites for your SAP BTP trial account

If you decide to proceed using a SAP BTP trial account, the following blog post will show you how to set up an SAP BTP trial account and how to enable SAP Integration Suite: SAP BTP Trial Account Creation and Enabling Integration Suite service

Please make sure that everything is set up accordingly before proceeding.

Create an Account on the SAP Gateway Demo System (ES5)

Business Scenario

The SAP Gateway Demo System is based on SAP NetWeaver AS ABAP 7.51. It is used, for example, to try OData services. Various sample services are implemented for this purpose. These services are accessible via the internet. In this exercise, the GWSAMPLE_BASIC service is used. This sample service is based on the Enterprise Procurement Model (EPM).

Task Flow

In this exercise, you perform the following tasks:

  1. Create a new SAP Gateway Demo System Access.
  2. Go to SAP Gateway SAP GUI for HTML.
  3. Change the password.
  4. Open the SAP Fiori launchpad Menu.

Find a matching tutorial: Create an Account on the SAP Gateway Demo System | Tutorials for SAP Developers

Prerequisites

  • A browser and internet access.
  • You need an SAP account. You created one in the previous task.
  • The description is for those who do not yet have a free account on the SAP Gateway Demo System (ES5).

Outcome After This Exercise

A working account in the SAP Gateway Demo System (ES5) with which you can consume OData APIs based on the EPM SalesOrder model.

What Do You Learn with This Exercise

You learn how to create a free account in the SAP Gateway Demo System (ES5).

Task 1: Create a New SAP Gateway Demo System Access

Steps

  1. Create a new SAP Gateway Demo System Access.

    1. Open a fresh chrome browser window.

    2. Go to https://register.sapdevcenter.com/SUPSignForms/.

    3. Enter your S-User or SAP ID User/E-mail to register.

      sapdevcenter registration
    4. Your registered SAP ID Service account retrieves your user details.

    5. Check the I have read and understood the Terms and Conditions box.

    6. Choose the Register button.

      sapdevcenter registration
    7. You will receive a success message for your registration via e-mail.

    8. Do not close this successful registration step page.

      sapdevecenter registration
    9. On that page, select Show password and write it down.

      ________________________________________________

    10. Go to https://sapes5.sapdevcenter.com and log in with your credentials.

      sapdevcenter registration
    11. Change your log in credentials as necessary.

      sapdevcenter registration
    12. Congratulations, you have successfully registered on the ES5 Gateway System.

      sapdevcenter registration

Task 2: Open the SAP Fiori Launchpad Menu

Steps

  1. Go to the SAP Easy Access page.

    1. Open https://sapes5.sapdevcenter.com/sap/bc/gui/sap/its/webgui# and log in with your user and password.

      sapdevcenter registration
    2. Check that you have successfully logged on to the Gateway Demo System.

      successful message
    3. Open the Fiori launchpad.

    4. Choose the Manage Products menu entry.

      SAP Fiori Overview
    5. Enter HT as ProductID and pressEnter to show the available products.

      Available Products
    6. You find the following product details:

      Available Products with HT

      We use this function to check whether the ProductIDs we use later are present in order to verify the processing.

Log in to your SAP Integration Suite

Business Scenario

For an integration developer to work with the SAP Integration Suite, configuration steps within the SAP BTP cockpit are necessary.

Task Flow

In this exercise, you perform the following tasks:

  1. Log in to your SAP BTP Trial Account.
  2. Log in to the SAP Integration Suite.

Prerequisites

As described in the last exercise, an SAP BTP Trial Account with a configured Integration Suite.

Outcome After This Exercise

You can log in your SAP BTP Trial Account. You can log in your configured SAP Integration Suite as a developer. You can identify and test the capabilities assigned to your user.

Task 1: Log in to Your SAP BTP Subaccount

Steps

  1. Log in to your SAP BTP Trial Account.

    1. Open your browser and insert the given training URL: https://cockpit.hanatrial.ondemand.com/trial/#/home/trial.

    2. Log in with your user and password when prompted.

    3. Click on the "Go To Your Trial Account"- button.

      Go to your trial account
  2. Log in to your SAP BTP Trial Subaccount

    1. Click on the tile called "trial". The subaccount overview will appear.

      Trial Subaccount
      Trial Subaccount Overview

Task 2: Log in to the SAP Integration Suite

Steps

    If you have only just created your SAP BTP Trail Account, no API proxies and integration packages are visible when you call up the corresponding capability.

  1. Log in to your SAP Integration Suite application.

    1. In your SAP BTP subaccount, navigate to ServicesInstances and Subscriptions and click on the link Integration Suite.

      SAP Integration Suite Homepage
  2. Open the Cloud Integration capability

    1. Open DesignIntegrations and APIs at the navigation bar.

      Menu Entry Integrations and APIs
  3. Open API Management.

    1. Open ConfigureAPIs at the navigation bar.

      API Management in SAP Integration Suite User Interface

Log in to track your progress & complete quizzes