294
NetWeaver Gateway Development Paradigm 1. Building Online Mobile Applications with theSAP Mobile PlatformAndrew Whitaker SAP CSA 2. DisclaimerThis presentation outlines our general product direction and should not be relied on in making apurchase decision. This presentation is not subject to your license agreement or any other agreementwith SAP. SAP has no obligation to pursue any course of business outlined in this presentation or todevelop or release any functionality mentioned in this presentation. This presentation and SAPsstrategy and possible future developments are subject to change and may be changed by SAP at anytime for any reason without notice. This document is provided without a warranty of any kind, eitherexpress or implied, including but not limited to, the implied warranties of merchantability, fitness for aparticular purpose, or non-infringement. SAP assumes no responsibility for errors or omissions in thisdocument, except if such damages were caused by SAP intentionally or grossly negligent.© 2012 SAP AG. All rights reserved. 2 Introduction Configure - On-Boarding, Security, User EnablementExercise Code - Client Libraries Model - Modeling OData Services3. AgendaSAP Mobility PlatformDevelopment Paradigm & Demo© 2012 SAP AG. All rights reserved. 3 4. Development paradigm 5. Online Mobile Applications Development Paradigm Online Mobile Applications Task Flow Native application Modeling of oData Development Application Services User On-boarding using oData Enablement (identification) SDK’s Model Code Configuration© 2012 SAP AG. All rights reserved. 5 6. SAP mobile platform SAP, Partner, and Custom Apps Native Apps Hybrid HTML5 Apps SMS Apps CODE Container Apps

Notes

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Notes

NetWeaver Gateway Development Paradigm

1. Building Online Mobile Applications with theSAP Mobile PlatformAndrew Whitaker SAP CSA

2. DisclaimerThis presentation outlines our general product direction and should not be relied on in making apurchase decision. This presentation is not subject to your license agreement or any other agreementwith SAP. SAP has no obligation to pursue any course of business outlined in this presentation or todevelop or release any functionality mentioned in this presentation. This presentation and SAPsstrategy and possible future developments are subject to change and may be changed by SAP at anytime for any reason without notice. This document is provided without a warranty of any kind, eitherexpress or implied, including but not limited to, the implied warranties of merchantability, fitness for aparticular purpose, or non-infringement. SAP assumes no responsibility for errors or omissions in thisdocument, except if such damages were caused by SAP intentionally or grossly negligent.©  2012 SAP AG. All rights reserved. 2

  Introduction  Configure - On-Boarding, Security, User EnablementExercise �  Code - Client Libraries �  Model - Modeling OData Services �3. AgendaSAP Mobility PlatformDevelopment Paradigm & Demo©  2012 SAP AG. All rights reserved. 3 �

4. Development paradigm 5. Online Mobile Applications Development Paradigm Online Mobile Applications Task

Flow Native application Modeling of oData Development Application Services User On-boarding using oData Enablement (identification) SDK’s Model Code Configuration©  2012 SAP AG. All rights reserved. 5

6. SAP mobile platform SAP, Partner, and Custom Apps Native Apps Hybrid HTML5 Apps SMS Apps CODE Container Apps Development using oData SDK’s SAP App Dev Tools Third Party App Dev Tools SAP Mobile Platform SAP Afaria App Catalog CONFIGURE Application Presentation Frameworks Application Onboarding Management Application Services Foundation Services Device Data Sync & Caching Authentication App Lifecycle Managment oData Proxy Notification … Management MODEL oData Services SAP NetWeaver Gateway SAP Business Suite Sybase 365 Databases Third Party Apps This presentation and SAP‘s strategy and possible future developments are subject to change and may be changed by SAP at any time for any reason without notice. This document is provided without a warranty of any©  2012 SAP AG. All rights reserved. kind, either express or implied, including but not limited to, the implied warranties of merchantability, fitness for a particular purpose, or non-infringement 6

7. MODEL – OData Services Modeling of oData Services (identification) Native application Development using oData SDK’s Application Enablement User On-boarding We will use an existing service.©  2012 SAP AG. All rights reserved. 7

8. CODE – Native Application Development Modeling of oData Services (identification) Native application Development using oData SDK’s Application Enablement User On-

Page 2: Notes

boardingSDM Connectivity   Connectivity to OData ProviderSDM Cache   �Authentication  Caching OData Service Document, Meta Data and �   Sync.� Data Values �& Async. handling   Support for SAPPassport  In-Memory filtering of entries � SDM �Persistency   Secure Data Persistency on the deviceSDM Parser   Parsing of OData �Service Documents, Meta Data andSDM Supportability   Logging� & Tracing Data �Values (Atom entries and feeds)   Create, Update and Delete OData entries  Memory Footprint �   Subscription to OData objects�   Performance Measurements �   Integration �with SAP Solution Manager MAKit   Graphical Controls for Analytic Uis©  2012 SAP �AG. All rights reserved. 8 �

9. CODE – Native Application Development Modeling of oData Services (identification) Native application Development using oData SDK’s Application Enablement User On-boarding©  2012 SAP AG. All rights reserved. 9

10. CONFIGURE – SUP Administration Modeling of oData Services (identification) Native application Development using oData SDK’s Application Enablement   Administrator registers anUser On-boarding application and service document   �Automated on-boarding can beURL configured based on –  X 509 certificates, –  SSO2 �cookie – Basic authentication against   Manual user on-boarding throughbackend �Device/User Registration   User enables the device©  2012 SAP AG. All rights reserved.explicit white listing in SUP 10 �

11. Exercise & Demo 12. Exercise – Overview Device/User Service Document Metadata Document Data Calls

Registration©  2012 SAP AG. All rights reserved. 12 13. Exercise – Overview Push Notifications Click Subscribe Create Subscription Receive

Notification©  2012 SAP AG. All rights reserved. 13 14. Exercise Overview Modeling of oData Services (identification) Native application

Development using oData SDK’s Application Enablement User On-boarding SAP NetWeaver Gateway SUP Server Authentica Notificatio Proxy tion ns SFLIGHT OData OData Application Lifecycle Management Android Sybase Control Center http://server:port/../../RMTSAMPLEFLIGHT/ http://server:port/../../RMTSAMPLEFLIGHT/$metadata http://server:port/../../RMTSAMPLEFLIGHT/FlightCollection http://server:port/../../RMTSAMPLEFLIGHT/SubscriptionCollection©  2012 SAP AG. All rights reserved. 14

15. Exercise – Design TimePART Description Android SUP Gateway A Identify a Gateway Service B SUP Configuration (Application onboarding) C Develop an Android Application (User onboarding) D Enabling Push Notifications (Optional) *Query resource currently not supported©  2012 SAP AG. All rights reserved. 15

16. Further Information on MobileSAP Public Webhttp://wiki.sdn.sap.com/wiki/display/mobile/http://scn.sap.com/community/mobileSAP Education and Certification Opportunitieswww.sap.com/educationWatch SAP TechEd Onlinewww.sapteched.com/online©  2012 SAP AG. All rights reserved. 16

Page 3: Notes
Page 4: Notes
Page 5: Notes
Page 6: Notes
Page 7: Notes
Page 8: Notes
Page 9: Notes
Page 10: Notes

1. GW100 SAP NetWeaver GatewayGateway Service ConsumptionMay 2012 INTE RNA L

  Consumption of Gateway Services using Java Server Pages and JavaScript + HTML5©  2012 SAP AG.

All rights reserved. 2  Creating an iPhone Application to Consume a Gateway Service �  Creation of

OData proxy objects �  The general principles of consuming a Gateway Service �2. Objectives At the end

of this chapter, you will understand: �

  Consumption Exercises – Java Server Pages, JavaScript ©  2012 SAP AG. All rights reserved. 3  Using

the Gateway Developer Tool for XCode – Building an iPhone Appu  Creating OData Proxy Objectsu 

Gateway Service Consumption Overviewu3. Agendau

  Consumption Exercises – Java Server Pages, JavaScript ©  2012 SAP AG. All rights reserved. 4  Using

the Gateway Developer Tool for XCode – Building an iPhone Appu  Creating OData Proxy Objectsu 

Gateway Service Consumption Overviewu4. Agendau

Page 11: Notes

5. My Gateway Service Works… Now What? Once you’ve built a working Gateway Service, the next step

is to create an application that can consume this service. OK, so how do I that? There are many

possibilities. For instance, you could develop an application for a mobile client using the Sybase Unwired

Platform (SUP), or you could use a wide variety of programming languages and freely available OData

libraries.©  2012 SAP AG. All rights reserved. 5

6. Gateway Service Consumption – Where to Start?Since the application that consumes a Gateway

Service executes outside the scopeof an SAP system, you will first need to choose a programming

environment.You are free to choose any programming environment with which you arecomfortable… SAP

places no restrictions on how Gateway services are to beconsumed.In this course, we will focus on two

possible consumption options:•  Java Server Pages•  JavaScript (using the SAPUI5 libraries)©  2012 SAP

AG. All rights reserved. 6

7. Gateway Service Consumption – General PrinciplesNo matter what programminglanguage you

choose, youshould obtain at the veryleast, an OData SDK for yourchosen language.Many OData SDKs

areavailable from the developerssection of the odata.orgwebsite.However, SAP offers someproxy

generation tools thathelp accelerate applicationdevelopment.©  2012 SAP AG. All rights reserved. 7

  Consumption Exercises – Java Server Pages, JavaScript ©  2012 SAP AG. All rights reserved. 8  Using

the Gateway Developer Tool for XCode – Building an iPhone Appu  Creating OData Proxy Objectsu 

Gateway Service Consumption Overviewu8. Agendau

Developer ToolsThe SAPUI5 JavaScript library can also be downloaded from SCN.©  2012 SAP AG. All

rights reserved. 99. Gateway Service Consumption – Proxy GenerationSix different tools are available

for creating OData proxy objects, five of which arewritten by SAP. Language Tool Shipped As Proxy

Object CreatedJava Oracle Eclipse plug-in Manually at design timePHP PHP Group Eclipse plug-in

Manually at design timeVisual C# Microsoft Visual Studio 2010 project template Manually at design

timeObjective C Apple Stand alone tool Manually at design timeJavaScript ECMA Object within SAPUI5

library Implicitly at runtimeFlash Adobe Flash Builder plug-in from Adobe Manually at design timeThe

generated OData proxy object acts as the interface to the SAP NetWeaverGateway system, and hides

many of the lower level details of the OData protocol.All of these plug-ins can be downloaded from the

SAP Community Network pagehttp://scn.sap.com/community/netweaver-gateway à

“Proxy Generation” atdesign time.This functionality is installed as a plug-in for Eclipse.©  2012 SAP AG.

All rights reserved. 1010. Gateway Proxy Generation – Eclipse (Java or PHP) SAP NetWeaver

Page 12: Notes

GatewayIn Eclipse Helios (3.6) or Indigo (3.7), a Gateway proxy object is created byselecting a project of

type “SAP NetWeaver Gateway” à

“Proxy Generation” atdesign time.This functionality is installed as a plug-in for Eclipse.©  2012 SAP AG.

All rights reserved. 1111. Gateway Proxy Generation – Eclipse (Java or PHP) SAP NetWeaver

GatewayIn Eclipse Helios (3.6) or Indigo (3.7), a Gateway proxy object is created byselecting a project of

type “SAP NetWeaver Gateway” à

