©1999-2002 osgi, all rights reserved - brussel jan 22 ertico/osgi tech spec overview: introduction...

26
©1999-2002 OSGi, All Rights Reserved - Brussel Jan 22 Ertico/OSGi Tech Spec Overview: Introduction OSGi R3 and Remote Management Ertico/OSGi meeting Jan 22, Brussel Introduction

Upload: caleb-rooney

Post on 27-Mar-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ©1999-2002 OSGi, All Rights Reserved - Brussel Jan 22 Ertico/OSGi Tech Spec Overview: Introduction OSGi R3 and Remote Management Ertico/OSGi meeting Jan

©1999-2002 OSGi, All Rights Reserved - Brussel Jan 22 Ertico/OSGi

Tech Spec Overview: IntroductionOSGi R3 and Remote Management

Ertico/OSGi meeting Jan 22, Brussel

Introduction

Page 2: ©1999-2002 OSGi, All Rights Reserved - Brussel Jan 22 Ertico/OSGi Tech Spec Overview: Introduction OSGi R3 and Remote Management Ertico/OSGi meeting Jan

©1999-2002 OSGi, All Rights Reserved - Brussel Jan 22 Ertico/OSGi

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 2.0 publicly available at www.osgi.org

• Spec 3.0 soon to be released

Page 3: ©1999-2002 OSGi, All Rights Reserved - Brussel Jan 22 Ertico/OSGi Tech Spec Overview: Introduction OSGi R3 and Remote Management Ertico/OSGi meeting Jan

©1999-2002 OSGi, All Rights Reserved - Brussel Jan 22 Ertico/OSGi

When is the OSGi Service Platform feasible?

• The end user is interested in using services any time, not managing a system

• The system must be extendable and upgradeable

• The system is (intermittently) connected to a network

• Remote Management is provided by an Operator

Page 4: ©1999-2002 OSGi, All Rights Reserved - Brussel Jan 22 Ertico/OSGi Tech Spec Overview: Introduction OSGi R3 and Remote Management Ertico/OSGi meeting Jan

©1999-2002 OSGi, All Rights Reserved - Brussel Jan 22 Ertico/OSGi

Example OSGi deployments

• Telematics

• Residential gateway

• Wireless Base Station

• Kiosk

• Web pad

• Settop box

• Vending Machine

Page 5: ©1999-2002 OSGi, All Rights Reserved - Brussel Jan 22 Ertico/OSGi Tech Spec Overview: Introduction OSGi R3 and Remote Management Ertico/OSGi meeting Jan

©1999-2002 OSGi, All Rights Reserved - Brussel Jan 22 Ertico/OSGi

Essentials

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

• Portable– Attract third-party developers to create essential innovative services– Embedded systems come in many different flavors

• 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 6: ©1999-2002 OSGi, All Rights Reserved - Brussel Jan 22 Ertico/OSGi Tech Spec Overview: Introduction OSGi R3 and Remote Management Ertico/OSGi meeting Jan

©1999-2002 OSGi, All Rights Reserved - Brussel Jan 22 Ertico/OSGi

OSGi Environment

Hardware

BundleBundle

Bundle

Operating System

OSGi

Java VM

Bundle (Application)

Driver Driver Driver

= service interfaceexported and importedby bundles

Page 7: ©1999-2002 OSGi, All Rights Reserved - Brussel Jan 22 Ertico/OSGi Tech Spec Overview: Introduction OSGi R3 and Remote Management Ertico/OSGi meeting Jan

©1999-2002 OSGi, All Rights Reserved - Brussel Jan 22 Ertico/OSGi

Core Functions

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

• Registry of services with notifications

• Package and version management

• Open remote management architecture

• Strict separation of specifications and implementations – multiple implementations

Page 8: ©1999-2002 OSGi, All Rights Reserved - Brussel Jan 22 Ertico/OSGi Tech Spec Overview: Introduction OSGi R3 and Remote Management Ertico/OSGi meeting Jan

©1999-2002 OSGi, All Rights Reserved - Brussel Jan 22 Ertico/OSGi

Framework Entities

OSGi Framework

Bundle A{}

= service, java interface

Bundle B{}

Bundle C{}

Page 9: ©1999-2002 OSGi, All Rights Reserved - Brussel Jan 22 Ertico/OSGi Tech Spec Overview: Introduction OSGi R3 and Remote Management Ertico/OSGi meeting Jan

©1999-2002 OSGi, All Rights Reserved - Brussel Jan 22 Ertico/OSGi

Bundles

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

• 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

• The Framework itself is represented as the system bundle

Page 10: ©1999-2002 OSGi, All Rights Reserved - Brussel Jan 22 Ertico/OSGi Tech Spec Overview: Introduction OSGi R3 and Remote Management Ertico/OSGi meeting Jan

