Date post: | 27-Mar-2015 |
Category: |
Documents |
Upload: | colin-blair |
View: | 226 times |
Download: | 0 times |
OSGi & Other Technologies
Peter Kriens, aQuteOSGi Fellow
www.aQute.biz
OSGi Service Platform
OSGi & Other Technologies
Overview
OSGi's Place In The World
The OSGi Service Platform?
Java & OSGi
UPnP & OSGi
Microsoft .NET
So Why OSGi?
www.aQute.biz
OSGi Service Platform
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
www.aQute.biz
OSGi Service Platform
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
www.aQute.biz
OSGi Service Platform
The OSGi Service Platform
Operating System & HardwareOperating System & Hardware
Java VMJava VM
OSGiOSGiFrameworkFramework
BundleBundleBundleBundle
BundleBundle
BundleBundle
BundleBundle
ManagementManagementBundleBundle
OSGi ServiceOSGi ServiceProtocol StackProtocol Stack
www.aQute.biz
OSGi Service Platform
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 SystemOperating SystemOperating System
JavaJavaVMVMJavaJava
VMVM
The ApplicationThe Application
Crypto-Crypto-graphygraphy UPnPUPnP Direc-Direc-
toriestories
ImagingImaging
MailMail
MediaMediaFWFW SQLSQL
GUIGUI
Distri-Distri-butedbuted
CommCommPortsPorts SecuritySecurity TCP/IPTCP/IP
JTAPIJTAPI 3D3D WebWebServerServer MathMath
SpeechSpeech Blue-Blue-toothtooth XMLXML USBUSB
The ApplicationThe Application
Operating SystemOperating SystemOperating SystemOperating SystemOperating SystemOperating System
Operating SystemOperating System
JavaJavaVMVMJavaJava
VMVMJavaJavaVMVMJavaJava
VMVM
JavaJavaVMVMJavaJava
VMVMJavaJavaVMVMSystem Class LibrariesSystem Class Libraries
OSGiOSGi
OSGiOSGiOSGiOSGi
OSGiOSGi
ApplicationApplicationApplicationApplication
ApplicationApplication
ApplicationApplicationApplicationApplication
ApplicationApplicationApplicationApplication
LibraryLibrary
www.aQute.biz
OSGi Service Platform
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
www.aQute.biz
OSGi Service Platform
UPnP & OSGi
Sounds awfully similar to OSGi???
Confused?
www.aQute.biz
OSGi Service Platform
UPnP & OSGi
UPnP defines a communication protocol
OSGi defines an execution environment
Device Bundle/Application code Service
OSGIOSGI
OSGIOSGI
www.aQute.biz
OSGi Service Platform
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
www.aQute.biz
OSGi Service Platform
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
:) :-(:-(;-)
;-)
:-)
:-)
:|:) :|
:|
:) >:(
>:(
www.aQute.biz
OSGi Service Platform
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
:)
www.aQute.biz
OSGi Service Platform
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 Dynamic Pluggable Remote
Management Open specifications Optimizations for the myriad of
niche applications
C#C#
'VB''VB'
'J#''J#'
'C++''C++'
......
Windows XPWindows XPor 2000or 2000
Embedded Embedded XPXP
CE .NETCE .NET
Com
mon
Lan
guag
e Sp
ecifi
catio
nC
omm
on L
angu
age
Spec
ifica
tion
Common Language RuntimeCommon Language Runtime
ADO.NETADO.NETASP.NETASP.NET Windows Windows FormsForms
ApplicationsApplications
LibrariesLibraries
CO
M L
egac
yC
OM
Leg
acy
www.aQute.biz
OSGi Service Platform
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
:);)
Questions ?