12. Gateway Proxy Generation – Visual Studio 2010 (C#) SAP NetWeaver GatewayIn Visual Studio

2010, a Gateway proxy object is created by selecting project of type“SAP Web Application” at design

time.This functionality is installed as a plug-in for Visual Studio.©  2012 SAP AG. All rights reserved. 12

13. Gateway Proxy Generation – Visual Studio 2010 (C#) SAP NetWeaver GatewayIn Visual Studio

2010, a Gateway proxy object is created by selecting project of type“SAP Web Application” at design

time.This functionality is installed as a plug-in for Visual Studio.©  2012 SAP AG. All rights reserved. 13

“SAP Gateway”.This functionality is installed as a plug-in for Flash Builder.©  2012 SAP AG. All rights

reserved. 14“Connect to Data/Service Type” à14. Gateway Proxy Generation – Flash Builder ≥4.5

(MXML) SAP NetWeaver GatewayIn Flash Builder ≥4.5, a Flex Project is created and then you select

Data à

15. Gateway Proxy Generation – XCode (Objective C) Generated XCode Project SAP NetWeaver

GatewayThe SAP NetWeaver Gateway developer tool for XCode is a stand-alone tool thatconnects to a

Gateway server and generates an XCode project.This project is then opened in XCode and can be edited

as required.©  2012 SAP AG. All rights reserved. 15

16. Gateway Proxy Generation – XCode (Objective C) Generated XCode Project SAP NetWeaver

GatewayThe SAP NetWeaver Gateway developer tool for XCode is a stand-alone tool thatconnects to a

Gateway server and generates an XCode project.This project is then opened in XCode and can be edited

as required.©  2012 SAP AG. All rights reserved. 16

17. Gateway Proxy Generation – SAPUI5 (JavaScript+HTML5) SAP NetWeaver GatewayAt design time,

you create an sap.ui.model.odata.ODataModel object.At runtime, the OData object is created

automatically.This functionality is contained both in plug-ins and libraries referenced by yourSAPUI5

Project.©  2012 SAP AG. All rights reserved. 17

Page 13: Notes

  Consumption Exercises – Java Server Pages, JavaScript ©  2012 SAP AG.  Using the Gateway

Developer Tool for XCode – Building an iPhone Appu  Creating OData Proxy Objectsu  Gateway

Service Consumption Overviewu18. Agendau All rights reserved. 18

19. Creating a Basic iPhone Application – 1/11When you run the SAP NetWeaver Gateway developer

tool for XCode, you are firstasked whether you want to create just a proxy object, or a proxy object

wrapped ina basic application.The demo application being built here will show first a list of Airports.The

user then selects an airport and will be shown a list of flights departing fromthat airport.Finally, the user

can select an individual flight to see its bookings.©  2012 SAP AG. All rights reserved. 19

20. Creating a Basic iPhone Application – 2/11Before using the proxy generator tool, you must first

configure it to point to theinstalled OData SDK and at least one Gateway server.Press ⌘, (Command

comma) to display the configuration screen.©  2012 SAP AG. All rights reserved. 20

21. Creating a Basic iPhone Application – 3/11Enter the application name and press Browse©  2012 SAP

AG. All rights reserved. 21

22. Creating a Basic iPhone Application – 4/11Once you have selected a system, a list of available

Gateway services will bedisplayed. Press OK, to use the selected service, then Next.©  2012 SAP AG. All

rights reserved. 22

23. Creating a Basic iPhone Application – 5/11We now must construct the screens the application will

use.Give the first screen a title (“Airports” in this case) and press the plus sign in thebottom right corner to

add fields to this screen.©  2012 SAP AG. All rights reserved. 23

24. Creating a Basic iPhone Application – 6/11Knowing that our application will start by providing a list of

Airports, we choosethis entity set from the drop down list.We then choose the appropriate fields from this

entity set that we wish to display.GeoCoordinates is omitted because it is based on a Complex Type.© 

2012 SAP AG. All rights reserved. 24

25. Creating a Basic iPhone Application – 7/11Now add a second page by clicking on the plus sign in the

bottom left corner.The second page will show only those flights departing from the airport selected onthe

first screen.©  2012 SAP AG. All rights reserved. 25

26. Creating a Basic iPhone Application – 8/11Notice now that the dropdown list no longer displays entity

sets. This is becausethe first screen uses the Airports entity set; therefore, we can only use fieldsavailable

Page 14: Notes

from the navigation paths belonging to Airports.In this case, we are interested in the DepartingFlights

navigation path.©  2012 SAP AG. All rights reserved. 26

27. Creating a Basic iPhone Application – 9/11As with the Flights page, a third page is added for

Bookings and fields are addedas seen earlier.This completes the design process for the screen fields, so

we can now pressFinish.©  2012 SAP AG. All rights reserved. 27

28. Creating a Basic iPhone Application – 10/11After defining where you want the generated XCode

project to be stored, you nowuse XCode to open that project.At this point you could simply run the

application or you use the coding as thestarting point for your own custom application.©  2012 SAP AG.

All rights reserved. 28

29. Creating a Basic iPhone Application – 11/11The application can then be run in the iOS simulator

within XCode.©  2012 SAP AG. All rights reserved. 29

  Consumption Exercises – Java Server Pages, JavaScript ©  2012 SAP AG. All rights reserved. 30 

iPhone App Creationu  Creating OData Proxy Objectsu  Gateway Service Consumption Overviewu30.

Agendau

31. Hands-on ExerciseExercise 14Consume a Gateway Service Using JavaServer Pages©  2012 SAP

AG. All rights reserved. 31

32. Hands-on ExerciseExercise 15Consume a Gateway Service Using theSAPUI5 JavaScript Libraries

(Read-only)©  2012 SAP AG. All rights reserved. 32

  Consumption of Gateway Services using Java Server Pages and JavaScript + HTML5©  2012 SAP AG.

All rights reserved. 33  Creation of an iPhone Application to Consume a Gateway Service �  Creation of

OData proxy objects �  The general principles of consuming a Gateway Service �33. Summary You

should now understand: �

Page 15: Notes
Page 16: Notes
Page 17: Notes
Page 18: Notes
Page 19: Notes
Page 20: Notes
Page 21: Notes
Page 22: Notes
Page 23: Notes
Page 24: Notes
Page 25: Notes
Page 26: Notes
Page 27: Notes
Page 28: Notes
Page 29: Notes
Page 30: Notes
Page 31: Notes
Page 32: Notes
Page 33: Notes
Page 34: Notes
Page 35: Notes
Page 36: Notes
Page 37: Notes
Page 38: Notes
Page 39: Notes
Page 40: Notes

1. GW100 SAP NetWeaver GatewayGateway Service ConsumptionMay 2012 INTE RNA L

2. Objectives At the end of this chapter, you will understand:   The general principles of consuming a Gateway Service   Creation of OData proxy objects�   Creating an iPhone �Application to Consume a Gateway Service   Consumption of Gateway Services using �Java Server Pages and JavaScript + HTML5©  2012 SAP AG. All rights reserved. 2 �

 3. Agendau  Gateway Service Consumption Overviewu  Creating OData Proxy Objectsu  Using the Gateway Developer Tool for XCode – Building an iPhone Appu Consumption Exercises – Java Server Pages, JavaScript ©  2012 SAP AG. All rights reserved. 3

 4. Agendau  Gateway Service Consumption Overviewu  Creating OData Proxy Objectsu  Using the Gateway Developer Tool for XCode – Building an iPhone Appu Consumption Exercises – Java Server Pages, JavaScript ©  2012 SAP AG. All rights reserved. 4

5. My Gateway Service Works… Now What? Once you’ve built a working Gateway Service, the next step is to create an application that can consume this service. OK, so how do I that? There are many possibilities. For instance, you could develop an application for a mobile client using the Sybase Unwired Platform (SUP), or you could use a wide variety of programming languages and freely available OData libraries.©  2012 SAP AG. All rights reserved. 5

6. Gateway Service Consumption – Where to Start?Since the application that consumes a Gateway Service executes outside the scopeof an SAP system, you will first need to choose a programming environment.You are free to choose any programming environment with which you arecomfortable… SAP places no restrictions on how Gateway services are to beconsumed.In this course, we will focus on two possible consumption options:•  Java Server Pages•  JavaScript (using the SAPUI5 libraries)©  2012 SAP AG. All rights reserved. 6

7. Gateway Service Consumption – General PrinciplesNo matter what programminglanguage you choose, youshould obtain at the veryleast, an OData SDK for yourchosen language.Many OData SDKs areavailable from the developerssection of the odata.orgwebsite.However, SAP offers someproxy generation tools thathelp accelerate applicationdevelopment.©  2012 SAP AG. All rights reserved. 7

 8. Agendau  Gateway Service Consumption Overviewu  Creating OData Proxy Objectsu  Using the Gateway Developer Tool for XCode – Building an iPhone Appu Consumption Exercises – Java Server Pages, JavaScript ©  2012 SAP AG. All rights reserved. 8

9. Gateway Service Consumption – Proxy GenerationSix different tools are available for creating OData proxy objects, five of which arewritten by SAP. Language Tool Shipped As Proxy Object CreatedJava Oracle Eclipse plug-in Manually at design timePHP PHP Group Eclipse plug-in Manually at design timeVisual C# Microsoft Visual Studio 2010 project template Manually at design timeObjective C Apple Stand alone tool Manually at design timeJavaScript ECMA Object within SAPUI5 library Implicitly at runtimeFlash Adobe Flash Builder plug-in from Adobe Developer ToolsThe SAPUI5 JavaScript library can also be downloaded from SCN.©  2012 SAP AG. All rights reserved.Manually at design timeThe generated OData proxy object acts as the interface to the SAP NetWeaverGateway system, and hides many of the lower level details of the

Page 41: Notes

OData protocol.All of these plug-ins can be downloaded from the SAP Community Network pagehttp://scn.sap.com/community/netweaver-gateway à 9

10. Gateway Proxy Generation – Eclipse (Java or PHP) SAP NetWeaver “Proxy Generation” atdesign time.This functionality is installed as a plug-in for Eclipse.©  2012 SAP AG. All rights reserved.GatewayIn Eclipse Helios (3.6) or Indigo (3.7), a Gateway proxy object is created byselecting a project of type “SAP NetWeaver Gateway” à 10

11. Gateway Proxy Generation – Eclipse (Java or PHP) SAP NetWeaver “Proxy Generation” atdesign time.This functionality is installed as a plug-in for Eclipse.©  2012GatewayIn Eclipse Helios (3.6) or Indigo (3.7), a Gateway proxy object is created byselecting a project of type “SAP NetWeaver Gateway” à SAP AG. All rights reserved. 11

12. Gateway Proxy Generation – Visual Studio 2010 (C#) SAP NetWeaver GatewayIn Visual Studio 2010, a Gateway proxy object is created by selecting project of type“SAP Web Application” at design time.This functionality is installed as a plug-in for Visual Studio.©  2012 SAP AG. All rights reserved. 12

13. Gateway Proxy Generation – Visual Studio 2010 (C#) SAP NetWeaver GatewayIn Visual Studio 2010, a Gateway proxy object is created by selecting project of type“SAP Web Application” at design time.This functionality is installed as a plug-in for Visual Studio.©  2012 SAP AG. All rights reserved. 13

14. Gateway Proxy Generation – Flash Builder ≥4.5 (MXML) SAP NetWeaver “SAP Gateway”.This functionality is installed as a plug-in for Flash Builder.©  2012 SAP AG. All rights reserved.“Connect to Data/Service Type” àGatewayIn Flash Builder ≥4.5, a Flex Project is created and then you select Data à 14

15. Gateway Proxy Generation – XCode (Objective C) Generated XCode Project SAP NetWeaver GatewayThe SAP NetWeaver Gateway developer tool for XCode is a stand-alone tool thatconnects to a Gateway server and generates an XCode project.This project is then opened in XCode and can be edited as required.©  2012 SAP AG. All rights reserved. 15

16. Gateway Proxy Generation – XCode (Objective C) Generated XCode Project SAP NetWeaver GatewayThe SAP NetWeaver Gateway developer tool for XCode is a stand-alone tool thatconnects to a Gateway server and generates an XCode project.This project is then opened in XCode and can be edited as required.©  2012 SAP AG. All rights reserved. 16

17. Gateway Proxy Generation – SAPUI5 (JavaScript+HTML5) SAP NetWeaver GatewayAt design time, you create an sap.ui.model.odata.ODataModel object.At runtime, the OData object is created automatically.This functionality is contained both in plug-ins and libraries referenced by yourSAPUI5 Project.©  2012 SAP AG. All rights reserved. 17

 18. Agendau  Gateway Service Consumption Overviewu  Creating OData Proxy Objectsu  Using the Gateway Developer Tool for XCode – Building an iPhone Appu Consumption Exercises – Java Server Pages, JavaScript ©  2012 SAP AG. All rights reserved. 18

19. Creating a Basic iPhone Application – 1/11When you run the SAP NetWeaver Gateway developer tool for XCode, you are firstasked whether you want to create just a proxy object, or a proxy object wrapped ina basic application.The demo application being built here will show first a list of Airports.The user then selects an airport and will be

Page 42: Notes

shown a list of flights departing fromthat airport.Finally, the user can select an individual flight to see its bookings.©  2012 SAP AG. All rights reserved. 19

20. Creating a Basic iPhone Application – 2/11Before using the proxy generator tool, you must first configure it to point to theinstalled OData SDK and at least one Gateway server.Press ⌘, (Command comma) to display the configuration screen.©  2012 SAP AG. All rights reserved. 20

21. Creating a Basic iPhone Application – 3/11Enter the application name and press Browse©  2012 SAP AG. All rights reserved. 21

22. Creating a Basic iPhone Application – 4/11Once you have selected a system, a list of available Gateway services will bedisplayed. Press OK, to use the selected service, then Next.©  2012 SAP AG. All rights reserved. 22

23. Creating a Basic iPhone Application – 5/11We now must construct the screens the application will use.Give the first screen a title (“Airports” in this case) and press the plus sign in thebottom right corner to add fields to this screen.©  2012 SAP AG. All rights reserved. 23

24. Creating a Basic iPhone Application – 6/11Knowing that our application will start by providing a list of Airports, we choosethis entity set from the drop down list.We then choose the appropriate fields from this entity set that we wish to display.GeoCoordinates is omitted because it is based on a Complex Type.©  2012 SAP AG. All rights reserved. 24

25. Creating a Basic iPhone Application – 7/11Now add a second page by clicking on the plus sign in the bottom left corner.The second page will show only those flights departing from the airport selected onthe first screen.©  2012 SAP AG. All rights reserved. 25

26. Creating a Basic iPhone Application – 8/11Notice now that the dropdown list no longer displays entity sets. This is becausethe first screen uses the Airports entity set; therefore, we can only use fieldsavailable from the navigation paths belonging to Airports.In this case, we are interested in the DepartingFlights navigation path.©  2012 SAP AG. All rights reserved. 26

27. Creating a Basic iPhone Application – 9/11As with the Flights page, a third page is added for Bookings and fields are addedas seen earlier.This completes the design process for the screen fields, so we can now pressFinish.©  2012 SAP AG. All rights reserved. 27

28. Creating a Basic iPhone Application – 10/11After defining where you want the generated XCode project to be stored, you nowuse XCode to open that project.At this point you could simply run the application or you use the coding as thestarting point for your own custom application.©  2012 SAP AG. All rights reserved. 28

29. Creating a Basic iPhone Application – 11/11The application can then be run in the iOS simulator within XCode.©  2012 SAP AG. All rights reserved. 29

 30. Agendau  Gateway Service Consumption Overviewu  Creating OData Proxy Objectsu  iPhone App Creationu Consumption Exercises – Java Server Pages, JavaScript ©  2012 SAP AG. All rights reserved. 30

31. Hands-on ExerciseExercise 14Consume a Gateway Service Using JavaServer Pages©  2012 SAP AG. All rights reserved. 31

32. Hands-on ExerciseExercise 15Consume a Gateway Service Using theSAPUI5 JavaScript Libraries (Read-only)©  2012 SAP AG. All rights reserved. 32

33. Summary You should now understand:   The general principles of consuming a Gateway Service   Creation of OData proxy objects�   Creation of an iPhone� �

Page 43: Notes

Application to Consume a Gateway Service   Consumption of Gateway Services using Java Server Pages and JavaScript + HTML5©  2012 SAP AG. All rights reserved. 33 �

Page 44: Notes
Page 45: Notes
Page 46: Notes
Page 47: Notes
Page 48: Notes
Page 49: Notes
Page 50: Notes
Page 51: Notes
Page 52: Notes
Page 53: Notes
Page 54: Notes
Page 55: Notes
Page 56: Notes
Page 57: Notes
Page 58: Notes
Page 59: Notes
Page 60: Notes
Page 61: Notes
Page 62: Notes
Page 63: Notes
Page 64: Notes
Page 65: Notes
Page 66: Notes
Page 67: Notes
Page 68: Notes
Page 69: Notes
Page 70: Notes
Page 71: Notes
Page 72: Notes
Page 73: Notes

http://scn.sap.com/community/netweaver-gateway

http://en.wikipedia.org/wiki/SAP_NetWeaver_Application_Server

http://www.sybase.com/files/White_Papers/SYBASE_SUP_2.1_Architecture_WP.pdf

Page 74: Notes
Page 75: Notes
Page 76: Notes
Page 77: Notes
Page 78: Notes
Page 79: Notes
Page 80: Notes
Page 81: Notes
Page 82: Notes
Page 83: Notes
Page 84: Notes
Page 85: Notes
Page 86: Notes
Page 87: Notes
Page 88: Notes
Page 89: Notes
Page 90: Notes
Page 91: Notes
Page 92: Notes
Page 93: Notes
Page 94: Notes
Page 95: Notes
Page 96: Notes
Page 97: Notes
Page 98: Notes
Page 99: Notes
Page 100: Notes
Page 101: Notes
Page 102: Notes
Page 103: Notes
Page 104: Notes
Page 105: Notes
Page 106: Notes
Page 107: Notes
Page 108: Notes
Page 109: Notes
Page 110: Notes
Page 111: Notes
Page 112: Notes
Page 113: Notes
Page 114: Notes
Page 115: Notes
Page 116: Notes
Page 117: Notes
Page 118: Notes
Page 119: Notes
Page 120: Notes
Page 121: Notes
Page 122: Notes
Page 123: Notes
Page 124: Notes
Page 125: Notes
Page 126: Notes
Page 127: Notes
Page 128: Notes
Page 129: Notes
Page 130: Notes
Page 131: Notes
Page 132: Notes
Page 133: Notes
Page 134: Notes
Page 135: Notes
Page 136: Notes
Page 137: Notes

NetWeaver Gateway- Extend the Reach of SAP Applications

1. Extend the Reach of SAP Applications toBusiness Users with SAP NetWeaver GatewayJeff Gebo,

Chris Whealy, Patrick KelleherSAP

  Wrap-Up ©  2012 SAP AG. All rights reserved. 1  Next StepsØ  Business Scenarios and Application

DemosØ  Demo of Provisioning and Consumption ToolsØ  Functionality, Architecture, and

Development ProcessØ  What Is SAP NetWeaver® Gateway?Ø2. AgendaØ

3. What Is SAP NetWeaver Gateway?

4. Technology Tipping Point Requires New IT ApproachNew devices and Growing new communities

Simple access to complexexperiences of agile developers enterprise systemsConsumer innovations

Expansion of business data Manage and control missionin the enterprise and decision makers critical

systems AND deploy innovative solutions©  2012 SAP AG. All rights reserved. 3

5. Being a Best Run Company in a Changing Environment People Solutions IT Management Productivity

Short Development Leadership Cycles Business Outcome Manage Innovation Volume Engagement

Efficiency Business Focus©  2012 SAP AG. All rights reserved. 4

6. What Does “Better” Mean for You? Business process awareness IT as a competitive advantage across

experiences Develop new solutions in days Save your employees’ time Dramatic increase of potential

Attract the gen Y employees developers Efficiency in deploying Build models once, reuse solutions

across clients©  2012 SAP AG. All rights reserved. 5

7. Enterprise Computing for Business ConsumersKey Challenges and Desired Outcome Browser Based

Mobile Devices Enterprise Cloud Consumer Applications Software Devices Point to Point Solutions

Increase Costs & Complexity SAP Business Suite CRM SRM SCM PLM ERP©  2012 SAP AG. All rights

reserved. 6

Page 138: Notes

  No SAP knowledge required for Sybase Duet Unwired Enter- consumption Platform prise OData SAP

NetWeaver Gateway SAP Business Suite CRM SRM SCM PLM ERP©  2012 SAP AG. All rights

reserved. 7  Non-disruptive, any SAP Business Suite Browser Based Mobile Devices Applications

Enterprise Software Cloud Consumer Devices version �  Optimized for user interaction scenarios �  Any

Environment, Any Platform, Any Experience �8. Enterprise Computing for Business ConsumersKey

Challenges and Desired Outcome �

9. Redefining SAP Development ExperienceOpening the door for millions of developers to create

solutionsconnecting to SAPReduce complexity, skill set requirements, and deployment barriersShorten

development times/cycles Consumption of SAP data and services no longer requires the developer to

have knowledge of the internal workings of an SAP system Engage all developers with their choice of

development tools RESTful service interfaces Non-proprietary data protocols (OData using ATOM+XML

or JSON)©  2012 SAP AG. All rights reserved. 8

10. Functionality, Architecture, andDevelopment Process

11. SAP NetWeaver Gateway FunctionalityOpen, Standards-Based, Timeless for People and Developers

Service Modeling, Runtime & Design Time & Landscape & IT Adaptation, Event Protocols Business

Content ManagementPeople-centric Support for core Service development, Abstraction built onobject

adaptation runtime services and generation tools and SAP NetWeaver industry standards consumption

plug-ins ABAP stack•  Data aggregation from multiple objects •  Security, Supportability, •  Service

provisioning tools •  Deploy to existing SAP Monitoring NetWeaver landscape•  Different SAP instances • 

Generator using screens, and business suite •  RESTful interface to business objects and •  Changes to

client don’t existing RFC, GenIL, BOL custom transactions impact SAP systems versions & SPI

functionality •  Pre-defined models, •  Uses core ABAP life•  Push and pull business •  OData messages

via workflow service cycle management events and notification ATOM+XML or JSON •  IDE Integration:

Visual protocols Studio, Eclipse, XCode©  2012 SAP AG. All rights reserved. 10

12. SAP NetWeaver Gateway Architecture IDEs Consumer Consumer Consumer Plug-ins Tools (txn

SEGW) Gateway Core OData with SAP Annotations Technology Supportability Metadata Generators

Repository Custom Service Monitoring RFC, GenIL, SAP NetWeaver Dev Adaptation SPI, BOL etc.

Events Security Data Source Data Conn. SAP NetWeaver Providers Gateway BAPI RFC WS SAP

Business Suite [ERP, CRM, SRM … ]©  2012 SAP AG. All rights reserved. 11

Page 139: Notes

13. What is the Open Data Protocol (OData)?OData is a Microsoft developed extension to the

AtomPublishing and Atom Syndication standards, which inturn, are based on XML and HTTP(S). SAP

AnnotationsIt was designed to provide a standardised ODataimplementation of a RESTful API. In doing

so, it offersdatabase-like access to server-side resources. Hence, Atom PublishingOData has been

described as: “ODBC for the Web” Atom SyndicationIt can be used freely without the need for a license or

XML or JSONcontract.OData is also extensible. This allows SAP to HTTP(S)supplement the data types

used by OData with extrainformation from the ABAP Data Dictionary.©  2012 SAP AG. All rights reserved.

12

14. Entity Data Model – OverviewAn Entity Data Model (EDM) describes the organisation and relationship

of the dataresources within a particular business scenario. Each entity type must An entity type is have at

least one property aggregated into an nominated as a key field An Entity Type is the basic building block

of a Entity Setdata model. It representsa specific business objectAn Entity Type is built from one or more

properties A Navigation defines the runtime implementation of an association An association declares that

a relationship exists between two entity types©  2012 SAP AG. All rights reserved. 13

15. SAP IDE Plug-InsIDE Plug-in tools Benefits CapabilitiesDevelopers require no SAP Knowledge IDE

plug-in available for Visual Studio and EclipseApplicable to client developers Provide ease of

consumption through search andIn their native [IDE] environment exploration capabilities on Gateway

servicesIncrease productivity Enable proxy generation of Gateway servicesSimplify SAP service

consumption Application starter kit Support all CRUD operations on Gateway services Push support for

Visual Studio Provide out-of-box security and supportability capability IDEs Plug-ins©  2012 SAP AG. All

rights reserved. 14

16. SAP IDE Plug-InsIDE Plug-in tools Benefits CapabilitiesDevelopers require no SAP Knowledge IDE

plug-in available for Visual Studio and EclipseApplicable to client developers Provide ease of

consumption through search and exploration capabilities on Gateway servicesIn their native [IDE]

environment Not Mandatory!Increase productivity Enable proxy generation of Gateway services Many

OpenSimplify SAP service consumption Application starter kit Source APIs for OData/REST! all CRUD

operations on Gateway Support services Push support for Visual Studio Provide out-of-box security and

supportability capability IDEs Plug-ins©  2012 SAP AG. All rights reserved. 15

Page 140: Notes

17. Roles in the Development ProcessThere are two distinct steps in the development process:1) 

Develop the Gateway Service in ABAP2)  Develop the client application using any language you like

ABAP Developer Client App Developer©  2012 SAP AG. All rights reserved. 16

18. Development Process Consumer Create Application Create Proxy Consumer Using Plug-ins IDE

Application Gateway SEGW Gateway Create Service SE80 Object Document SAP Create Model

Business RFC, GW and Data GenIL etc Model Suite Provider Step 1 (Gateway Service) Step 2

(Consumer App) Pick some existing unit of functionality: E.G. a Create Proxy Classes using IDE plug-ins

BAPI, a GenIL object or existing Gateway Model Create a consumer application Create a Data Source

Model through the Gateway Design Time tools Create a simplified interface and generate the service

document©  2012 SAP AG. All rights reserved. 17

  Extensibility/Reuse of Gateway Services Professional ABAP Developer©  2012 SAP AG. All rights

reserved. 18  EDMX-Model import Strong ABAP skills �  Integration and projection for important data

sources like GenIL, SPI and BW �  Generation of service implementation from existing business

functionality �  Generation of model definition �  The SAP NetWeaver Gateway Service Builder is a one

stop shop tool that Technical covers the entire development lifecycle Consultant of a Gateway Service /

BPX �  Developer productivity (low TCD) for Little or no ABAP skills ABAP Developer, Technical

Consultant and Business Process Expert �19. SAP NetWeaver Gateway Service Builder (SEGW)One-

Stop-Shop for all GW OData Service Developers �

20. Gateway Service Builder - Development Flow (SP4) Starter kit service generation for once-off OData

Service   generation MPC and empty DPC ABAP classes. Defini.on  in   SEGW Professional ABAP

developer Data Model Declara.ve  Extensions or changes on source code level Target group à   Import  

Definition Model   Data  Model   Import  DDIC*   (MPC) Defini.on*   (EDMX)   ServiceImplementation

Code-‐Based  Implementa.on*   (DPC) Code-‐Based  Extensions*   * Repeatable within one service © 

2012 SAP AG. All rights reserved. 19

21. SP5: Generate complete Service from RFC/BOR Service generation from RFC/BOR with little or no

OData  Service   ABAP skills Defini.on  in   SEGW Technical Consultant / Business Declara.ve  Entity

centric mapping, enables combining different sources for mapping different operations Data Model Target

group à   Import   Import  DDIC/   Definition Model   Data  Model   RFC/BOR   Process Expert (BPX)

(MPC) Defini.on*   (EDMX)   Interface*   ServiceImplementation Code-‐Based  Implementa.on*   Map

Page 141: Notes

RFC/BOR   (DPC) Code-‐Based  Extensions*   Opera.on*   Service Service  Registra.on   * Repeatable

Maintenance and  Hub  Ac.va.on   within one service ©  2012 SAP AG. All rights reserved. 20

22. SP5: Generate & Redefine service from GenIL, BW, SPI Service generation from Business OData

Service   Suite Frameworks like GeniL, SPI, Defini.on  in   BW integrated into Service Builder SEGW  

The generated services can also be redefined to have user-friendly Data Model external names or less

number of Declara.ve   Import   Import  DDIC/   Definition Model   Data  Model   RFC/BOR   artefacts

(MPC) Redefine   Defini.on*   (EDMX)   Interface*   Data  Source   Service   This wizard is extensible by

any SAP (GenIL,  BOL,   internal team to support new SPI,  BW   frameworks. e.g. BOPF Service Easy

Query,   Code-‐Based  Implementa.on*   Map  RFC/BOR Technical (DPC) Code-‐Based  MDX)

Implementation Target group à  Extensions*   Opera.on*   Consultant / Business Process Expert (BPX)

Service Service  Registra.on   * Repeatable Maintenance and  Hub  Ac.va.on   within one service ©  2012

SAP AG. All rights reserved. 21

23. SP5: Compose multiple services (IW_BEP) OData  Service   Service Generation through Defini.on  in

composition of services. SEGW   Enables Reuse of existing services within a new service Gateway

runtime feature of Data Model Declara.ve   Import   Import  DDIC/   composition is supported in a

Definition Model   Data  Model   RFC/BOR   (MPC) Defini.on*   (EDMX)   Interface*   Redefine   code-less

fashion Data  Source   Service   Include   (GenIL,  BOL,   Gateway   SPI,  BW   Service*   Service Easy

Query,   Code-‐Based  Implementa.on*   Map  RFC/BOR   MDX)  Implementation (DPC) Code-‐Based

Extensions*   Opera.on*   Service Service  Registra.on   * Repeatable Maintenance and  Hub  Ac.va.on  

within one service ©  2012 SAP AG. All rights reserved. 22

24. DemoProvisioning and Consumption Tools

25. Business Scenarios and Application Demos

26. Admissions Counselor iPad AppUniversity of Mississippi•  Enables prospective student lookup using a

variety of search criteria•  Information retrieved via Gateway web services directly from the University’s

ERP system©  2012 SAP AG. All rights reserved. 25

27. Search CapabilitiesUniversity of Mississippi•  People search directory on the University’s website:

olemiss.edu/people•  Experts guide/Faculty profile listing on the University’s website: olemiss.edu/experts

©  2012 SAP AG. All rights reserved. 26

Page 142: Notes

28. Social Leads (Facebook/Twitter)Facebook/Twitter with SAP CRM to Drive Marketing

CampaignsPublish product design polls in FacebookCollect feedback to impact product decisionsCapture

leads into SAP CRM application Built in the Facebook framework Developed in 3 weeks©  2012 SAP AG.

All rights reserved. 27

29. Know Your Customer (.NET)Face Recognition Integrated with CRM and Social NetworksFace

recognition (using face.com)Customer Information from SAP CRMSocial network analysisPersonalized

offer from SAP CRMLead capturing Built in .NET Developed in 3 weeks©  2012 SAP AG. All rights

reserved. 28

30. Sales Manager (HTML5)Location-Based Customer Information and CollaborationGather Account

Information fromSAP CRMPresent on a device location mapUpdate Team usingSAP Stream Work

application Built using HTML5 Developed in 3 weeks©  2012 SAP AG. All rights reserved. 29

31. Next Steps

32. SAP NetWeaver Gateway Pre-Packaged Trial VersionSAP is offering a 90-day pre-packaged trial

version ofGateway for developers:•  The trial allows developers to set up an SAP NetWeaver 90-day

Gateway environment and start developing applications in Pre-packaged just 1 hour Trial•  The

environment contains the SAP NetWeaver ABAP Web Application Server and the SAP NetWeaver

Gateway add-on•  The trial offers two pre-packaged, pre-configured trial versions: For Linux leverage the

SUSE technology and for Microsoft Windows leverage the Hyper-V technology Download a copy of the

trial: http://bit.ly/sPIWde©  2012 SAP AG. All rights reserved. 31

33. Adobe Flash Builder Plug-In for SAP NetWeaver GatewayWhat is it?Flash Builder (Flex IDE) plug-in

for Gateway provides support forthe development of Flex Mobile and Web applications that canbrowse,

interact, and consume SAP NetWeaver Gateway ServicesWhat does it provide?•  Developer workflow

within Flash Builder•  SAP NetWeaver Gateway Service Catalog browser for developers•  Service

introspection and ActionScript service wrapper generation•  Flash Builder Data Services and Design View

integration Join the pre-release program: http://adobe.ly/v9ru8n Watch a demo: http://adobe.ly/rwCEom

FAQ: http://adobe.ly/uDwFVY ©  2012 SAP AG. All rights reserved. 32 32

34. SAP NetWeaver GatewayOne Technology, a World of Experiences Promote new Drive innovation

Engage developers with ways of working without IT disruption no SAP knowledge©  2012 SAP AG. All

rights reserved. 33

Page 143: Notes

35. Wrap-up

36. Additional ResourcesSCN SAP NetWeaver Gateway Site (How To Guides, Developer Tools,

GatewayTrial Download, and much, much more): www.sdn.sap.com/irj/sdn/gatewaySAP NetWeaver

Gateway on ES Workplace (access sample

services):www.sdn.sap.com/irj/sdn/gateway?rid=/webcontent/uuid/1051f6d9-e87a-2e10-d188-

e2786c7878b1SAP NetWeaver Gateway Help Documentation:http://help.sap.com/nwgatewaySAP

NetWeaver Gateway Sizing Document:http://service.sap.com/sizing * > Sizing Guidelines > Solutions &

Platform -New Structure > Mobile > SAP NetWeaver Gateway 2.0 SP5 (PDF)* Requires login credentials

to the SAP Service Marketplace©  2012 SAP AG. All rights reserved. 35

37. 7 Key Points to Take HomeSAP NetWeaver Gateway …• Can expose your business content as

restful services• Exposes restful services based on the Open Data Protocol (OData)• Pulls and pushes

business content• Can expose Business Workflow via restful services• Allows you to create simple

services out of complex business APIs• Expandsthe possibilities of which technologies, platforms and

devices canconnect to SAP systems• Creates a powerful mobile platform when combined with the Sybase

UnwiredPlatform©  2012 SAP AG. All rights reserved. 36

38. Thank You! Rapid Innovation Group, SAPJeff Gebo Chris Whealy Patrick [email protected]

[email protected] [email protected]

Page 144: Notes
Page 145: Notes
Page 146: Notes
Page 147: Notes
Page 148: Notes
Page 149: Notes
Page 150: Notes
Page 151: Notes
Page 152: Notes
Page 153: Notes
Page 154: Notes
Page 155: Notes
Page 156: Notes
Page 157: Notes
Page 158: Notes
Page 159: Notes
Page 160: Notes
Page 161: Notes
Page 162: Notes
Page 163: Notes
Page 164: Notes
Page 165: Notes
Page 166: Notes
Page 167: Notes
Page 168: Notes
Page 169: Notes
Page 170: Notes
Page 171: Notes
Page 172: Notes
Page 173: Notes

Afaria

Page 174: Notes
Page 175: Notes
Page 176: Notes
Page 177: Notes
Page 178: Notes
Page 179: Notes
Page 180: Notes
Page 181: Notes
Page 182: Notes
Page 183: Notes
Page 184: Notes
Page 185: Notes
Page 186: Notes
Page 187: Notes
Page 188: Notes
Page 189: Notes
Page 190: Notes
Page 191: Notes
Page 192: Notes
Page 193: Notes
Page 194: Notes
Page 195: Notes
Page 196: Notes
Page 197: Notes
Page 198: Notes

Developing Synchronized Mobile Apps with SAP Mobile PlatformPresentation Transcript

1. MOB102Developing Synchronized Mobile Applications withSybase Unwired PlatformVenugopal. N

2. DisclaimerThis presentation outlines our general product direction and should not be relied on in making apurchase decision. This presentation is not subject to your license agreement or any other agreementwith SAP. SAP has no obligation to pursue any course of business outlined in this presentation or todevelop or release any functionality mentioned in this presentation. This presentation and SAPsstrategy and possible future developments are subject to change and may be changed by SAP at anytime for any reason without notice. This document is provided without a warranty of any kind, eitherexpress or implied, including but not limited to, the implied warranties of merchantability, fitness for aparticular purpose, or non-infringement. SAP assumes no responsibility for errors or omissions in thisdocument, except if such damages were caused by SAP intentionally or grossly negligent.© 2012 SAP AG. All rights reserved. 2

Synchronized apps from SAPDeveloping Synchronized Mobile Applications• The MBO concept• Create and Configure MBOs© 2012 SAP AG. All rights reserved. Mobility Considerations What is it? OverviewSynchronized Mobile Applications3. AgendaSAP Mobility Platform 3

4. SAP mobile platform SAP, Partner, and Custom Apps Native Apps Hybrid HTML5 Apps SMS Apps Container Apps SAP App Dev Tools Third Party App Dev Tools SAP Mobile Platform SAP Afaria App Catalog Presentation Frameworks Application Application Services Management Foundation Services Device Data Sync & Caching Authentication App Lifecycle Managment oData Proxy Notification … Management SAP NetWeaver Gateway SAP Business Suite Sybase 365 Databases Third Party Apps This presentation and SAP‘s strategy and possible future developments are subject to change and may be changed by SAP at any time for any reason without notice. This document is provided without a warranty of any© 2012 SAP AG. All rights reserved. kind, either express or implied, including but not limited to, the implied warranties of merchantability, fitness for a particular purpose, or non-infringement 4

Page 199: Notes

5. Synchronized Mobile Applications Provides information needed to the end-user even when not connected, based on a set

of6. What is a Synchronized Application? Effectively utilizes network connectivity to ensure reliable data availability even in challengingdefined rules Ensures efficient data provisioning to the devices in case of large scale data realignmentnetwork environments Leverages local device resources to ensure high performance© 2012 SAP AG. All rights reserved.scenarios (changing organizational structures, territory realignments) 6

Delta Data Determination between Device and Back Error Handling in Async communication Creation of Associated Entities while Offline Conflict Detection and Resolution7. Key Considerations When Making Data Mobile Lifecycle of Distributed Data / Data Models© 2012 SAP AG. All rights reserved.end 7

8. SAP Mobile ApplicationsSynchronized Apps Online AppsSAP CRM Sales SAP Employee Productivity Apps Human Resources SAP Employee LookupSAP Field Service SAP Leave Request SAP Time Capture SAP HR ApprovalsSAP Retail Execution Procurement SAP Shopping Cart Approvals SAP SRM Supplier SearchSAP EAM Work Order SAP Quality Issue Finance SAP Travel Receipt Capture SAP Travel Report SAP Travel Expense Approvals SAP Payment Approvals Sales SAP Sales Order Notification SAP Material Availability SAP Customers and Contacts SAP Customer Financial Factsheet SAP Order Status© 2012 SAP AG. All rights reserved. 8

9. Developing Synchronized Mobile Applications 10. Synchronization Approach – Cache-basedThe synchronization architecture is based

on a Cache DB that resides on the SUP Server, andreplicates and/or messages updates to the Client DB. Enterprise Operation Replay: operations Invoke the corresponding System SUP executed in Client DB are mapped EIS Operations replayed on Cache DB Server Fill Filter Client Operations DB Load Operations (with DeviceCache Data parameters) to retrieve Operations are filtered by Repository Cache data from EIS Synchronization DB Parameters Operations defined in the MBO are generated in Object API class files© 2012 SAP AG. All rights reserved. 10

keep the model in sync between devices, SUP server, and EIS (Enterprise Information System).What is available? deploy the model to an SUP server define a mobile data model11. Introduction to Modeling in SUPThe mobile platform allows you to Design tools for creating a model, and (optionally) building UI components Server components for managing the model and integrating with the backend EIS Client stack for maintaining the client-side aspect of the model, and supporting the application A ‘pipe’ for delivering data and maintaining client-server synchronization Management and administration tools© 2012 SAP AG. All rights reserved. 11

The key to SUP is the concept of a data model: this represents the essence of what is being12. Mobile Business Objects An MBO is basically a tabular representation of some entity that you want represented on the Central to this data model are MBOs – Mobile Business Objects.mobilized. Each MBO is designed to interact with an Enterprise Information System (EIS), and provides adevice. standardised view of this interaction.© 2012 SAP AG. All rights reserved. 12

MBOs define a set of13. Mobile Business Objects attributes, and one or more Enterprise System Device Representation Device applications don’t needoperations. to

Page 200: Notes

worry about the EIS integration, and only need to be concerned about this ‘standardised’ MBO model. Subset Personalize Mobilize© 2012 SAP AG. All rights reserved. 13

HTML5/JavaScript Container API Native Object API14. Mobile Business ObjectsMBO’s in SUP 2.x are the data interface to two development API’s: SUP Development Task Flow Generate Develop Native Object Native Develop Deploy Mobile Code Application Deploy and Deploy and Mobile Business Test in Test on Business Objects to Generate Develop Simulator Device Objects Unwired Server HTML5/JavaS Hybrid cript Code Application© 2012 SAP AG. All rights reserved. 14

Native Object API: MBO configures server for synchronization, client DB15. MBO-based Apps DevelopmentThe behavior of the MBO, and the development practices are different for each API. & objects, and HTML5/JS Container API: MBO configures server cache, creates HTML5 storage key-generates query methods in Native Object API value structure, and generates request methods in JavaScript API SUP Development Task Flow Generate Develop Native Object Native Develop Deploy Mobile Code Application Deploy and Deploy and Mobile Business Test in Test on Business Objects to Generate Develop Simulator Device Objects Unwired Server HTML5/JavaS Hybrid cript Code Application© 2012 SAP AG. All rights reserved. 15

16. Native Object API MBOThe synchronization architecture is based on a Cache DB that resides on the SUP Server, andreplicates and/or messages updates to the Client DB Client SUP DB Server Synchronization Data Source Cache DB Client DB Cache Refresh Client DB© 2012 SAP AG. All rights reserved. 16

17. Native Object API MBOThe MBO provides configuration for all aspects of the architecture Client DB schema Object Class files Cache content (data filtering) Query & Operation Data methods Client Source Cache DB DB SUP Operations Server Cache Refresh Synchronization frequency Parameters Cache Synchronization DB frequency© 2012 SAP AG. All rights reserved. 17

18. Native Object API MBOMBO Properties include:Attributes• Data Source, Type, Connection SettingsOperations• Bind to Existing Operations, or Add NewRelationships• Mappings, Complex TypesObject Queries• Query methods generated in Object ClassesSynchronization Settings• Rules, Partitions© 2012 SAP AG. All rights reserved. 18

When the client code files are generated, they include the Class files with the attributes and types; the Client19. Native Object API MBO: Data SchemaThe MBO maps EIS columns as attributes of an Object When the MBO is deployed to the SUP Server, the Cache DB creates tables for the Objects, and a table forDB creates tables for the Objects at runtime maintaining synch-parameter partitions Enterprise System Data Repository Client Cache DB Operations DB© 2012 SAP AG. All rights reserved. 19

20. Native Object API MBO: OperationsOperations Properties include:Data Source• Stored as a Connection ProfileParameters• Name, Type, Nullability, Required• Mapping: Variable (Personalization Key) mapping, rules for updating on device, old-value rulesRoles• Rules for Logical and Physical rolesCache Update Policy• On Demand, Scheduled, DCNSynchronization Settings© 2012 SAP AG. All rights reserved. 20

21. Native Object API MBO: OperationsOperations are staged from EIS to Cache, Cache to Client, and vis versa Enterprise Operation Replay: operations Invoke the corresponding System SUP executed in Client DB are mapped EIS Operations replayed on Cache DB Server Fill Filter Client Operation DB s Load Operations (with

Page 201: Notes

DeviceCache Data parameters) to retrieve Operations are filtered by Repository Cache data from EIS Synchronization DB Parameters Operations defined in the MBO are generated in Object API class files© 2012 SAP AG. All rights reserved. 21

22. Example: Synchronization Parameter Definition: SELECT * FROM Customer Data Source Type: SampleDB (SQL Anywhere) database Fill: Data is retrieved by executing the Load Operation (SELECT …) Customer ID Name Address City State 1 Intel 1 Intel Drive Santa Clara CACache DB 2 Cisco 1 Cisco Way San Jose CA 3 Ultra 1 Ultra Lane Santa Clara UT 4 AMD 1 AMD Ave Santa Clara CA 5 Oracle 1 Oracle Lane Redwood Shores CA 6 Qualcomm 1 Qualcomm Way San Diego CA 7 HP 1 HP Drive Santa Clara CA Filter: This MBO has one synchronization parameter [city] Mobile application sets the synchronization parameter prior to performing synchronization to ‘Santa Clara’Client DB Customer ID Name Address City State 1 Intel 1 Intel Drive Santa Clara CA 3 Ultra 1 Ultra Lane Santa Clara UT 4 AMD 1 AMD Ave Santa Clara CA 7 HP 1 HP Drive Santa Clara CA © 2012 SAP AG. All rights reserved. 22

23. Example: Load and Synchronization Parameters Definition: SELECT * FROM Customer WHERE State = ? Data Source Type: SampleDB database Fill: Data is retrieved by executing the Load Operation with the load parameter set to ‘CA’ Customer ID Name Address City State 1 Intel 1 Intel Drive Santa Clara CACache DB 2 Cisco 1 Cisco Way San Jose CA 4 AMD 1 AMD Ave Santa Clara CA 5 Oracle 1 Oracle Lane Redwood Shores CA 6 Qualcomm 1 Qualcomm Way San Diego CA 7 HP 1 HP Drive Santa Clara CA Filter: This MBO has one synchronization parameter [city] Mobile application sets the synchronization parameter prior to performing synchronization to ‘Santa Clara’Client DB Customer ID Name Address City State 1 Intel 1 Intel Drive Santa Clara CA 3 Ultra 1 Ultra Lane Santa Clara UT 4 AMD 1 AMD Ave Santa Clara CA 7 HP 1 HP Drive Santa Clara CA © 2012 SAP AG. All rights reserved. 23

24. Development Task FlowMBO Definition is the first step of developing mobile applications with the Native Object APIDevelopers will also use the Eclipse tooling to deploy the MBO to SUP Server, and to generatethe Object code (Client API)We will discuss stages 1-3 for the Native Object API task flow SUP Development Task Flow Generate Develop Native Object Native Develop Deploy Mobile Code Application Deploy and Deploy and Mobile Business Test in Test on Business Objects to Generate Develop Simulator Device Objects Unwired Server HTML5/JavaS Hybrid cript Code Application© 2012 SAP AG. All rights reserved. 24

Web Services (SOAP, REST) JDBC (Oracle, DB2, SQL Anywhere, SQL Server) SAP ECC (RFC, BAPI)25. 1 Develop Mobile Business ObjectsSUP provides an Eclipse plugin (WorkSpace) with a set of connector wizards for connection tostandard data sources: SUP Native Object API Development Task Flow Generate Develop Native Object Native Develop Deploy Mobile Code Application Deploy and Deploy and Mobile Business Test in Test on Business Objects to Simulator Device Objects Unwired Server© 2012 SAP AG. All rights reserved. 25

View service definitions View database tables Search ECC modules for BAPI’s26. 1 Develop Mobile Business ObjectsOnce the connection to the data source is made, the Eclipse Explorer allows the developer tonavigate the data source schema /or services SUP Native Object API Development Task Flow Generate Develop Native Object Native Develop Deploy Mobile Code Application Deploy and Deploy and Mobile Business Test

Page 202: Notes

in Test on Business Objects to Simulator Device Objects Unwired Server© 2012 SAP AG. All rights reserved. 26

27. 1 Develop Mobile Business ObjectsDevelopers can select from the exposed services, and drag-and-drop the service to the ‘MBODiagram’ canvas to create the MBO SUP Native Object API Development Task Flow Generate Develop Native Object Native Develop Deploy Mobile Code Application Deploy and Deploy and Mobile Business Test in Test on Business Objects to Simulator Device Objects Unwired Server© 2012 SAP AG. All rights reserved. 27

28. 1 Develop Mobile Business ObjectsFor Services/BAPIs, a wizard is provided which identifies inputs/outputs, and allowsdevelopers to select only the parameters relevant to the use case For example, a BAPI which creates a workflow notification may take 3 mandatory inputs, 6 optional inputs, and return 110 attributes, of which only 6 are relevant to the mobile UI. The unnecessary attributes can be left out of the MBO SUP Native Object API Development Task Flow Generate Develop Native Object Native Develop Deploy Mobile Code Application Deploy and Deploy and Mobile Business Test in Test on Business Objects to Simulator Device Objects Unwired Server© 2012 SAP AG. All rights reserved. 28

29. 1 Develop Mobile Business ObjectsFor all data sources, the wizard provides ‘preview’ execution to test the connection andparameter behavior SUP Native Object API Development Task Flow Generate Develop Native Object Native Develop Deploy Mobile Code Application Deploy and Deploy and Mobile Business Test in Test on Business Objects to Simulator Device Objects Unwired Server© 2012 SAP AG. All rights reserved. 29

30. 1 Develop Mobile Business ObjectsRelationships and Structures can be designed in the MBO Diagram Relationships are defined between MBOs by linking attributes and parameters in one MBO to attributes and parameters in another MBO • One to Many, One to One, Many to One • Composite (N/A for Many to One) • Bi-Directional SUP Native Object API Development Task Flow Generate Develop Native Object Native Develop Deploy Mobile Code Application Deploy and Deploy and Mobile Business Test in Test on Business Objects to Simulator Device Objects Unwired Server© 2012 SAP AG. All rights reserved. 30

31. 1 Develop Mobile Business ObjectsMBO configurations: Personalization Keys, Synchronization Groups, Cache Groups, etc. aredefined in the Eclipse tooling in the Properties and WorkSpace Navigator windows. SUP Native Object API Development Task Flow Generate Develop Native Object Native Develop Deploy Mobile Code Application Deploy and Deploy and Mobile Business Test in Test on Business Objects to Simulator Device Objects Unwired Server© 2012 SAP AG. All rights reserved. 31

Data belonging to the MBO’s within the package is staged on the Unwired Platform for32. 2 Deploy Mobile Business ObjectsRelated MBO’s are grouped within a package for deployment to SUP Server Packages can be versioned, and multiple versions of a package can be runningsynchronization. Staged data is loaded via Load Operations Packages can be modified in a variety of modes during development (update, replace, etc.),simultaneously, with duplication costs but a production package should not be modified SUP Native Object API Development Task Flow Generate Develop Native Object Native Develop Deploy Mobile Code Application Deploy and Deploy and Mobile

Page 203: Notes

Business Test in Test on Business Objects to Simulator Device Objects Unwired Server© 2012 SAP AG. All rights reserved. 32

Select the synchronization type. In SUP 2.0.x, C# and Java support replication-based, and Supported languages include: Objective-C, C#, and Java (ME for BlackBerry)33. 3 Generate Native Object CodeUse the Eclipse tooling to generate the Object Code for your target platform(s) In addition to the generated code, access the Client API libraries from the install dir Select output setting: Page Size, name/namespace/prefix, metadata optionsiOS devices use messaging-based. SUP Native Object API Development Task Flow Generate Develop Native Object Native Develop Deploy Mobile Code Application Deploy and Deploy and Mobile Business Test in Test on Business Objects to Simulator Device Objects Unwired Server© 2012 SAP AG. All rights reserved. 33

34. Further Information on MobileSAP Public Webhttp://wiki.sdn.sap.com/wiki/display/mobile/http://scn.sap.com/community/mobileSAP Education and Certification Opportunitieswww.sap.com/educationWatch SAP TechEd Onlinewww.sapteched.com/online© 2012 SAP AG. All rights reserved.

Page 204: Notes
Page 205: Notes
Page 206: Notes
Page 207: Notes
Page 208: Notes
Page 209: Notes
Page 210: Notes
Page 211: Notes
Page 212: Notes
Page 213: Notes
Page 214: Notes
Page 215: Notes
Page 216: Notes
Page 217: Notes
Page 218: Notes
Page 219: Notes
Page 220: Notes
Page 221: Notes
Page 222: Notes
Page 223: Notes
Page 224: Notes
Page 225: Notes
Page 226: Notes
Page 227: Notes
Page 228: Notes
Page 229: Notes
Page 230: Notes
Page 231: Notes

SAP NetWeaver Gateway - RFC & BOR Generators

Page 232: Notes

1. SAP NetWeaver GatewayRFC & BOR Generators (Read Only)May 2012 A Branded Service provided

by SAP Customer Solution Adoption

Test your Gateway Service from a browser© 2012 SAP AG. All rights reserved. 2 Expose a Gateway

Service for consumption Create a read-only Gateway Service based on a Remote Function Module or

an Object in the Business Object Repository (BOR) 2. Objectives At the end of this module, you will be

able to:

Developing Gateway Service based on a Remote Function Module or an Object in the Business Object

Repository 1. Create a Gateway Data Model in the ABAP Development Workbench 2. Map your selected

RFMs to Gateway Service operations using the Gateway Model Generator 3. Define the interface of the

Gateway Service Operation based on the fields in the RFM 4. Generate the Gateway Data Model 5.

Associate the Gateway Data Model with a Gateway Consumption Model 6. Associate the Gateway

Service with a System Alias 7. Test your Gateway Service in a browser© 2012 SAP AG. All rights

reserved. 3 Understanding Gateway Data and Consumption Models Remote Function Calls and

Business Object Repository Overview3. Agenda

Developing Gateway Service based on a Remote Function Module or an Object in the Business Object

Repository 1. Create a Gateway Data Model in the ABAP Development Workbench 2. Map your selected

RFMs to Gateway Service operations using the Gateway Model Generator 3. Define the interface of the

Gateway Service Operation based on the fields in the RFM 4. Generate the Gateway Data Model 5.

Associate the Gateway Data Model with a Gateway Consumption Model 6. Associate the Gateway

Service with a System Alias 7. Test your Gateway Service in a browser© 2012 SAP AG. All rights

reserved. 4 Understanding Gateway Data and Consumption Models Remote Function Calls and

Business Object Repository Overview4. Agenda

5. Overview – Remote Function ModulesA Remote Function Module (RFM) is anyABAP Function Module

that has had itsRemote-Enabled flag switched on.Activating this flag makes the functionmodule

accessible from outside the SAPsystem using the Remote Function Call(RFC) protocol.Important!All SAP

Business APIs (BAPIs) areremote enabled function modules, butnot all remote enabled function

modulesare BAPIs.A BAPI is a remote enabled functionmodule that has been specifically writtento

implement the method of a BusinessObject.© 2012 SAP AG. All rights reserved. 5

Events are used to notify others of some business eventThe BOR is accessed using transactionSWO2

(Letter “O”, not zero). Here, youcan create your own BOR objectsExisting BOR objects can be

Page 233: Notes

extendedusing transaction SWO1© 2012 SAP AG. All rights reserved. 6 Key fields are mandatory fields

used to identify an object instance Methods are usually mapped to BAPIs6. Overview – Business Object

Repository (BOR)The BOR arranges BAPIs intoBusiness ObjectsObjects contain methods, events,

keyfields, and attributes

Developing Gateway Service based on a Remote Function Module or an Object in the Business Object

Repository 1. Create a Gateway Data Model in the ABAP Development Workbench 2. Map your selected

RFMs to Gateway Service operations using the Gateway Model Generator 3. Define the interface of the

Gateway Service Operation based on the fields in the RFM 4. Generate the Gateway Data Model 5.

Associate the Gateway Data Model with a Gateway Consumption Model 6. Associate the Gateway

Service with a System Alias 7. Test your Gateway Service in a browser© 2012 SAP AG. All rights

reserved. 7 Understanding Gateway Data and Consumption Models Remote Function Calls and

Business Object Repository Overview7. Agenda

8. Gateway Data and Consumption ModelsThe Gateway Modelling Wizard willgenerate a Data ModelA

generated Data Model encapsulatesthe functionality to be exposed as aGateway Service.Transaction

SE80 allows you to create aGateway Data Model; however, such anobject is not immediately usable as

aGateway Service.In order to expose a Gateway DataModel to the outside world, you must firstcreate a

Gateway Consumption Modelobject which is then associated with theData Model.© 2012 SAP AG. All

rights reserved. 8

Developing Gateway Service based on a Remote Function Module or an Object in the Business Object

Repository 1. Create a Gateway Data Model in the ABAP Development Workbench 2. Map your selected

RFMs to Gateway Service operations using the Gateway Model Generator 3. Define the interface of the

Gateway Service Operation based on the fields in the RFM 4. Generate the Gateway Data Model 5.

Associate the Gateway Data Model with a Gateway Consumption Model 6. Associate the Gateway

Service with a System Alias 7. Test your Gateway Service in a browser© 2012 SAP AG. All rights

reserved. 9 Understanding Gateway Data and Consumption Models Remote Function Calls and

Business Object Repository Overview9. Agenda

10. Gateway Data Models Based on BOR Objects - Overview Gateway Data Models can be created

based on RFMs or BOR Objects. Gateway Objects are created using the ABAP Development Workbench

(txn SE80) Once the Gateway Object is created, you are taken to the Gateway Object Modeller (txn

/IWFND/GWO_GEN) The Gateway Object Modeller is where your service is created. Select a BOR

Page 234: Notes

Object or RFM by performing a search. Each RFM or BOR Object method is then mapped to a service

operation.© 2012 SAP AG. All rights reserved. 10

Developing Gateway Service based on a Remote Function Module or an Object in the Business Object

Repository 1. Create a Gateway Data Model in the ABAP Development Workbench 2. Map your selected

RFMs to Gateway Service operations using the Gateway Model Generator 3. Define the interface of the

Gateway Service Operation based on the fields in the RFM 4. Generate the Gateway Data Model 5.

Associate the Gateway Data Model with a Gateway Consumption Model 6. Associate the Gateway

Service with a System Alias 7. Test your Gateway Service in a browser© 2012 SAP AG. All rights

reserved. 11 Understanding Gateway Data and Consumption Models Remote Function Calls and

Business Object Repository Overview11. Agenda

12. Step 1) Create A Gateway Data Model – 1/2In SE80, select “GW Data Model” andenter a new object

nameAfter confirming that you want to create anew object, you will see the pop-up shownon the right.The

object type is “PS” (meaning PublicSolution)You should then select “Generate fromData Source Object”

and leave the “ODataChannel” checkbox switched on. Switching this checkbox off will cause the

generated model to use the older Generic Channel object model© 2012 SAP AG. All rights reserved. 12

13. Step 1) Create A Gateway Data Model – 2/2Now you must indicate from which type of data object the

