SlideShare a Scribd company logo
1 of 27
Download to read offline
PUBLIC
Product Management Technology Platform, SAP
2019
Overview of the ABAP RESTful Programming Model
in SAP Cloud Platform ABAP Environment
2
PUBLIC
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Legal disclaimer
The information in this presentation is confidential and proprietary to SAP and may not be disclosed without the permission of SAP.
This presentation is not subject to your license agreement or any other service or subscription agreement with SAP. SAP has no obligation
to pursue any course of business outlined in this document or any related presentation, or to develop or release any functionality mentioned
therein. This document, or any related presentation, and SAP’s strategy and possible future developments, products, and platforms, directions,
and functionality are all subject to change and may be changed by SAP at any time for any reason without notice. The information in this
document is not a commitment, promise, or legal obligation to deliver any material, code, or functionality. This document is provided without
a warranty of any kind, either express or implied, including but not limited to the implied warranties of merchantability, fitness for a particular
purpose, or noninfringement. This document is for informational purposes and may not be incorporated into a contract. SAP assumes no
responsibility for errors or omissions in this document, except if such damages were caused by SAP’s willful misconduct or gross negligence.
All forward-looking statements are subject to various risks and uncertainties that could cause actual results to differ materially from
expectations. Readers are cautioned not to place undue reliance on these forward-looking statements, which speak only as of their dates,
and they should not be relied upon in making purchasing decisions.
For all recent and planned innovations, potential data protection and privacy features include simplified deletion of personal data, reporting
of personal data to an identified data subject, restricted access to personal data, masking of personal data, read access logging to special
categories of personal data, change logging of personal data, and consent management mechanisms.
3
PUBLIC
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ
After completing this learning module, you will be able to:
Understand the mission of the ABAP RESTful Programming Model
Understand how the new programming model improves developers live
Understand the meaning of business objects and business services
Objectives
4
PUBLIC
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Programming Model: The Mission
… supporting the product qualities
User experience: SAP Fiori and SAP HANA
Cloud: scalability
ABAP assets: non-functional requirements
… for the development of
SAP Fiori apps and
Cloud APIs / A2X services…
… offering an end-to-end experience
standardized development flow
best practices & development guides
high development efficiency
focus on business logic, rather than technical
aspects
… for customers and partners in SAP S/4HANA
… for SAP internal development in SAP S/4HANA
… for customers and partners in
SAP Cloud Platform ABAP Environment
… and being flexible
Break-outs for non-standardized implementations
Out-of-the-box extensibility & verticalization
Reuse components / APIs in “freestyle” development
scenarios
PROVIDE A PROGRAMMING MODEL …
5
PUBLIC
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Agenda
The ABAP RESTful Programming Model
Why and what?
Business Objects
Definition, Demo, Roadmap
Business Services
Definition, Demo, Roadmap
The ABAP RESTful Programming Model
Why and what?
7
PUBLIC
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Improvement of the ABAP Programming Model
Integration of existing code and Development Efficiency
EXISTING
TECHNOLOGIES
EXISTING
APPLICATION CODE
End-2-end development
experience
ADT only tools
Intuitive development flow
Extensibility and verticalization
out-of-the-box
Native CDS and ABAP language support
No code generation
Only typed APIs for main implementation tasks
Business Objects as ABAP first class citizens
Integration of existing code
Service enablement
ABAP RESTful PROGRAMMING MODEL
8
PUBLIC
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Guiding Principles
ABAP RESTful Programming Model
All standard development tasks…
... are based on ABAP Development Tools in Eclipse
… with an end-to-end development experience
… with native CDS / ABAP language support (for 80% use cases)
Typed signatures
Static code checks
Auto-completion, Element Info…
There is
… NO use of generic framework APIs
… NO code generation
… NO redundancy in transport-objects
Improved lifecycle (transport, patches,…)
9
PUBLIC
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ
ABAP RESTful Programming Model
BUSINESS OBJECTS QUERIES
DATA MODELLING &
BEHAVIOUR
SERVICE BINDING
Bind the service to OData protocol
SERVICE DEFINITION
Define scope to be exposed
BUSINESS
SERVICES
PROVISIONING
SAP Fiori UI
Consume OData UI services
A2X
Consume OData A2X services
SERVICE
CONSUMPTION
Data modelling with CDS
Behaviour Definition
Behaviour implementation
Data modelling with CDS
10
PUBLIC
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ
ABAP RESTful Programming Model
Business Services
Entry-point of service implementation
Expose service protocol specifically
Test / Preview tools
Service definition via projection of data and
behaviour
Universe of Business Objects & analytical
data models and their related business
logic
SERVICE BINDING
DATA & BEHAVIOUR
DEFINITION
SERVICE
DEFINITION
11
PUBLIC
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ
ABAP RESTful Programming Model
Business Services
No domain specific support
today future
SERVICE BINDING
SERVICE
DEFINITION
CDS
consumption
views
CDS
NON CDS
SEGW - RDS
REF TO
MAINT_SERVICE
Classic SAP GUI transactions
No clear entry point / dev flow
SERVICE BINDING
OData V4 Service
ICF: active
Role: not assigned
OAuth: …
Navigation to service model
Clear dev flow
Service entry-point
Overview of related artefacts
Eclipse based
development
CDS
NON CDS
SERVICE DEFINITION
Clear responsibilities
Eclipse based development
No generation of artefacts
MDE MDE
MDE
MDE
Viewer
Viewer
Code generation
… …
12
PUBLIC
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ
ABAP RESTful Programming Model
Business Objects
DATA & BEHAVIOUR
DEFINITION
Development flow not intuitive
(CDS and BOPF tooling)
Generation of artefacts
(BOPF metadata generation based on
CDS artefacts)
Untyped signature
(BOPF consumer and provider API)
CDS data model
Clear development flow
(CDS for data modelling with ABAP language extensions for
behaviour)
No redundancy and no generation of artefacts
(clear references on language level)
Typed APIs
(For BO consumer and provider)
➔ The Business Object becomes an ABAP first class citizen
(Known by ABAP compiler, language and tools including static
checks)
today future
CDS data model
@composition
BOPF business object
Business
object viewer
BDL
Behaviour for BO in ABAP
implemented
Outline
generate reference
13
PUBLIC
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Fiori Elements Preview
Service model CDS editor: Projection views
MDE
SERVICE DEFINITION
MDE MDE MDE MDE
ABAP RESTful Programming Model
Big Picture
SERVICE BINDING
DATA & BEHAVIOUR
DEFINITION
SERVICE
DEFINITION
MDE
Service
Definition
viewer
Service
viewer
SERVICE BINDING
Business
object
viewer
CDS editor: CDS entities
Table
entity
View
entity
ABAP
entity
Class editor
action,
determination,
validation
BO Test-shell
BUSINESS OBJECT
MDE MDE
PROTOCOL SPECIFIC
PROTOCOL AGNOSTIC
BUSINESS OBJECTS
15
PUBLIC
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ
What is a Business Object (BO)?
BO STRUCTURE
1 3
2
ROOT
COMPOSITION
BO BEHAVIOUR
CUD,
Actions,
Functions,
Locks,
eTag,
Authorizations,
Feature Control,
Draft
BO RUNTIME
INTERACTION PHASE
SAVE SEQUENCE
TX buffer
R
16
PUBLIC
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Business Object Runtime
SAP HANA
finalize
SAVE SEQUENCE
create_by_association
execute_action
read_by_association
INTERACTION PHASE
check_before_save
adjust_numbers
save
read
delete
update
create
BUSINESS
OBJECT
RUNTIME
execute_function
MODIFY READ
lock
LOCK
TX buffer
17
PUBLIC
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Business Objects – Status Overview
SAP HANA
finalize
SAVE
SEQUENCE
MODIFY
READ
INTERACTION
PHASE
check_before_save
adjust_numbers
save
TX buffer
MANAGED
Green field development
2
(MANAGED WITH) SAVE SELF-IMPLEMENTED
Update task function module available
(e.g. Business Partner, Product,..)
3
UNMANAGED
Application coding available
(e.g. Purchase Order, Sales Order,…)
1
LOCK
18
PUBLIC
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Business Objects - Unmanaged
SAP HANA
SAVE
SEQUENCE
checkBeforeSave
adjustNumbers
save
Application coding
already available
for interaction phase, transactional buffer and save sequence
decoupled from UI technology
Examples
Sales Order, Purchase Order
Adapter
finalize
MODIFY
READ
INTERACTION
PHASE
LOCK
APPLICATION CODE
TX Buffer
19
PUBLIC
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ
finalize
Business Objects – Managed
SAP HANA
Application coding
not yet available or fine granular reusable code available
technical implementation aspects taken over by BO
infrastructure
developer focus on business logic, implemented via
determinations, validation, actions,…
Examples
New applications in SAP Cloud Platform ABAP Environment
Business Logic via
determinations, validations
MODIFY
READ
INTERACTION
PHASE
LOCK SAVE
SEQUENCE
checkBeforeSave
adjustNumbers
save
MANAGED RUNTIME
TX Buffer
20
PUBLIC
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Business Objects – Save Unmanaged
SAP HANA
Function module
for UPDATE
TASK
Application coding
“update-task function module” available
coding for interaction phase not available
(e.g. highly coupled in older UI technology: DYNP - PBO / PAI)
technical implementation aspects to be taken over by BO infrastructure
Examples
Business Partner, Product
MODIFY
READ
INTERACTION
PHASE
LOCK SAVE
SEQUENCE
checkBeforeSave
adjustNumbers
save
finalize
MANAGED RUNTIME
TX Buffer
SAP HANA
Application code in
determinations / validations / …
21
PUBLIC
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Business Objects - Roadmap
ADT development experience: Business Object onboarding
Support for managed BO runtime (with unmanaged save)
Business Object Access API
Draft, feature control (incl. authorizations)
Role-specific service projections
Support for managed BO runtime: determinations and validations
1
2
3
4
5
6
BUSINESS SERVICES
23
PUBLIC
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ
ABAP RESTful Programming Model
BUSINESS OBJECTS QUERIES
DATA MODELLING &
BEHAVIOUR
SERVICE BINDING
Bind the service to OData protocol
SERVICE DEFINITION
Define scope to be exposed
BUSINESS
SERVICES
PROVISIONING
SAP Fiori UI
Consume OData UI services
A2X
Consume OData A2X services
SERVICE
CONSUMPTION
Data modelling with CDS
Behaviour Definition
Behaviour implementation
Data modelling with CDS
24
PUBLIC
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Business Services Big Picture– Runtime stack
SAP FIORI
SAP HANA
SAP CLOUD
PLATFORM
ABAP
ENVIRONMENT
GATEWAY
SADL
MANAGED
OPEN SQL
UNMANAGED
APPL CODE
MANAGED UNMANAGED
APPL CODE
A2X
Query
BO Runtime
SAP FIORI
SAP HANA
SAP S/4HANA
CLOUD
GATEWAY
SADL
MANAGED
OPEN SQL
UNMANAGED
APPL CODE
MANAGED
Query
BO Runtime
25
PUBLIC
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ
A2X
SERVICE
A2X
SERVICE
BOs
Model Behaviour Runtime
BOs
Model Behaviour Runtime
Business Services Big Picture– Design Time stack
BOs
Model Behaviour Runtime
ABAP
PLATFORM
DATA &
BEHAVIOUR
BUSINESS
SERVICES SERVICE MODEL DEFINITION
SERVICE MODEL DEFINITION
SERVICE DEFINITION
project
A2X
SERVICE
expose
A2X
SERVICE
A2X
SERVICE
UI
SERVICE
Value help
UI annotations
Feature control
Release / Whitelisting
Versioning
Compatibility check
OData V2 / V4
BOs
Model Behaviour Runtime
BOs
Model Behaviour Runtime
Queries
Model/
Structure
Behaviour Runtime
project
Sort
Filter
Text search
Managed: SQL
Custom: ABAP queries
26
PUBLIC
© 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Business Services - Roadmap
A2X OData V4 outbound services
Versioning, release and compatibility check for A2X OData V2 and OData V4
Inbound services for A2X consumption of OData V2 and OData V4
SAP Fiori UI OData V4 services
1
2
3
4
Contact information:
Product Management Technology Platform, SAP
Thank you.

