OSGi and Other Technologies - P Kriens

19
OSGi & Other Technologies Peter Kriens, aQute OSGi Fellow

Transcript of OSGi and Other Technologies - P Kriens

Page 1: OSGi and Other Technologies - P Kriens

OSGi & Other TechnologiesPeter Kriens, aQuteOSGi Fellow

Page 2: OSGi and Other Technologies - P Kriens

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?

Page 3: OSGi and Other Technologies - P Kriens

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

Page 4: OSGi and Other Technologies - P Kriens

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

Page 5: OSGi and Other Technologies - P Kriens

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

Page 6: OSGi and Other Technologies - P Kriens

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

Page 7: OSGi and Other Technologies - P Kriens

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

Page 8: OSGi and Other Technologies - P Kriens

www.aQute.biz

UPnP & OSGi

! Sounds awfully similar to OSGi???

! Confused?

Page 9: OSGi and Other Technologies - P Kriens

www.aQute.biz

UPnP & OSGi

! UPnP defines a communicationprotocol

! OSGi defines an execution environment

! Device! Bundle/Application code! Service

OSGIOSGI

OSGIOSGI

Page 10: OSGi and Other Technologies - P Kriens

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

Page 11: OSGi and Other Technologies - P Kriens

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

Page 12: OSGi and Other Technologies - P Kriens

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

Page 13: OSGi and Other Technologies - P Kriens

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

:) :: -- ((;;--))

::--))

:|:) :|

:|

:) >:(

>:(

Page 14: OSGi and Other Technologies - P Kriens

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

:)

Page 15: OSGi and Other Technologies - P Kriens

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

Page 16: OSGi and Other Technologies - P Kriens

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

Page 17: OSGi and Other Technologies - P Kriens

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]

Page 18: OSGi and Other Technologies - P Kriens

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

Page 19: OSGi and Other Technologies - P Kriens

Questions ?