OpenSAP Cp13 Week 1 Unit 2 ArchiOverview Presentation

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 15

Week 1: Introduction – ABAP RESTful Application Programming Model

Unit 2: Architecture Overview


Architecture Overview
Topics

01 The Big Picture

02 Architecture Overview

03 Involved Technologies

04 Introducing SAP Cloud Platform, ABAP Environment

05 Preparing Your ABAP Development Environment

Week 1 06 Creating Your First ABAP Cloud Console App

© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 2


Architecture Overview
The big picture

SERVICE SAP FIORI UI WEB API


CONSUMPTION Consume OData UI services Consume OData Web APIs

SERVICE BINDING – Bind to protocol version and scenario

SERVICE DEFINITION – Define scope to be exposed


BUSINESS
SERVICES BUSINESS OBJECT PROJECTION
PROVISIONING
CDS: Projection views

BDEF: Behavior projection


ABAP: Behavior implementation

BUSINESS OBJECTS QUERIES


DATA MODELING CDS: Data modeling CDS: Data modeling
& BEHAVIOR
BDEF: Behavior definition

ABAP: Behavior implementation

© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 3


BUSINESS
OBJECTS

© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 4


Architecture Overview
What is a business object?

Behavior
CRUD, Actions, Functions
Locks, eTag
Authorizations, Feature
Data Model Control, Draft

R 2

?
COMPOSITION TREE
1 3
(root, parent, and child nodes) Runtime Implementation
INTERACTION PHASE

TX buffer

SAVE SEQUENCE

© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 5


Architecture Overview
Business object runtime implementation types

INTERACTION SAVE
PHASE SEQUENCE UNMANAGED
For brownfield developments with available application code for
finalize interaction phase, transactional buffer, and save sequence
➔ Developers in charge of BO runtime: CRUD operations
check_before_save ➔ Adapters needed to integrate the existing code
MODIFY

adjust_numbers
READ

LOCK

save
MANAGED
For greenfield developments with standard implementation
Transactional (opt. unmanaged appl. components: DB tables, lock/PFCG object, update task FM)
buffer ➔ Standard CRUD operations work out-of-the-box
SAP HANA ➔ Developers add BO-specific business logic
BUSINESS OBJECT RUNTIME

© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 6


Architecture Overview
Development flow

AUNIT
Scenario & integration test

AUNIT
Unit test

ADD IMPLEMENT
BEHAVIOR BEHAVIOR
Authority object CDS role
QUERY
DATA CDS-BASED CDS BEHAVIOR
ACCESS DATA MODEL DEFINITION ABAP CODE
CONTROL
AUTHORITY CHECK
Lock object
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 7
BUSINESS
SERVICES

© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 8


Architecture Overview
What is a business service?

Service Binding Web API Lifecycle


Protocol: OData V2 or OData V4? Release
Scenario: Web API or UI? Versioning
Deprecation

2
3
?
1 Tool Support
UI: SAP Fiori elements preview
4
Web API: Swagger UI preview

Service Definition: which entities? R

BO Projection View: which elements?

Behavior Projection: which behavior?

© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 9


Architecture Overview
SAP Fiori UI and Web API consumption

SAP FIORI UI Web API

UI annotation exposure Required Not required

Value help Required Not required

Dynamic feature control Required Not required

Draft Required Not required

Content IDs for complex


Not required Required
$batch requests

Release, versioning, and


Not required Required
deprecation

© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 10


Architecture Overview
Development flow
DEFINE ROLES
Role
SERVICE
BINDING PREVIEW

BIND TO SCENARIO
AND PROTOCOL

SERVICE
AUNIT DEFINITION
Scenario & integration test
DEFINE SCOPE

ADD
BEHAVIOR AUNIT
DATA MODEL BEHAVIOR Unit test
PROJECTION PROJECTION
PROJECT ELEMENTS & ENRICH PROJECT BEHAVIOR

ADD IMPLEMENT
BEHAVIOR BEHAVIOR
Authority object CDS role
QUERY
DATA CDS-BASED CDS BEHAVIOR
ACCESS DATA MODEL DEFINITION ABAP CODE
CONTROL
AUTHORITY CHECK
Lock object
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 11
Architecture Overview
Wrap-up

IN THIS UNIT, YOU LEARNED


▪ About the architecture of the ABAP RESTful Application Programming
Model
▪ What the vital parts of RAP are
▪ How business objects and business service fit in the picture
▪ About development types and development flow for RAP apps

NEXT UNIT
▪ Week 1 – Unit 3
Involved Technologies

© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 12


Architecture Overview
Further reading
i Additional Material

ABAP RESTful APPLICATION PROGRAMMING MODEL


INFORMATION PAGE

For more information, links to documentation, tutorials, and more, please


visit the RAP at openSAP information page by following the link below Update Slide

RAP at openSAP information page (week 1)

© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 13


Thank you.
Contact information:

open@sap.com
Follow all of SAP

www.sap.com/contactsap

© 2020 SAP SE or an SAP affiliate company. All rights reserved.


No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of
SAP SE or an SAP affiliate company.
The information contained herein may be changed without prior notice. Some software products marketed by SAP SE and its
distributors contain proprietary software components of other software vendors. National product specifications may vary.
These materials are provided by SAP SE or an SAP affiliate company for informational purposes only, without representation or
warranty of any kind, and SAP or its affiliated companies shall not be liable for errors or omissions with respect to the materials.
The only warranties for SAP or SAP affiliate company products and services are those that are set forth in the express warranty
statements accompanying such products and services, if any. Nothing herein should be construed as constituting an additional
warranty.
In particular, SAP SE or its affiliated companies have 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 SE’s or its affiliated companies’ strategy and possible future developments, products, and/or platforms, directions, and
functionality are all subject to change and may be changed by SAP SE or its affiliated companies 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. 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, and they
should not be relied upon in making purchasing decisions.
SAP and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered
trademarks of SAP SE (or an SAP affiliate company) in Germany and other countries. All other product and service names
mentioned are the trademarks of their respective companies.
See www.sap.com/copyright for additional trademark information and notices.

You might also like