Building Side-by-Side Extensions on SAP BTP

Discovering the SAP Cloud Application Programming Model (CAP)

SAP Business Technology Platform (BTP) offers various runtimes and tools to facilitate seamless development and extensibility in cloud environments. Here’s a guide to building side-by-side extensions on SAP BTP using the SAP Cloud Application Programming Model (CAP).

SAP BTP

Three Application Runtimes

SAP Runtime Overview

  • Focuses on ABAP in the Cloud.
  • It expands the capabilities of SAP S/4HANA.
  • It facilitates the development process in both Cloud Foundry and Kyma Runtime environments.
  • Provides cloud-native environment for application development and deployment.

SAP Build

Three integrated products make up SAP Build.

  • SAP Build Apps
  • SAP Build Process Automation
  • SAP Build Work Zone

This suite supports both pro code and low-code development, enabling a hybrid approach. Pro code developers and citizen developers can collaborate in “Fusion Teams” to create extensions. Developing core solutions is possible, but best practices recommend keeping the core clean by using APIs for integration.

SAP BTP: A Cloud-Based Platform

Providing tools and services to expand business processes in SAP settings, SAP BTP is a cloud-based platform. Including the SAP Business Application Studio and SAP BTP, Kyma runtime, it gives developers the tools to build dependable, scalable, and safe cloud-native apps..

Skill Specializations

The slide categorizes the skills of SAP Cloud Developers into two main specializations:

  • ABAP-based Development
  • Non-ABAP-based Development

ABAP-based Development

  • Programming Model: Utilizes the ABAP RESTful Programming Model (RAP).
  • Supported Environment: Focuses exclusively on ABAP in the Cloud.
  • Main Focus: Concentrates primarily on extending SAP S/4HANA functionalities.
  • Development Environment: Limited to on-premises/ABAP environment on the SAP Business Technology Platform (BTP).

Non-ABAP-based Development

  • SAP Cloud SDK Programming Models
  • Utilizes Cloud Application Programming Model (CAP) or SAP Cloud SDK.
  • Supports JavaScript, TypeScript, and Java.
  • Aims to create multi-microservice SaaS solutions.
  • It facilitates development within the Cloud Foundry and Kyma Runtime environments.

Exploring the SAP Cloud Application Programming Model

What Is the SAP Cloud Application Programming Model?

The SAP Cloud Application Programming Model (CAP) is a comprehensive framework that makes developing enterprise applications easier. It provides a diverse range of languages, libraries, and tools, guiding developers through best practices and offering numerous pre-built solutions for common tasks.

Key Components within CAP

  • Core Data Services (CDS): The programming model’s backbone, enabling service definitions and data modeling via the Definition Language (CDL).
  • SDKs for Java and Node.js: For service integration, including features like authentication.
  • SAP Business Application Studio: A comprehensive web-based development environment, with support for local development in VS Code or Java IDEs.
  • Databases: SAP HANA Cloud is preferred, but alternatives like PostgreSQL and SQLite are available.
  • Frontend Technologies: Supports various frontend technologies, including SAP Fiori, Vue.js, Angular, and React.

Overview of Important CAP Resources

  • Official CAP documentation is called CAPire.

Introducing the SAP BTP Developer’s Guide

Why Use the SAP Developer’s Guide?

SAP Business Application Guide

  • Cloud and Enterprise Quality: Guidance on delivering robust SAP cloud and intelligent enterprise suite qualities.
  • Blueprint for Success: Provides a curated list of core SAP business applications on SAP BTP.
  • Automated Setup: Offers tools for automatic provisioning, managing, and configuring resources.
  • Smooth Integration: Standardized technologies facilitate a cohesive development process.

Key Components

SAP Cloud Application Programming Model

  • Supports Java, JavaScript, and TypeScript.
  • Focuses on business domain.
  • Safeguards investments in cloud evolution.

ABAP Cloud

  • ABAP Cloud employs a contemporary strategy to ensure the stability and readiness of business applications throughout their lifecycle.

SAP Build Code

  • The environment, powered by AI, caters to CAP and SAPUI5 developers.

Setting Up the CAP Project

  • Perform the exercise “Build a CAP Application” in the tutorial and complete all steps.

Serving User Interfaces in CAP

  • The CAP application facilitates the integration of user interfaces through standard AJAX requests.
  • Cap-samples repository provides a working Vue.js example.

SAP Fiori Elements UI Support in CAP

  • The CAP framework provides support for SAP Fiori elements UIs, including annotations and advanced features such as search, value helps, and SAP Fiori draft.
  • Drafts prevent data loss and object editing by multiple users.
  • A single CAP project can contain multiple SAP Fiori apps.
  • Special UI-specific annotations enhance the exposed service by providing instructions for SAP Fiori elements.

Adding Custom Business Logic

Event Handling in CAP

  • All runtime occurrences are treated as events sent to a service, allowing for powerful extensions.
  • An event handler is a method executed in response to application events.

Explaining the Need for Custom Business Logic

  • Construct, Reflection API: Deals with constructing and looking up things in services or connecting to other required services, not commonly used.
  • Querying API: Allows sending synchronous queries to services, including databases.
  • Messaging API: The asynchronous counterpart of the query API for services to send messages to each other.

Error Handling in CAP

  • Two types of errors: programmer errors and operational errors.
  • Raising and Catching Exceptions

Extensibility and Connectivity Capabilities in CAP

Connectivity in CAP

  • Offers seamless database integration with various data sources.
  • Supports SAP HANA, SQLite, H2, and PostgreSQL.
  • Integrates with SAP and OAuth 2.0.

Extensibility in CAP

  • The CAP provides extensibility in data model, behavioral, UI, service, and localization aspects.

Identifying Deployment Options in CAP

Deployment Options in CAP

  • SAP BTP, Cloud Foundry Runtime: Utilizes Multitarget Application (MTA) approach.
  • SAP BTP, Kyma Runtime: Utilizes Pack and Helm Charts for ease of deployment.

Multitenancy (SaaS)

  • This feature allows multiple tenants to access the application within a shared infrastructure.

In summary

By means of the SAP Cloud Application Programming Model (CAP), side-by-side extensions on SAP BTP enable developers to design scalable, maintainable, and cloud-native corporate solutions. Businesses can easily improve SAP S/4HANA features while keeping the main system clean, thanks to CAP’s strong design, support for different platforms, easy integration, and consistent development approach. Whether you choose current frameworks like Java and JavaScript or ABAP-based development, SAP BTP offers the flexibility, tools, and resources—such as the SAP Developer’s Guide and SAP Build suite—to speed innovation. Adopting CAP is about building future-ready, extendable SAP solutions that fit changing corporate demands in the cloud era, not only about development efficiency.

You might also find the following articles interesting.

We are a group of SAP Consultants who want to teach and make studying tough SAP topics easier by providing comprehensive and easy-to-understand learning resources.

Leave a Reply

error

Enjoy this blog? Please spread the word :)