abap restful application programming model (rap) · 2021. 4. 30. · sap developer tutorials...

27
ABAP RAP ABAP RESTful Application Programming Model (RAP) Webinar, 30.4.2021, 10:00 Uhr

Upload: others

Post on 07-Aug-2021

177 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: ABAP RESTful Application Programming Model (RAP) · 2021. 4. 30. · SAP Developer Tutorials Develop a Fiori App Using RAP –Managed Scenario openSAP Building Apps with the ABAP

ABAP RAP

ABAP RESTful Application Programming Model (RAP)Webinar, 30.4.2021, 10:00 Uhr

Page 2: ABAP RESTful Application Programming Model (RAP) · 2021. 4. 30. · SAP Developer Tutorials Develop a Fiori App Using RAP –Managed Scenario openSAP Building Apps with the ABAP

ABAP RAPSören

Sören SchlegelDevelopment Architect at j&s-soft gmbh

eMail: [email protected]: @SoSchlegel87

Themenschwerpunkte

• Konzeption & Management von Entwicklungsprojekten• SAP Architektur moderner Anwendungen• SAP Change Management and S/4HANA• SAP CDS, oData und Cloud

Page 3: ABAP RESTful Application Programming Model (RAP) · 2021. 4. 30. · SAP Developer Tutorials Develop a Fiori App Using RAP –Managed Scenario openSAP Building Apps with the ABAP

ABAP RAPFöß

Johann FößleitnerSenior Consultant at Cadaxo

eMail: [email protected]: @foessleitnerj

Beratungsschwerpunkte

• Konzeption & Management von Entwicklungsprojekten• Qualitymanagement & Performanceoptimierung• Clean Code• S/4HANA Custom Development

• SAP Champion

Page 4: ABAP RESTful Application Programming Model (RAP) · 2021. 4. 30. · SAP Developer Tutorials Develop a Fiori App Using RAP –Managed Scenario openSAP Building Apps with the ABAP

ABAP RAPDomi

Domi BiglSenior Consultant at Cadaxo

eMail: [email protected]: @DomiBiglSAP

Beratungsschwerpunkte

• Konzeption & Management von Entwicklungsprojekten• Qualitymanagement & Performanceoptimierung• ABAP Units• SAP Fiori, SAP UI5

Page 5: ABAP RESTful Application Programming Model (RAP) · 2021. 4. 30. · SAP Developer Tutorials Develop a Fiori App Using RAP –Managed Scenario openSAP Building Apps with the ABAP

ABAP RAP

Was ist eigentlich OData und

woher kommt RAP

Page 6: ABAP RESTful Application Programming Model (RAP) · 2021. 4. 30. · SAP Developer Tutorials Develop a Fiori App Using RAP –Managed Scenario openSAP Building Apps with the ABAP

ABAP RAPWas ist OData?

OData

Annotations

Metadaten

Daten

Page 7: ABAP RESTful Application Programming Model (RAP) · 2021. 4. 30. · SAP Developer Tutorials Develop a Fiori App Using RAP –Managed Scenario openSAP Building Apps with the ABAP

ABAP RAPOData Development - Overview

ABAP 7.0

Manual implementation ofMPC and DPC

Annotations:- Vocabulary- MPC_EXT

SEGW

ABAP 7.4 ABAP 7.5

Logic:- Everything: Manual!

ABAP Platform 1808 (7.53)

Page 8: ABAP RESTful Application Programming Model (RAP) · 2021. 4. 30. · SAP Developer Tutorials Develop a Fiori App Using RAP –Managed Scenario openSAP Building Apps with the ABAP

ABAP RAPOData Development - Overview

ABAP 7.0

Manual implementation ofMPC and DPC

Annotations:- Vocabulary- MPC_EXT

SEGW

ABAP 7.4 ABAP 7.5

Logic:- Everything: Manual!

SEGW

Usage of SADL(Service Adaption

Description Language)

Annotations:- Vocabulary- MPC_EXT

Logic:- Query + READ: SADL- CUD: Manual

ABAP Platform 1808 (7.53)

Page 9: ABAP RESTful Application Programming Model (RAP) · 2021. 4. 30. · SAP Developer Tutorials Develop a Fiori App Using RAP –Managed Scenario openSAP Building Apps with the ABAP

ABAP RAPOData Development - Overview

ABAP 7.0

Manual implementation ofMPC and DPC

Annotations:- Vocabulary- MPC_EXT

SEGW

ABAP 7.4 ABAP 7.5

Logic:- Everything: Manual!

SEGW

Usage of SADL(Service Adaption

Description Language)

Annotations:- Vocabulary- MPC_EXT

SEGW

CDS & BOPF(Core Data Services)

(Busines Object Processing

Framework)

RDS(Referenced Data Source)

+ SADL

Annotations:- Vocabulary- MPC_EXT- CDS-Based- MDE: Meta-Data-

Extension

Logic:- Query + READ: SADL- CUD: Manual

@Odata.publish: true

Logic:- Query + READ: SADL- CUD: BOPF

ABAP Platform 1808 (7.53)