Gateway Service isto be generatedAfter entering a description, set the Data Source Type to “2 Remote

Function Calls”and then enter the System Alias of the relevant backend systemSE80 will now take you

directly to the Gateway Modelling Wizard.© 2012 SAP AG. All rights reserved. 13

Developing Gateway Service based on a Remote Function Module or an Object in the Business Object

Repository 1. Create a Gateway Data Model in the ABAP Development Workbench 2. Map your selected

RFMs to Gateway Service operations using the Gateway Model Generator 3. Define the interface of the

Gateway Service Operation based on the fields in the RFM 4. Generate the Gateway Data Model 5.

Associate the Gateway Data Model with a Gateway Consumption Model 6. Associate the Gateway

Service with a System Alias 7. Test your Gateway Service in a browser© 2012 SAP AG. All rights

reserved. 14 Understanding Gateway Data and Consumption Models Remote Function Calls and

Business Object Repository Overview14. Agenda

15. Step 2) Map RFM to Gateway Service Operation – 1/2Select the RFM by performing a search1) Press

the Binoculars icon on the tool bar and search for your required RFM2) Enter the search pattern3) Select

the required RFM© 2012 SAP AG. All rights reserved. 15

Page 235: Notes

16. Step 2) Map RFM to Gateway Service Operation – 2/2Now your selected RFM must be mapped to a

