SlideShare ist ein Scribd-Unternehmen logo
1 von 284
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 Onboarding 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 noninfringement 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 OnboardingSDM Connectivity   Connectivity to OData Provider SDM 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 and SDM 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 Onboarding©  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 an User On-boarding  application and service document  
Automated on-boarding can be URLŸ configured based on –  X 509 certificates, – 
SSO2 cookie – Basic authentication a
gainst   Manual user on
-boarding
through backend  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/mobileS
AP Education and Certification Opportunitieswww.sap.com/educationWatch SAP
TechEd Onlinewww.sapteched.com/online©  2012 SAP AG. All rights reserved. 16
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 Overviewu 3. 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 Overviewu 4. Agendau
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 Overviewu 8. Agendau
Developer ToolsThe SAPUI5 JavaScript library can also be downloaded from SCN.©  2012
SAP AG. All rights reserved. 9 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 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. 10 10. 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” à
“Proxy Generation” atdesign time.This functionality is installed as a plug-in for Eclipse.©  2012
SAP AG. All rights reserved. 11 11. 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
 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 Overviewu 18. 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 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 Overviewu 30. 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: Ÿ
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
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.© 
2012 GatewayIn 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 standalone 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 standalone 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
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 r
eserved. 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 Ÿ
Application to Consume a Gateway Service   Consumption of Gateway Services using
Java Server Pages and Ÿ JavaScript + HTML5©  2012 SAP AG. All rights reserved.
33
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
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
 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 provision tools •  Deploy to existing SAP Monitoring NetWeaver landscape•  Different
ing
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 St dio, Eclipse, XCode©  2012 SAP AG. All rights reserved. 10
u
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
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 r served. 15
e
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 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 codeless 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
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 Servic and
es
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
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-d188e2786c7878b1SAP 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
Kelleherjeff.gebo@sap.com chris.whealy@sap.com patrick.kelleher@sap.com
Afaria
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 Applications 3.
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
5. Synchronized Mobile Applications
Provides information needed to the end-user even when not connected, based on a set
of 6. What is a Synchronized Application? Effectively utilizes network connectivity to
ensure reliable data availability even in challenging defined rules Ensures efficient data
provisioning to the devices in case of large scale data realignment network 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
Resolution 7. 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 Device Cache 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
model 11. 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
being 12. 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 a device. standardised view of this
interaction.© 2012 SAP AG. All rights reserved. 12
MBOs define a set of 13. Mobile Business Objects attributes, and one or more
Enterprise System Device Representation Device applications don‟t need operations. to
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 API 14. 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 DB 15. MBObased 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 Client 19. 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 for DB 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
Device Cache 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‟s 26. 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
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
for 32. 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 running synchronization. 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
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
options iOS 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/mobileS
AP Education and Certification Opportunitieswww.sap.com/educationWatch SAP
TechEd Onlinewww.sapteched.com/online© 2012 SAP AG. All rights reserved.
SAP NetWeaver Gateway - RFC & BOR Generators
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 Overview 3. 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 Overview 4. 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 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 BAPIs 6. 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 Overview 7. 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 Overview 9. 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 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 Overview 11. 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 Overview 14. 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
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 Overview 17. 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
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 Overview 24. 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 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 Overview 31. Agenda
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 Overview 33. 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
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 Overview 38. 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 Overview 43. Agenda
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
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:
NetWeaver Gateway- Service Builder
1. How To Build OData Services from anyBusiness Suite Data – Fast!Jeff Gebo, Chris
WhealySeptember 2012
 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Ÿ
 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/f
rameset.htm
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 noninfringement. 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
Notes
Notes
Notes
Notes
Notes
Notes
Notes
Notes
Notes
Notes
Notes

Weitere ähnliche Inhalte

Was ist angesagt?

A dummies guide to native, html5 and hybrid mobile apps
A dummies guide to native, html5 and hybrid mobile appsA dummies guide to native, html5 and hybrid mobile apps
A dummies guide to native, html5 and hybrid mobile appsJohn Moy
 
SAP NetWeaver Portal Portfolio (2012)
SAP NetWeaver Portal Portfolio (2012)  SAP NetWeaver Portal Portfolio (2012)
SAP NetWeaver Portal Portfolio (2012) SAP Portal
 
CA Project and Portfolio Management 14.x - Advanced Reporting for the End User
CA Project and Portfolio Management 14.x - Advanced Reporting for the End UserCA Project and Portfolio Management 14.x - Advanced Reporting for the End User
CA Project and Portfolio Management 14.x - Advanced Reporting for the End UserCA Technologies
 
Sap netweaver gateway_2.0_sap_net_weaver
Sap netweaver gateway_2.0_sap_net_weaverSap netweaver gateway_2.0_sap_net_weaver
Sap netweaver gateway_2.0_sap_net_weaverNagendra Babu
 
