©1999-2002 osgi, all rights reserved - brussel jan 22 ertico/osgi tech spec overview: introduction...
Post on 27-Mar-2015
216 Views
Preview:
TRANSCRIPT
©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
©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
©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
©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
©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
©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
©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
©1999-2002 OSGi, All Rights Reserved - Brussel Jan 22 Ertico/OSGi
Framework Entities
OSGi Framework
Bundle A{}
= service, java interface
Bundle B{}
Bundle C{}
©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
©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
©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
©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
©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
©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
©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
©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
©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
©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
©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
©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
©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
©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
©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
©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
©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
©1999-2002 OSGi, All Rights Reserved - Brussel Jan 22 Ertico/OSGi
Questions??
top related