Gateway Service OperationThis is where you decide which of the Create, Read, Update, Delete or

Queryoperations this RFM will implement© 2012 SAP AG. All rights reserved. 16

Developing Gateway Service based on a Remote Function Module or an Object in the Business Object

Repository 1. Create a Gateway Data Model in the ABAP Development Workbench 2. Map your selected

RFMs to Gateway Service operations using the Gateway Model Generator 3. Define the interface of the

Gateway Service Operation based on the fields in the RFM 4. Generate the Gateway Data Model 5.

Associate the Gateway Data Model with a Gateway Consumption Model 6. Associate the Gateway

Service with a System Alias 7. Test your Gateway Service in a browser© 2012 SAP AG. All rights

reserved. 17 Understanding Gateway Data and Consumption Models Remote Function Calls and

Business Object Repository Overview17. Agenda

18. Step 3.1) Define the QUERY Operation’s InterfaceThe fields in the RFM interface define the fields that

can be made available inthe Gateway Service Operation.IMPORTANT!Just because a field is present in

the RFM’s interface does not mean it will bevisible in the OData interface! You must take care to ensure

that mandatory inputfields are either supplied with a constant value or are visible in the OData interface.©

2012 SAP AG. All rights reserved. 18

19. Step 3.2) Add Mandatory Fields to the InterfaceAny mandatory fields in the RFM interface must be