Resume Partha Roy
Resume Partha RoyResume Partha Roy
Resume Partha RoyPartha Roy
 
Pre-Con Ed: CA API Gateway: How to Deploy Your Gateway Across Multiple Enviro...
Pre-Con Ed: CA API Gateway: How to Deploy Your Gateway Across Multiple Enviro...Pre-Con Ed: CA API Gateway: How to Deploy Your Gateway Across Multiple Enviro...
Pre-Con Ed: CA API Gateway: How to Deploy Your Gateway Across Multiple Enviro...CA Technologies
 
vinod kumar JAVA
vinod kumar JAVAvinod kumar JAVA
vinod kumar JAVAVinod Kumar
 
How to build an agentry based mobile app from scratch connecting to an sap ba...
How to build an agentry based mobile app from scratch connecting to an sap ba...How to build an agentry based mobile app from scratch connecting to an sap ba...
How to build an agentry based mobile app from scratch connecting to an sap ba...Ganesh Kumar
 
Enabling a Hybrid Enterprise Application Launch Pad
Enabling a Hybrid Enterprise Application Launch PadEnabling a Hybrid Enterprise Application Launch Pad
Enabling a Hybrid Enterprise Application Launch PadCA Technologies
 
agados app engine platform Intro
agados app engine platform Introagados app engine platform Intro
agados app engine platform IntroYongkyoo Park
 
Oxagile company presentation
Oxagile company presentationOxagile company presentation
Oxagile company presentationOxagile
 
Siebel Mobile Solutions Overview
Siebel Mobile Solutions OverviewSiebel Mobile Solutions Overview
Siebel Mobile Solutions OverviewIlya Milshtein
 
Pre-Con Ed: Hack that API—Your Data, Your Way With CA Performance Management
Pre-Con Ed: Hack that API—Your Data, Your Way With CA Performance ManagementPre-Con Ed: Hack that API—Your Data, Your Way With CA Performance Management
Pre-Con Ed: Hack that API—Your Data, Your Way With CA Performance ManagementCA Technologies
 
Resume- Nishant Verma (JEE Consultant with 10+ years ) (1)
Resume- Nishant Verma (JEE Consultant with 10+ years ) (1)Resume- Nishant Verma (JEE Consultant with 10+ years ) (1)
Resume- Nishant Verma (JEE Consultant with 10+ years ) (1)Nishant Verma
 
Data on Demand: Now That’s What we’re Lookin’ For!
Data on Demand: Now That’s What we’re Lookin’ For!Data on Demand: Now That’s What we’re Lookin’ For!
Data on Demand: Now That’s What we’re Lookin’ For!CA Technologies
 
Pre-Con Ed: Monitor Your Cloud Infrastructure With CA Unified Infrastructure ...
Pre-Con Ed: Monitor Your Cloud Infrastructure With CA Unified Infrastructure ...Pre-Con Ed: Monitor Your Cloud Infrastructure With CA Unified Infrastructure ...
Pre-Con Ed: Monitor Your Cloud Infrastructure With CA Unified Infrastructure ...CA Technologies
 

Was ist angesagt? (20)

A dummies guide to native, html5 and hybrid mobile apps
A dummies guide to native, html5 and hybrid mobile appsA dummies guide to native, html5 and hybrid mobile apps
A dummies guide to native, html5 and hybrid mobile apps
 
SAP NetWeaver Portal Portfolio (2012)
SAP NetWeaver Portal Portfolio (2012)  SAP NetWeaver Portal Portfolio (2012)
SAP NetWeaver Portal Portfolio (2012)
 
CA Project and Portfolio Management 14.x - Advanced Reporting for the End User
CA Project and Portfolio Management 14.x - Advanced Reporting for the End UserCA Project and Portfolio Management 14.x - Advanced Reporting for the End User
CA Project and Portfolio Management 14.x - Advanced Reporting for the End User
 
Sap netweaver gateway_2.0_sap_net_weaver
Sap netweaver gateway_2.0_sap_net_weaverSap netweaver gateway_2.0_sap_net_weaver
Sap netweaver gateway_2.0_sap_net_weaver
 
Resume Partha Roy
Resume Partha RoyResume Partha Roy
Resume Partha Roy
 
Oracle Mobile Cloud Service
Oracle Mobile Cloud ServiceOracle Mobile Cloud Service
Oracle Mobile Cloud Service
 
Pre-Con Ed: CA API Gateway: How to Deploy Your Gateway Across Multiple Enviro...
Pre-Con Ed: CA API Gateway: How to Deploy Your Gateway Across Multiple Enviro...Pre-Con Ed: CA API Gateway: How to Deploy Your Gateway Across Multiple Enviro...
Pre-Con Ed: CA API Gateway: How to Deploy Your Gateway Across Multiple Enviro...
 
