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!