made visible in the ODatainterface; therefore, mapping routes must be defined for these fields.This action

adds the mandatory field(s) to the OData operation’s interface.If this is not completed, the operation will

be unusable because data cannot besupplied to a mandatory input field.© 2012 SAP AG. All rights

reserved. 19

20. Step 3.2) Define Constant Values for Mandatory FieldsAlternatively, a mandatory input field might

only require a static value.Supply a constant value for the mandatory input field. Remember that all non-

numeric values must be specified within single quotes.This field will now not appear in the OData

interface, but will always be suppliedwith the static value defined here.© 2012 SAP AG. All rights

reserved. 20

21. Step 3.3) Remember Which Fields Hold Key ValuesThe QUERY operation will output a list of banks.

The user can then select anindividual bank from this list to see its details.We must now take care to

remember which fields contain the key data on theoutput side of the QUERY operation, because these

fields must then be used tosupply the key data required by the subsequent READ operation.(If we were

Page 236: Notes

creating a Gateway Service based on a BOR object, this step would be performed automatically)© 2012

SAP AG. All rights reserved. 21

22. Step 3.4) Define a Model KeyEach Data Model must have one ormore fields defined to act as

keys.For instance, when you perform aQUERY, you receive multiple Entities inan Entity Set. We cannot

then perform asubsequent READ operation unless wefirst know from where the key values canbe

