osgi and other technologies - p kriens
TRANSCRIPT
OSGi & Other TechnologiesPeter Kriens, aQuteOSGi Fellow
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?
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
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
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
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 SystemOperating SystemOperating System
JavaJavaVMVMJavaJava
VMVM
The ApplicationThe Application
CryptoCrypto--graphygraphy UPnPUPnP DirecDirec--
toriestories
ImagingImaging
MailMail
MediaMediaFWFW SQLSQL
GUIGUI
DistriDistri--butedbuted
CommCommPortsPorts SecuritySecurity TCP/IPTCP/IP
JTAPIJTAPI 3D3D WebWebServerServer MathMath
SpeechSpeech BlueBlue--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
OSGiOSGiOSGiOSGi
OSGiOSGiOSGiOSGi
ApplicationApplicationApplicationApplication
ApplicationApplication
ApplicationApplicationApplicationApplication
ApplicationApplicationApplicationApplication
LibraryLibrary
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
www.aQute.biz
UPnP & OSGi
! Sounds awfully similar to OSGi???
! Confused?
www.aQute.biz
UPnP & OSGi
! UPnP defines a communicationprotocol
! OSGi defines an execution environment
! Device! Bundle/Application code! Service
OSGIOSGI
OSGIOSGI
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
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
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 andmanagement of the applications
! Excellent match!
Internet
IntranetIntranet
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
:) :: -- ((;;--))
::--))
:|:) :|
:|
:) >:(
>:(
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
:)
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 XPor 2000or 2000
Embedded Embedded XPXP CE .NETCE .NET
Com
mon
Lan
guag
e Spe
cifica
tion
Com
mon
Lan
guag
e Spe
cifica
tion
Common Language RuntimeCommon Language Runtime
ADO.NETADO.NETASP.NETASP.NET Windows Windows FormsForms
ApplicationsApplications
LibrariesLibraries
COM
Lega
cyCO
M Le
gacy
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
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! [email protected]
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
Questions ?