©1999-2002 OSGi, All Rights Reserved - Brussel Jan 22 Ertico/OSGi

Collaborative model

• More than an Applet, MIDlet, Xlet runner

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

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

• Framework fully manages this collaboration– Dependencies, security

Page 11: ©1999-2002 OSGi, All Rights Reserved - Brussel Jan 22 Ertico/OSGi Tech Spec Overview: Introduction OSGi R3 and Remote Management Ertico/OSGi meeting Jan

©1999-2002 OSGi, All Rights Reserved - Brussel Jan 22 Ertico/OSGi

Collaborative modelHow does OSGi relate to MIDP, Java TV, Browsers

JAVA

Operating System

Hardware

Java Application Manager

Serviceregistry

packagespackages

Midlet,Xlet,

orApplet

Midlet,Xlet,

orApplet

No native code

No package management(versions!)

No collaboration

No management bundles

Page 12: ©1999-2002 OSGi, All Rights Reserved - Brussel Jan 22 Ertico/OSGi Tech Spec Overview: Introduction OSGi R3 and Remote Management Ertico/OSGi meeting Jan

©1999-2002 OSGi, All Rights Reserved - Brussel Jan 22 Ertico/OSGi

Service Registry

• The Framework Service Registry is available to all bundles to collaborate with other bundles

• Requires permission– Under operator control

• Services are associated with properties– Query language to find appropriate service

• Bundles can update the properties

Page 13: ©1999-2002 OSGi, All Rights Reserved - Brussel Jan 22 Ertico/OSGi Tech Spec Overview: Introduction OSGi R3 and Remote Management Ertico/OSGi meeting Jan

©1999-2002 OSGi, All Rights Reserved - Brussel Jan 22 Ertico/OSGi

Release 3 Services (Preliminary)

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 Preliminary

Page 14: ©1999-2002 OSGi, All Rights Reserved - Brussel Jan 22 Ertico/OSGi Tech Spec Overview: Introduction OSGi R3 and Remote Management Ertico/OSGi meeting Jan

©1999-2002 OSGi, All Rights Reserved - Brussel Jan 22 Ertico/OSGi

Security

• OSGi (optionally) uses Java 1.2 Security based on Permission classes

• This automatically verifies the call-chain

• Applications providing secure functions can limit the call-chain check

• Permissions can be managed by the Management Agent through the PermissionAdmin service

• Java Security is flexible but very complex and CPU intensive

Page 15: ©1999-2002 OSGi, All Rights Reserved - Brussel Jan 22 Ertico/OSGi Tech Spec Overview: Introduction OSGi R3 and Remote Management Ertico/OSGi meeting Jan

©1999-2002 OSGi, All Rights Reserved - Brussel Jan 22 Ertico/OSGi

Management

• Framework provides mechanisms, but is policy free– I.e. a bundle can be installed but from where is left

open

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

• Management policies made/selected by the operator

Page 16: ©1999-2002 OSGi, All Rights Reserved - Brussel Jan 22 Ertico/OSGi Tech Spec Overview: Introduction OSGi R3 and Remote Management Ertico/OSGi meeting Jan

©1999-2002 OSGi, All Rights Reserved - Brussel Jan 22 Ertico/OSGi

R3 Reference 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

Page 17: ©1999-2002 OSGi, All Rights Reserved - Brussel Jan 22 Ertico/OSGi Tech Spec Overview: Introduction OSGi R3 and Remote Management Ertico/OSGi meeting Jan

©1999-2002 OSGi, All Rights Reserved - Brussel Jan 22 Ertico/OSGi

Application Models

• Gateway Model– Archetypical OSGi model where an Operator manages a box

used by an end-user

• Industrial Model– The Operator uses OSGi to manage an industrial system

like for example GSM Base Stations

• Self Managed Model– Similar to PC model where the end user is his own Operator

• Services in the network model– Implemented by Telia

Page 18: ©1999-2002 OSGi, All Rights Reserved - Brussel Jan 22 Ertico/OSGi Tech Spec Overview: Introduction OSGi R3 and Remote Management Ertico/OSGi meeting Jan

©1999-2002 OSGi, All Rights Reserved - Brussel Jan 22 Ertico/OSGi

Remote Management Reference Architecture

• Goal:

– Interoperability between management systems and OSGi Service Platforms.

ACUNIA

IBMTivoli

HPOpenView

...

ProSyst

IBM

Gatespace

...

SNMP

CIM

Propriet.

...

Management Systems Protocols OSGi Service Platforms