Only withSEGW

Page 10: ABAP RESTful Application Programming Model (RAP) · 2021. 4. 30. · SAP Developer Tutorials Develop a Fiori App Using RAP –Managed Scenario openSAP Building Apps with the ABAP

ABAP RAPOData Development - Overview

ABAP 7.0

Manual implementation ofMPC and DPC

Annotations:- Vocabulary- MPC_EXT

SEGW

ABAP 7.4 ABAP 7.5

Logic:- Everything: Manual!

SEGW

Usage of SADL(Service Adaption

Description Language)

Annotations:- Vocabulary- MPC_EXT

SEGW

CDS & BOPF(Core Data Services)

(Busines Object Processing

Framework)

RDS(Referenced Data Source)

+ SADL

Annotations:- Vocabulary- MPC_EXT- CDS-Based- MDE: Meta-Data-

Extension

Logic:- Query + READ: SADL- CUD: Manual

Odata: publish

Logic:- Query + READ: SADL- CUD: BOPF

ABAP Platform 1808 (7.53)

Service Definition / Service Binding

RAP(ABAP RESTFul Application

Programming Model)

CDS & Behavior Definition &

Behavior Implementation

Only withSEGW

Annotations:- CDS-Based- MDE: Meta-Data-

Extension

Logic:- Query + READ: SADL- CUD: BDEF

Page 11: ABAP RESTful Application Programming Model (RAP) · 2021. 4. 30. · SAP Developer Tutorials Develop a Fiori App Using RAP –Managed Scenario openSAP Building Apps with the ABAP

ABAP RAPOData Development - Overview

ABAP 7.0

Manual implementation ofMPC and DPC

S

t

e

a

m

p

u

n

k

Annotations:- Vocabulary- MPC_EXT

SEGW

ABAP 7.4 ABAP 7.5

Logic:- Everything: Manual!

SEGW

Usage of SADL(Service Adaption

Description Language)

Annotations:- Vocabulary- MPC_EXT

SEGW

CDS & BOPF(Core Data Services)

(Busines Object Processing

Framework)

RDS(Referenced Data Source)

+ SADL

Annotations:- Vocabulary- MPC_EXT- CDS-Based- MDE: Meta-Data-

Extension

Logic:- Query + READ: SADL- CUD: Manual

Odata: publish

Annotations via local Annotation-File

Logic:- Query + READ: SADL- CUD: BOPF

ABAP Platform 1808 (7.53)

Service Definition / Service Binding

RAP(ABAP RESTFul Application

Programming Model)

CDS & Behavior Definition &

Behavior Implementation

Only withSEGW

Annotations:- CDS-Based- MDE: Meta-Data-

Extension

Logic:- Query + READ: SADL- CUD: BDEF

Page 12: ABAP RESTful Application Programming Model (RAP) · 2021. 4. 30. · SAP Developer Tutorials Develop a Fiori App Using RAP –Managed Scenario openSAP Building Apps with the ABAP

ABAP RAP

Die Architektur

Page 13: ABAP RESTful Application Programming Model (RAP) · 2021. 4. 30. · SAP Developer Tutorials Develop a Fiori App Using RAP –Managed Scenario openSAP Building Apps with the ABAP

ABAP RAPABAP Programmiermodelle

ABAP Platform ≥ 7.51ABAP Platform ≤ 7.50

SAP Cloud Platform ABAP

SAP S/4HANA

Klassische ABAP Entwicklung

• Freestyle ABAP

Entwicklung

ABAP Programmiermodell

für SAP FIORI

• Gateway Builder

• OData

• BOPF

• Core Data Services

ABAP RESTfulProgrammiermodell

(RAP)

• Business Service

• Core Data Services

• Verhaltensdefinition

Page 14: ABAP RESTful Application Programming Model (RAP) · 2021. 4. 30. · SAP Developer Tutorials Develop a Fiori App Using RAP –Managed Scenario openSAP Building Apps with the ABAP

ABAP RAPDevelopment Flow

CDS Based Data Model

CDS BehaviorDefinition

ABAP Implementeriung

Data Model Projection

Behavior

Projection

Service Definition

Service Binding

Add

Behavior

Add

Benavior

Implem.

Behavior

Scopedefinition

Scenario & Protokoll

Page 15: ABAP RESTful Application Programming Model (RAP) · 2021. 4. 30. · SAP Developer Tutorials Develop a Fiori App Using RAP –Managed Scenario openSAP Building Apps with the ABAP

ABAP RAPUnser heutiges hochkomplexes Datenmodell

MovieManaged

Person Unmanaged

Page 16: ABAP RESTful Application Programming Model (RAP) · 2021. 4. 30. · SAP Developer Tutorials Develop a Fiori App Using RAP –Managed Scenario openSAP Building Apps with the ABAP

ABAP RAPManaged & Unmanaged

UnmanagedBrownfield – Vollständige Kontrolle der RAP Entwicklung und Integration bestehender Entwicklungen.

ManagedGreenfield – Für Neuentwicklungen gedacht. No-Code bzw. Low-Code.

