aqute about the osgi alliance peter kriens osgi fellow

39
aQute About the OSGi Alliance Peter Kriens OSGi Fellow

Upload: samuel-allen

Post on 27-Mar-2015

222 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: aQute About the OSGi Alliance Peter Kriens OSGi Fellow

aQuteAbout the OSGi Alliance

Peter KriensOSGi Fellow

Page 2: aQute About the OSGi Alliance Peter Kriens OSGi Fellow

©1999-2004 aQute, All Rights Reserved slide #2

Contents

• OSGi Alliance

• Consumer View

• History

• Service Platform

• Evolution

• Technical View

• Remote Management

• The Process

Page 3: aQute About the OSGi Alliance Peter Kriens OSGi Fellow

©1999-2004 aQute, All Rights Reserved slide #3

What will you learn

• What the OSGi tried to achieve

• How the organization evolved a vertical standard to a horizontal standard

• What the core concepts of the service platform are

• How the process works

Page 4: aQute About the OSGi Alliance Peter Kriens OSGi Fellow

©1999-2004 aQute, All Rights Reserved slide #4

OSGi Alliance

• Founded in 1998 by IBM, Ericsson, Nortel, Sybase, Sun, Motorola, Oracle, Nokia, and many others

• Was first called Connected Alliance

• Goal was to develop a standard for home automation– Based on Java Embedded

Server

Page 5: aQute About the OSGi Alliance Peter Kriens OSGi Fellow

©1999-2004 aQute, All Rights Reserved slide #5

Interactive TV

Kitchen Pad

• Ease of Use

• Internet

• Mobility

Screen Phone

PDA

E-Toys

PC

Cordless & MobilePhone

Consumer View

Page 6: aQute About the OSGi Alliance Peter Kriens OSGi Fellow

©1999-2004 aQute, All Rights Reserved slide #6

OSGi Alliance

• The economy caught up with the Alliance in 2000 and much of the momentum was lost, except technically– SP R1 release was May 2000– SP R2 release was November 2001– SP R3 release was March 2003

• The Expert Groups continued working on the specifications

• The result was a specification that was technically advanced and applicable in many other areas– In 2001, the automotive industry joined OSGi– In 2003, the mobile phone industry became interested

Page 7: aQute About the OSGi Alliance Peter Kriens OSGi Fellow

©1999-2004 aQute, All Rights Reserved slide #7

Who is the OSGi Alliance?

4DHomeNet, Inc., Alpine Electronics Europe GmbhAMI-C, Atinav Inc., Belgacom, BMW, Cablevision Systems, Deutsche Telekom, Echelon Corp., Electricite de France (EDF), Espial Group, Inc.,ETRI, France Telecom, Fraunhofer Gesellschaft,Gatespace Telematics AB, IBM Corporation, Insignia Solutions, Institute for Infocomm Research, KDDI R&D Laboratories Inc., Mitsubishi Electric Corporation, Motorola, Inc.,Nokia, NTT, Object XP AG, Oracle Corporation,Panasonic Technologies, Inc., Philips, ProSyst Software AG, Robert Bosch Gmbh, Samsung Electronics Co., Sharp Corporation, Shell, Siemens, Sun Microsystems, Telcordia Technologies, Telefonica I+D, TeliaSonera, Texas Instruments, Inc., Toshiba Corporation

OSGi AllianceMembers by Region

41% 32%

27%

Asia/Pacific

EMEA

North/South America

Global Cross Industry Consortium

Page 8: aQute About the OSGi Alliance Peter Kriens OSGi Fellow

©1999-2004 aQute, All Rights Reserved slide #8

OSGi Deployment Facts

• 26 OSGi member company deployments (non-confidential)– Smart Home/Health Care (14)– Automotive/Infotainment (8)– Service Provisioning (4)

• Plus 10 EU-projects (using OSGi-certified platforms)

• More information:

Deployment Fact Sheet on www.osgi.org

…AND MORE TO COME…

Page 9: aQute About the OSGi Alliance Peter Kriens OSGi Fellow

©1999-2004 aQute, All Rights Reserved slide #9

Internet AnyBroadbandModem

MS1000

Home Monitoring & Control

Audio entertainment

Photo storage & sharing with friends and family

Shared internet access with content filter

USB

802.11 & Ethernet

Sensor network