vinod kumar JAVA
vinod kumar JAVAvinod kumar JAVA
vinod kumar JAVA
 
Sumeet cv
Sumeet cvSumeet cv
Sumeet cv
 
How to build an agentry based mobile app from scratch connecting to an sap ba...
How to build an agentry based mobile app from scratch connecting to an sap ba...How to build an agentry based mobile app from scratch connecting to an sap ba...
How to build an agentry based mobile app from scratch connecting to an sap ba...
 
Ryder SAP
Ryder SAPRyder SAP
Ryder SAP
 
Enabling a Hybrid Enterprise Application Launch Pad
Enabling a Hybrid Enterprise Application Launch PadEnabling a Hybrid Enterprise Application Launch Pad
Enabling a Hybrid Enterprise Application Launch Pad
 
agados app engine platform Intro
agados app engine platform Introagados app engine platform Intro
agados app engine platform Intro
 
Oxagile company presentation
Oxagile company presentationOxagile company presentation
Oxagile company presentation
 
Siebel Mobile Solutions Overview
Siebel Mobile Solutions OverviewSiebel Mobile Solutions Overview
Siebel Mobile Solutions Overview
 
KumarG-CV
KumarG-CVKumarG-CV
KumarG-CV
 
Pre-Con Ed: Hack that API—Your Data, Your Way With CA Performance Management
Pre-Con Ed: Hack that API—Your Data, Your Way With CA Performance ManagementPre-Con Ed: Hack that API—Your Data, Your Way With CA Performance Management
Pre-Con Ed: Hack that API—Your Data, Your Way With CA Performance Management
 
Resume- Nishant Verma (JEE Consultant with 10+ years ) (1)
Resume- Nishant Verma (JEE Consultant with 10+ years ) (1)Resume- Nishant Verma (JEE Consultant with 10+ years ) (1)
Resume- Nishant Verma (JEE Consultant with 10+ years ) (1)
 
Data on Demand: Now That’s What we’re Lookin’ For!
Data on Demand: Now That’s What we’re Lookin’ For!Data on Demand: Now That’s What we’re Lookin’ For!
Data on Demand: Now That’s What we’re Lookin’ For!
 
Pre-Con Ed: Monitor Your Cloud Infrastructure With CA Unified Infrastructure ...
Pre-Con Ed: Monitor Your Cloud Infrastructure With CA Unified Infrastructure ...Pre-Con Ed: Monitor Your Cloud Infrastructure With CA Unified Infrastructure ...
Pre-Con Ed: Monitor Your Cloud Infrastructure With CA Unified Infrastructure ...
 

Ähnlich wie Notes

SAP HANA Cloud Portal - Deep Dive
SAP HANA Cloud Portal - Deep DiveSAP HANA Cloud Portal - Deep Dive
SAP HANA Cloud Portal - Deep DiveSAP Portal
 
SAP HANA Cloud Platform: The void between your Datacenter and the Cloud
SAP HANA Cloud Platform: The void between your Datacenter and the CloudSAP HANA Cloud Platform: The void between your Datacenter and the Cloud
SAP HANA Cloud Platform: The void between your Datacenter and the CloudSAP HANA Cloud Platform
 
Mobility at SAP TDC 2014 SP
Mobility at SAP TDC 2014 SPMobility at SAP TDC 2014 SP
Mobility at SAP TDC 2014 SPRonildo Santos
 
Mho Web Dynpro Abap
Mho Web Dynpro AbapMho Web Dynpro Abap
Mho Web Dynpro Abapthomas_jung
 
2017 sitNL Cloud Foundry Masterclass
2017 sitNL Cloud Foundry Masterclass2017 sitNL Cloud Foundry Masterclass
2017 sitNL Cloud Foundry MasterclassTed Castelijns
 
SAP HANA Cloud: From Your Datacenter to the Cloud and Back
SAP HANA Cloud: From Your Datacenter to the Cloud and Back  SAP HANA Cloud: From Your Datacenter to the Cloud and Back
SAP HANA Cloud: From Your Datacenter to the Cloud and Back SAP HANA Cloud Platform
 
SAP Kapsel Plugins For Cordova
SAP Kapsel Plugins For CordovaSAP Kapsel Plugins For Cordova
SAP Kapsel Plugins For CordovaChris Whealy
 
SAP NetWeaver Portal OnDevice - Consuming your SAP NetWeaver Portal On Mobile...
SAP NetWeaver Portal OnDevice - Consuming your SAP NetWeaver Portal On Mobile...SAP NetWeaver Portal OnDevice - Consuming your SAP NetWeaver Portal On Mobile...
SAP NetWeaver Portal OnDevice - Consuming your SAP NetWeaver Portal On Mobile...SAP Portal
 