More Related Content

Similar to SAP REST PROGRAMMING Documantation & Notes

0308 crystal reports in the business objects intelligence 41 ecosystem
0308 crystal reports in the business objects intelligence 41 ecosystem0308 crystal reports in the business objects intelligence 41 ecosystem
0308 crystal reports in the business objects intelligence 41 ecosystemHector Talamantes
 
Cloud Platform Enterprise Agreement (CPEA) in Detail
Cloud Platform Enterprise Agreement (CPEA) in DetailCloud Platform Enterprise Agreement (CPEA) in Detail
Cloud Platform Enterprise Agreement (CPEA) in DetailSAP Cloud Platform
 
SAP Business Technology Platform in a Nutshell
SAP Business Technology Platform in a NutshellSAP Business Technology Platform in a Nutshell
SAP Business Technology Platform in a NutshellRichard314186
 
A walkthrough on SAP Cloud Platform Mobile Services
A walkthrough on SAP Cloud Platform Mobile Services A walkthrough on SAP Cloud Platform Mobile Services
A walkthrough on SAP Cloud Platform Mobile Services Jitendra Kansal
 
Next Generation Content Management in SAP NetWeaver Portal
Next Generation Content Management in SAP NetWeaver PortalNext Generation Content Management in SAP NetWeaver Portal
Next Generation Content Management in SAP NetWeaver PortalSAP Portal
 