Page 19: ©1999-2002 OSGi, All Rights Reserved - Brussel Jan 22 Ertico/OSGi Tech Spec Overview: Introduction OSGi R3 and Remote Management Ertico/OSGi meeting Jan

©1999-2002 OSGi, All Rights Reserved - Brussel Jan 22 Ertico/OSGi

R3 Remote Management Reference Architecture

O p erat o r

RemoteManager

S erv ic eP l a tfo r m

S erv i c eP l a tfo rmS erver

ManagementBundle

S erv ic eBu nd le

ManagementAgent

controls

communicates with

manages w

ith is managed by

runs

hosted by

0..*

0..*

1

0..*

0..*

1

1..* 1

0..*

0,1

Page 20: ©1999-2002 OSGi, All Rights Reserved - Brussel Jan 22 Ertico/OSGi Tech Spec Overview: Introduction OSGi R3 and Remote Management Ertico/OSGi meeting Jan

©1999-2002 OSGi, All Rights Reserved - Brussel Jan 22 Ertico/OSGi

Remote Management Reference Architecture

• Standardization of protocols not necessary because new protocols can be downloaded– An SNMP bundle from vendor X will connect all SNMP

management systems to any OSGi Service Platform

• Management primitives are available as OSGi APIs– life cycle management– monitoring– configuration management– security

Page 21: ©1999-2002 OSGi, All Rights Reserved - Brussel Jan 22 Ertico/OSGi Tech Spec Overview: Introduction OSGi R3 and Remote Management Ertico/OSGi meeting Jan

©1999-2002 OSGi, All Rights Reserved - Brussel Jan 22 Ertico/OSGi

Remote Management

• Model delivers interoperability

• Does not address management applications interoperability (I.e. JSR 124)

Gatespace

Solstice

Ericssoneservices

...

ProSyst/IBM/VDOGatespace/Acunia...

ProSyst/IBM/ /VDOGatespace/Acunia/...

ACUNIA/IBM/ VDOGatespace/ProSyst/...

...

SNMP

CIM

Propriet.

...

Management Systems Protocols OSGi Service Platforms

Page 22: ©1999-2002 OSGi, All Rights Reserved - Brussel Jan 22 Ertico/OSGi Tech Spec Overview: Introduction OSGi R3 and Remote Management Ertico/OSGi meeting Jan

©1999-2002 OSGi, All Rights Reserved - Brussel Jan 22 Ertico/OSGi

Remote Management

• Management APIs based on bundle, not end end user service provisioning– An end user service can consist of multiple bundles

• Dependencies between bundles should be managed by the server– I.e. bundle X requires bundle Y and Z– Bundle's manifest supports many different schemes

Page 23: ©1999-2002 OSGi, All Rights Reserved - Brussel Jan 22 Ertico/OSGi Tech Spec Overview: Introduction OSGi R3 and Remote Management Ertico/OSGi meeting Jan

©1999-2002 OSGi, All Rights Reserved - Brussel Jan 22 Ertico/OSGi

Initial Provisioning

• How does the first Management Agent get into the Service Platform?

• This process is called Initial Provisioning

• Recommended specification R3

Page 24: ©1999-2002 OSGi, All Rights Reserved - Brussel Jan 22 Ertico/OSGi Tech Spec Overview: Introduction OSGi R3 and Remote Management Ertico/OSGi meeting Jan

©1999-2002 OSGi, All Rights Reserved - Brussel Jan 22 Ertico/OSGi

Initial Provisioning

• The Service Platform contacts the remote manager with a URL

• ZIP file contains bundles that are installed and started

RemoteManager

ServicePlatform

Send url with SPI

bundlesSend ZIP file with bundlesand configuration info

InstallManagementAgent bundles

OptionallyRepeat

CommunicateWith a specific protocol

Page 25: ©1999-2002 OSGi, All Rights Reserved - Brussel Jan 22 Ertico/OSGi Tech Spec Overview: Introduction OSGi R3 and Remote Management Ertico/OSGi meeting Jan

©1999-2002 OSGi, All Rights Reserved - Brussel Jan 22 Ertico/OSGi

Initial Provisioning

• Initial Provisioning is an abstract specification with concrete mappings for the following URL schemes:– HTTP:, standard HTTP urls– HTTPS:, secure HTTP– RSH:, uses a shared secret when HTTPS is too heavy– FILE:, initial Management Agent can come from file system

• Manufacturers can easily provide support for– Smart cards– Removable disks

Page 26: ©1999-2002 OSGi, All Rights Reserved - Brussel Jan 22 Ertico/OSGi Tech Spec Overview: Introduction OSGi R3 and Remote Management Ertico/OSGi meeting Jan

©1999-2002 OSGi, All Rights Reserved - Brussel Jan 22 Ertico/OSGi

Questions??