Building a CRUD Extension using Java

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

After completing this lesson, you will be able to:

  • Build a CRUD extension application using Java and the Spring framework

Introduction to Business Partner Address Manager

In this lesson, we start building an extension app with business functionality. The extension app focuses on managing business partners and their addresses. The app supports three use cases.

Let's take a look at the three use cases.

Architecture Overview and REST Service Layer

The figure, Architecture Overview, REST Service Layer, provides a schematic overview of the architecture from the front-end to the back-end components. At the top, we see the front-end, which can be implemented based on SAP Fiori. However, the front-end can also be developed using other technologies, like Angular. The front-end communicates with the back-end through REST Web services. In the back-end, we provide these services and implement their business logic with our Web service framework of choice.

To implement the integration with SAP S/4HANA and other third-party systems, the SAP Cloud SDK provides multiple features that support this layer of the architecture. For example, when implementing resilient calls to third-party systems, such as, SAP S/4HANA, we can build commands that implicitly implement the circuit breaker and bulkhead pattern. If we want to cache the requested data, we can seamlessly leverage multi-tenant and user-aware cache mechanisms. Invoking these SAP S/4HANA services is supported seamlessly by SAP Cloud SDK. Instead of writing HTTP request-response code, we can work with the SAP S/4HANA Virtual Data Model (VDM) for Java, which provides a convenient and type-safe abstraction of OData Services using a Java API. Finally, the SAP Cloud SDK provides transparent and multi-tenant-aware mechanisms for securely connecting to SAP S/4HANA systems.

As a part of this course, we build the RESTful Web services in the back-end to support the business partner address management features.

The figure shows an example of the REST services that we use for various operations in our example, such as, retrieving the list of business partners, retrieving the details of a specific business partner, and including associated addresses and additional information like biological information.

In addition, we use three other services for creating, updating, and deleting business partner addresses.

We then finalize the app by adding support for the modifying operations, which comprises creating new addresses, updating, and deleting existing ones.

Using SAP Cloud SDK Archetypes to Create the Initial Application

Maven Archetypes for the Java Extension Applications

The following video shows the available Maven archetypes and the structure of the generated application.

Related Resources

Access the following links to know more about TomEE and Spring:

Introducing the Destination and Connectivity Services

The destination and the connectivity services are two important services of SAP Business Technology Platform (BTP) that are needed to integrate with SAP S/4HANA.

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