SAP TechEd 2013: CD105: Extending SuccessFactors EmployeeCentral with apps on...
SAP TechEd 2013: CD105: Extending SuccessFactors EmployeeCentral with apps on...SAP TechEd 2013: CD105: Extending SuccessFactors EmployeeCentral with apps on...
SAP TechEd 2013: CD105: Extending SuccessFactors EmployeeCentral with apps on...SAP HANA Cloud Platform
 
SAP Cloud Platform Portal Overview.pdf
SAP Cloud Platform Portal Overview.pdfSAP Cloud Platform Portal Overview.pdf
SAP Cloud Platform Portal Overview.pdfdiamondfire201
 
Innovate and Extend with an Agile Digital Enterprise Platform
Innovate and Extend with an Agile Digital Enterprise PlatformInnovate and Extend with an Agile Digital Enterprise Platform
Innovate and Extend with an Agile Digital Enterprise PlatformVladimir Pavlov
 
hello-200624192640aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.pptx
hello-200624192640aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.pptxhello-200624192640aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.pptx
hello-200624192640aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.pptxkumar362703691
 
S4HANA_2021_Business_Scope_FPS2.pdf
S4HANA_2021_Business_Scope_FPS2.pdfS4HANA_2021_Business_Scope_FPS2.pdf
S4HANA_2021_Business_Scope_FPS2.pdfUpesh5
 