A walkthrough on SAP Cloud Platform Mobile Services
A walkthrough on SAP Cloud Platform Mobile Services A walkthrough on SAP Cloud Platform Mobile Services
A walkthrough on SAP Cloud Platform Mobile Services Jitendra Kansal
 
Overview and Walkthrough of the Application Programming Model with SAP Cloud ...
Overview and Walkthrough of the Application Programming Model with SAP Cloud ...Overview and Walkthrough of the Application Programming Model with SAP Cloud ...
Overview and Walkthrough of the Application Programming Model with SAP Cloud ...SAP Cloud Platform
 
What’s new in SAP Cloud Platform Workflow – summer edition 2019
What’s new in SAP Cloud Platform Workflow – summer edition 2019What’s new in SAP Cloud Platform Workflow – summer edition 2019
What’s new in SAP Cloud Platform Workflow – summer edition 2019SAP Cloud Platform
 
SAP HANA Cloud Portal
SAP HANA Cloud PortalSAP HANA Cloud Portal
SAP HANA Cloud PortalAmir Blich
 
SAP HANA Cloud Portal - Overview Presentation
SAP HANA Cloud Portal - Overview PresentationSAP HANA Cloud Portal - Overview Presentation
SAP HANA Cloud Portal - Overview PresentationSAP Portal
 
Build Cross-Platform application using Mobile Development Kit - #sitBCN 2019
Build Cross-Platform application using Mobile Development Kit - #sitBCN 2019Build Cross-Platform application using Mobile Development Kit - #sitBCN 2019
Build Cross-Platform application using Mobile Development Kit - #sitBCN 2019Jitendra Kansal
 
Mobile pulse sept 2014
Mobile pulse sept 2014Mobile pulse sept 2014
Mobile pulse sept 2014Bjørn Sloth
 

Ähnlich wie Notes (20)

SAP NetWeaver Gateway - Gateway Service Consumption
SAP NetWeaver Gateway - Gateway Service Consumption SAP NetWeaver Gateway - Gateway Service Consumption
SAP NetWeaver Gateway - Gateway Service Consumption
 
SAP HANA Cloud Portal - Deep Dive
SAP HANA Cloud Portal - Deep DiveSAP HANA Cloud Portal - Deep Dive
SAP HANA Cloud Portal - Deep Dive
 
SAP HANA Cloud Platform: The void between your Datacenter and the Cloud
SAP HANA Cloud Platform: The void between your Datacenter and the CloudSAP HANA Cloud Platform: The void between your Datacenter and the Cloud
SAP HANA Cloud Platform: The void between your Datacenter and the Cloud
 
Mobility at SAP TDC 2014 SP
Mobility at SAP TDC 2014 SPMobility at SAP TDC 2014 SP
Mobility at SAP TDC 2014 SP
 
Mho Web Dynpro Abap
Mho Web Dynpro AbapMho Web Dynpro Abap
Mho Web Dynpro Abap
 
NetWeaver Gateway- Gateway Service Consumption
NetWeaver Gateway- Gateway Service ConsumptionNetWeaver Gateway- Gateway Service Consumption
NetWeaver Gateway- Gateway Service Consumption
 
2017 sitNL Cloud Foundry Masterclass
2017 sitNL Cloud Foundry Masterclass2017 sitNL Cloud Foundry Masterclass
2017 sitNL Cloud Foundry Masterclass
 
SAP HANA Cloud: From Your Datacenter to the Cloud and Back
SAP HANA Cloud: From Your Datacenter to the Cloud and Back  SAP HANA Cloud: From Your Datacenter to the Cloud and Back
SAP HANA Cloud: From Your Datacenter to the Cloud and Back
 
SAP Kapsel Plugins For Cordova
SAP Kapsel Plugins For CordovaSAP Kapsel Plugins For Cordova
SAP Kapsel Plugins For Cordova
 
SAP NetWeaver Portal OnDevice - Consuming your SAP NetWeaver Portal On Mobile...
SAP NetWeaver Portal OnDevice - Consuming your SAP NetWeaver Portal On Mobile...SAP NetWeaver Portal OnDevice - Consuming your SAP NetWeaver Portal On Mobile...
SAP NetWeaver Portal OnDevice - Consuming your SAP NetWeaver Portal On Mobile...
 
Ad507
Ad507Ad507
Ad507
 
SAP HANA Cloud – Virtual Bootcamp: How to use the HANA Persistence Se…
SAP HANA Cloud – Virtual Bootcamp: How to use the HANA Persistence Se…SAP HANA Cloud – Virtual Bootcamp: How to use the HANA Persistence Se…
SAP HANA Cloud – Virtual Bootcamp: How to use the HANA Persistence Se…
 
