Overview Of The ABAP RESTful Programming Model In SAP Cloud Platform .

Transcription

Overview of the ABAP RESTful Programming Modelin SAP Cloud Platform ABAP EnvironmentProduct Management Technology Platform, SAP2019PUBLIC

Legal disclaimerThe information in this presentation is confidential and proprietary to SAP and may not be disclosed without the permission o f SAP.This presentation is not subject to your license agreement or any other service or subscription agreement with SAP. SAP has n o obligationto pursue any course of business outlined in this document or any related presentation, or to develop or release any functionality mentionedtherein. This document, or any related presentation, and SAP’s strategy and possible future developments, products, and platf orms, 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 thisdocument is not a commitment, promise, or legal obligation to deliver any material, code, or functionality. This document is provided withouta warranty of any kind, either express or implied, including but not limited to the implied warranties of merchantability, fi tness for a particularpurpose, or noninfringement. This document is for informational purposes and may not be incorporated into a contract. SAP assumes noresponsibility for errors or omissions in this document, except if such damages were caused by SAP’s willful misconduct or gr oss negligence.All forward-looking statements are subject to various risks and uncertainties that could cause actual results to differ material ly fromexpectations. 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 persona l data, reportingof personal data to an identified data subject, restricted access to personal data, masking of personal data, read access log ging to specialcategories of personal data, change logging of personal data, and consent management mechanisms. 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC2

ObjectivesAfter completing this learning module, you will be able to:Understand the mission of the ABAP RESTful Programming ModelUnderstand how the new programming model improves developers liveUnderstand the meaning of business objects and business services 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC3

Programming Model: The Mission for the development ofSAP Fiori apps andCloud APIs / A2X services for customers and partners in SAP S/4HANA for SAP internal development in SAP S/4HANA for customers and partners inSAP Cloud Platform ABAP Environment offering an end-to-end experiencestandardized development flowbest practices & development guideshigh development efficiencyfocus on business logic, rather than technicalaspects 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLICPROVIDE A PROGRAMMING MODEL supporting the product qualitiesUser experience: SAP Fiori and SAP HANACloud: scalabilityABAP assets: non-functional requirements and being flexibleBreak-outs for non-standardized implementationsOut-of-the-box extensibility & verticalizationReuse components / APIs in “freestyle” developmentscenarios4

AgendaThe ABAP RESTful Programming ModelWhy and what?Business ObjectsDefinition, Demo, RoadmapBusiness ServicesDefinition, Demo, Roadmap 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC5

The ABAP RESTful Programming ModelWhy and what?

Improvement of the ABAP Programming ModelIntegration of existing code and Development EfficiencyEXISTINGTECHNOLOGIESEXISTINGAPPLICATION CODEIntegration of existing codeService enablementEnd-2-end developmentexperienceADT only toolsIntuitive development flowExtensibility and verticalizationout-of-the-boxNative CDS and ABAP language supportNo code generationOnly typed APIs for main implementation tasksBusiness Objects as ABAP first class citizensABAP RESTful PROGRAMMING MODEL 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC7

Guiding PrinciplesABAP RESTful Programming ModelAll 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 signaturesStatic code checksAuto-completion, Element Info There is NO use of generic framework APIs NO code generation NO redundancy in transport-objectsImproved lifecycle (transport, patches, ) 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC8

ABAP RESTful Programming ModelSERVICECONSUMPTIONSAP Fiori UIA2XConsume OData UI servicesConsume OData A2X servicesSERVICE BINDINGBUSINESSSERVICESPROVISIONINGBind the service to OData protocolSERVICE DEFINITIONDefine scope to be exposedBUSINESS OBJECTSQUERIESData modelling with CDSDATA MODELLING &BEHAVIOURBehaviour DefinitionData modelling with CDSBehaviour implementation 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC9

ABAP RESTful Programming ModelBusiness ServicesSERVICE BINDINGEntry-point of service implementationExpose service protocol specificallyTest / Preview toolsSERVICEDEFINITIONDATA & BEHAVIOURDEFINITION 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLICService definition via projection of data andbehaviourUniverse of Business Objects & analyticaldata models and their related businesslogic10

ABAP RESTful Programming ModelBusiness ServicesMAINT SERVICE SERVICE BINDINGViewerSERVICE BINDINGOData V4 ServiceICF: activeRole: not assignedOAuth: Navigation to service modelClassic SAP GUI transactionsNo clear entry point / dev flowClear dev flowService entry-pointOverview of related artefactsEclipse baseddevelopmentNON CDSCDSSEGW - RDSSERVICEDEFINITIONSERVICE DEFINITIONClear responsibilitiesCode generationREF TOCDSconsumptionviewsNo domain specific supporttoday 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLICNON CDSEclipse based developmentViewerNo generation of artefactsCDSMDEMDEMDEMDEfuture11

