2Objectives At the end of this module, you will be able to: Understand the basics of SAP NetWeaver GatewayUnderstand OData Channel API basic conceptKnow the types of SAP Business Content that we can expose as Gateway ServicesKnow the Development Environment’s that SAP developed Gateway plug-ins for
5SAP NetWeaver Gateway Open Any Device, Any Experience, Any Platform People Optimized for user interaction scenariosTimeless Non-disruptive, any SAP Business Suite versionDevelopers Simple APIs, no SAP knowledge requiredStandards Based on the OData protocol (Atom) RESTExperiencesEnterprise SoftwareWebDevicesSocialSAP NetWeaver GatewaySRMSCMERPPLMCRMSAP Business Suite
6SAP NetWeaver Gateway Architecture Gateway Core TechnologyOData with SAP AnnotationsNetwork StandardsData Source ProvidersToolsSAP NetWeaverSAP NetWeaver GatewayService AdaptationSupportabilityMonitoringSecuritySAP Business Suite [ERP,CRM,SRM…]BAPI / RFCDynproData Conn.IDEsPlug-insEvents / WorflowMetadata RepositoryConsumerGeneratorsBOR/SCR/RFCCustom DevODataChannel API
7Atom Publishing Protocol Atom Syndication Format Gateway Core TechnologyOData with SAP AnnotationsRESTService AdaptationMetadata RepositorySupportabilityMonitoringSecurityWhat is OData?Based on industry standards –REST-based architectureUses the standard GET, PUT, POST & DELETE HTTP Verbs for CRUD operationsStateless appsOData APIs Offer database like access to business data – “ODBC for the Web”No knowledge of SAP structures required: Supports object navigationDynamic binding takes place at run timeOData + SAP ExtensionsODataAtom Publishing ProtocolAtom Syndication FormatXMLHTTP
8SAP NetWeaver Gateway Tools BenefitsCapabilitiesDoes not require codingWell-suited for tweakers and non-ABAP developersEnables rapid prototypingCreate new Gateway objects from existing BOR Objects, RFMs & ABAP Dynpro screensSupports multiple object aggregationSupports adaptation based on client application requirementsGenerate structures based on underlying data sourceSupport CRUD operations + QUERY OperationSimplification of Service Interface so that no SAP skills requiredGateway Core TechnologyOData with SAP AnnotationsNetwork StandardsToolsSAP NetWeaverSAP NetWeaver GatewayService AdaptationRESTSupportabilityMonitoringSecuritySAP Business Suite [ERP,CRM,SRM…]Data Source ProvidersBAPIRFCWSData Conn.IDEsPlug-insEventsMetadata RepositoryConsumerGeneratorsBOR/SCR/CustomDev.BOR GeneratorSCR GeneratorGenerate new Gateway objects from existing BAPIs, RFCs or DynprosBuild custom Gateway objectRFC GeneratorSAP NetWeaver Gateway content generators do not require coding and allow not only to reuse exiting Business Objects or screens but also allows no-code based data adaptation capabilities. Data coming from multiple object can be aggregated, filtered and adapted based on the client application requirements. These generators can be used to generate structures that are then enhanced using the programming tools. fGeneration of new GW Data Models based on recordings of SAP transaction screens, and enables information from the recorded transactions to be consumed in OData compliant wayRecord dynpro based Transactions Utilize Transaction recorder (Batch Input) in order to capture business processes from the SAP System that are based on "classic" ABAP dynpro controls (Web Dynpro and ActiveX controls are not supported in this release). These represented as Recordings in the Screen Scraping data source.Map ABAP Dynpro screens and fields, that are part of the recording, to the Data Model CRUD operations.
9IDE Plug-Ins [optional] IDE Plug-in tools BenefitsCapabilitiesDevelopers require no SAP KnowledgeApplicable to client developersIn their native [IDE] environmentIncrease productivitySimplify SAP service consumptionIDE plug-In available for Visual Studio, xCode & EclipseProvide ease of consumption thru search and exploration capabilities on Gateway servicesEnable proxy generation of Gateway servicesApplication starter kitSupport all CRUD operations on Gateway servicesPush support for xCode, Visual StudioProvide out-of-box security and supportability capabilityNot Mandatory! Many Open Source APIs for OData/REST!IDEsPlug-ins
10Gateway Model Types (simplified view) User-Centric Exposure ModelConsumable model, derived from a PSM and optimized for an specific use case (mobile, web, embedded)PCEMService AdaptationServiceAdjustmentClient DeveloperABAP DeveloperUCDSMPSRelative Complexity15Public Solution ModelService model that is adapted (reduced) for lightweight consumption via Gateway100Data Source ModelUnmodified model of existing SAP Business Suite services in a Gateway-internal representation1000
11Gateway Development Background Gateway Service DevelopmentIW_BEP Add-on Component Required on Backend System (AS ABAP 7.0 or higher) for OData ChannelIW_SCS Add-on Component Required on Backend System (AS ABAP 7.0 or higher) for Screen Scraping4.6C Systems or Higher supported for RFC and BOR.Adaptation in GatewayAdaptation in the BackendBOR / RFC GeneratorScreen ScrapingModel & Implement Skeleton ClassCreate Data Provider & Model ProvidersGeneration ChannelOData Channel
13Remote Function Modules Remote Function Modules (RFMs) are based on Function Modules that are enabled for being called RemotelyBased on the Remote Function Call (RFC) ProtocolAll BAPIs are RFC enabledEasy to create RFC enabled Function Modules
14Business Object Repository (BOR) The BOR organizes SAP business APIs as Business Objects.Objects contain methods, events, key fields, and attributesMethods are often mapped to BAPIsKey fields are mandatory fields instantiating the objectEvents are used to notify others of some business eventView the BOR via transaction SWO2 (O not zero).Create your own BOR objects or extend existing BOR objects via transaction SWO1
15Dynpro User Interfaces There are thousands of Dynpro User Interfaces on SAP SystemsUser Interfaces for all aspects of SAP Business ApplicationsFor Reading, Updating, and Creating Business DataFor marking Business Data for deletion/archivingIntegrated Search Helps available making data input easierScreen Scraping technology has been available for years (BDC sessions)
16Gateway Services Based on RFMs or BOR Objects Overview Gateway Data Models can be created based on RFMs or BOR Objects.Gateway Objects are created in the ABAP Development Workbench – transaction SE80Once you create the object you will be navigated to the Gateway Object Modeler – transaction /IWFND/GWO_GEN.The Gateway Object Modeler is where you model your service.Browse BOR or search for RFMs.Each Operation can be mapped to an individual RFM or BOR Object.
17Gateway Services Based on Screen Scraping Overview Gateway Services can be modeled based on Screen Scraping Dynpro User Interfaces.Gateway Objects are created in the ABAP Development Workbench – transaction SE80Once you create the object you will be navigated to the Gateway Object Modeler – transaction /IWFND/GWO_GEN.The Gateway Object Modeler is where you:Record the ScreenMap Operations to Screen RecordingsAccess Search Helps for QUERY operations
18Screen Scraping – When to Use When should you use Screen Scraping?For quick proto-typingFor exposing Search Helps as QUERY operationsWhen there is no appropriate BOR Object or Remote Function Module available
19Gateway Service Mapping Tool The Mapping Tool allows you to do the following:Select Data Model operation type being mapped.Flatten structuresRename attributesSimplify the interfaceAssign constant values to import attributesAssign attributes as key valuesChange Mapping Route – used to flatten structures, rename attributes, and assign attributes as keys (S_COR_ID-VALUE)Set Constant Value – used to assign a constant value an input attribute
20S_COR_ID-VALUE = Primary Key S_COR_ID-VALUE is the Primary Key of Data ModelsEach operation must have the same attributes mapped to S_COR_ID-VALUES_COR_ID-VALUE is a 72 character string, the combined length of mapped attributes can not exceed thisAttributes mapped to S_COR_ID-VALUE are ordered alphabetically by default, this can be overridden if need be
22OData Channel Development Overview SAP Business SuiteGatewayConsumerPre-RequisitesDefine Model ClassDefine Runtime ClassRegister Model ClassDefine Model GroupAssign Runtime Class to Model GroupRegister Objects in GatewayTest ServiceCodeConfigurationConfigurationBrowser
23Sample Application! Look at Package /IWBEP/MGW SAP Business SuiteLook at Package /IWBEP/MGWSFLIGHT Model and Runtime sample classes demonstrate complete APIEmbedded Package : /IWBEP/MGW_APPLICATION & /IWBEP/MGW_SAMPLE_SFLIGHTMeta Data Class : /IWBEP/CL_MGW_MED_SFLIGHTRuntime Class : /IWBEP/CL_MGW_RT_SFLIGHT
25Summary You should now be able to: Understand the basics of SAP NetWeaver GatewayUnderstand OData Channel API basic conceptKnow the types of SAP Business Content that we can expose as Gateway ServicesKnow the Development Environment’s that SAP developed Gateway plug-ins for.