User Access

Instant messaging

Vision - MS1000 Powers The Connected Home

Page 10: aQute About the OSGi Alliance Peter Kriens OSGi Fellow

©1999-2004 aQute, All Rights Reserved slide #10

Shell Home Genie

• OSGi based-Motorola Gateway and Motorola Gateway Management System (MGMS) selected as the heart of Shell Home Genie

• Shell Home Genie is initially focused on home comfort and management

– Manage climate, lighting, and small appliances from home or away 24/7

• Over time, new services can be added to the HomegenieTM offering, thereby offering a more connected valuable user experience

• A service that makes broadband more universally appealing

Page 11: aQute About the OSGi Alliance Peter Kriens OSGi Fellow

©1999-2004 aQute, All Rights Reserved slide #11

iPronto: Dashboard for a Connected Home

Page 12: aQute About the OSGi Alliance Peter Kriens OSGi Fellow

©1999-2004 aQute, All Rights Reserved slide #12

Why OSGi?serve@Home 1.0 Introduction package

B/S/H/Residential Gateway

BSH-Gateway and Plint (Powerline Interface)

Tablet PC

WLA

NGSM

Powerline

System Interface

Indoor Communication

Outdoor Communication

Page 13: aQute About the OSGi Alliance Peter Kriens OSGi Fellow

©1999-2004 aQute, All Rights Reserved slide #13

About the specifications

• The spec was submitted as JSR 8!

• JCP rules were not compatible with the consortium’s rules and it was decided to leave the JCP

• This has created a gap between JSRs and the OSGi specifications

• JSR 232 hopefully will close this gap

Page 14: aQute About the OSGi Alliance Peter Kriens OSGi Fellow

©1999-2004 aQute, All Rights Reserved slide #14

What is the OSGi Service Platform?

• A Java framework for developing remotely deployed service applications, that require:

– Reliability– Large scale distribution– Wide range of devices– Collaborative

• Created through collaboration of industry leaders

• Spec 3.0 publicly available at www.osgi.org

Page 15: aQute About the OSGi Alliance Peter Kriens OSGi Fellow

©1999-2004 aQute, All Rights Reserved slide #15

UPnPInitial ProvisioningName SpaceJiniStart LevelIO ConnectorWire AdminXML ParserMeasurement & StatePositionExecution Env.

Application ManagerMIDP ContainerSigned BundlesDeclarative ServicesPower ManagementDevice ManagementSecurity PoliciesUPnP ExporterDiagnostics/MonitoringFramework LayeringInitial ProvisioningUPnP…

2000 2001 2003 2005

R1

R2

R3

Planned R4H

ome

Aut

omat

ion

Veh

icle

Mob

ile

FrameworkHttpLogDevice Access

Package AdminConfiguration AdminPermission AdminUser AdminPreferencesMetaTypeService Tracker

Page 16: aQute About the OSGi Alliance Peter Kriens OSGi Fellow

©1999-2004 aQute, All Rights Reserved slide #16

Release 3 Services

Framework

OSGi Specifications Content

Execution Environment

Devic

e M

anag

er

Log

Serv

ice

Http

Ser

vice

R1

User

Adm

in

Serv

ice T

rack

er

Conf

igur

atio

n Ad

min

Pref

eren

ces

Serv

ice

Pack

age

Adm

in

Perm

issio

n Ad

min

R2

Conn

ecto

r Ser

vice

Posit

ion

XML

Pars

er S

ervic

e

UPnP

Ser

vice

Jini S

ervic

e

Wire

Adm

in

Mea

sure

men

t

Star

t Lev

el

URL

Hand

ler

R3

Page 17: aQute About the OSGi Alliance Peter Kriens OSGi Fellow

©1999-2004 aQute, All Rights Reserved slide #17

Essentials

• Reliable– Large-scale deployments fail without extremely high reliability

• Portable– Attract third-party developers to create essential innovative services

• Dynamic– Allow configuration to adapt to user & operator needs over time

• Secure– Protect service providers from each other– Guarantee a prescribed quality of service

• Scalable– Members have very different configurations for their deployment of

OSGi frameworks

Page 18: aQute About the OSGi Alliance Peter Kriens OSGi Fellow

©1999-2004 aQute, All Rights Reserved slide #18

Core Functions