A walkthrough on SAP Cloud Platform Mobile Services
A walkthrough on SAP Cloud Platform Mobile Services A walkthrough on SAP Cloud Platform Mobile Services
A walkthrough on SAP Cloud Platform Mobile Services
 
Overview and Walkthrough of the Application Programming Model with SAP Cloud ...
Overview and Walkthrough of the Application Programming Model with SAP Cloud ...Overview and Walkthrough of the Application Programming Model with SAP Cloud ...
Overview and Walkthrough of the Application Programming Model with SAP Cloud ...
 
What’s new in SAP Cloud Platform Workflow – summer edition 2019
What’s new in SAP Cloud Platform Workflow – summer edition 2019What’s new in SAP Cloud Platform Workflow – summer edition 2019
What’s new in SAP Cloud Platform Workflow – summer edition 2019
 
SAP HANA Cloud Portal
SAP HANA Cloud PortalSAP HANA Cloud Portal
SAP HANA Cloud Portal
 
SAP HANA Cloud Portal - Overview Presentation
SAP HANA Cloud Portal - Overview PresentationSAP HANA Cloud Portal - Overview Presentation
SAP HANA Cloud Portal - Overview Presentation
 
Build Cross-Platform application using Mobile Development Kit - #sitBCN 2019
Build Cross-Platform application using Mobile Development Kit - #sitBCN 2019Build Cross-Platform application using Mobile Development Kit - #sitBCN 2019
Build Cross-Platform application using Mobile Development Kit - #sitBCN 2019
 
Mobile pulse sept 2014
Mobile pulse sept 2014Mobile pulse sept 2014
Mobile pulse sept 2014
 
Cd168 (3)
Cd168 (3)Cd168 (3)
Cd168 (3)
 

Mehr von Ganesh Kumar

Ahobila and thula cauvery mahatmya
Ahobila and thula cauvery mahatmyaAhobila and thula cauvery mahatmya
Ahobila and thula cauvery mahatmyaGanesh Kumar
 
Untold stories of the ramayana by Aatma tattva prabhu
Untold stories of the ramayana by Aatma tattva prabhuUntold stories of the ramayana by Aatma tattva prabhu
Untold stories of the ramayana by Aatma tattva prabhuGanesh Kumar
 
Sangat tamil Malai thiruppavai
Sangat tamil Malai thiruppavaiSangat tamil Malai thiruppavai
Sangat tamil Malai thiruppavaiGanesh Kumar
 
Vaishnava etiquette english_manual
Vaishnava etiquette english_manualVaishnava etiquette english_manual
Vaishnava etiquette english_manualGanesh Kumar
 
Sri Narasimha Sahasranama
Sri Narasimha Sahasranama Sri Narasimha Sahasranama
Sri Narasimha Sahasranama Ganesh Kumar
 
vaishnava mantras in devnagari
vaishnava mantras in devnagarivaishnava mantras in devnagari
vaishnava mantras in devnagariGanesh Kumar
 
Mahaprabhu belongings
Mahaprabhu belongingsMahaprabhu belongings
Mahaprabhu belongingsGanesh Kumar
 
prayers to Srimad Bhagavatam
prayers to Srimad Bhagavatamprayers to Srimad Bhagavatam
prayers to Srimad BhagavatamGanesh Kumar
 
How to part 2 build an agentry based app from scratch
How to part 2 build an agentry based app from scratchHow to part 2 build an agentry based app from scratch
How to part 2 build an agentry based app from scratchGanesh Kumar
 
Smp agentry sap_framework
Smp agentry sap_frameworkSmp agentry sap_framework
Smp agentry sap_frameworkGanesh Kumar
 

Mehr von Ganesh Kumar (20)

Ahobila mahatmya
Ahobila mahatmyaAhobila mahatmya
Ahobila mahatmya
 
Ahobila and thula cauvery mahatmya
Ahobila and thula cauvery mahatmyaAhobila and thula cauvery mahatmya
Ahobila and thula cauvery mahatmya
 
Untold stories of the ramayana by Aatma tattva prabhu
Untold stories of the ramayana by Aatma tattva prabhuUntold stories of the ramayana by Aatma tattva prabhu
Untold stories of the ramayana by Aatma tattva prabhu
 
Nman
NmanNman
Nman
 
Dp58 thiruppavai
Dp58 thiruppavaiDp58 thiruppavai
Dp58 thiruppavai
 
Pack
PackPack
Pack
 
Sangat tamil Malai thiruppavai
Sangat tamil Malai thiruppavaiSangat tamil Malai thiruppavai
Sangat tamil Malai thiruppavai
 