Hana ui services nov2013 #sapmm
Hana ui services nov2013 #sapmmHana ui services nov2013 #sapmm
Hana ui services nov2013 #sapmmSAP Portal
 
Building cool native ios enterprise apps with sap cloud platform sdk for ios
Building cool native ios enterprise apps with sap cloud platform sdk for iosBuilding cool native ios enterprise apps with sap cloud platform sdk for ios
Building cool native ios enterprise apps with sap cloud platform sdk for iosNagesh Caparthy
 
01 sap inside_track_sapintegrationstrategy
01 sap inside_track_sapintegrationstrategy01 sap inside_track_sapintegrationstrategy
01 sap inside_track_sapintegrationstrategyshetkars
 
03 sac app-design_overview_roadmap_20190228
03   sac  app-design_overview_roadmap_2019022803   sac  app-design_overview_roadmap_20190228
03 sac app-design_overview_roadmap_20190228Ivan Blatnik
 
Webinar SAP BusinessObjects Cloud (English)
Webinar SAP BusinessObjects Cloud (English)Webinar SAP BusinessObjects Cloud (English)
Webinar SAP BusinessObjects Cloud (English)Mauricio Cubillos Ocampo
 
#askSAP Analytics Innovations Community Call: SAP Analytics 2019 Strategy and...
#askSAP Analytics Innovations Community Call: SAP Analytics 2019 Strategy and...#askSAP Analytics Innovations Community Call: SAP Analytics 2019 Strategy and...
#askSAP Analytics Innovations Community Call: SAP Analytics 2019 Strategy and...SAP Analytics
 
A Strategic and Technical Guide to the Most Up-to-Date SAP BI Roadmap
A Strategic and Technical Guide to the Most Up-to-Date SAP BI RoadmapA Strategic and Technical Guide to the Most Up-to-Date SAP BI Roadmap
A Strategic and Technical Guide to the Most Up-to-Date SAP BI RoadmapSAPinsider Events
 

