osgi & other technologies peter kriens, aqute osgi fellow

15
OSGi & Other Technologies Peter Kriens, aQute OSGi Fellow

Upload: colin-blair

Post on 27-Mar-2015

226 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: OSGi & Other Technologies Peter Kriens, aQute OSGi Fellow

OSGi & Other Technologies

Peter Kriens, aQuteOSGi Fellow

Page 2: OSGi & Other Technologies Peter Kriens, aQute OSGi 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?

Page 3: OSGi & Other Technologies Peter Kriens, aQute OSGi Fellow

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

Page 4: OSGi & Other Technologies Peter Kriens, aQute OSGi Fellow

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

Page 5: OSGi & Other Technologies Peter Kriens, aQute OSGi Fellow

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

Page 6: OSGi & Other Technologies Peter Kriens, aQute OSGi Fellow

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

Page 7: OSGi & Other Technologies Peter Kriens, aQute OSGi Fellow

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

Page 8: OSGi & Other Technologies Peter Kriens, aQute OSGi Fellow

www.aQute.biz

OSGi Service Platform

UPnP & OSGi

Sounds awfully similar to OSGi???

Confused?

Page 9: OSGi & Other Technologies Peter Kriens, aQute OSGi Fellow

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

Page 10: OSGi & Other Technologies Peter Kriens, aQute OSGi Fellow

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

Page 11: OSGi & Other Technologies Peter Kriens, aQute OSGi Fellow

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

:) :-(:-(;-)

;-)

:-)

:-)

:|:) :|

:|

:) >:(

>:(

Page 12: OSGi & Other Technologies Peter Kriens, aQute OSGi Fellow

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

:)

Page 13: OSGi & Other Technologies Peter Kriens, aQute OSGi Fellow

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

Page 14: OSGi & Other Technologies Peter Kriens, aQute OSGi Fellow

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

:);)

Page 15: OSGi & Other Technologies Peter Kriens, aQute OSGi Fellow

Questions ?