Sbs gopala-yantra
Sbs gopala-yantraSbs gopala-yantra
Sbs gopala-yantra
 
Svsn
SvsnSvsn
Svsn
 
Grihastha manual
Grihastha manualGrihastha manual
Grihastha manual
 
Vaishnava etiquette english_manual
Vaishnava etiquette english_manualVaishnava etiquette english_manual
Vaishnava etiquette english_manual
 
Sri Narasimha Sahasranama
Sri Narasimha Sahasranama Sri Narasimha Sahasranama
Sri Narasimha Sahasranama
 
Tiruppavaimalai
TiruppavaimalaiTiruppavaimalai
Tiruppavaimalai
 
Chaitanya chandra
Chaitanya chandraChaitanya chandra
Chaitanya chandra
 
vaishnava mantras in devnagari
vaishnava mantras in devnagarivaishnava mantras in devnagari
vaishnava mantras in devnagari
 
Thiruppavai tamil
Thiruppavai tamilThiruppavai tamil
Thiruppavai tamil
 
Mahaprabhu belongings
Mahaprabhu belongingsMahaprabhu belongings
Mahaprabhu belongings
 
prayers to Srimad Bhagavatam
prayers to Srimad Bhagavatamprayers to Srimad Bhagavatam
prayers to Srimad Bhagavatam
 
How to part 2 build an agentry based app from scratch
How to part 2 build an agentry based app from scratchHow to part 2 build an agentry based app from scratch
How to part 2 build an agentry based app from scratch
 
Smp agentry sap_framework
Smp agentry sap_frameworkSmp agentry sap_framework
Smp agentry sap_framework
 

Kürzlich hochgeladen

Using Grammatical Signals Suitable to Patterns of Idea Development
Using Grammatical Signals Suitable to Patterns of Idea DevelopmentUsing Grammatical Signals Suitable to Patterns of Idea Development
Using Grammatical Signals Suitable to Patterns of Idea Developmentchesterberbo7
 
Narcotic and Non Narcotic Analgesic..pdf
Narcotic and Non Narcotic Analgesic..pdfNarcotic and Non Narcotic Analgesic..pdf
Narcotic and Non Narcotic Analgesic..pdfPrerana Jadhav
 
ICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfVanessa Camilleri
 
How to Make a Duplicate of Your Odoo 17 Database
How to Make a Duplicate of Your Odoo 17 DatabaseHow to Make a Duplicate of Your Odoo 17 Database
How to Make a Duplicate of Your Odoo 17 DatabaseCeline George
 
ROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxVanesaIglesias10
 
Expanded definition: technical and operational
Expanded definition: technical and operationalExpanded definition: technical and operational
Expanded definition: technical and operationalssuser3e220a
 
BIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptx
BIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptxBIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptx
BIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptxSayali Powar
 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management systemChristalin Nelson
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptxmary850239
 
Man or Manufactured_ Redefining Humanity Through Biopunk Narratives.pptx
Man or Manufactured_ Redefining Humanity Through Biopunk Narratives.pptxMan or Manufactured_ Redefining Humanity Through Biopunk Narratives.pptx
Man or Manufactured_ Redefining Humanity Through Biopunk Narratives.pptxDhatriParmar
 
4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptxmary850239
 
How to Fix XML SyntaxError in Odoo the 17
How to Fix XML SyntaxError in Odoo the 17How to Fix XML SyntaxError in Odoo the 17
How to Fix XML SyntaxError in Odoo the 17Celine George
 
Oppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and FilmOppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and FilmStan Meyer
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfJemuel Francisco
 
Mental Health Awareness - a toolkit for supporting young minds
Mental Health Awareness - a toolkit for supporting young mindsMental Health Awareness - a toolkit for supporting young minds
Mental Health Awareness - a toolkit for supporting young mindsPooky Knightsmith
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4JOYLYNSAMANIEGO
 
ESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnv
ESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnvESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnv
ESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnvRicaMaeCastro1
 

Kürzlich hochgeladen (20)

Using Grammatical Signals Suitable to Patterns of Idea Development
Using Grammatical Signals Suitable to Patterns of Idea DevelopmentUsing Grammatical Signals Suitable to Patterns of Idea Development
Using Grammatical Signals Suitable to Patterns of Idea Development
 
Narcotic and Non Narcotic Analgesic..pdf
Narcotic and Non Narcotic Analgesic..pdfNarcotic and Non Narcotic Analgesic..pdf
Narcotic and Non Narcotic Analgesic..pdf
 
Paradigm shift in nursing research by RS MEHTA
Paradigm shift in nursing research by RS MEHTAParadigm shift in nursing research by RS MEHTA
Paradigm shift in nursing research by RS MEHTA
 
ICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdf
 
How to Make a Duplicate of Your Odoo 17 Database
How to Make a Duplicate of Your Odoo 17 DatabaseHow to Make a Duplicate of Your Odoo 17 Database
How to Make a Duplicate of Your Odoo 17 Database
 
ROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptx
 
prashanth updated resume 2024 for Teaching Profession
prashanth updated resume 2024 for Teaching Professionprashanth updated resume 2024 for Teaching Profession
prashanth updated resume 2024 for Teaching Profession
 
Expanded definition: technical and operational
Expanded definition: technical and operationalExpanded definition: technical and operational
Expanded definition: technical and operational
 
BIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptx
BIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptxBIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptx
BIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptx
 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management system
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx
 
Man or Manufactured_ Redefining Humanity Through Biopunk Narratives.pptx
Man or Manufactured_ Redefining Humanity Through Biopunk Narratives.pptxMan or Manufactured_ Redefining Humanity Through Biopunk Narratives.pptx
Man or Manufactured_ Redefining Humanity Through Biopunk Narratives.pptx
 
4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx
 
How to Fix XML SyntaxError in Odoo the 17
How to Fix XML SyntaxError in Odoo the 17How to Fix XML SyntaxError in Odoo the 17
How to Fix XML SyntaxError in Odoo the 17
 
Oppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and FilmOppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and Film
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
 
Mattingly "AI & Prompt Design: Large Language Models"
Mattingly "AI & Prompt Design: Large Language Models"Mattingly "AI & Prompt Design: Large Language Models"
Mattingly "AI & Prompt Design: Large Language Models"
 
Mental Health Awareness - a toolkit for supporting young minds
Mental Health Awareness - a toolkit for supporting young mindsMental Health Awareness - a toolkit for supporting young minds
Mental Health Awareness - a toolkit for supporting young minds
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4
 
ESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnv
ESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnvESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnv
ESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnv
 