derived. Once the key fields have been defined, the values they contain can be passed from one

operation to another.© 2012 SAP AG. All rights reserved. 22

23. Step 3.4) Map RFM Fields to the Model KeyOnce the Model Key fields have been defined, we map

the RFM key fields.This allows key data to be passed from one operation to the next.1) At least one field

in the OData interface must be flagged as a key field.2) For the RFM assigned to the QUERY operation,

all its mandatory input fields must be visible in the OData operation’s interface3) On the output side of the

QUERY RFM, the fields that will supply key data should be mapped to the OData key field(s)4) The

mandatory input fields of the READ operation are now supplied by the OData key fields Flag OData

Mandatory input interface field field of RFM as a key Key field on Key fields output side supply data to of

RFM READ operation© 2012 SAP AG. All rights reserved. 23

Developing Gateway Service based on a Remote Function Module or an Object in the Business Object

Repository 1. Create a Gateway Data Model in the ABAP Development Workbench 2. Map your selected

RFMs to Gateway Service operations using the Gateway Model Generator 3. Define the interface of the

Gateway Service Operation based on the fields in the RFM 4. Generate the Gateway Data Model 5.

Associate the Gateway Data Model with a Gateway Consumption Model 6. Associate the Gateway

Service with a System Alias 7. Test your Gateway Service in a browser© 2012 SAP AG. All rights