Similar to SAP REST PROGRAMMING Documantation & Notes (20)

0308 crystal reports in the business objects intelligence 41 ecosystem
0308 crystal reports in the business objects intelligence 41 ecosystem0308 crystal reports in the business objects intelligence 41 ecosystem
0308 crystal reports in the business objects intelligence 41 ecosystem
 
Cloud Platform Enterprise Agreement (CPEA) in Detail
Cloud Platform Enterprise Agreement (CPEA) in DetailCloud Platform Enterprise Agreement (CPEA) in Detail
Cloud Platform Enterprise Agreement (CPEA) in Detail
 
SAP Business Technology Platform in a Nutshell
SAP Business Technology Platform in a NutshellSAP Business Technology Platform in a Nutshell
SAP Business Technology Platform in a Nutshell
 
A walkthrough on SAP Cloud Platform Mobile Services
A walkthrough on SAP Cloud Platform Mobile Services A walkthrough on SAP Cloud Platform Mobile Services
A walkthrough on SAP Cloud Platform Mobile Services
 
Next Generation Content Management in SAP NetWeaver Portal
Next Generation Content Management in SAP NetWeaver PortalNext Generation Content Management in SAP NetWeaver Portal
Next Generation Content Management in SAP NetWeaver Portal
 
SAP TechEd 2013: CD105: Extending SuccessFactors EmployeeCentral with apps on...
SAP TechEd 2013: CD105: Extending SuccessFactors EmployeeCentral with apps on...SAP TechEd 2013: CD105: Extending SuccessFactors EmployeeCentral with apps on...
SAP TechEd 2013: CD105: Extending SuccessFactors EmployeeCentral with apps on...
 
SAP HANA Cloud - Virtual Bootcamp 7 - HANA Cloud Platform package for Success...
SAP HANA Cloud - Virtual Bootcamp 7 - HANA Cloud Platform package for Success...SAP HANA Cloud - Virtual Bootcamp 7 - HANA Cloud Platform package for Success...
SAP HANA Cloud - Virtual Bootcamp 7 - HANA Cloud Platform package for Success...
 
SAP Cloud Platform Portal Overview.pdf
SAP Cloud Platform Portal Overview.pdfSAP Cloud Platform Portal Overview.pdf
SAP Cloud Platform Portal Overview.pdf
 
Innovate and Extend with an Agile Digital Enterprise Platform
Innovate and Extend with an Agile Digital Enterprise PlatformInnovate and Extend with an Agile Digital Enterprise Platform
Innovate and Extend with an Agile Digital Enterprise Platform
 
Cloud Computing at SAP
Cloud Computing at SAPCloud Computing at SAP
Cloud Computing at SAP
 
hello-200624192640aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.pptx
hello-200624192640aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.pptxhello-200624192640aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.pptx
hello-200624192640aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.pptx
 
S4HANA_2021_Business_Scope_FPS2.pdf
S4HANA_2021_Business_Scope_FPS2.pdfS4HANA_2021_Business_Scope_FPS2.pdf
S4HANA_2021_Business_Scope_FPS2.pdf
 
Hana ui services nov2013 #sapmm
Hana ui services nov2013 #sapmmHana ui services nov2013 #sapmm
Hana ui services nov2013 #sapmm
 
Building cool native ios enterprise apps with sap cloud platform sdk for ios
Building cool native ios enterprise apps with sap cloud platform sdk for iosBuilding cool native ios enterprise apps with sap cloud platform sdk for ios
Building cool native ios enterprise apps with sap cloud platform sdk for ios
 
01 sap inside_track_sapintegrationstrategy
01 sap inside_track_sapintegrationstrategy01 sap inside_track_sapintegrationstrategy
01 sap inside_track_sapintegrationstrategy
 
03 sac app-design_overview_roadmap_20190228
03   sac  app-design_overview_roadmap_2019022803   sac  app-design_overview_roadmap_20190228
03 sac app-design_overview_roadmap_20190228
 
Webinar SAP BusinessObjects Cloud (English)
Webinar SAP BusinessObjects Cloud (English)Webinar SAP BusinessObjects Cloud (English)
Webinar SAP BusinessObjects Cloud (English)
 