• Life Cycle Management– Install, Start, Stop, Update, Uninstall

• Dynamic Service Registry

• Version management

• Open remote management architecture

• Strict separation of specifications and implementations – multiple implementations

Page 19: aQute About the OSGi Alliance Peter Kriens OSGi Fellow

©1999-2004 aQute, All Rights Reserved slide #19

OSGi Environment

Hardware

BundleBundle

Bundle

Operating System

OSGi

Java VM

Bundle (Application)

Driver Driver Driver

= service interfaceexported and importedby bundles

Page 20: aQute About the OSGi Alliance Peter Kriens OSGi Fellow

©1999-2004 aQute, All Rights Reserved slide #20

Framework

• Allows applications to share a single Java VM

• Manages applications– Life cycle, Java Packages, Security, Dependencies

between applications

• Service registry for collaboration

• Extensive notification mechanism

• Policy free

Page 21: aQute About the OSGi Alliance Peter Kriens OSGi Fellow

©1999-2004 aQute, All Rights Reserved slide #21

Framework Entities

OSGi Framework

Bundle A{}

= service, java interface

Bundle B{}

Bundle C{}

Page 22: aQute About the OSGi Alliance Peter Kriens OSGi Fellow

©1999-2004 aQute, All Rights Reserved slide #22

Bundles

• A bundle is the deliverable application– Like a Windows EXE file

• Contains programs + resources

• A bundle registers zero or more services– A service is specified in a Java interface and may be implemented

by multiple bundles

• Searches can be used to find services registered by other bundles– Query language (filters)

• The Framework itself is represented as the system bundle

Page 23: aQute About the OSGi Alliance Peter Kriens OSGi Fellow

©1999-2004 aQute, All Rights Reserved slide #23

Cooperative Model

• Bundles can cooperate through:– service objects– package sharing

• A dynamic registry allows a bundle to find and track service objects

• Framework fully manages this cooperation– Dependencies, security

• More than an Applet, MIDlet, Xlet runner

Page 24: aQute About the OSGi Alliance Peter Kriens OSGi Fellow

©1999-2004 aQute, All Rights Reserved slide #24

Cooperative Model

JAVA

Operating System

Hardware

Java Application Manager

Serviceregistry

packagespackages

Midlet,Xlet,

orApplet

Midlet,Xlet,

orApplet

No native code

No management bundlesServiceregistry

packagespackages No package management

(versions!)

No cooperation

Page 25: aQute About the OSGi Alliance Peter Kriens OSGi Fellow

©1999-2004 aQute, All Rights Reserved slide #25

Service Specifics

• A service is an object registered with the Framework by a bundle to be used by other bundles

• The semantics and syntax of a service are specified in a Java interface

service

Page 26: aQute About the OSGi Alliance Peter Kriens OSGi Fellow

©1999-2004 aQute, All Rights Reserved slide #26

Services & Java Interfaces

LogBundle

IBMLog

MotorolaLog

implements

Gets from Framework (with query)

interface

public interface Log { public void log(String s);}

SimpleLog

public class SimpleLog implements Log { public void log(String s) { System.out.println( s ); }}

Page 27: aQute About the OSGi Alliance Peter Kriens OSGi Fellow

©1999-2004 aQute, All Rights Reserved slide #27

Dependencies

• The Framework manages the dependencies between bundles

• Bundles that are installed and started will register services

• Framework will automatically unregister services when a bundle stops

• Event notifications for all important events

Page 28: aQute About the OSGi Alliance Peter Kriens OSGi Fellow

©1999-2004 aQute, All Rights Reserved slide #28

Dependencies

Framework

Bundle C{ }

Bundle A{ }

Bundle B{ }

Install A

start

events: install

events: register

Page 29: aQute About the OSGi Alliance Peter Kriens OSGi Fellow

©1999-2004 aQute, All Rights Reserved slide #29

Framework

Dependencies

Bundle C{ }

Bundle B{ }

Uninstall

stop

events: uninstall

events: unregister

Bundle A{ }

Page 30: aQute About the OSGi Alliance Peter Kriens OSGi Fellow

©1999-2004 aQute, All Rights Reserved slide #30

The Classpath in OSGi

• Each bundle has its own class loader

• Bundles can only shares packages when:– Import and export clauses in the manifest match– Have permission to do so for those packages

