28
Venugopal. N MOB106 Developing Online Mobile Applications with Sybase Unwired Platform

Developing Online Mobile Applications with Sybase Unwired Platform

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

Page 1: Developing Online Mobile Applications with Sybase Unwired Platform

Venugopal. N

MOB106

Developing Online Mobile Applications with Sybase Unwired Platform

Page 2: 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.

Page 3: Developing Online Mobile Applications with Sybase Unwired Platform

© 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

Page 4: Developing Online Mobile Applications with Sybase Unwired Platform

© 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

Page 5: Developing Online Mobile Applications with Sybase Unwired Platform

© 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

Page 6: Developing Online Mobile Applications with Sybase Unwired Platform

© 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

Page 7: Developing Online Mobile Applications with Sybase Unwired Platform

© 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

Page 8: Developing Online Mobile Applications with Sybase Unwired Platform

© 2012 SAP AG. All rights reserved. 8

Characteristics of Online Apps Typical Examples

Collaborative processes

Assistance in meeting situations Reporting and analytics

Page 9: Developing Online Mobile Applications with Sybase Unwired Platform

Development paradigm

Page 10: Developing Online Mobile Applications with Sybase Unwired Platform

© 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

Page 11: Developing Online Mobile Applications with Sybase Unwired Platform

© 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

Page 12: Developing Online Mobile Applications with Sybase Unwired Platform

© 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

Page 13: Developing Online Mobile Applications with Sybase Unwired Platform

© 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

Page 14: Developing Online Mobile Applications with Sybase Unwired Platform

© 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

Page 15: Developing Online Mobile Applications with Sybase Unwired Platform

© 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

Page 16: Developing Online Mobile Applications with Sybase Unwired Platform

© 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

Page 17: Developing Online Mobile Applications with Sybase Unwired Platform

© 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

Page 18: Developing Online Mobile Applications with Sybase Unwired Platform

© 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

Page 19: Developing Online Mobile Applications with Sybase Unwired Platform

© 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

Page 20: Developing Online Mobile Applications with Sybase Unwired Platform

New in SUP 2.2

Page 21: Developing Online Mobile Applications with Sybase Unwired Platform

© 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.

Page 22: Developing Online Mobile Applications with Sybase Unwired Platform

© 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

Page 23: Developing Online Mobile Applications with Sybase Unwired Platform

© 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

Page 24: Developing Online Mobile Applications with Sybase Unwired Platform

Demo

Page 25: Developing Online Mobile Applications with Sybase Unwired Platform

© 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

Page 26: Developing Online Mobile Applications with Sybase Unwired Platform

© 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

Page 27: Developing Online Mobile Applications with Sybase Unwired Platform

Feedback Please complete your session evaluation for MOB106.

Thanks for attending this SAP TechEd session.

Page 28: Developing Online Mobile Applications with Sybase Unwired Platform

© 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.