Exploring Extensibility Tools

Objectives
After completing this lesson, you will be able to:

After completing this lesson, you will be able to:

  • Compare the extensibility tools to help you develop robust extensions

Exploring Extensibility Tools

The SAP S/4HANA Cloud Extensibility Checklist provides a good pathway for analyzing and designing your extension strategy. First, a customer would check with the SAP Best Practice Explorer. The SAP Best Practice Explorer allows customers to search, browse, and consume SAP and also Partner best practices. The explorer is easy to navigate. The content is organized by solution packages (corresponding to products), and can be filtered by line of business, technology, cloud, or S/4HANA. In addition, there is an A to Z option that can be used. Inside a package, you will find a start page and additional assets (software and delivery requirements, and configuration documents) organized into folders. All of the content can be downloaded free of charge, and some types of content can be opened in additional applications. Configuration templates for example can be opened in Solution Manager.

Once the SAP Best Practice Explorer confirms that a scope item (representing some business functionality) is available, the customer then determines whether the functionality is sufficient or whether an extension is needed. Enter The SAP Extensibility Explorer, which is used to explore SAP S/4HANA Cloud Extensibility options by leveraging sample scenarios from SAP. The SAP Extensibility Explorer provides comprehensive details about the sample scenarios such as scope, architecture, process flow, source code, and set-up instructions. Once the final decision to build the extension is made, final specifications are done, and the development, deployment, and management cycle of the extension can commence. To support that effort, the SAP Roadmap Viewer can be utilized to create a customized project plan (which can be imported into SAP Solution Manager) in the form of a work breakdown structure, which you can use as a starting point for an extension project.

Also, note that the SAP Roadmap Explorer should be used to confirm whether the functionality desired by an extension is part of a planned innovation to be delivered by SAP, which would make building the extension unnecessary.

As mentioned earlier, the SAP Extensibility Explorer allows the customer to access over two dozen scenarios which collectively cover almost every conceivable type of extension (both in-app and side-by-side) that would ever need to be created. The scenarios are easily filtered by technology, and each one provides a description, highlights, a flow chart of the development process, the technologies involved, prerequisites, and relevant APIs and services. In addition, a link is provided on the page to explore all the different extensibility patterns discussed previously in Lesson 3: Introducing Integration in the Context of Extensibility. Finally, at the bottom of the page are links to several of the most important tools that developers use when creating in-app and side-by-side extensions.

Some of the different tools can be accessed through SAP S/4HANA Cloud.

Below are the tools that are available through SAP Business Technology Platform.

How It Works – a Sneak Peek Under the Hood of SAP Business Application Studio

The development environment is accessed via browser. This means that it's a hassle-free environment, no need to install any special software or extension.

The developer can have multiple dev spaces, which are like virtual machines in the cloud. This provides the desktop-like experience, with fast response time and more control over the environment.

Each dev space has pre-installed runtimes and tools needed for the use-case. This simplifies and saves time in setting up the development environment, and allows to efficiently develop, test, build, and run the developed solution.

In this example, for SAP Fiori development, the dev space has a file system where the code is stored (that we recommend as best practice to connect to a Git source code repository). A development environment, which is an IDE based on an open source. Extensions for SAP Fiori development, such as: Layout Editor, Language services for SAPUI5 (code completion, intellisense, etc.). If additional tools are needed, there is an option to customize the dev space and add additional extensions.

During development, and later when testing in the actual runtime environment, the app can consume data and services coming from various sources: on-prem ABAP, SAP Cloud Platform, as well as non-SAP.

Once you are done developing, you can either test your code locally on a simulated runtime or easily deploy your app to the cloud and test it in the actual runtime environment on Cloud Foundry or on-prem ABAP.

The dev spaces are at the heart of SAP Business Application Studio. Let's take a closer look at this concept:

  • There are various dev space types. Each dev space type fits an Intelligent Enterprise development use case.
  • This slide presents additional examples of dev space types. Each of these dev space types comes prepackaged with the tools and runtimes relevant for its scenario. If we take, for example, the SAP Fiori dev space:
  • SAP Fiori:
    • Open source IDE with editors & language services.
    • SAP Fiori templates.
    • Local test tools.
    • SAPUI5 build and the ability to deploy to the actual target runtime directly from SAP AppStudio.
  • CAP:
  • Mobile:

In the future, there will be the option to customize the dev space as well as share, so that all developers in the team will use the same set of development tools.

One of the most effective values of the SAP API Business Hub is the ability to discover and test APIs. APIs can be filtered based on both product (SAP S/4HANA Cloud, SAP SuccessFactors, for example) and/or type (SOAP, OData). Once discovered OData APIs (both V2 & V4 versions) can be executed via a sandbox system maintained specifically for this purpose. If desired, a developer can register their own system and test OData APIs against it, as opposed to the SAP maintained sandbox system. Also, an official API reference is maintained for each API along with a schema view which gives detailed information on each entity type contained in the API (similar to the metadata.xml). Finally a link for each API gives a code snippet for several languages (ABAP, JAVA, JavaScript, for example) that can be inserted into the development IDE being used that will execute the call.

The SAP Cloud SDK is a versatile set of libraries and tools for developers to build cloud-native applications on the SAP Business Technology Platform. To simplify the consumption of multiple services published on the SAP API Business Hub, the SDK offers code generators for OData and OpenAPI together with pregenerated typed client libraries. These libraries are seamlessly integrated with connectivity, authentication, multi-tenancy, and other abstractions to speed up application development. This allows developers to focus more on application logic as opposed to the complexities of SAP Business Technology Platform.

Save progress to your learning plan by logging in or creating an account