CNA215 - See The Big Picture of The ABAP RESTful Programming Model
CNA215 - See The Big Picture of The ABAP RESTful Programming Model
ABAP ENVIRONMENT
ABAP
SAP HANA
PUBLIC
Speakers 2018
The information in this presentation is confidential and proprietary to SAP and may not be disclosed without the permission of SAP.
Except for your obligation to protect confidential information, 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 presentation or any related
document, or to develop or release any functionality mentioned therein.
This presentation, or any related document and SAP's strategy and possible future developments, products and or 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
presentation is not a commitment, promise or legal obligation to deliver any material, code or functionality. This presentation 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 non-infringement. This presentation is for informational purposes and may not be incorporated into a contract. SAP
assumes no responsibility for errors or omissions in this presentation, except if such damages were caused by SAP’s intentional 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.
CNA120
CNA215
CNA319
See the Big Picture of the ABAP
RESTful
Programming Model
CNA215
1 hour lecture
Automated Testing with the ABAP
RESTful Programming Model
CNA317
1 hour codejam
© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC * On-premise planned for later releases 6
Programming model: The mission
Frameworks
Take over technical implementation tasks
Business logic added in code exits on protocol agnostic layers
SERVICE BINDING
BUSINESS Bind the service to OData protocol
SERVICES
PROVISIONING SERVICE DEFINITION
Define scope to be exposed
Behaviour implementation
ROOT
1 3
COMPOSITION BO RUNTIME
INTERACTION PHASE
TX buffer
SAVE SEQUENCE
BUSINESS
OBJECT
INTERACTION PHASE SAVE SEQUENCE RUNTIME
finalize
create_by_association
read_by_association
check_before_save
execute_function
execute_action adjust_numbers
update
save
create
delete
read
lock
TX buffer
SAP HANA
INTERACTION SAVE
PHASE SEQUENCE UNMANAGED
finalize
1 Application coding available
(e.g. Purchase Order, Sales Order,…)
check_before_save
MANAGED
MODIFY
adjust_numbers
2
READ
LOCK
INTERACTION SAVE
PHASE SEQUENCE
Application coding
finalize
already available
checkBeforeSave
for interaction phase, transactional buffer and save sequence
MODIFY
LOCK
save
APPLICATION CODE
Examples
TX Buffer Sales Order, Purchase Order
Adapter
SAP HANA
© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 15
Business objects - managed
INTERACTION SAVE
PHASE SEQUENCE
Application coding
finalize
not yet available or fine granular reusable code available
checkBeforeSave
technical implementation tasks taken over by BO infrastructure
MODIFY
adjustNumbers
developer focus on business logic, implemented via code exits:
READ
LOCK
Examples
MANAGED RUNTIME
New applications in SAP Cloud Platform ABAP Environment
TX Buffer
INTERACTION SAVE
PHASE SEQUENCE
Application coding
finalize
“update-task function module” available
checkBeforeSave
coding for interaction phase not available
(e.g. highly coupled in older UI technology: DYNP - PBO / PAI)
MODIFY
adjustNumbers
READ
LOCK
Examples
MANAGED RUNTIME
Function module Business Partner, Product
for UPDATE
TX Buffer TASK
SAP HANA
Application code in
determinations / validations / …
SAP HANA
Feature control
Draft handling
Lifecycle
Protocol and use case
Release
…?
2
3
Service Model 1
R
4 Tool support
UI: SAP Fiori Elements preview
A2X: Documentation preview
Entities to be exposed
SERVICE BINDING
BUSINESS Bind the service to OData protocol
SERVICES
PROVISIONING SERVICE DEFINITION
Define scope to be exposed
DEFINE ROLES
Role
SERVICE
BINDING PREVIEW
DEFINE SCENARIO
& PROTOCOL
AUNIT AUNIT
Scenario & integration test Unit test
SERVICE
DEFINITION
DEFINE
SCOPE
ADD IMPLEMENT
BEHAVIOR BEHAVIOR
Authority object DCL
QUERY
DATA ACCESS CDS BASED CDS BEHAVIOR ABAP CODE
CONROL DATA MODELL DEFINITION
AUTHORITY-CHECK
Lock object
SAP Gateway
One common data modelling technology for all scenarios
Core Data Services (CDS)
ABAP Application Core Data
Development Frameworks Services
Transaction, error and event handling services
CDS behavior (BDEF)
SAP NetWeaver
Effective and efficient application development
Modern ABAP language and development tools SQL
Local representation 1 3
of the external model Integration into apps
CDS artifacts not SQL-
managed
ODATA CLIENT
PROXY [Business Services – A2X / UI]
Expose data to Fiori UI and A2X service
Custom
http://sapteched.com/online
sap.com/community
See all SAP TechEd blog posts
www.sap.com/contactsap