Notes

  • 1. 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 Onboarding 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 noninfringement 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
  • 2. 8. CODE – Native Application Development Modeling of oData Services (identification) Native application Development using oData SDK‟s Application Enablement User OnboardingSDM Connectivity   Connectivity to OData Provider SDM 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 and SDM 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 Onboarding©  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 an User On-boarding  application and service document   Automated on-boarding can be URLŸ configured based on –  X 509 certificates, –  SSO2 cookie – Basic authentication a gainst   Manual user on -boarding through backend  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/mobileS AP Education and Certification Opportunitieswww.sap.com/educationWatch SAP TechEd Onlinewww.sapteched.com/online©  2012 SAP AG. All rights reserved. 16
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10. 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 Overviewu 3. 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 Overviewu 4. Agendau
  • 11. 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 Overviewu 8. Agendau Developer ToolsThe SAPUI5 JavaScript library can also be downloaded from SCN.©  2012 SAP AG. All rights reserved. 9 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 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. 10 10. Gateway Proxy Generation – Eclipse (Java or PHP) SAP NetWeaver
  • 12. 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. 11 11. 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
  • 13. automatically.This functionality is contained both in plug-ins and libraries referenced by yourSAPUI5 Project.©  2012 SAP AG. All rights reserved. 17  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 Overviewu 18. 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
  • 14. 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  Consumption Exercises – Java Server Pages, JavaScript ©  2012 SAP AG. All rights reserved. 30  iPhone App Creationu   Creating OData Proxy Objectsu  Gateway Service Consumption Overviewu 30. 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: Ÿ
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40. 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
  • 41. 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 à 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.©  2012 GatewayIn 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 standalone 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 standalone 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
  • 42. 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 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 r eserved. 31
  • 43. 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 Ÿ Application to Consume a Gateway Service   Consumption of Gateway Services using Java Server Pages and Ÿ JavaScript + HTML5©  2012 SAP AG. All rights reserved. 33
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.
  • 66.
  • 67.
  • 68.
  • 69.
  • 70.
  • 71.
  • 72.
  • 74.
  • 75.
  • 76.
  • 77.
  • 78.
  • 79.
  • 80.
  • 81.
  • 82.
  • 83.
  • 84.
  • 85.
  • 86.
  • 87.
  • 88.
  • 89.
  • 90.
  • 91.
  • 92.
  • 93.
  • 94.
  • 95.
  • 96.
  • 97.
  • 98.
  • 99.
  • 100.
  • 101.
  • 102.
  • 103.
  • 104.
  • 105.
  • 106.
  • 107.
  • 108.
  • 109.
  • 110.
  • 111.
  • 112.
  • 113.
  • 114.
  • 115.
  • 116.
  • 117.
  • 118.
  • 119.
  • 120.
  • 121.
  • 122.
  • 123.
  • 124.
  • 125.
  • 126.
  • 127.
  • 128.
  • 129.
  • 130.
  • 131.
  • 132.
  • 133.
  • 134.
  • 135.
  • 136.
  • 137. 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
  • 138.  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 provision tools •  Deploy to existing SAP Monitoring NetWeaver landscape•  Different ing 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 St dio, Eclipse, XCode©  2012 SAP AG. All rights reserved. 10 u 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
  • 139. 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 r served. 15 e
  • 140. 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 RFC/BOR (DPC) Code-‐Based Extensions* Opera.on* Service Service Registra.on *
  • 141. 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 codeless 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
  • 142. 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 Servic and es 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
  • 143. 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-d188e2786c7878b1SAP 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 Kelleherjeff.gebo@sap.com chris.whealy@sap.com patrick.kelleher@sap.com
  • 144.
  • 145.
  • 146.
  • 147.
  • 148.
  • 149.
  • 150.
  • 151.
  • 152.
  • 153.
  • 154.
  • 155.
  • 156.
  • 157.
  • 158.
  • 159.
  • 160.
  • 161.
  • 162.
  • 163.
  • 164.
  • 165.
  • 166.
  • 167.
  • 168.
  • 169.
  • 170.
  • 171.
  • 172.
  • 173. Afaria
  • 174.
  • 175.
  • 176.
  • 177.
  • 178.
  • 179.
  • 180.
  • 181.
  • 182.
  • 183.
  • 184.
  • 185.
  • 186.
  • 187.
  • 188.
  • 189.
  • 190.
  • 191.
  • 192.
  • 193.
  • 194.
  • 195.
  • 196.
  • 197.
  • 198. 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 Applications 3. 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
  • 199. 5. Synchronized Mobile Applications Provides information needed to the end-user even when not connected, based on a set of 6. What is a Synchronized Application? Effectively utilizes network connectivity to ensure reliable data availability even in challenging defined rules Ensures efficient data provisioning to the devices in case of large scale data realignment network 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 Resolution 7. 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 Device Cache 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 model 11. 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 being 12. 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 a device. standardised view of this interaction.© 2012 SAP AG. All rights reserved. 12 MBOs define a set of 13. Mobile Business Objects attributes, and one or more Enterprise System Device Representation Device applications don‟t need operations. to
  • 200. 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 API 14. 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 DB 15. MBObased 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 Client 19. 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 for DB 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
  • 201. Device Cache 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‟s 26. 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
  • 202. 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 for 32. 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 running synchronization. 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
  • 203. 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 options iOS 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/mobileS AP Education and Certification Opportunitieswww.sap.com/educationWatch SAP TechEd Onlinewww.sapteched.com/online© 2012 SAP AG. All rights reserved.
  • 204.
  • 205.
  • 206.
  • 207.
  • 208.
  • 209.
  • 210.
  • 211.
  • 212.
  • 213.
  • 214.
  • 215.
  • 216.
  • 217.
  • 218.
  • 219.
  • 220.
  • 221.
  • 222.
  • 223.
  • 224.
  • 225.
  • 226.
  • 227.
  • 228.
  • 229.
  • 230.
  • 231. SAP NetWeaver Gateway - RFC & BOR Generators
  • 232. 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 Overview 3. 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 Overview 4. 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
  • 233. can be 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 BAPIs 6. 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 Overview 7. 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 Overview 9. 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
  • 234. a BOR 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 Overview 11. 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 Overview 14. 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
  • 235. 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 Overview 17. 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
  • 236. 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 Overview 24. 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
  • 237. structures 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 Overview 31. Agenda
  • 238. 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 Overview 33. 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
  • 239. 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 Overview 38. 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
  • 240. rights reserved. 43 Understanding Gateway Data and Consumption Models Remote Function Calls and Business Object Repository Overview 43. Agenda 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
  • 241. eq or neImportant: As of Gateway 2.0 SP03, operators must be in lower case© 2012 SAP AG. All rights reserved. 50 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:
  • 242.
  • 243.
  • 244.
  • 245.
  • 246.
  • 247.
  • 248.
  • 249.
  • 250.
  • 251.
  • 252.
  • 253.
  • 254.
  • 255.
  • 256.
  • 257.
  • 258.
  • 259.
  • 260.
  • 261.
  • 262.
  • 263.
  • 264.
  • 265.
  • 266.
  • 267.
  • 268.
  • 269.
  • 270. NetWeaver Gateway- Service Builder 1. How To Build OData Services from anyBusiness Suite Data – Fast!Jeff Gebo, Chris WhealySeptember 2012
  • 271.  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
  • 272.  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Ÿ  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
  • 273. 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/f rameset.htm 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 noninfringement. 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