Upload
sap-community-network
View
3.870
Download
2
Tags:
Embed Size (px)
DESCRIPTION
These slides were presented at SAP TechEd 2012. Learn more about upcoming conferences and technical training, please visit www.sapteched.com
Citation preview
Venugopal. N
MOB106
Developing Online Mobile Applications with Sybase Unwired Platform
© 2012 SAP AG. All rights reserved. 2
Disclaimer
This presentation outlines our general product direction and should not be relied on in making a
purchase decision. This presentation is not subject to your license agreement or any other agreement
with SAP. SAP has no obligation to pursue any course of business outlined in this presentation or to
develop or release any functionality mentioned in this presentation. 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 kind, either
express or implied, including but not limited to, the implied warranties of merchantability, fitness for a
particular purpose, or non-infringement. SAP assumes no responsibility for errors or omissions in this
document, except if such damages were caused by SAP intentionally or grossly negligent.
© 2012 SAP AG. All rights reserved. 3
Agenda
SAP Mobility Platform
Overview
Online Mobile Applications
Characteristics
Architecture
Development Paradigm
Modeling OData Services
Client Libraries
On-Boarding, Security, User Enablement
New in SUP 2.2
HTTP REST API Overview
© 2012 SAP AG. All rights reserved. 4
SAP mobile platform
SAP, Partner, and Custom Apps
SAP Mobile Platform
Presentation Frameworks
SAP Afaria
Third Party App Dev Tools SAP App Dev Tools
Native Apps Hybrid Container Apps HTML5 Apps SMS Apps
Application Services
Foundation Services
Notification Authentication oData Proxy App Lifecycle Managment
Data Sync & Caching …
App Catalog
Application
Management
Device
Management
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
kind, either express or implied, including but not limited to, the implied warranties of merchantability, fitness for a particular purpose, or non-infringement
SAP Business Suite Third Party Apps Databases Sybase 365
SAP NetWeaver
Gateway
© 2012 SAP AG. All rights reserved. 5
What is a Online Mobile Application?
Works directly with backend - Provides information needed to the end-user on a request–response paradigm, Its user driven on demand information access
Updates work without delay and possible synchronization issues
No business data on the mobile device
Typical examples include approvals of business requests, inspection of real-time data of backend systems, incident reporting such as quality issues
© 2012 SAP AG. All rights reserved. 6
Characteristics of Online Apps Architecture Fundamentals and Components
Architecture for online apps follows REST
(Representational state transfer, architecture style of
the internet)
Business data is transferred by request of the client,
no push of business data, but push notifications using
minimal payload
OData is an open standard that is defined by
Microsoft in collaboration with SAP
OData defines how meta-data and data is exchanged
between client and back-end
OData is based on HTTP and Atom
Back-End
Middleware
Mobile App
Mobile app renders data
and controls interaction
with the user
Middleware is for
infrastructure tasks but
not used as run-
time/design-time
environment for
application code
Back-end stores data,
executes business logic
and exposes data in the
structured in a way that
suited the client
Application Code
Application Code
OData
OData
© 2012 SAP AG. All rights reserved. 7
Characteristics of Online Apps Typical Examples
Approval of business requests Inspection of real-time data of backend
system
Incident reporting
© 2012 SAP AG. All rights reserved. 8
Characteristics of Online Apps Typical Examples
Collaborative processes
Assistance in meeting situations Reporting and analytics
Development paradigm
© 2012 SAP AG. All rights reserved. 10
Online Mobile Applications Development Paradigm
Online Mobile Applications Task Flow
Model Configuration Code
Modeling of oData Services (identification)
Native application
Development using oData
SDK’s
Application Enablement
User On-boarding
© 2012 SAP AG. All rights reserved. 11
Development Process
Consumer Application IDE
Gateway
SAP Business Suite
Develop Application in IDE using native SDKs
Create Service
Document Datasource Model
Create Model &
Data Provider RFC/ BAPI
DynproScreen
SE80
SUP Configure Application and Security
Backend Gateway IDE SUP Create a DataSource Model through
development of ABAP classes
Use data model and create a service
document
Build application using any IDE and
connect to SUP via HTTP
Configure Application and setup
security configuration
© 2012 SAP AG. All rights reserved. 12
Modeling of OData Services Modeling of oData Services
(identification)
Native application Development
using oData SDK’s
Application Enablement
User On-boarding
GW Service Design
Content Creation
Validation and Sign-Off
Publication Discovery
Inspection
Consumption
Non-SAP
Developer
ABAP
Developer Business
Process
Expert
Design new or adapt
existing GW Service
with Gateway Service
Designer in Eclipse
Develop or extend GW
Service using Pure ODC
(ABAP classes)
Test GW Service against
real data and optimize for
productive use.
Get customer sign-off
Transport GW Service to
production system or
package as ABAP Add-
On. Publish in GW
Service Catalog
Search GW Service
Catalog(s) for
appropriate GW Service
Examine details of GW
Service definition for
completeness for given
use-case
Generate proxy/starter
application with GW
Consumption Tools
use-
case
© 2012 SAP AG. All rights reserved. 13
Different Mobile Application Styles (SUP development approach)
SDK
Model
IDE
Backend
Offline/Native Online/Web Online/Native
MBO SDK
MBO/Data Object
XCode/JDE
Suite/WS/DB
Hybrid Web
Container SDK
MBO
Hybrid/3rd Party
Web Dev
Suite/WS/DB/Web
Resource
OData SDK
OData
Xcode/JDE
Gateway
Modeling of oData Services
(identification)
Native application Development
using oData SDK’s
Application Enablement
User On-boarding
© 2012 SAP AG. All rights reserved. 14
Frontend Development SDKs / Libraries used by native Online Applications
Native SDK
SUP Connectivity
OData
Parser
Support-
ability
Cache
Mgmt. MAKit
Mobile Application B
usin
ess S
uite
, M
AU
...
S
AP
Infr
a-
str
uctu
re
Apple
, R
IM,
Goog
le …
Modeling of oData Services
(identification)
Native application Development
using oData SDK’s
Application Enablement
User On-boarding
© 2012 SAP AG. All rights reserved. 15
Libraries used by Online Applications
SDM Connectivity
Connectivity to OData Provider
Authentication
Sync. & Async. handling
Support for SAPPassport
SDM Parser
Parsing of OData Service Documents, Meta Data and
Data Values (Atom entries and feeds)
Create, Update and Delete OData entries
Subscription to OData objects
SDM Cache
Caching OData Service Document, Meta Data and
Data Values
In-Memory filtering of entries
SDM Persistency
Secure Data Persistency on the device
SDM Supportability
Logging & Tracing
Memory Footprint
Performance Measurements
Integration with SAP Solution Manager
MAKit
Graphical Controls for Analytic Uis
Modeling of oData Services
(identification)
Native application Development
using oData SDK’s
Application Enablement
User On-boarding
© 2012 SAP AG. All rights reserved. 16
Bootstrapping and on-boarding
Application Enablement
User Enablement
SUP Server
SUP Client
IT Prerequisites (Afaria)
App
Domain
connection
Security
config
Settings
User
Enterprise
(enrollment)
Identity
(Authentication)
Device
(Activation)
Application
(Registration)
Modeling of oData Services
(identification)
Native application Development
using oData SDK’s
Application Enablement
User On-boarding
IT and
Governance
© 2012 SAP AG. All rights reserved. 17
Application Enablement
Administrator registers an application and service document URL
Automated on-boarding can be configured based on
– X 509 certificates,
– SSO2 cookie
– Basic authentication against backend
Manual user on-boarding through explicit white listing in SUP
Register an application
Enable External Authentication
(Certificates, basic auth, SSO2)
Manual User White listing OR
Modeling of oData Services
(identification)
Native application Development
using oData SDK’s
Application Enablement
User On-boarding
© 2012 SAP AG. All rights reserved. 18
User Enablement (User Steps)
Install Application
(Afaria / App store)
Provide SUP settings
(Automation through Afaria)
Provide App id
(App id can be hardcoded in application)
Provide Identity + authentication [Basic/SSO2/X.509]
Click OK or Submit
IT pre-requisites
(Policy, authentication scheme including PKI etc.,)
Modeling of oData Services
(identification)
Native application Development
using oData SDK’s
Application Enablement
User On-boarding
© 2012 SAP AG. All rights reserved. 19
Key benefits of SUP for online applications
Reliable messaging & Push Notifications
Comprehensive client SDK
Extensive supportability toolset
Registered endpoint management
Device Agnostic from application stand point
Integration with Afaria
– Automatic settings provisioning
– X.509 certificate provisioning
Security
– Prevents DOS attacks
– Payload encryption
– Secured data on device with data vault
New in SUP 2.2
© 2012 SAP AG. All rights reserved. 21
Mobile Service REST API
REST API exposes the Mobile Platform features as
services which can be consumed from any HTTP-enabled
SDK
Onboarding
Authentication & SSO
Push
Configuration
Reporting
The REST API support the ‘online’ use cases:
NW Gateway
HANA and other ‘Concept Gateway’ sources
Other Web Service backends
Applications can connect to these
services regardless of whether SAP has
shipped libraries for that SDK.
For example, using the REST API and
the Windows 8 SDK and Visual Studio,
with no SAP client-side libraries, the
developer can build a fully integrated
enterprise-grade application on the
platform.
The developer may also use the
services with client libraries provided on
supported OS’s.
© 2012 SAP AG. All rights reserved. 22
Client App
HTTP REST API Overview
ODATA SDK HTML5/JS
Hybrid Apps Object API HTTP API
Connectivity
Supportability & Configuration
Notifications
Local Persistence and Cache
HTTP(s)
Any platform, any programming language, any
SDK/Framework, just standard HTTP requests
Mobile Business Objects
Synchronization
3rd Party SDK
e.g. Windows .Net + WCF
Data Services SDK
Security
© 2012 SAP AG. All rights reserved. 23
Sample Application – Netflix viewer
BTX Upload
Application
Deregistration
Application
Settings
Resource
Bundles
Application
Registration
Proxy
Connection Access to Netflix Movie Catalog (GET)
Anonymous User Access (POST )
Authenticated User Access (Basic Auth POST)
Read Policy Settings for the authenticated user (enable R-ratings)
(GET) – Property Custom1
Update app-connection Settings (volume control)
(PUT) – Property Custom2
Update app-connection Settings (mute control)
(MERGE) – Property Custom3
Delete Application Connection (DELETE)
Not in the Sample App (Multipart POST)
Change Background for Authenticated Users (GET)
SUP REST API
O
D
A
T
A
R
E
S
T
Create Connection
Access to External HTTP Services
Upload Transactions
Read/Update Application Settings
Download Resource Bundles
Delete Connection
Demo
© 2012 SAP AG. All rights reserved. 25
REST API Services (sample)
Resource URL Format Authentication
Application
Connections*
(OData)
Service Document GET [/public]/odata/applications/{v1|latest}/{appName}
Metadata GET [/public]/odata/applications/{v1|latest}/{appName}/$metadata
Create Application Connection POST [/public]/odata/applications/{v1|latest}/{appName}/Connections
Read Application Settings GET [/public]/odata/applications/{v1|latest}/{appName}/Connections(‘{appcid}')
GET [/public]/odata/applications/{v1|latest}/{appName}/Connections(‘{appcid}')/{propName}
Update Application Settings PUT [/public]/odata/applications/{v1|latest}/{appName}/Connections(‘{appcid}')
MERGE [/public]/odata/applications/{v1|latest}/{appName}/Connections(‘{appcid}')
Delete Application Connection DELETE [/public]/odata/applications/{v1|latest}/{appName}/Connections(‘{appcid}')
Anonymous
Basic Auth
SSO Token
X.509 Mutual Auth
X.509 Mutual Auth
through intermediary
Applications Download Application Resource Bundle GET [/public]/bundles/{appName}/{resourceBundleName:Version}
Business
Transactions
Upload BTX POST [/public]/btx/{appName}
Proxy
Connections
Access to External Service GET [/public]/odata/{proxyName}
*Query resource currently not supported
© 2012 SAP AG. All rights reserved. 26
Further Information on Mobile
SAP Public Web
http://wiki.sdn.sap.com/wiki/display/mobile/
http://scn.sap.com/community/mobile
SAP Education and Certification Opportunities
www.sap.com/education
Watch SAP TechEd Online
www.sapteched.com/online
Feedback Please complete your session evaluation for MOB106.
Thanks for attending this SAP TechEd session.
© 2012 SAP AG. All rights reserved. 28
No part of this publication may be reproduced or transmitted in any form or for any purpose without the express
permission of SAP AG. The information contained herein may be changed without prior notice.
Some software products marketed by SAP AG and its distributors contain proprietary software components of
other software vendors.
Microsoft, Windows, Excel, Outlook, PowerPoint, Silverlight, and Visual Studio are registered trademarks of
Microsoft Corporation.
IBM, DB2, DB2 Universal Database, System i, System i5, System p, System p5, System x, System z, System
z10, z10, z/VM, z/OS, OS/390, zEnterprise, PowerVM, Power Architecture, Power Systems, POWER7,
POWER6+, POWER6, POWER, PowerHA, pureScale, PowerPC, BladeCenter, System Storage, Storwize,
XIV, GPFS, HACMP, RETAIN, DB2 Connect, RACF, Redbooks, OS/2, AIX, Intelligent Miner, WebSphere,
Tivoli, Informix, and Smarter Planet are trademarks or registered trademarks of IBM Corporation.
Linux is the registered trademark of Linus Torvalds in the United States and other countries.
Adobe, the Adobe logo, Acrobat, PostScript, and Reader are trademarks or registered trademarks of Adobe
Systems Incorporated in the United States and other countries.
Oracle and Java are registered trademarks of Oracle and its affiliates.
UNIX, X/Open, OSF/1, and Motif are registered trademarks of the Open Group.
Citrix, ICA, Program Neighborhood, MetaFrame, WinFrame, VideoFrame, and MultiWin are trademarks or
registered trademarks of Citrix Systems Inc.
HTML, XML, XHTML, and W3C are trademarks or registered trademarks of W3C®, World Wide Web
Consortium, Massachusetts Institute of Technology.
Apple, App Store, iBooks, iPad, iPhone, iPhoto, iPod, iTunes, Multi-Touch, Objective-C, Retina, Safari, Siri,
and Xcode are trademarks or registered trademarks of Apple Inc.
IOS is a registered trademark of Cisco Systems Inc.
RIM, BlackBerry, BBM, BlackBerry Curve, BlackBerry Bold, BlackBerry Pearl, BlackBerry Torch, BlackBerry
Storm, BlackBerry Storm2, BlackBerry PlayBook, and BlackBerry App World are trademarks or registered
trademarks of Research in Motion Limited.
© 2012 SAP AG. All rights reserved.
Google App Engine, Google Apps, Google Checkout, Google Data API, Google Maps, Google Mobile Ads,
Google Mobile Updater, Google Mobile, Google Store, Google Sync, Google Updater, Google Voice,
Google Mail, Gmail, YouTube, Dalvik and Android are trademarks or registered trademarks of Google Inc.
INTERMEC is a registered trademark of Intermec Technologies Corporation.
Wi-Fi is a registered trademark of Wi-Fi Alliance.
Bluetooth is a registered trademark of Bluetooth SIG Inc.
Motorola is a registered trademark of Motorola Trademark Holdings LLC.
Computop is a registered trademark of Computop Wirtschaftsinformatik GmbH.
SAP, R/3, SAP NetWeaver, Duet, PartnerEdge, ByDesign, SAP BusinessObjects Explorer, StreamWork,
SAP HANA, and other SAP products and services mentioned herein as well as their respective logos are
trademarks or registered trademarks of SAP AG in Germany and other countries.
Business Objects and the Business Objects logo, BusinessObjects, Crystal Reports, Crystal Decisions, Web
Intelligence, Xcelsius, and other Business Objects products and services mentioned herein as well as their
respective logos are trademarks or registered trademarks of Business Objects Software Ltd. Business Objects
is an SAP company.
Sybase and Adaptive Server, iAnywhere, Sybase 365, SQL Anywhere, and other Sybase products and services
mentioned herein as well as their respective logos are trademarks or registered trademarks of Sybase Inc.
Sybase is an SAP company.
Crossgate, m@gic EDDY, B2B 360°, and B2B 360° Services are registered trademarks of Crossgate AG
in Germany and other countries. Crossgate is an SAP company.
All other product and service names mentioned are the trademarks of their respective companies. Data
contained in this document serves informational purposes only. National product specifications may vary.
The information in this document is proprietary to SAP. No part of this document may be reproduced, copied,
or transmitted in any form or for any purpose without the express prior written permission of SAP AG.