ABAP RESTful Programming ModelBusiness ObjectsCDS data modelCDS data modelBusinessobject viewer@compositiongenerateBOPF business objectreferenceBDLBehaviour for BO in ABAPimplementedOutlineClear development flow(CDS for data modelling with ABAP language extensions forbehaviour)DATA & BEHAVIOURDEFINITIONDevelopment flow not intuitive(CDS and BOPF tooling)No redundancy and no generation of artefacts(clear references on language level)Generation of artefacts(BOPF metadata generation based onCDS artefacts)Typed APIs(For BO consumer and provider)Untyped signature(BOPF consumer and provider API) 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLICtoday The Business Object becomes an ABAP first class citizen(Known by ABAP compiler, language and tools including staticchecks)future12

ABAP RESTful Programming ModelBig PictureSERVICE BINDINGSERVICE BINDINGServiceviewerFiori Elements PreviewPROTOCOL SPECIFICPROTOCOL AGNOSTICSERVICE DEFINITIONServiceDefinitionviewerService model CDS editor: Projection NESS OBJECTDATA & BEHAVIOURDEFINITIONBusinessobjectviewerCDS editor: CDS entitiesTableentityViewentityABAPentity 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLICClass editorBO Test-shellaction,determination,validation13

BUSINESS OBJECTS

What is a Business Object (BO)?BO ations,Feature Control,DraftBO STRUCTURE2RROOTCOMPOSITION13BO RUNTIMEINTERACTION PHASETX bufferSAVE SEQUENCE 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC15

Business Object RuntimeINTERACTION PHASESAVE SEQUENCELOCKcheck before saveadjust numberssavelockexecute functionread by associationreadfinalizeexecute actioncreate by ECTRUNTIMETX bufferSAP HANA 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC16

Business Objects – Status GED1Application coding available(e.g. Purchase Order, Sales Order, )adjust numbersLOCKREADMODIFYcheck before save2MANAGEDGreen field developmentsave(MANAGED WITH) SAVE SELF-IMPLEMENTED3TX bufferUpdate task function module available(e.g. Business Partner, Product,.)SAP HANA 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC17

Business Objects - UnmanagedINTERACTIONPHASESAVESEQUENCEApplication reSavealready availablefor interaction phase, transactional buffer and save sequencedecoupled from UI technologysaveAPPLICATION CODEExamplesSales Order, Purchase OrderTX BufferAdapterSAP HANA 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC18

Business Objects – tion codingnot yet available or fine granular reusable code esaveMANAGED RUNTIMETX Buffertechnical implementation aspects taken over by BOinfrastructuredeveloper focus on business logic, implemented viadeterminations, validation, actions, ExamplesNew applications in SAP Cloud Platform ABAP EnvironmentBusiness Logic viadeterminations, validationsSAP HANA 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC19

Business Objects – Save UnmanagedINTERACTIONPHASESAVESEQUENCEApplication codingfinalize“update-task function module” availablecoding for interaction phase not availableLOCK(e.g. highly coupled in older UI technology: DYNP - PBO / l implementation aspects to be taken over by BO infrastructuresaveExamplesMANAGED RUNTIMETX BufferFunction modulefor UPDATETASKBusiness Partner, ProductSAP HANAApplication code indeterminations / validations / SAP HANA 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC20

Business Objects - Roadmap1ADT development experience: Business Object onboarding2Support for managed BO runtime (with unmanaged save)3Business Object Access API4Draft, feature control (incl. authorizations)5Role-specific service projections6Support for managed BO runtime: determinations and validations 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC21

BUSINESS SERVICES

ABAP RESTful Programming ModelSERVICECONSUMPTIONSAP Fiori UIA2XConsume OData UI servicesConsume OData A2X servicesSERVICE BINDINGBUSINESSSERVICESPROVISIONINGBind the service to OData protocolSERVICE DEFINITIONDefine scope to be exposedBUSINESS OBJECTSQUERIESData modelling with CDSDATA MODELLING &BEHAVIOURBehaviour DefinitionData modelling with CDSBehaviour implementation 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC23

Business Services Big Picture– Runtime stackSAP FIORISAP FIORIGATEWAYSAP QueryBO RuntimeMANAGEDUNMANAGEDAPPL CODEOPEN SQLAPPL CODE 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLICQueryBO RuntimeUNMANAGEDSAP HANASAP S/4HANACLOUDA2XMANAGEDUNMANAGEDMANAGEDAPPL CODEOPEN SQLSAP HANA24

Business Services Big Picture– Design Time stackA2XA2XA2XSERVICESERVICESERVICEValue helpUI annotationsFeature poseBUSINESSSERVICESSERVICE DEFINITIONSERVICESERVICE MODELMODELDEFINITIONDEFINITIONprojectDATA &BEHAVIOURRelease / WhitelistingVersioningCompatibility checkOData V2 / V4BOsBOsBOsModelBehaviourRuntimeModelModel BehaviourBehaviour RuntimeRuntime 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLICSortFilterText searchprojectQueriesBOsBOsModel/ BehaviourModelModel naged: SQLCustom: ABAP queries25

Business Services - Roadmap1A2X OData V4 outbound services2Versioning, release and compatibility check for A2X OData V2 and OData V43Inbound services for A2X consumption of OData V2 and OData V44SAP Fiori UI OData V4 services 2019 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC26

Thank you.Contact information:Product Management Technology Platform, SAP

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. . best practices & development guides high development efficiency focus on business logic, rather than .