Page 17: ABAP RESTful Application Programming Model (RAP) · 2021. 4. 30. · SAP Developer Tutorials Develop a Fiori App Using RAP –Managed Scenario openSAP Building Apps with the ABAP

ABAP RAP

Managed Demo

Page 18: ABAP RESTful Application Programming Model (RAP) · 2021. 4. 30. · SAP Developer Tutorials Develop a Fiori App Using RAP –Managed Scenario openSAP Building Apps with the ABAP

ABAP RAP

Unmanaged Demo

Page 19: ABAP RESTful Application Programming Model (RAP) · 2021. 4. 30. · SAP Developer Tutorials Develop a Fiori App Using RAP –Managed Scenario openSAP Building Apps with the ABAP

ABAP RAP

Und was ist nun mit BOPF?

Page 20: ABAP RESTful Application Programming Model (RAP) · 2021. 4. 30. · SAP Developer Tutorials Develop a Fiori App Using RAP –Managed Scenario openSAP Building Apps with the ABAP

ABAP RAP

RAP vs. CAP

Page 21: ABAP RESTful Application Programming Model (RAP) · 2021. 4. 30. · SAP Developer Tutorials Develop a Fiori App Using RAP –Managed Scenario openSAP Building Apps with the ABAP

ABAP RAPRAP vs. CAP

ABAP RESTful Application Programming Model

Cloud Application Programming Model

Was ist der Unterschied?

Der 1. Buchstabe - ;)

Page 22: ABAP RESTful Application Programming Model (RAP) · 2021. 4. 30. · SAP Developer Tutorials Develop a Fiori App Using RAP –Managed Scenario openSAP Building Apps with the ABAP

ABAP RAPWas ist der Unterschied?

Was ist der Unterschied?

RAP CAP

Plattform ABAP

Steampunk (SAP BTP ABAP

Environment)

S/4HANA > 1909

Node.js / Java

Sprachen ABAP Javascript / Java

Typ ABAP Sprachsyntax + Framework opinionated framework

„Baukasten“ aus Libraries,

Tools für unterschiedliche

Sprachen

offenes Design*

Basis ABAP CDS (HANA) CAP CDS

HANA, SQLite

PostgreSQL*

* https://github.com/sapmentors/cds-pg

Volker Buzek, Gregor Wolf,…

https://blogs.sap.com/2021/02/15/6-reasons-why-sap-should-open-source-cap/

Page 23: ABAP RESTful Application Programming Model (RAP) · 2021. 4. 30. · SAP Developer Tutorials Develop a Fiori App Using RAP –Managed Scenario openSAP Building Apps with the ABAP

ABAP RAP

EML

Page 24: ABAP RESTful Application Programming Model (RAP) · 2021. 4. 30. · SAP Developer Tutorials Develop a Fiori App Using RAP –Managed Scenario openSAP Building Apps with the ABAP

ABAP RAPEntity Manipulation Language (EML)

Entity Manipulation Language (EML)◦ RAP Objekte können direkt in ABAP mit der EML Syntax

verwendet werden Standard API / Generic API

DATA: failed TYPE RESPONSE FOR FAILED zsdf_i_movie_m.

READ ENTITIES OF zsdf_i_movie_mENTITY movieFIELDS ( title ) WITH VALUE #( ( movieid = i_movie_id ) )RESULT DATA(lt_received_travel_data)FAILED failed.

Page 25: ABAP RESTful Application Programming Model (RAP) · 2021. 4. 30. · SAP Developer Tutorials Develop a Fiori App Using RAP –Managed Scenario openSAP Building Apps with the ABAP

ABAP RAPABAP RESTful Application Programming Model – Teil 2

Mögliche Themen für den 2. Teil – 25.6. 10:00 Uhr◦ DRAFT (vgl. mit BOPF)

◦ Update Tasks / Commit

◦ Custom Entities

◦ Virtual Nodes

◦ Conversion Exits

◦ Actions (with Parameters)

◦ …

https://www.eventbrite.com/e/abap-restful-application-programming-model-teil-2-tickets-134890317571

Page 26: ABAP RESTful Application Programming Model (RAP) · 2021. 4. 30. · SAP Developer Tutorials Develop a Fiori App Using RAP –Managed Scenario openSAP Building Apps with the ABAP

ABAP RAPWeiterführende Informationen

SAP Developer Tutorials◦ Develop a Fiori App Using RAP – Managed Scenario

openSAP◦ Building Apps with the ABAP RESTful Application Programming Model

◦ Developing Web Apps with SAPUI5

Woche 2, Unit 6 – Working with OData Services

CodeJam◦ CodeJam - SAP Cloud Platform, ABAP Environment & ABAP RESTful Application

Programming Model

Youtube◦ The RAP Generator – SAP Online Track 2020

◦ RAP on Speed – SAP Online Track Munich / Vienna

SAP TechED◦ ABAP RESTful Programming Mode [Live Demo], SAP TechEd Lecture (2019)

◦ DEV260 - Build SAP Fiori Apps with the ABAP RESTful Application Programming Model