reserved. 24 Understanding Gateway Data and Consumption Models Remote Function Calls and

Business Object Repository Overview24. Agenda

25. Step 2) A QUERY Operation On Its Own Is Not SufficientThe QUERY operation has now beencreated

by mapping it to the functionmodule BAPI_BANK_GETLIST.However, the OData specificationrequires

that all services implement atleast a QUERY and a READ operation.Therefore, we must also create a

READoperation.© 2012 SAP AG. All rights reserved. 25

26. Step 2) Creating a READ Operation (Summary)1) Map the required RFM to the READ operation2)

Define the fields from which this operation will obtain its key data3) Any 0..1 cardinality output structures

Page 237: Notes

need to be flattened (i.e. fields that belong to data structures should be remapped to the Gateway

Service’s root node)© 2012 SAP AG. All rights reserved. 26

27. Step 2.1) Define the Fields that Will Supply Key DataFor the RFM mapped to the READ operation,

selecteach of its mandatory input fields and change theirmapping route to point to the correct Model Key

field.Due to our previous mapping assignments, the inputfields of the READ RFM will now be populated

withdata coming from the output side of the QUERYoperation.© 2012 SAP AG. All rights reserved. 27

28. Step 2.2) Flattening the Interface – 1/3The RFM mapped to the READ operation exposes the bank’s

address in a datastructure called BANK_ADDRESS. If we left these fields within the data structure,

wewould need to issue a second HTTP request to obtain the data.To remove the need for a second

HTTP request, we must flatten the BANK_ADDRESSstructure by changing the mapping route of each

field. These fields have been mapped to the root node These fields have yet to be mapped© 2012 SAP

AG. All rights reserved. 28

29. Step 2.2) Flattening the Interface – 2/3As before, right-click on each field in the BANK_ADDRESS

structure (this selects thefield but avoids deselecting the checkbox), then click “Change Mapping

Route”.Select the root node of the Data Modeland press OK.This process must be repeated for eachfield

in BANK_ADDRESS.© 2012 SAP AG. All rights reserved. 29

30. Step 2.2) Flattening the Interface – 3/3Once the BANK_ADDRESS structure has been flattened, the

data it produces can thenbe supplied to other operations such as UPDATE or CREATE All fields have

now been mapped© 2012 SAP AG. All rights reserved. 30

Developing Gateway Service based on a Remote Function Module or an Object in the Business Object

Repository 1. Create a Gateway Data Model in the ABAP Development Workbench 2. Map your selected

RFMs to Gateway Service operations using the Gateway Model Generator 3. Define the interface of the

Gateway Service Operation based on the fields in the RFM 4. Generate the Gateway Data Model 5.

Associate the Gateway Data Model with a Gateway Consumption Model 6. Associate the Gateway

Service with a System Alias 7. Test your Gateway Service in a browser© 2012 SAP AG. All rights

reserved. 31 Understanding Gateway Data and Consumption Models Remote Function Calls and

Business Object Repository Overview31. Agenda

Page 238: Notes

32. Step 4) Generate the Data Model Runtime ClassesOnce the mapping process is complete, the Data

Model must be generated.Generating the Data Model createsthe classes that are used at runtimeA list of

all generated classes will bedisplayed© 2012 SAP AG. All rights reserved. 32

Developing Gateway Service based on a Remote Function Module or an Object in the Business Object

Repository 1. Create a Gateway Data Model in the ABAP Development Workbench 2. Map your selected

RFMs to Gateway Service operations using the Gateway Model Generator 3. Define the interface of the

Gateway Service Operation based on the fields in the RFM 4. Generate the Gateway Data Model 5.

Associate the Gateway Data Model with a Gateway Consumption Model 6. Associate the Gateway

Service with a System Alias 7. Test your Gateway Service in a browser© 2012 SAP AG. All rights

reserved. 33 Understanding Gateway Data and Consumption Models Remote Function Calls and

Business Object Repository Overview33. Agenda

34. Step 5) Gateway Consumption Model – OverviewA GW Consumption Model is used toexpose your

GW Data Model to theoutside worldConsumption Models are created in theABAP Developer

WorkbenchOne or more GW Data Models can bebound to the GW Consumption Model.Also, one GW

Data Model can beexposed through multiple GWConsumption Models.An ICF node is created under the

path<default_host>/sap/opu/odata/sap/© 2012 SAP AG. All rights reserved. 34

35. Step 5) Gateway Consumption Model – 1/3Create a GW Consumption Model in theABAP Developer

WorkbenchFirst create a new Consumption ModelEnter the Service’s Technical Name, being careful to

provide a meaningful name.Whatever name you enter here becomes the service name seen in the URL.

Do not uncheck this checkbox! Your Data Model and Consumption Model must use the same runtime.©

2012 SAP AG. All rights reserved. 35

36. Step 5) Gateway Consumption Model – 2/3Now assign your existing DataModel to the Consumption

ModelRight click on the Consumption ModelEnter in the Data Model’sidentifier© 2012 SAP AG. All rights

reserved. 36

37. Step 5) Gateway Consumption Model – 3/3The Consumption Model and DataModel are now

associated with eachotherDouble click on the name of theconsumption modelThe URL of theGateway

Service isnow shown.However, we’re not quiteready to test the GatewayService!© 2012 SAP AG. All

rights reserved. 37

Page 239: Notes

Developing Gateway Service based on a Remote Function Module or an Object in the Business Object

Repository 1. Create a Gateway Data Model in the ABAP Development Workbench 2. Map your selected

RFMs to Gateway Service operations using the Gateway Model Generator 3. Define the interface of the

Gateway Service Operation based on the fields in the RFM 4. Generate the Gateway Data Model 5.

Associate the Gateway Data Model with a Gateway Consumption Model 6. Associate the Gateway

Service with a System Alias 7. Test your Gateway Service in a browser© 2012 SAP AG. All rights

reserved. 38 Understanding Gateway Data and Consumption Models Remote Function Calls and

Business Object Repository Overview38. Agenda

39. Step 6) Assign System Alias to Gateway ServiceTransaction /IWFND/MAINT_SERVICE in Gateway

HubThis transaction allows you to perform Gateway Service administration© 2012 SAP AG. All rights

reserved. 39

40. Step 6.1) Locate Your Gateway ServiceYour Gateway Service is most easily located by selecting the

“External ServiceName” column header and then sorting the list.© 2012 SAP AG. All rights reserved. 40

41. Step 6.2) Display Service Properties Once you have located and then selected your Gateway Service,

you will see its properties displayed in the lower half of the screen. As can be seen, an active ICF node

has been created automatically for the service However, no system alias is yet definedClick on “Add

System Alias”© 2012 SAP AG. All rights reserved. 41

42. Step 6.3) Assign a System Alias Click “New Entries” and add a system alias for your service The

“Service Document Identifier” is the full name of your Consumption Model Enter the system alias for the

backend server that provides your business data If the Gateway add-ons have been installed in the same

