OSGi Mobile Platform

Download Report

Transcript OSGi Mobile Platform

Universal
Middleware
Peter Kriens
Technical Director OSGi
[email protected]
Contents
OSGi/Java and Embedded
 Trends
 900 Million Phones can not be wrong
 What can OSGi/Java give you?
 Service Oriented Architectures
 Real Life Applications
 Conclusions

OSGi/Java and Embedded

Common prejudices:
 Java
is too expensive, adds too much to the
Bill Of Material (BOM)
 Java is slow
 Java is a security risk
 Nobody in the embedded world is using it
 .NET is much better
 Java is for sissies, C is for real men
OSGi/Java and Embedded
Some of the prejudices are, or have been,
more or less true.
 However, developing embedded software
in Java has also a lot of advantages:

 Software
development in Java is less error
prone, faster, and cheaper
 There is an awful lot of interesting software
out there that is useful for connected devices
OSGi/Java and Embedded

The interesting question remains:
 What

will happen in the future?
Let us look at some trends …
Trends
Increasing Software Cost
 More Connected Devices
 Decreasing Hardware Cost

Trend: Increasing Software Cost

Software is becoming a bigger and bigger part of
the product’s life
 This

is often not well reflected in the BOM
Complexity of the software is increasing due to:
 Exploding
number of configurations. Managing the
software for these configurations can be a nightmare
 Compatibility with more and more legacy. A current
DVD player has over a million lines of code!
 People want more features and most of the features
reside in the software
Trend: Increasing Software Cost


Application
Development requires
man, many, choices
that are different for
different
environments
Binaries can only be
deployed on their
target platform, and
then …
Applications
OS
CPU
IO
Trend: Increasing Software Cost
x86
V850E
S390
Sparc
In the end, the number of
combinations severely
constrain the hardware
choices
Sh4

?
PowerPC
Thread architecture
 Optimization levels
 Endian
 …
PArisc

Mips
Don’t forget
Ignite

Alpha
24 OS’s
 12 CPUs

AIX
DigitalUnix
embos
Epoc32
FreeBSD
HPUX
IRIX
Linux
MacOS
NetBSD
Netware
OpenBSD
OS2
QNX
Solaris
SunOS
VxWorks
Windows95
Windows98
WindowsNT
WindowsCE
Windows2000
WindowsXP
ARM
The OSGi Alliance maintains a
list of OS/CPU combinations
that support Java/OSGi
68K

Trend: More Connected Devices


Devices are more and more becoming connected to the
Internet
Protocols


Security


TCP/IP, UPnP, DLNA, SMTP, DNS, Jini, Rendezvous, SLP,
HTTP, WebDAV, FTP, Juxta, MSN, Jabber, AIM, Web 2.0,
Atom/REST, OMA DM, MP3, MPEG, etc., etc.
Connected devices are prone to viruses
After sales support is becoming harder and harder

Updating software after sales is hard (if possible) and expensive
Trend: Decreasing Hardware Cost




At large quantities, flash costs < 2 $cts a Mb
Modern CPU’s run at >200 Mhz
Adding OSGi/Java is not a pipe dream anymore
How many companies made the trade off
calculations between a better software
development environment and BOM cost?
900 Million Phones can not be
Wrong

900 million phones run Java, despite:
 Severe
cost limitations
 Severe power constraints

Java is feasible on embedded devices
today
 Maybe
not for the smallest CE devices, but a
significant number of devices could benefit
What can OSGi/Java Give You?

Simplified Software Configuration Management
due to use of Java
 Less

combinations to worry about
Powerful deployment model
 Remote

lifecycle management
Service Oriented Architecture
 Easier
to mix and match components into
applications: Reusable components

Secure software environment
 After
sales downloads
What can OSGi/Java Give You?

Simplified Software
Configuration
Management


Write once, run unmodified
at a lot of places!
Clean service model



Simplifies software
development
Reuse of components
Easier to buy
Java VM
OS
CPU
IO
Remote Management

Powerful software deployment model





The software life-cycle does not stop when a networked device
leaves the factory
Updates and new installs are a fact of life
(Remote) Management is an intrinsic and non-trivial aspect of
today’s device software
The OSGi Alliance has standardized the API for remote device
management
Benefits:



Supports any number of management protocols
Optimized solutions for specific problems
Reduces management costs
Service Oriented Architectures

Separate the contract
from the implementation


Dynamically discover and
bind available
implementations


Allows alternate
implementations
Based on contract
(interface)
Components are reusable

Not coupled to
implementation details
Service Contract
provides
Component
uses
The Service Registry


Why? Provides decoupling between applications
How? Provides a programming service model

Discover (and get notified about) services based on their interface or
properties
 Bind to one or more services by




program control,
default rules, or
deployment configuration
OSGi Service Platform Benefits:

Components are smaller (easier to make) and not coupled to other
components (gives reusability)
 Excellent model for the myriad of customizations and variation that are
required of today’s devices
 Collaboration model
Real Life Applications Using OSGi









X-ray measurement
Systems
BMW 7 series
Eclipse
Siemens Medical
Nokia E70
Siemens Gigaset SX765
Espial Set-top box
VDO on-board computer
Etc. etc. etc.
Conclusion



The OSGi Service Platform provides an
excellent environment for system, firmware,
middleware and application software
The service architecture solves many of the
complex customization issues that are part of
massive market devices like mobile phones and
telematic units.
The security model is the most fine grained
model available without becoming
unmanageable
OSGi
=
Universal Middleware!