SlideShare a Scribd company logo
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

PDF
ABAP RESTful Application Programming Model (RAP) – Overview.pdf
PDF
S4D437 Col24 Transactional Apps with the ABAP RESTful Application Programming...
PDF
Dev207 berlin
PDF
SAP HANA Cloud Platform - The big picture
PDF
SAP Developers Update
PDF
Adobe Flex Development and Backend Integration With BlazeDS
PDF
Introduction to ABAP Core Data Services (CDS).pdf
PPTX
#askSAP Analytics Innovations Community Call – Bridging the Information Gap
ABAP RESTful Application Programming Model (RAP) – Overview.pdf
S4D437 Col24 Transactional Apps with the ABAP RESTful Application Programming...
Dev207 berlin
SAP HANA Cloud Platform - The big picture
SAP Developers Update
Adobe Flex Development and Backend Integration With BlazeDS
Introduction to ABAP Core Data Services (CDS).pdf
#askSAP Analytics Innovations Community Call – Bridging the Information Gap

Similar to ABAP _ RESTful _ Programming _ Model.pdf (20)

PDF
SAP HANA SPS09 - SAP River
PDF
Craft and Execute your Enterprise API Strategy with SAP Cloud Platform
PDF
Custom Development - SAP HANA
PDF
SAP Cloud Platform Portal Overview.pdf
PDF
Understand the Clean Core Extensibility Options for Cloud ERP.pdf
PDF
ABAP State of the Art
PDF
SAP Cloud Platform x Microsoft Graph
PPTX
Enablement Update Q4_2024.pptxEnablement Update Q4_2024.pptx
PDF
DevRel @ SAP
PDF
SAP Fiori with SAP BusinessObjects BI Launchpad
PDF
Introduction to ABAP Core Data Services (CDS).pdf
PDF
How SAP uses Flowable as its BPMN engine for SAP CP Workflow
PDF
SAP API Management sap insider webinar intelligent business operations netw...
PDF
Innovate and Extend with an Agile Digital Enterprise Platform
PDF
SAP HANA Cloud Platform - The big picture
PDF
NetWeaver Gateway- Extend the Reach of SAP Applications
PDF
Masterclass Mendix (Jan Penninkhof / Twan van den Broek)
PPTX
SAP HANA Adoption Press Briefing Japan (Paul Marriott @pmmarriott, Paul Young)
PDF
How to use abap cds for data provisioning in bw
PDF
What the FaaS
SAP HANA SPS09 - SAP River
Craft and Execute your Enterprise API Strategy with SAP Cloud Platform
Custom Development - SAP HANA
SAP Cloud Platform Portal Overview.pdf
Understand the Clean Core Extensibility Options for Cloud ERP.pdf
ABAP State of the Art
SAP Cloud Platform x Microsoft Graph
Enablement Update Q4_2024.pptxEnablement Update Q4_2024.pptx
DevRel @ SAP
SAP Fiori with SAP BusinessObjects BI Launchpad
Introduction to ABAP Core Data Services (CDS).pdf
How SAP uses Flowable as its BPMN engine for SAP CP Workflow
SAP API Management sap insider webinar intelligent business operations netw...
Innovate and Extend with an Agile Digital Enterprise Platform
SAP HANA Cloud Platform - The big picture
NetWeaver Gateway- Extend the Reach of SAP Applications
Masterclass Mendix (Jan Penninkhof / Twan van den Broek)
SAP HANA Adoption Press Briefing Japan (Paul Marriott @pmmarriott, Paul Young)
How to use abap cds for data provisioning in bw
What the FaaS
Ad

Recently uploaded (20)

PPTX
20250228 LYD VKU AI Blended-Learning.pptx
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Empathic Computing: Creating Shared Understanding
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Electronic commerce courselecture one. Pdf
PPTX
Cloud computing and distributed systems.
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Encapsulation theory and applications.pdf
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
20250228 LYD VKU AI Blended-Learning.pptx
The AUB Centre for AI in Media Proposal.docx
Empathic Computing: Creating Shared Understanding
“AI and Expert System Decision Support & Business Intelligence Systems”
MYSQL Presentation for SQL database connectivity
Electronic commerce courselecture one. Pdf
Cloud computing and distributed systems.
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
MIND Revenue Release Quarter 2 2025 Press Release
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Unlocking AI with Model Context Protocol (MCP)
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Agricultural_Statistics_at_a_Glance_2022_0.pdf
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
NewMind AI Weekly Chronicles - August'25 Week I
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Encapsulation theory and applications.pdf
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Building Integrated photovoltaic BIPV_UPV.pdf
Ad

ABAP _ RESTful _ Programming _ Model.pdf

  • 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.