Slide 1: What Mobile OSGi offers to mobile enterprise developers
Joachim Ritter, ProSyst Software
Slide 2: Objectives of this Talk
• Explain how Mobile OSGi is positioned in the market of mobile application platforms • Explain how mobile enterprise developers benefit from using Mobile OSGi • Provide overview of market uptake
2
Slide 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
3
Slide 4: The mobile enterprise market place and how Mobile OSGi fits into the picture
4
Slide 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 to total 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
5
Slide 6: Needs of mobile enterprise developers
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
Security
• Secure runtime system • Data security • Protocol security • Robustness
Toolset
• One IDE for mobile & non-mobile • Leverage existing server or desktop frameworks (i.e. RCP, JMS, …) • On-device debugging & profiling • Device Emulation
6
Slide 7: Market Ecosystem: Complex structures
Standardization Bodies Middleware Developer SW Vendors
Device OEM
Aggregator Enterprise App Developer
Operator
Service Provider
Business User
Private User
7
Slide 8: Technology Fragmentation
• OS Platforms
• Symbian
• S60, UIQ, FOMA
Q3 2007
• Linux
• LiMo, LiPs, Qtopia…
• Access • Win Mobile
• <v6.1, >=v6.1
• • • •
RIM Apple iPhone Google Android Others
8
Slide 9: Technology Fragmentation, cont.
• 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
• 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 combination matrix of existing runtime platforms
9
Slide 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
10
Slide 11: Where Mobile OSGi fits in
Applications Application Phone Execution Environment Remote Access
Mobile OSGi
Operating System
By combining some of the platform elements and by making them available cross-platform, Mobile OSGi de-fragments the market!
11
Slide 12: Brief Introduction to OSGi
12
Slide 13: OSGiTM is a small piece of software
• That goes into all sorts of devices and systems …
OSGi
13
Slide 14: OSGi is a manageable Framework
• which executes your services and applications • which encapsulates device and network specifics
OSGi
Service A
Service B
Application C
Application D
Service & Component Framework Operating System & Drivers Hardware Platform
14
Slide 15: OSGi is a Worldwide Standard
• The Dynamic Module System for JavaTM • Specification developed by the OSGi Alliance • Adopted by a rapidly growing community
15
Slide 16: OSGi is getting adoped in many Verticals
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 …
16
Slide 17: OSGi Developer Ecosystem
OSGi is easy to learn and leverages developers from J2EE, J2SE and J2ME Java communities Rapidly growing base of existing development tools, excelled by open source communities The Eclipse toolchain is based on OSGi!!
17
Slide 18: Technical Review: What Mobile OSGi has to offer
18
Slide 19: Key features of Mobile OSGi
• • • • • • 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…)
19
Slide 20: Key feature: Compon. & Service Model
• Component based deployment model • SOA-in-the-VM model
CLDC/MIDP 2 Process Java Native JSR Monolithic MIDlet Application JSR Mobile OSGi process (always on) Native Java Library Std Srv. Service Provider Std Srv. App App GUI App Logic Utility JSR JSR
JNI
20
Slide 21: Key feature: Remoting
• • • • • • 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
21
Slide 22: Key feature: Security & Policy Model
• Security model based on Java 2 • Permissions are managed through PermissionAdmin and ConditionalPermissionAdmin • Static device policy definition mapped into dynamic model • Device policy can be changed and tailored to the specific needs of your enterprise (provided the operator grants you that privilige)
22
Slide 23: Key feature: Multi App Model Support
• 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
23
Slide 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
24
Slide 25: Key feature: Multi App Model Support, cont.
• New App models will emerge: Server in the Pocket
Mobile OSGi
Http Service
Phone
FlashLite Browser
Your app business logic Resources
Location API
Bluetooth API
…
25
Slide 26: Key feature: Remote Management
• Concept of management domains
Your Enterprise Mgmt Server
• Device mgmt • Provisioning
Mgmt Server
• App mgmt • Provisioning • Configuration • Support
Source: Sprint Titan Slides 26
Slide 27: Remote Management: Domains
Operator
MyApps
• Device provisioning • Network provisioning • Application provisioning New with Titan: • Remote customer care • Trouble shooting • Config Mgmt
Your Enterprise
• Application provisioning • Application life-cycle • Configuration Mmgt • Remote & local Monitoring • Remote Support
MyDB Native Apps
Source: Sprint Titan Slides 27
Slide 28: Remote Management: OMA-DM & DMT
• 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
OSGi Spec: DTM Admin
28
Slide 29: Remote Management: Management Tree
OMA-DM Mobile Device Mgmt Server
Native OMA-DM Client
Java OMA-DM Client
Mobile OSGi
Your Custom DMT Extension Bundle(s)
Native DMT
Mobile OSGi DMT
Option: Your Custom Management Agent
Source: Sprint Titan Slides 29
Slide 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/Download AndInstallAndActivate</LocURI> </Target> </Item> </Exec></Sequence> <Final/> </SyncBody> </SyncML>
30
Slide 31: Key feature: Java Language
• Best chance of cross-platform portability of applications – CDC/FP provides the base • Leveraging Java programmer resources • Most advanced runtime for business logic
YourRichApp
YourRichApp Mobile OSGi
YourRichApp Mobile OSGi
YourRichApp Mobile OSGi
YourRichApp Mobile OSGi
YourRichApp Mobile OSGi
Nokia S60
Win Mobile
Brew
Linux
Android
31
Slide 32: OSGi R4 Mobile Specification
XML Parser Service
Foreign Application Access
Service Tracker Monitor Admin Service Mobile Conditions Service Application Admin Service Auto Configuration Deployment Admin Service Event Admin Service Declarative Services IO Connector Service Metatype Service Config Admin Service Log Service
Application Containers
Policy MO Deployment MO Monitor MO Log MO Configuration MO
DMT Admin Service
Application Model MO
OMA DM Adaptor Other Protocol Adaptor
Applications
Additional OSGi Services
(eg. Perm. Admin, Package Admin, …)
OSGi Core Framework & Service Registry
32
Slide 33: Mobile OSGi: High Level Architecture
Native xyz Shell
Cert Store
JNI
App1
App2
Bundle
DP
Java eSWT
Xlet Cont. eRCP Cont.
Midlet Cont.
OMA-DM Client MIDP2 JSRs
Installer Handlers AMS
Mobile OSGi
Foundation Profile CDC VM
33
Slide 34: Mobile OSGi Toolsets
34
Slide 35: Mobile OSGi Tooling Support provided by Sprint
Development Host Eclipse IDE
J9 Launcher I/F Stack DP Editor ProSyst JProfiler Remote Mgmt Plugin
WM Emulator
Titan Runtime
OMA-DM Server Console
Titan Runtime (Mobile OSGi)
Instrumentation Agent Profile Agents Local Console OMA DM Stack
OMA-DM Server
SW Repository DM Server Host
35
Target Device
Slide 36: Remote Device Management
36
Slide 37: Device Runtime Configurations
37
Slide 38: Deployment Package Editor
38
Slide 39: Conclusion
39
Slide 40: Needs of mobile enterprise developers, revisited
Security
• Secure runtime system • Data security • Protocol security
Mobile Device Management
• Application Lifecycle Management • Configuration & Policy Management • Remote Diagnostics & Assistance • Data synchronization • Device lock and data wipe
Application Environment
• Portability across many platforms • Rich UI capabilities • Adjustable device policy • Component & SOA model • Enabled for middleware Contained in Mobile OSGi
Toolset
• One IDE for mobile & non-mobile • Leverage existing server or desktop frameworks (i.e. RCP, JMS, …) • On-device debugging & profiling • Device Emulation Agnostic in Mobile OSGi
40
Slide 41: Does Mobile OSGi solve all your problems? No!
• 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)
41
Slide 42: Next Steps!
42
Slide 43: Try it out!
• Sprint offers a complete Mobile OSGi stack for download (WinMobile based):
• http://developer.sprint.com • http://developer.sprint.com/site/global/develop/technologie
• Comes with a complete set of Eclipse based tools for plugin development, DP editing, deployment, remote debugging and profiling • Documentation, Videos
43
Slide 44: Joachim Ritter j.ritter@prosyst.com Mobile: +49 163 6604 405 http://mobileosgi.blogspot.com
Member of:
ProSyst Software GmbH Dürener Straße 405 D-50858 Cologne, Germany Tel. +49 221 6604-0 Fax +49 221 6604-660 info@prosyst.com www.prosyst.com
44
thank you