Swan(sea) Song – personal research during my six years at Swansea ... and bey...
OSGi and Other Technologies - P Kriens
1. OSGi & Other Technologies
Peter Kriens, aQute
OSGi Fellow
2. www.aQute.biz
OSGi & Other Technologies
Overview
! OSGi's Place In The World
! Java & OSGi
! UPnP & OSGi
! Web Services & OSGi
! Microsoft .NET
! So Why OSGi?
3. www.aQute.biz
OSGi's Place In The World
! More and more demand for
connected systems
! Remote Diagnostics &
Maintenance
! Downloading and running new
services
! Inter-operability becomes an
issues
! Too many standards
! Bridging is hard or impossible
! Danger of creating islands
4. www.aQute.biz
OSGi's Place In The World
! Building systems is hard
! Connected systems are even
harder to build
! Distribution adds failure points
! Difficult to fix bugs remotely
! Upgrades
! How can the devices on a
network inter-operate?
! New devices
! New services
! New standards
! It is a giant puzzle!
! The keyword is extendibility
5. www.aQute.biz
OSGi's Place In The World
! The OSGi specifications define
a Java environment, just like an
operating system, for networked
services.
! A networked service:
! Can be deployed over a
network
! Adds a variety of functions to
the device
! May be managed, under the
control of an operator
! Intended for all types of devices
as long as they are networked
! Mobile phones, Gateways,
PDAs, desktops, cars, and
enterprise servers
6. www.aQute.biz
Java & OSGi
! More than a programming
language …
! Standardized interfaces:
Multiple implementations
! Access to tens of thousands of
software libraries
! Application is: start - stop
! Is this sufficient for networked
devices?
! OSGi Specifications provide:
! An in-VM application model.
! A Service Registry for service
discovery
! A delivery format
! The OSGi fills a gap in Java
Operating SystemOperating System
Operating SystemOperating System
JavaJava
VMVMJavaJava
VMVM
The ApplicationThe Application
CryptoCrypto--
graphygraphy
UPnPUPnP
DirecDirec--
toriestories
ImagingImaging
MailMail
MediaMedia
FWFW
SQLSQL
GUIGUI
DistriDistri--
butedbuted
CommComm
PortsPorts
SecuritySecurity TCP/IPTCP/IP
JTAPIJTAPI 3D3D
WebWeb
ServerServer
MathMath
SpeechSpeech
BlueBlue--
toothtooth
XMLXML USBUSB
The ApplicationThe Application
Operating SystemOperating System
Operating SystemOperating System
Operating SystemOperating System
Operating SystemOperating System
JavaJava
VMVMJavaJava
VMVM
JavaJava
VMVMJavaJava
VMVM
JavaJava
VMVMJavaJava
VMVM
JavaJava
VMVMSystem Class LibrariesSystem Class Libraries
OSGiOSGi
OSGiOSGi
OSGiOSGi
OSGiOSGi
ApplicationApplication
ApplicationApplication
ApplicationApplication
ApplicationApplication
ApplicationApplication
ApplicationApplication
ApplicationApplication
LibraryLibrary
7. www.aQute.biz
UPnP & OSGi
! Universal Plug aNd Play
! A standard to let appliances
communicate
! Functions
! Device/Service Discovery
standard: SSDP
! Remote Execution: SOAP
! Device Interface Descriptions:
WSDL
! Allows for pre-defined, device
resident, and generated GUIs
! Device
! OSGi Based Device
9. www.aQute.biz
UPnP & OSGi
! UPnP defines a communication
protocol
! OSGi defines an execution
environment
! Device
! Bundle/Application code
! Service
OSGIOSGI
OSGIOSGI
10. www.aQute.biz
UPnP & OSGi
! The OSGi Service Platform is a
perfect execution environment
for UPnP enabled services!
! The OSGi Alliance has
standardized a UPnP Service
that makes empowering a
device with UPnP very easy
! The Service Platform could
become available as a
standardized UPnP Device in
the future
! A marriage made in heaven!
OSGIOSGI
OSGIOSGI
11. www.aQute.biz
Web Services & OSGi
! Web Services allow computers
to communicate
! Text Based, so it is easy to
route traffic through firewalls
! Uses XML standards for
communication:
! SOAP
! UDDI
! WSDL
! XSchema
! …
! Heavily supported by the
industry
! Google
! Amazon
Internet
IntranetIntranet
12. www.aQute.biz
Web Services & OSGi
! The OSGi Service Platform is
an excellent environment for
implementing web services
! Receiving
! Sending
! Registries
! The OSGi Service Platform
simplifies the
deployment and
management of the
applications
! Excellent match!
Internet
IntranetIntranet
13. www.aQute.biz
OSGi & .NET
! Java captured significant market
share in the 90s because Java:
! Is easier to program than C++
! Has robust automatic memory
management
! Provides a security model
! Microsoft noticed the advantage
and "adopted" Java
! However, they optimized their
implementation for Windows
! This invalidated the "write once,
run everywhere" mantra
! Obviously, SUN was not smiling
:)
::--((;;--))::--))
:|:)
:|:|
:)
>:(>:(
14. www.aQute.biz
OSGi & .NET
! So SUN sued Microsoft
! Microsoft kept Java at Version
1.1 (Still today)
! The OSGi was founded to use
Java with networked services
! Microsoft introduced .NET
! Based on exactly the same
principles as Java
! Heavily optimized (and
compatible with Windows)
! SUN extended Java with J2ME
and J2SE
! Microsoft developed several
products for .NET and renamed
more products to .NET
;);)
:(
:):)
.NET.NET
:|
:|:|
.NET.NET
.NET.NET
.NET.NET
.NET.NET
.NET.NET
.NET.NET
:)
15. www.aQute.biz
C#C#
'VB''VB'
'J#''J#'
'C++''C++'
......
OSGi & .NET
! .NET Framework
! Provides all of the technical
advantages of Java, and more
! Has virtually the same
characteristics
! Comprehensive range of
products
! But lacks
! Good remote management
! Life cycle management
! Optimizations for the myriad of
niche applications
! Independent specifications
Windows XPWindows XP
or 2000or 2000
EmbeddedEmbedded
XPXP
CE .NETCE .NET
CommonLanguageSpecificationCommonLanguageSpecification
Common Language RuntimeCommon Language Runtime
ADO.NETADO.NETASP.NETASP.NET
WindowsWindows
FormsForms
ApplicationsApplications
LibrariesLibraries
COMLegacyCOMLegacy
16. www.aQute.biz
OSGi & .NET
! .NET's second cornerstone is:
! Web Services!
! Web Services level the playing
field
! Web Services implemented
with Microsoft can be called
from Java/OSGi based systems
! The choice from an
implementation environment
can now be based on
technology, not market lock in!
Internet
IntranetIntranet
MS
OSGi
17. www.aQute.biz
JAVA.NET
! aQute & Inventures are
preparing a comprehensive
comparison of the Java and
.NET:
! Strategies
! Technologies
! Adoption
! Applicability
! Markets
! Standards
! We are looking for experiences,
stories, and requirements
! Peter.Kriens@aQute.se
18. www.aQute.biz
So Why OSGi?
! The non-proprietary nature of
Java is future proof
! Multiple choices
! No party with market lock
! Large number of parties that
make variations on the theme
! The OSGi service platform is
complementary to many existing
technologies
! A well defined run-time environ-
ment for connecting devices
! The OSGi Specifications a
unique remote deployment
model
! Web Services level the playing
field with .NET