enterprise mobility with mobile osgi
DESCRIPTION
It is evident that the market for mobile enterprise solutions grows rapidley. A lot less obvious are the technological trends on which mobile enterprise solutions are going to be built upon. Mobile OSGi technology (i.e. JSR 232, Eclipse eRCP, Sprint Titan) is one of the platforms that enters the market and thus competition against other platform concepts such as MIDP, native applications, Google Android, etc. What is it that mobile OSGi technology has to offer?TRANSCRIPT
Enterprise Mobility with Mobile OSGi
2
• Explain how Mobile OSGi is positioned in themarket of mobile application platforms
• Explain how mobile enterprise developers benefit from using Mobile OSGi
• Provide overview of market uptake
Objectives of this Talk
3
Scope
• Focus on mobile enterprise application market
Definition
• Term Mobile OSGi is used for• OSGi R4.x MEG or JSR 232 stacks• eRCP stacks including R4 OSGi• Requires J2ME CDC + Foundation Profile
4
The mobile enterprise market placeand how Mobile OSGi fits
into the picture
5
The Business Case: Big Time!
• Total US mobile enterprise application service revenues to grow from $9b in 2007 to $13b in 2012. [1]
• “… mobility management services revenues to grow at a CAGR of 81% through 2013 tototal of $30b” [2]
[1] Source: Insight Research Corporation, http://www.insight-corp.com[2] Source: ABI Research, http://www.abiresearch.com/abiprdisplay.jsp?pressid=1030
6
Needs of mobile enterprise developers
Security
• Secure runtime system• Data security• Protocol security
• Robustness
Application Environment
• Portability across many platforms• Rich UI capabilities• Adjustable device policy• Component & SOA model• Enabled for middleware• Access to device functionality
Mobile Device Management
• Application Lifecycle Management• Configuration & Policy Management• Remote Diagnostics & Assistance• Data synchronization• Device lock and data wipe
Toolset• One IDE for mobile & non-mobile • Leverage existing server or desktop frameworks (i.e. RCP, JMS, …)• On-device debugging & profiling• Device Emulation
7
Market Ecosystem: Complex structures
Operator
SW Vendors
Aggregator
BusinessUser
Enterprise
PrivateUser
Device OEM
App Developer
ServiceProvider
StandardizationBodies
MiddlewareDeveloper
8
Technology Fragmentation
Q3 2007
• OS Platforms• Symbian
• S60, UIQ, FOMA• Linux
• LiMo, LiPs, Qtopia…• Access• Win Mobile
• <v6.1, >=v6.1• RIM• Apple iPhone• Google Android• Others
9
• Application Platforms• MIDP 2• Qualcom Brew• Eclipse eRCP• Adobe Flash• Adobe AIR• Nokia Web Runtime• Yahoo Go!• Google Android• Apple iPhone• Plain old Browser Model• Coming: MIDP 3• Coming: Sun JavaFX
Technology Fragmentation, cont.
• Remote Access Protocols • OMA-CP• OMA-DM, SCOMO, FUMO• OMA-DS / Sync-ML• WAP-Push• etc.
All that combined with dimension
of versions, country specifics,operator & OEMS specifics,
etc. gives a HUGE combinationmatrix of existing runtime
platforms
10
Conclusion on the market space
• The Problem:• Broad range of advanced technical requirements• Very complex and rapidly changing eco-system• High fragmentation in available technologies • Huge diversity of different device configurations
• Challenges to Enterprises:• Selection of the right target platform(s) for their apps• Remote manageability of those platforms• Sustainability of their investments
11
Where Mobile OSGi fits in
Phone
Operating System
ApplicationExecutionEnvironment
RemoteAccess
Applications
MobileOSGi
By combining some of the platform elements and by making themavailable cross-platform, Mobile OSGi de-fragments the market!
12
Brief Introduction to OSGi
13
• That goes into all sorts of devices and systems …
OSGiTM is a small piece of software
OSGi
14
• which executes your services and applications• which encapsulates device and network specifics
OSGi is a manageable Framework
Hardware Platform
Operating System & Drivers
OSGi
Service & Component Framework
ServiceA
ServiceB
ApplicationC
ApplicationD
15
• The Dynamic Module System for JavaTM
• Specification developed by the OSGi Alliance• Adopted by a rapidly growing community
OSGi is a Worldwide Standard
16
Enterprise Application Servers (Oracle, BEA, Sun, …) Mobile Industry (Sprint, Nokia, IBM, …) Automotive Industry (BMW, Siemens, Delphi…) Telematics (Daimler AG, Bombardier, DB, …) Smart Home Computing (Deutsche Telekom, Siemens) Building Automation Industrial Computing Military Services & Aviation …
OSGi is getting adoped in many Verticals
17
OSGi is easy to learn and leverages developers from J2EE, J2SE and J2ME Java communities
Rapidly growing base of existing developmenttools, excelled by open source communities
The Eclipse toolchain is based on OSGi!!
OSGi Developer Ecosystem
18
Technical Review:What Mobile OSGi has to offer
19
• Component & Service model – ready for middleware• Remoting• Security model, dynamic policy model• Support for any application model• Remote manageability out of the box• Java (CDC or higher) language, JNI
• It’s a standard (in case that still matters to you…)
Key features of Mobile OSGi
20
• Component based deployment model• SOA-in-the-VM model
Key feature: Compon. & Service Model
JSR
JSRMonolithic
MIDletApplication
Java Native
CLDC/MIDP 2 ProcessJava Native
JSR
JSR
JNIApp
ServiceProvider
Std Srv.
Std Srv.AppGUI
Library
AppLogic
Utility
Mobile OSGi process (always on)
21
• Mobile phone as part of SOA infrastructure• Distributed services between osgi container• Dupport for legacy server and clients• Discovery support• Protocol agnostic• Declarative configuration on top of the service
registry
Key feature: Remoting
22
• Security model based on Java 2• Permissions are managed through Permission-
Admin and ConditionalPermissionAdmin• Static device policy definition mapped into
dynamic model• Device policy can be changed and tailored to
the specific needs of your enterprise (providedthe operator grants you that privilige)
Key feature: Security & Policy Model
23
• OSGi ApplicationAdmin enables different app models to map apps into the service registry
• OSGi acts as “meta container” for applications and abstracts the app model specifics
• This enables:• New powerful app models can be introduced, even
post shipment• Developers can pick the model they like best• End users get seamless experience on the phone,
one front-end to all apps, regardless their types
Key feature: Multi App Model Support
24
Key feature: Multi App Model Support, cont.
• Eclipse eRCP / eSWT (one option):• Embedded version of Eclipse Rich Client Platform
(RCP) and UI Toolkit (SWT)• Apps inherit native application look and feel• Deployable to a range of devices
• Desktops, handhelds, cell phones• Support for Win32, Windows Mobile, WinCE, Nokia S60• Future support for GTK and Qte • eRCP apps can also run on RCP
• Samples available at www.eclipse.org/ercp
25
Key feature: Multi App Model Support, cont.
• New App models will emerge: Server in the Pocket
BrowserHttp Service
Your appbusiness logic
Resources
LocationAPI
BluetoothAPI
…
FlashLite
PhoneMobile OSGi
26
Key feature: Remote Management
Mgmt Server
• Device mgmt• Provisioning
YourEnterprise
Mgmt Server
• App mgmt• Provisioning• Configuration• Support
Source: Sprint Titan Slides
• Concept of management domains
27
Remote Management: Domains
Source: Sprint Titan Slides
YourEnterprise
• Application provisioning• Application life-cycle• Configuration Mmgt• Remote & local Monitoring• Remote Support
• Device provisioning• Network provisioning• Application provisioning
New with Titan:• Remote customer care• Trouble shooting• Config Mgmt
Operator
Native Apps
MyApps
MyDB
28
• In OMA-DM, all device capabilities and data points are kept in a tree like structure, the Device Management Tree (DMT).
• OSGi has defined DMTs for many functional areas: • Application life-cycle management• Log Service & Monitoring• Configuration Admin• Policy Management
• Developers can extend the DMT with their own subtree. Extensions can be deployed on the fly!
• Fine grained security concept by ACL for each tree node. Use case: operators can grant enterprises partial access to the DMT
Remote Management: OMA-DM & DMT
OSGi Spec: DTM Admin
29
Remote Management: Management Tree
Source: Sprint Titan Slides
NativeDMT
Native OMA-DM Client
Mobile OSGiDMT
Java OMA-DM ClientMobile OSGi
Your Custom DMT
ExtensionBundle(s)
OMA-DM Mobile Device Mgmt Server
Option: Your CustomManagement Agent
30
Remote Management: OMA-DM Message<SyncML> <SyncHdr> <VerDTD>1.2</VerDTD> <VerProto>DM/1.2</VerProto> <SessionID>11a76b4234a4</SessionID> <MsgID>35</MsgID> <Target> <LocURI>dancho-006</LocURI> </Target> <Source> <LocURI>http://localhost:9090/syncml-dm?mPRM425</LocURI> </Source> </SyncHdr> <SyncBody> <Status> <CmdID>1</CmdID> <MsgRef>35</MsgRef> <CmdRef>0</CmdRef> <Cmd>SyncHdr</Cmd> <Data>212</Data> </Status> <Sequence> <CmdID>2</CmdID> <Add> <CmdID>3</CmdID> <Item> <Target> <LocURI>./OSGi/Deployment/Download/ISEL0QGUZJ</LocURI> </Target> <Meta> <Format xmlns='syncml:metinf' >node</Format> </Meta> </Item> </Add>
<Replace> <CmdID>4</CmdID> <Meta> <Format xmlns='syncml:metinf' >chr</Format> <Type xmlns='syncml:metinf' >text/plain</Type> </Meta> <Item> <Target> <LocURI>./OSGi/Deployment/Download/ISEL0QGUZJ/URI</LocURI> </Target> <Data>http://localhost:9090/syncml-dl/BIDFHAG1ISR</Data> </Item> <Item> <Target> <LocURI>./OSGi/Deployment/Download/ISEL0QGUZJ/ID</LocURI> </Target> <Data>ISEL0QGUZJ</Data> </Item> </Replace> <Exec> <CmdID>5</CmdID> <Correlator>FG0WJHUB-GRF</Correlator> <Item> <Target> <LocURI>./OSGi/Deployment/Download/ISEL0QGUZJ/Operations/DownloadAndInstallAndActivate</LocURI> </Target> </Item> </Exec></Sequence> <Final/> </SyncBody></SyncML>
31
• Best chance of cross-platform portability of applications – CDC/FP provides the base
• Leveraging Java programmer resources• Most advanced runtime for business logic
Key feature: Java Language
YourRichApp
Android
Mobile OSGi
Nokia S60 Win Mobile Brew Linux
YourRichAppYourRichApp YourRichApp YourRichApp YourRichApp
Mobile OSGi Mobile OSGi Mobile OSGi Mobile OSGi
32
OSGi R4 Mobile Specification
OSGi Core Framework & Service Registry
Configuration MO
Log MO
Monitor MO
Deployment MO
Policy MO
Application Model MO
DM
T A
dmin
Ser
vice
OMADM
Adaptor
OtherProtocolAdaptor
Log Service
Config Admin Service
Metatype Service
IO Connector Service
Declarative Services
Event Admin Service
Deployment Admin Service
Auto Configuration
Application Admin Service
Mobile Conditions Service
Monitor Admin Service
Service Tracker
XML Parser Service
For
eign
App
licat
ion
Acc
ess
App
licat
ion
Con
tain
ers
App
licat
ions
Additional OSGi Services(eg. Perm. Admin, Package Admin, …)
33
Mobile OSGi: High Level Architecture
NativeJava
CDC VM
Foundation Profile
Shell
Cert Store
Installer
Handlers
AMS
Mobile OSGiJSRs
eSWT
OMA-DM Client
MIDP2
eRCP Cont.
Midlet Cont.Xlet Cont.
App1 App2 Bundle DPJNIxyz
34
Mobile OSGi Toolsets
35
Mobile OSGi Tooling Support provided by SprintDevelopment Host
Target Device DM Server Host
OMA-DMServer SW
Repository
OMA-DMServer
Console
Eclipse IDE
Titan Runtime
(Mobile OSGi)
WM Emulator
TitanRuntime
Profile Agents
Local Console
ProSystJProfiler
I/FStack
J9Launcher
DPEditor
RemoteMgmtPlugin
OMA DM Stack
Instrumentation Agent
36
Remote Device Management
37
Device Runtime Configurations
38
Deployment Package Editor
39
Conclusion
40
Needs of mobile enterprise developers, revisited
Security
Application Environment
Mobile Device Management
Toolset
• Secure runtime system• Data security• Protocol security
• Portability across many platforms• Rich UI capabilities• Adjustable device policy• Component & SOA model• Enabled for middleware
• Application Lifecycle Management• Configuration & Policy Management• Remote Diagnostics & Assistance• Data synchronization• Device lock and data wipe
• One IDE for mobile & non-mobile • Leverage existing server or desktop frameworks (i.e. RCP, JMS, …)• On-device debugging & profiling• Device Emulation
Contained in Mobile OSGi Agnostic in Mobile OSGi
41
• Still it can’t be run on all devices• CDC/FP=3MB + OSGi=1.2MB + Service=1.3MB = Total=5.5MB• eRCP/eSWT + simple app adds another 3MB
• It does not present a UI story by itself• App models depend on UI toolkits• UI toolkits might not be available across all platforms
• Integration of CLDC based component JSRs into CDC is a challenge
• Mobile OSGi not yet available on all platforms• Very little market penetration at the moment
but that will change soon (refer to Sprint Titan)
Does Mobile OSGi solve all your problems? No!
42
Next Steps!
43
• Sprint offers a complete Mobile OSGi stackfor download (WinMobile based):• http://developer.sprint.com• http://developer.sprint.com/site/global/develop/techn
ologies/sprint_titan/p_sprint_titan.jsp
• Comes with a complete set of Eclipse basedtools for plugin development, DP editing,deployment, remote debugging and profiling
• Documentation, Videos
Try it out!
44
Member of:
Joachim Ritter
Mobile: +49 171 3333 615
http://mobileosgi.blogspot.com
ProSyst Software GmbH
Dürener Straße 405
D-50858 Cologne, Germany
Tel. +49 221 6604-0
Fax +49 221 6604-660
www.prosyst.com