• The framework manages the overall CLASSPATH for bundles

• Assures that all bundles use the same class (of the same version)

• Tracks shared usage of packages between between bundles

Page 31: aQute About the OSGi Alliance Peter Kriens OSGi Fellow

©1999-2004 aQute, All Rights Reserved slide #31

Native code

• JAR file contains both Java classes + native code

• Matching of correct operating system, processor and language

• Life cycle bound to bundles life cycle

• Requires Java 1.2 support

• Notice that JAR format is only delivery format

Page 32: aQute About the OSGi Alliance Peter Kriens OSGi Fellow

©1999-2004 aQute, All Rights Reserved slide #32

OSGi Security

• Separates bundles from each other, in all aspects

• Optional– Base Framework API not linked to java.security

• OSGi uses a single (1) protection domain per bundle

• Framework is policy free

• Administration is done via the Permission Admin service

Page 33: aQute About the OSGi Alliance Peter Kriens OSGi Fellow

©1999-2004 aQute, All Rights Reserved slide #33

Remote Management

• Framework provides mechanisms, but is policy free

• Management policy provided by a bundle specific to the operator: – Called a Management Bundle

• Management policies made/selected by the operator

• Enables standardized OSGi management bundles from network management vendors

Page 34: aQute About the OSGi Alliance Peter Kriens OSGi Fellow

©1999-2004 aQute, All Rights Reserved slide #34

LocalEthernet

LocalPowernet

Management, protocols or API?

AccessNet

OSGiEnvironment

ManagementSystem

= Bundle

Private protocolfor example:SNMP,CIM, SyncML, etc.

Page 35: aQute About the OSGi Alliance Peter Kriens OSGi Fellow

©1999-2004 aQute, All Rights Reserved slide #35

OSGi Development Process

• Specifications are developed in the Expert Groups– CPEG – Core group– VEG – Vehicle Group– MEG – Mobile Group– Requirements Group

• Groups meet every 6-12 weeks somewhere in the world• New work is started with an RFP• An RFC tracks the progress of technical work• The RFC is voted upon by the EG• CPEG will validate the design• The editor will then write the specification• The EGs will vote the specification• The specification is submitted to the board• The board asks the members to look for IP• The board approves the specfiication

Page 36: aQute About the OSGi Alliance Peter Kriens OSGi Fellow

©1999-2004 aQute, All Rights Reserved slide #36

For Members

• All information is stored on– membercvs.osgi.org

• Information is available through web as well as CVS for convenient access– News– Request for Proposals (RFPs)– Request for Comments (RFCs)– Source tree for Reference Implementations as well as Tests– Tiny Tutorial– Marketing information– Expert Group minutes and info

• Request a login account at www.osgi.org

Page 37: aQute About the OSGi Alliance Peter Kriens OSGi Fellow

©1999-2004 aQute, All Rights Reserved slide #37

Conclusion

• Open specification process, not a patented API

• Java Based

• Cooperative

• (Remote) Managed

• Secure

• Component Market

• Contact www.aQute.biz for further information

Page 38: aQute About the OSGi Alliance Peter Kriens OSGi Fellow

©1999-2004 aQute, All Rights Reserved slide #38

aQute

www.aQute.biz

+15126929173, [email protected]

z

Page 39: aQute About the OSGi Alliance Peter Kriens OSGi Fellow

©1999-2004 aQute, All Rights Reserved slide #39

OSGi System Architecture

ServicePlatformServer

ServicePlatform

Operator

invoiced by

ServiceApplication

ServiceUser

ServiceProvider

ServiceAggregator

ServiceBundle

ServiceDeploymentManager

ServiceOperationsSupport

executes

ServiceCustomer

provides

delegates to

deploys for

deploys on

supports

executes

consists of

responsible for

subscribes to services of

aggergates for

1

0..* 0..*

1

1..*

1

0..*

0,1

1..*

0,1 0..*0..* 0..*

1

1..*

0,1

0..*

0,1 0..*

0,1 0..*

0..*

receives services

ServiceDeveloperprocures from develops

0..*

0..*

0..*

1..*

permits

1

0..*has member

charges1on behalf of

controls

1

NetworkProvider

connects

Manufacturer

builds

1

1..*Owner

owns1 0..*

ChargingProvider

receives payment

services for

0..*

0..*

uses infrastructure of