system as your backend Business Suite, then the system alias will typically be called LOCAL; however,

this is only a convention and not a rule.© 2012 SAP AG. All rights reserved. 42

Developing Gateway Service based on a Remote Function Module or an Object in the Business Object

Repository 1. Create a Gateway Data Model in the ABAP Development Workbench 2. Map your selected

RFMs to Gateway Service operations using the Gateway Model Generator 3. Define the interface of the

Gateway Service Operation based on the fields in the RFM 4. Generate the Gateway Data Model 5.

Associate the Gateway Data Model with a Gateway Consumption Model 6. Associate the Gateway

Service with a System Alias 7. Test your Gateway Service in a browser© 2012 SAP AG. All rights

reserved. 43 Understanding Gateway Data and Consumption Models Remote Function Calls and

Business Object Repository Overview43. Agenda

Page 240: Notes

44. Step 7) Test Your Gateway Service – OverviewTesting a read-only Gateway Service can be done

from a BrowserThe QUERY and READ operations of any Gateway Service use the HTTP GETmethod,

and therefore can be tested from a browser.© 2012 SAP AG. All rights reserved. 44

45. Step 7.1) Invoke Gateway Service From a BrowserOnce you have saved your changes, you can test

your Gateway Service bypressing the “Call Browser” button. This will display the “Service Document”©

2012 SAP AG. All rights reserved. 45

46. Step 7.2) The Gateway Service Document – 1/2The URL shown in SE80 for the Consumption Model

points you to the ODataService Document.The Service Document is the starting point for Gateway

Service consumption© 2012 SAP AG. All rights reserved. 46

47. Step 7.2) The Gateway Service Document – 2/2The Service Document lists the collections provided

by this Gateway ServiceEach collection is identified by a relative URL.The collection’s relative URL

should be appended to the service’s base URL© 2012 SAP AG. All rights reserved. 47

48. Step 7.3) Testing the QUERY Operation – 1/4To obtain an OData collection, append the collection’s

relative URL to theservice’s base URLIn our case, we want to see a list of banks, so we construct the

URL and issue thisfrom a browser.Be careful! Except for the Gateway Service part of the name, OData

URLs arecase-sensitive.So let’s run the constructed URL... Hmmm, that’s not what we expected...© 2012

SAP AG. All rights reserved. 48

49. Step 7.3) Testing the QUERY Operation – 2/4We have not defined a constant value for the mandatory

input field BANK_CTRYand neither has a value been supplied by the client.We can fix this by taking one

of two approaches here:(Less flexible) Hardcode a constant value in the service definition, or(More

flexible) Add a parameter to the URL to supply the missing value© 2012 SAP AG. All rights reserved. 49

50. Step 7.3) Testing the QUERY Operation – 3/4The most flexible option is to supply the missing

parameter in the URLThe URL query string syntax for filtering an OData collection is as follows:?

$filter=<field_name> <op> <value> “?” means “start ofYou must include a space or %20 the query string”

field on which wethe operator Non-numeric The on either side of wish value. Comparison “$filter” is

thefilter (case-sensitive!) to Operator such as in single quotes values must be OData command eq or

neImportant: As of Gateway 2.0 SP03, operators must be in lower case© 2012 SAP AG. All rights

reserved. 50

Page 241: Notes

51. Step 7.3) Testing the QUERY Operation – 4/4All data that matches the $filter command is now

supplied to the clientThe QUERY operation returns 0..n <atom:entry>s in an <atom:feed> element?

$filter=bank_ctry eq US© 2012 SAP AG. All rights reserved. 51

52. Step 7.4) Testing the READ Operation – 1/2Each <atom:entry> in an OData Collection contains an

<atom:id> elementThis element contains the URL to perform the READ operation for that single entry©

2012 SAP AG. All rights reserved. 52

53. Step 7.4) Testing the READ Operation – 2/2The READ operation returns 0..1 entries in an

<atom:entry> elementIf the entity cannot be found, then the <atom:content> element will be empty If

found, the business data for the entry being READ will be contained within the <atom:content> element©

2012 SAP AG. All rights reserved. 53

Test your Gateway Service from a browser© 2012 SAP AG. All rights reserved. 54 Expose a Gateway

Service for consumption Create a read-only Gateway Service based on a Remote Function Module or

an Object in the Business Object Repository (BOR) 54. Summary You should now be able to:

Page 242: Notes
Page 243: Notes
Page 244: Notes
Page 245: Notes
Page 246: Notes
Page 247: Notes
Page 248: Notes
Page 249: Notes
Page 250: Notes
Page 251: Notes
Page 252: Notes
Page 253: Notes
Page 254: Notes
Page 255: Notes
Page 256: Notes
Page 257: Notes
Page 258: Notes
Page 259: Notes
Page 260: Notes
Page 261: Notes
Page 262: Notes
Page 263: Notes
Page 264: Notes
Page 265: Notes
Page 266: Notes
Page 267: Notes
Page 268: Notes
Page 269: Notes

NetWeaver Gateway- Service Builder

1. How To Build OData Services from anyBusiness Suite Data – Fast!Jeff Gebo, Chris WhealySeptember

2012

Page 270: Notes

  Extensibility/Reuse of Gateway Services Professional ABAP Developer©  2012 SAP AG. All rights

reserved. 2  EDMX-Model import Strong ABAP skills �  Integration and projection for important data

sources like GenIL, SPI and BW �  Generation of service implementation from existing business

functionality �  Generation of model definition �  The SAP NetWeaver Gateway Service Builder is a one

stop shop tool that Technical covers the entire development lifecycle Consultant of a Gateway Service /

BPX �  Developer productivity (low TCD) for Little or no ABAP skills ABAP Developer, Technical

Consultant and Business Process Expert �2. SAP NetWeaver Gateway Service Builder (SEGW)One-

Stop-Shop for all GW OData Service Developers �

  Define a new service completely from scratch©  2012 SAP AG. All rights reserved. 3  Take advantage

of existing data sources and automatic content generation or… �  Consolidates all service design and

runtime objectsFor both experienced and less-experienceddevelopers �  Define entity types, entity sets,

associations etc.Project-based Service Development �3. SAP NetWeaver GatewayService

BuilderGateway’s Design-Time EnvironmentBuild and manage services from one locationOData

modelling environment �

4. Gateway Service Builder – Development Flow in Detail OData  Service   Defini.on  in   SEGW   Data

Model Declara.ve   Import   Import  DDIC/   Definition (MPC) Data  Model  Defini.on   Model   Data  Model

RFC/BOR   Redefine   Defini.on*   (EDMX)   Interface*   Data  Source   Service   Include   (GenIL,  BOL,  

enera.on   Service  G Gateway   SPI,  BW   Service*   Service Easy  Query,   Implementation Service

Implementa.on    FC/BOR   Code-‐Based  Implementa.on*   Map  R MDX)   Code-‐Based  Extensions*  

mapping)   Opera.on*   (DPC) (Code  based  or   Service * Repeatable Maintenance within Service

Registra.on   one service and  Hub  Ac.va.on  ©  2012 SAP AG. All rights reserved. 4

5. Gateway Service Builder – Development Flow in Detail OData  Service   Defini.on  in   SEGW   Data

Model Declara.ve   Import   Import  DDIC/   Definition Model   Data  Model   RFC/BOR   (MPC) Redefine  

Defini.on*   (EDMX)   Interface*   Data  Source   Service   Include   (GenIL,  BOL,   Gateway   SPI,  BW  

Service*   Service Easy  Query,   Code-‐Based  Implementa.on*   Map  RFC/BOR   MDX)  

Implementation (DPC) Code-‐Based  Extensions*   Opera.on*   Service * Repeatable Maintenance within

Service  Registra.on   one service and  Hub  Ac.va.on  ©  2012 SAP AG. All rights reserved. 5

  Generate model provider class and stubs for data provider class©  2012 SAP AG. All rights reserved. 6 

Modify properties as needed �  EDMX Modelling Tool (e.g. OData Visualizer in MS Visual Studio) �6.

Service BuilderFile ImportImport a Data ModelJumpstart service modelling �

Page 271: Notes

  Modify properties as needed©  2012 SAP AG. All rights reserved. 7  Wizard walks you through it �7.

Service BuilderImport Existing BOR/RFC Data Structure for Use in an OData ServiceImport a Data

SourceRe-use Existing BOR/RFC Interfaces �

  Drag-and-drop©  2012 SAP AG. All rights reserved. 8  Modify properties �  Add constants �8. Service

BuilderGenerate an OData Service from an Existing BOR/RFC ObjectImplementation Without CodeMap

to Data Source �

9. Service BuilderAssociationsRelationships Between Entity TypesUse Service Builder to maintain

associationsEnable navigation from one entity to another basedon associationAutomatic generation of

associations in modelprovide class (MPC) and metadata©  2012 SAP AG. All rights reserved. 9

10. Service Builder – Runtime Artefacts NetWeaver System containing IW_BEP   Registered Service

Registered Model Name Name Data Provider Model Provider Base Class Base Class External Service

Name Data Provider Model Provider Class Class Gateway Service©  2012 SAP AG. All rights reserved.

10

11. Demo©  2012 SAP AG. All rights reserved. 11

12. Use Case 1: RFC/BOR GeneratorImport from data source:1.  Create an entity “Account” from BOR

Object Account BP ID* BP Role Email Phone …2.  Service Implementation for Account ©  2012 SAP AG.

All rights reserved. 12

13. Use Case 2: CompositionImport from data source: Existing SalesOrder Service:1.  Create an entity

“Account” from BOR Object SalesOrderHeader 0..N SO ID * Account Buyer ID BP ID* … 1 BP Role Email

1 Phone … SalesOrderItem SO ID* Item Position*2.  Service Implementation for Account 1..N Product

ID3.  Composition with existing “Sales Order” service … ©  2012 SAP AG. All rights reserved. 13

14. Use Case 3: Redefine a Service1. Create an OData Service from SPI PLM_MAT2. Redefine

interface/metadata •  Select only relevant nodes •  Change labels •  Change External Names3. Overwrite/

Generate new service for adjusted interface©  2012 SAP AG. All rights reserved. 14

15. Thank youWhat’s new in Gateway

SP5?http://help.sap.com/saphelp_gateway20sp05/helpdata/en/10/2b9c8a863a451ebe6bd4358d9d6adb/

frameset.htm

Page 272: Notes

16. Legal DisclaimerThe information in this presentation is confidential and proprietary to SAP and may

not be disclosed without thepermission of SAP. This presentation is not subject to your license agreement

or any other service or subscriptionagreement with SAP. SAP has no obligation to pursue any course of

business outlined in this document or anyrelated presentation, or to develop or release any functionality

mentioned therein. This document, or any relatedpresentation and SAPs strategy and possible future

developments, products and or platforms directions andfunctionality are all subject to change and may be

changed by SAP at any time for any reason without notice. Theinformation on this document is not a

commitment, promise or legal obligation to deliver any material, code orfunctionality. This document is

provided without a warranty of any kind, either express or implied, including but notlimited to, the implied

warranties of merchantability, fitness for a particular purpose, or non-infringement. Thisdocument is for

informational purposes and may not be incorporated into a contract. SAP assumes no responsibilityfor

errors or omissions in this document, except if such damages were caused by SAP intentionally or

grosslynegligent.All forward-looking statements are subject to various risks and uncertainties that could

cause actual results to differmaterially from expectations. Readers are cautioned not to place undue

reliance on these forward-lookingstatements, which speak only as of their dates, and they should not be

relied upon in making purchasing decisions. ©  2012 SAP AG. All rights reserved. 16

Page 273: Notes
Page 274: Notes
Page 275: Notes
Page 276: Notes
Page 277: Notes
Page 278: Notes
Page 279: Notes
Page 280: Notes
Page 281: Notes
Page 282: Notes
Page 283: Notes
Page 284: Notes