#askSAP Analytics Innovations Community Call: SAP Analytics 2019 Strategy and...
#askSAP Analytics Innovations Community Call: SAP Analytics 2019 Strategy and...#askSAP Analytics Innovations Community Call: SAP Analytics 2019 Strategy and...
#askSAP Analytics Innovations Community Call: SAP Analytics 2019 Strategy and...
 
A Strategic and Technical Guide to the Most Up-to-Date SAP BI Roadmap
A Strategic and Technical Guide to the Most Up-to-Date SAP BI RoadmapA Strategic and Technical Guide to the Most Up-to-Date SAP BI Roadmap
A Strategic and Technical Guide to the Most Up-to-Date SAP BI Roadmap
 
HANA SPS07 Shine
HANA SPS07 ShineHANA SPS07 Shine
HANA SPS07 Shine
 

Recently uploaded

ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
buds n tech IT solutions
buds n  tech IT                solutionsbuds n  tech IT                solutions
buds n tech IT solutionsmonugehlot87
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningVitsRangannavar
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 

Recently uploaded (20)

ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
buds n tech IT solutions
buds n  tech IT                solutionsbuds n  tech IT                solutions
buds n tech IT solutions
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learning
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 

SAP REST PROGRAMMING Documantation & Notes

  • 1. PUBLIC Product Management Technology Platform, SAP 2019 Overview of the ABAP RESTful Programming Model in SAP Cloud Platform ABAP Environment
  • 2. 2 PUBLIC © 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ Legal disclaimer The information in this presentation is confidential and proprietary to SAP and may not be disclosed without the permission of SAP. This presentation is not subject to your license agreement or any other service or subscription agreement with SAP. SAP has no obligation to pursue any course of business outlined in this document or any related presentation, or to develop or release any functionality mentioned therein. This document, or any related presentation, and SAP’s strategy and possible future developments, products, and platforms, directions, and functionality are all subject to change and may be changed by SAP at any time for any reason without notice. The information in this document is not a commitment, promise, or legal obligation to deliver any material, code, or functionality. This document is provided without a warranty of any kind, either express or implied, including but not limited to the implied warranties of merchantability, fitness for a particular purpose, or noninfringement. This document is for informational purposes and may not be incorporated into a contract. SAP assumes no responsibility for errors or omissions in this document, except if such damages were caused by SAP’s willful misconduct or gross negligence. All forward-looking statements are subject to various risks and uncertainties that could cause actual results to differ materially from expectations. Readers are cautioned not to place undue reliance on these forward-looking statements, which speak only as of their dates, and they should not be relied upon in making purchasing decisions. For all recent and planned innovations, potential data protection and privacy features include simplified deletion of personal data, reporting of personal data to an identified data subject, restricted access to personal data, masking of personal data, read access logging to special categories of personal data, change logging of personal data, and consent management mechanisms.
  • 3. 3 PUBLIC © 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ After completing this learning module, you will be able to: Understand the mission of the ABAP RESTful Programming Model Understand how the new programming model improves developers live Understand the meaning of business objects and business services Objectives
  • 4. 4 PUBLIC © 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ Programming Model: The Mission … supporting the product qualities User experience: SAP Fiori and SAP HANA Cloud: scalability ABAP assets: non-functional requirements … for the development of SAP Fiori apps and Cloud APIs / A2X services… … offering an end-to-end experience standardized development flow best practices & development guides high development efficiency focus on business logic, rather than technical aspects … for customers and partners in SAP S/4HANA … for SAP internal development in SAP S/4HANA … for customers and partners in SAP Cloud Platform ABAP Environment … and being flexible Break-outs for non-standardized implementations Out-of-the-box extensibility & verticalization Reuse components / APIs in “freestyle” development scenarios PROVIDE A PROGRAMMING MODEL …
  • 5. 5 PUBLIC © 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ Agenda The ABAP RESTful Programming Model Why and what? Business Objects Definition, Demo, Roadmap Business Services Definition, Demo, Roadmap
  • 6. The ABAP RESTful Programming Model Why and what?
  • 7. 7 PUBLIC © 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ Improvement of the ABAP Programming Model Integration of existing code and Development Efficiency EXISTING TECHNOLOGIES EXISTING APPLICATION CODE End-2-end development experience ADT only tools Intuitive development flow Extensibility and verticalization out-of-the-box Native CDS and ABAP language support No code generation Only typed APIs for main implementation tasks Business Objects as ABAP first class citizens Integration of existing code Service enablement ABAP RESTful PROGRAMMING MODEL
  • 8. 8 PUBLIC © 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ Guiding Principles ABAP RESTful Programming Model All standard development tasks… ... are based on ABAP Development Tools in Eclipse … with an end-to-end development experience … with native CDS / ABAP language support (for 80% use cases) Typed signatures Static code checks Auto-completion, Element Info… There is … NO use of generic framework APIs … NO code generation … NO redundancy in transport-objects Improved lifecycle (transport, patches,…)
  • 9. 9 PUBLIC © 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ ABAP RESTful Programming Model BUSINESS OBJECTS QUERIES DATA MODELLING & BEHAVIOUR SERVICE BINDING Bind the service to OData protocol SERVICE DEFINITION Define scope to be exposed BUSINESS SERVICES PROVISIONING SAP Fiori UI Consume OData UI services A2X Consume OData A2X services SERVICE CONSUMPTION Data modelling with CDS Behaviour Definition Behaviour implementation Data modelling with CDS
  • 10. 10 PUBLIC © 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ ABAP RESTful Programming Model Business Services Entry-point of service implementation Expose service protocol specifically Test / Preview tools Service definition via projection of data and behaviour Universe of Business Objects & analytical data models and their related business logic SERVICE BINDING DATA & BEHAVIOUR DEFINITION SERVICE DEFINITION
  • 11. 11 PUBLIC © 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ ABAP RESTful Programming Model Business Services No domain specific support today future SERVICE BINDING SERVICE DEFINITION CDS consumption views CDS NON CDS SEGW - RDS REF TO MAINT_SERVICE Classic SAP GUI transactions No clear entry point / dev flow SERVICE BINDING OData V4 Service ICF: active Role: not assigned OAuth: … Navigation to service model Clear dev flow Service entry-point Overview of related artefacts Eclipse based development CDS NON CDS SERVICE DEFINITION Clear responsibilities Eclipse based development No generation of artefacts MDE MDE MDE MDE Viewer Viewer Code generation … …
  • 12. 12 PUBLIC © 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ ABAP RESTful Programming Model Business Objects DATA & BEHAVIOUR DEFINITION Development flow not intuitive (CDS and BOPF tooling) Generation of artefacts (BOPF metadata generation based on CDS artefacts) Untyped signature (BOPF consumer and provider API) CDS data model Clear development flow (CDS for data modelling with ABAP language extensions for behaviour) No redundancy and no generation of artefacts (clear references on language level) Typed APIs (For BO consumer and provider) ➔ The Business Object becomes an ABAP first class citizen (Known by ABAP compiler, language and tools including static checks) today future CDS data model @composition BOPF business object Business object viewer BDL Behaviour for BO in ABAP implemented Outline generate reference
  • 13. 13 PUBLIC © 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ Fiori Elements Preview Service model CDS editor: Projection views MDE SERVICE DEFINITION MDE MDE MDE MDE ABAP RESTful Programming Model Big Picture SERVICE BINDING DATA & BEHAVIOUR DEFINITION SERVICE DEFINITION MDE Service Definition viewer Service viewer SERVICE BINDING Business object viewer CDS editor: CDS entities Table entity View entity ABAP entity Class editor action, determination, validation BO Test-shell BUSINESS OBJECT MDE MDE PROTOCOL SPECIFIC PROTOCOL AGNOSTIC
  • 15. 15 PUBLIC © 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ What is a Business Object (BO)? BO STRUCTURE 1 3 2 ROOT COMPOSITION BO BEHAVIOUR CUD, Actions, Functions, Locks, eTag, Authorizations, Feature Control, Draft BO RUNTIME INTERACTION PHASE SAVE SEQUENCE TX buffer R
  • 16. 16 PUBLIC © 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ Business Object Runtime SAP HANA finalize SAVE SEQUENCE create_by_association execute_action read_by_association INTERACTION PHASE check_before_save adjust_numbers save read delete update create BUSINESS OBJECT RUNTIME execute_function MODIFY READ lock LOCK TX buffer
  • 17. 17 PUBLIC © 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ Business Objects – Status Overview SAP HANA finalize SAVE SEQUENCE MODIFY READ INTERACTION PHASE check_before_save adjust_numbers save TX buffer MANAGED Green field development 2 (MANAGED WITH) SAVE SELF-IMPLEMENTED Update task function module available (e.g. Business Partner, Product,..) 3 UNMANAGED Application coding available (e.g. Purchase Order, Sales Order,…) 1 LOCK
  • 18. 18 PUBLIC © 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ Business Objects - Unmanaged SAP HANA SAVE SEQUENCE checkBeforeSave adjustNumbers save Application coding already available for interaction phase, transactional buffer and save sequence decoupled from UI technology Examples Sales Order, Purchase Order Adapter finalize MODIFY READ INTERACTION PHASE LOCK APPLICATION CODE TX Buffer
  • 19. 19 PUBLIC © 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ finalize Business Objects – Managed SAP HANA Application coding not yet available or fine granular reusable code available technical implementation aspects taken over by BO infrastructure developer focus on business logic, implemented via determinations, validation, actions,… Examples New applications in SAP Cloud Platform ABAP Environment Business Logic via determinations, validations MODIFY READ INTERACTION PHASE LOCK SAVE SEQUENCE checkBeforeSave adjustNumbers save MANAGED RUNTIME TX Buffer
  • 20. 20 PUBLIC © 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ Business Objects – Save Unmanaged SAP HANA Function module for UPDATE TASK Application coding “update-task function module” available coding for interaction phase not available (e.g. highly coupled in older UI technology: DYNP - PBO / PAI) technical implementation aspects to be taken over by BO infrastructure Examples Business Partner, Product MODIFY READ INTERACTION PHASE LOCK SAVE SEQUENCE checkBeforeSave adjustNumbers save finalize MANAGED RUNTIME TX Buffer SAP HANA Application code in determinations / validations / …
  • 21. 21 PUBLIC © 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ Business Objects - Roadmap ADT development experience: Business Object onboarding Support for managed BO runtime (with unmanaged save) Business Object Access API Draft, feature control (incl. authorizations) Role-specific service projections Support for managed BO runtime: determinations and validations 1 2 3 4 5 6
  • 23. 23 PUBLIC © 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ ABAP RESTful Programming Model BUSINESS OBJECTS QUERIES DATA MODELLING & BEHAVIOUR SERVICE BINDING Bind the service to OData protocol SERVICE DEFINITION Define scope to be exposed BUSINESS SERVICES PROVISIONING SAP Fiori UI Consume OData UI services A2X Consume OData A2X services SERVICE CONSUMPTION Data modelling with CDS Behaviour Definition Behaviour implementation Data modelling with CDS
  • 24. 24 PUBLIC © 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ Business Services Big Picture– Runtime stack SAP FIORI SAP HANA SAP CLOUD PLATFORM ABAP ENVIRONMENT GATEWAY SADL MANAGED OPEN SQL UNMANAGED APPL CODE MANAGED UNMANAGED APPL CODE A2X Query BO Runtime SAP FIORI SAP HANA SAP S/4HANA CLOUD GATEWAY SADL MANAGED OPEN SQL UNMANAGED APPL CODE MANAGED Query BO Runtime
  • 25. 25 PUBLIC © 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ A2X SERVICE A2X SERVICE BOs Model Behaviour Runtime BOs Model Behaviour Runtime Business Services Big Picture– Design Time stack BOs Model Behaviour Runtime ABAP PLATFORM DATA & BEHAVIOUR BUSINESS SERVICES SERVICE MODEL DEFINITION SERVICE MODEL DEFINITION SERVICE DEFINITION project A2X SERVICE expose A2X SERVICE A2X SERVICE UI SERVICE Value help UI annotations Feature control Release / Whitelisting Versioning Compatibility check OData V2 / V4 BOs Model Behaviour Runtime BOs Model Behaviour Runtime Queries Model/ Structure Behaviour Runtime project Sort Filter Text search Managed: SQL Custom: ABAP queries
  • 26. 26 PUBLIC © 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ Business Services - Roadmap A2X OData V4 outbound services Versioning, release and compatibility check for A2X OData V2 and OData V4 Inbound services for A2X consumption of OData V2 and OData V4 SAP Fiori UI OData V4 services 1 2 3 4
  • 27. Contact information: Product Management Technology Platform, SAP Thank you.