SlideShare a Scribd company logo
1 of 48
Download to read offline
OSGi Specification Evolution
BJ Hargrave
OSGi Fellow
Core Platform Expert Group Chair
hargrave@us.ibm.com
©1999-2002 OSGi, All Rights Reserved
OSGi Service Gateway Release 1
May 2000
DeviceManager
HttpService
LogService
Framework
©1999-2002 OSGi, All Rights Reserved
Framework
Package Admin Permission Admin
DeviceManager
UserAdmin
ServiceTracker
ConfigurationAdmin
PreferencesService
LogService
HttpService
OSGi Service Platform Release 2
Oct 2001
©1999-2002 OSGi, All Rights Reserved
Framework
PackageAdmin Start LevelPermissionAdmin URL handler support
DeviceManager
UserAdmin
ServiceTracker
ConfigurationAdmin
PreferencesService
LogService
HttpService
IOConnectorService
Position
XMLParserService
UPnPService
JiniService
WireAdmin
Measurement
Planned Content
OSGi Service Platform Release 3
1Q 2003
Execution Environment
©1999-2002 OSGi, All Rights Reserved
R3 Document Sections
• Reference section
– Not normative
– Intended to be illustrative, define common terminology and suggest how OSGi might be
used
• Specifications section
– Normative
– Future updates to these specifications will be made backward compatible
• Proposed Specifications section
– Normative
– A proposed specification has resolved known design choices, is believed to be well
understood, has received significant review and appears to enjoy enough interest to be of
considerable value
– However, these specifications lack real life experience by multiple companies which makes
it difficult to guarantee full backward compatibility in the future.
– Implementing the proposed specifications is recommended but implementers should
consider the effects of future changes to the specification that, in worst case, will not be
backward compatible
– Deploying implementations of such standards into a disruption-sensitive environment is not
recommended
©1999-2002 OSGi, All Rights Reserved
Framework Enhancements
• Dynamic Import Package
– Package may be imported after bundle resolution
– Useful for Class.forName idiom
• Automatic import of java.* packages
• Improved native code selection algorithm
• Different default FilePermissions for
bundle data area
• Additional FrameworkEvent types
©1999-2002 OSGi, All Rights Reserved
Execution Environments
• Two execution environments are specified
• OSGi/Minimum-1.0
– Minimum execution environment that supports OSGi Framework and
basic services implementations
• CDC-1.0/Foundation-1.0
– J2ME Foundation Profile
– Proper superset of OSGi/Minimum-1.0
• Bundles written to OSGi/Minimum-1.0 will also run
on CDC-1.0/Foundation-1.0 and J2SE
©1999-2002 OSGi, All Rights Reserved
EE Comparison
J2SE
CDC-1.0/Foundation-1.0
OSGi/Minimum-1.0
©1999-2002 OSGi, All Rights Reserved
Start Level Service
• Allows a management agent to order the
startup sequence and shutdown sequence of
bundles.
• Supports a virtually unlimited number of
levels.
• The model for start levels is compatible with
the Service Platform Release 2 specifications.
©1999-2002 OSGi, All Rights Reserved
Start Level Service
Class Diagram
management
bundle
event listener
<<interface>>
Framework
Listener
StartLevel
0..*
Framework
Implementation
Framework
impl.
Framework
Event
is notified by1
0..*
start level
gets changed
0..*
©1999-2002 OSGi, All Rights Reserved
URL Stream and Content
Handlers
• Multiple bundles are allowed to register
ContentHandler objects and URLStreamHandler
objects
• Existing schemes in an OSGi Service Platform
cannot be overridden
• The life cycle of bundles is supported
• Scheme handlers and content type handlers
become unavailable when the registering bundle is
stopped
• Minimal effort is required for a bundle to provide a
new URL scheme or content type handler
©1999-2002 OSGi, All Rights Reserved
URL Stream and Content
Handlers Class Diagram
java.net.URL
java.net.URL
StreamHandler
java.net.URL
StreamHandler
Factory
java.net.URL
Connection
java.net.Content
Handler
java.net.Content
HandlerFactor
URLStream
Handler
Service
URLConnection
subclass impl.
URL Stream
Handler Proxy
impl.
Content
Handler Proxy
impl.
Stream Handler
implement.
Content
Handler
implement.
URL Stream
Handler Fact.
impl.
URL Content
handler Fact.
implement.
1
0,1
gets URLStreamHandlers from
0..*
1
gets content via
1
0,1
1 0..*
0..*
0,1
<<interface>>
URLStream
HandlerSetter
<<class>>
AbstractURLStream
creates connections of
isby
isfoundinregistryy(keyedbymime)
is called by
setURL
tracked
b
©1999-2002 OSGi, All Rights Reserved
Wire Admin
• Provides a comprehensive mechanism to link data producing
components with data consuming components in an OSGi environment
• Contains configuration data in order to allow either party to adapt to
the special needs of the wire
• Facilitates the negotiation of the data type to be used for data transfer
between producers of data and consumers of data
– Consumers and producers must be able to handle multiple data types for data exchanges
using a preferred order
• Separates connected parties from each other. Neither party is required
to hold the service object of the other party
• The interfaces are designed so that both parties, the Producer and the
Consumer services, should be easy to implement
©1999-2002 OSGi, All Rights Reserved
Wire Admin
Class Diagram
0,1
0..*
<<interface>>
Wire
<<service>>
WireAdmin
<<service>>
Consumer
1
update/polled
maintains
<<service>>
Producer
WireAdmin
Event
<<service>>
WireAdmin
Listener
Wire Admin
impl.
Producer impl.
Consumer impl.
WireAdmin
Listener impl.
Wire impl
(persistent)
0..*
Administrating
UI
0,10..*
administers
updated
poll
listens to
0..*
1
sends out events
©1999-2002 OSGi, All Rights Reserved
XML Parser Service
• Leverages existing standards in Java based XML
parsing: JAXP, SAX and DOM
• Runs unmodified JAXP code
• Easy to provide a SAX or DOM parser as well as
easy to find a matching parser
• Possible to have multiple implementations of
parsers available
• Parsers are likely to be extended in the future with
more functionality
©1999-2002 OSGi, All Rights Reserved
XML Parser Service
Class Diagram
<<class>>
SAXParser
Factory
<<class>>
Document
BuilderFactory
XMLParser
Activator
SAXParser
user
Document
Builder user
Subclass impl.
<<class>>
SAXParser
<<class>>
Document
Builder
Document
Builder impl.
SAXParser
impl.
parses with
registered by
instantiates
reads bundle META-INF
Parser Implementation
Bundle
getsgets
0..*
0..*0..*
0..*
0..*0..*
0,1 0,1
0,10,1
0..* 1 0..*1
parses with
0..* 0..*
instant. by
registered by
©1999-2002 OSGi, All Rights Reserved
Measurement
• A utility class that provides a consistent way of
handling a diverse range of measurements
• Simplifies measurements calculations
• Handles unit conflict resolution
• Handles unit coercion
• Consistent handling of error calculation and unit
types
• Uses SI units
©1999-2002 OSGi, All Rights Reserved
Measurement
Class Diagram
is of unit
UnitMeasurement
0..n 1
State
©1999-2002 OSGi, All Rights Reserved
Position
• Utility class that provides an information object
that has well defined semantics for a position
• Uses the World Geodetic System 84 as the datum
• Provides speed and track information
• Position information may have errors or may not
be measurable
• Uses SI units for all measurements
• Works within the Wire Admin service
©1999-2002 OSGi, All Rights Reserved
Position
Class Diagram
latitude
<<class>>
Position
<<class>>
Measurement
1 1
longitude
1
1 1 1
1 altitude 1
1 track 1
speed
©1999-2002 OSGi, All Rights Reserved
IO Connector Service
• Provides an intermediate layer that abstracts the
actual protocol and devices from the using bundle
• Allows third-party bundles to extend the system
with new protocols and devices
• Allows a protocol to be layered on top of lower
layer protocols or devices
• Allows the selection of actual protocol/device by
means of configuration data
• Compatible with existing standards
©1999-2002 OSGi, All Rights Reserved
IO Connector Service
Class Diagram
Connector
<<interface>>
Connection
<<interface>>
InputConnecti
on
<<interface>>
Output
Connection
<<interface>>
Stream
Connection
<<interface>>
Content
Connection
<<interface>>
Http
Connection
<<interface>>
Datagram
Connection
<<interface>>
StreamConnec-
tionNotifier
Connector
Service impl.
Impl. of
scheme
providers
Impl. of IO
user
provides io scheme 0..*
1
0..*
uses Impl. of
Connection
10..*
1
0,1
<<service>>
ConnectorService
<<service>>
ConnectionFactory
connections factory
0,1
used as default
©1999-2002 OSGi, All Rights Reserved
Jini Service
• Jini services are usable as OSGi services and
vice versa
• Jini services should not compromise OSGi
Service Platform security
• A bundle can export an OSGi service as a
Jini service
• A bundle can use an OSGi service that
represents a Jini service
©1999-2002 OSGi, All Rights Reserved
Jini Service
Class Diagram
JiniDriver
Importer impl.
JiniDriver impl.
Exporter impl.
some
service tagged
with EXPORT
Service
Registrar
Some imported
Jini service
Some
importable Jini
Service
Service
Registrar
Some
exportable Jini
service
exported
to
gets
0..*
0..*
0..*
0..*
registered
Jini Community
Jini Driver
Bundle
proxy object Service
Registrar proxy
object
0..*
1
0..*
1
0..* 0..*
sets Jini templates for requested Jini services
gets
0..* 0..*
proxy for proxy for
©1999-2002 OSGi, All Rights Reserved
UPnP Service
• Limited to device control of UPnP
– Aspects concerning the TCP/IP layer are not addressed
• OSGi services can be transparently made available
to UPnP networks
• Possible to restrict the use of UPnP to a selection of
the possible networks
• Bundles can listen to UPnP events
• Bundles can make a service available to UPnP
controllers
• Bundles can control UPnP devices
©1999-2002 OSGi, All Rights Reserved
UPnP Service
Class Diagram
<<interface>>
UPnPService
a listener
<<interface>>
UPnPAction
<<interface>>
UPnPState
Variable
<<interface>>
UPnPEvent
Listener
<<interface>>
UPnPIcon
A UPnP device
implementer
A UPnP control
point
A UPnP device
implementation
out parm
has
1
0..n 0..n
1
10..n
11..n
UPnP Base
Driver
Implementation
associatedwith
has
registers
getsregisters
listensto
0..n
1 1 0..n
has
1..n
1
0..n
1
10..n
<<service>>
UPnPDevice 0..n
0,1
child
has
in parameter
©1999-2002 OSGi, All Rights Reserved
Availability
• OSGi Service Platform Release 3
– Specification on track to be publicly available in 1Q 2003
Backup
©1999-2002 OSGi, All Rights Reserved
Framework
• Foundation of OSGi specification
• 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
©1999-2002 OSGi, All Rights Reserved
Log Service
• Simple and small Log service for operator
• 4 Levels
– INFO, DEBUG, WARNING, ERROR
• Automatically logs framework events in a
defined way
• Other bundles can access log history
– Management bundle
– History size implementation dependent
©1999-2002 OSGi, All Rights Reserved
Log Service
Class Diagram
a log usera log user a log readera log reader
LogServiceLogService
a log service
impl.
a log service
impl.
A log entry
impl.
A log entry
impl.
A log reader
impl.
A log reader
impl.
Log Service Impl. bundle
Store a message for retrieval and broadcast
Message log
Send new log entry
A log
user bundle
A log
reader
using bundle
Log a message Retrieve log
LogReader
ServiceServi
LogReader
LogEntryLogEntry LogListenerLogListener
ce
©1999-2002 OSGi, All Rights Reserved
Http Service
• Provides web access to bundles
• A powerful servlet runner
– Supports Servlet Version 2.1
• Very simple to export static pages and files
(like images)
• Automatically unregisters servlets when
bundle is stopped
©1999-2002 OSGi, All Rights Reserved
Http Service
Class Diagram
HttpServiceHttpService
Default impl.
HttpContext
Default impl.
HttpContext
Resource
registration
Resource
registration
Servlet
registration
Servlet
registration
NameSpace
alias
NameSpace
alias
An Http
Service
impl.
An Http
Service
impl.
Impl. Of Http
context
Impl. Of Http
context
Impl. Of
servlet
Impl. Of
servlet
Bundles main
code
Bundles main
code
javax.servlet.
ServletServlet
javax.servlet.
NameSpace
ExceptionException
NameSpace
HttpContextHttpContext
javax.servlet.
Request/
Response
javax.servlet.
Request/
Response
©1999-2002 OSGi, All Rights Reserved
Device Access
• Dynamic device driver download model
• Plug & Play
– Plugged in devices identify themselves
– Device Manager will download appropriate bundle
• Matching process for best driver
• Extendable
– Driver locator
©1999-2002 OSGi, All Rights Reserved
Device Access
Class Diagram
References to install
Locator
bundle
Locator
bundle A deviceA deviceselector
bundle
selector
bundle DriverDriver
attachselects
Device
Manager
Device
Manager
DeviceDeviceDriver
Locator
Driver
Locator
Driver
Selector
Driver
Selector
©1999-2002 OSGi, All Rights Reserved
Device Access
Driver
Locator
Driver
Locator
7. attach
4. find bundle location
5. Install bundle
2. register
Camera
1. Insert camera
9. Select
camera
8. Register camera
3. Select device
Device
Manager
Sony
CCD654
Driver 6. register
TV
bundle
Camera
Device
IEEE
1394B
Network
bundle
Interface
10. Show camera
on TV
TV
©1999-2002 OSGi, All Rights Reserved
Package Admin
• Policy interface to Framework for package
administration
• Uninstalling a bundle will not withdraw
exported packages
– anymore (this was optional in Release 1)
• Inspect current state of package sharing
• Cleanup stale exported packages by
refreshing the minimum set of bundles
©1999-2002 OSGi, All Rights Reserved
Permission Admin
• Policy interface to Framework for permission
administration
• Permissions associated with bundle location
– Allows setting before bundle is downloaded
• Synchronous Bundle Listener added
– A management agent can set the permissions Just In Time
• (Simple) Serializable format for permissions
©1999-2002 OSGi, All Rights Reserved
Service Tracker
• Services register and unregister all the time
• Onus on the programmer to only use
services that are registered
• ServiceTracker simplifies this task:
– Maintains a list of active services
– Events can be overridden in subclass
• Used in almost every bundle
©1999-2002 OSGi, All Rights Reserved
Configuration Admin
• Configures bundles
– At startup, or any later moment
• Maintains a repository of configurations
– Local
– Management system
• Configurations are key/value pairs
– Can be typed with Meta Types
• Can be extended with plugins
©1999-2002 OSGi, All Rights Reserved
Configuration Admin
Class Diagram
client
bundle
client
bundle
Configuration
Admin impl
Configuration
Admin impl
Configuration
bundle
Configuration
bundle
client
bundle
client
bundle
Managed
Service
Factory
Managed
Service
Factory
ConfigurationConfiguration
1
0..n
Plugin implPlugin impl
Configuration
Exception
Configuration
Exception
Configuration
Admin
Configuration
Admin
Managed
Service
Managed
Service
Configuration
Plugin
Configuration
Plugin
1
1
©1999-2002 OSGi, All Rights Reserved
Meta Typing
• Data Descriptors for generic editors
– Configurations, Properties
• Supports
– Basic types like String, Integer, Byte, Short …
– Arrays and Vectors
• Uses LDAP Objectclass, attribute model
• Can be localized for different languages
• General validation support
©1999-2002 OSGi, All Rights Reserved
Meta Typing
Class Diagram
MetaType
Provider
MetaType
Provider
ObjectClass
Definition
ObjectClass1 1..n
Definition
Attribute
Definition
Attribute
Definition
Locale
PID
1
1..n
©1999-2002 OSGi, All Rights Reserved
Preferences Service
• Simple hierarchical model like Windows
Registry
• Uses simple hierarchical names
– /bundle/121/httpport=81
• Different trees
– Multiple named trees per bundle
– One system tree per bundle
• Implementation can store locally or on
management system
©1999-2002 OSGi, All Rights Reserved
Preferences Service
Class Diagram
BackingStore
Exception
a bundlea bundle
PreferencesPreferences
0..n
1
0..n
1
1
1
Root user nodes
Root system node
User name
BackingStore
Exception
Preferences
Service
Preferences
Service
Bundle
preferences
Bundle
preferences
Service impl.Service impl.
Preference
Node impl.
Preference
Node impl.
nodes0..n 1
©1999-2002 OSGi, All Rights Reserved
Preferences Service
Named or Systemroot
c2
d1
c1
foo=8
bar=9
lex=‘acme’
d2
d1
d1
d2
/c2
/c1/d2
properties /c1/d2
/c1/d2/d1/d2
foo=8
bar=9
lex=‘acme’
properties /c1/d2/d1/d2
©1999-2002 OSGi, All Rights Reserved
User Admin
• Repository of users
• Maintains data for authentication and other
purposes
– Private keys, passwords, bio-profile, User Preferences
• Powerful role based authorization model
– Users, group of users, and groups of groups
• Administrative functions
©1999-2002 OSGi, All Rights Reserved
User Admin Class
Diagram
Request
Authenticator
Request
Authenticator
User Listener
impl.
User Listener
impl.
User admin
impl
User admin
impl
UserAdminUserAdminRoleRole
UserUser
GroupGroup
Role implRole impl
User implUser impl
Group implGroup impl
AuthorizationAuthorization
Has roles
Send event
Basic member
Required
member
Action implAction impl
Perform action
Consult for authorization
authenticate
UserAdmin
EventEvent
UserAdmin Receive
events
UserAdmin
ListenerListener
UserAdmin
User name
UserAdmin
Permission
UserAdmin
Permission

More Related Content

What's hot

CCNA 2 Routing and Switching v5.0 Chapter 5
CCNA 2 Routing and Switching v5.0 Chapter 5CCNA 2 Routing and Switching v5.0 Chapter 5
CCNA 2 Routing and Switching v5.0 Chapter 5Nil Menon
 
CCNA3 Verson6 Chapter7
CCNA3 Verson6 Chapter7CCNA3 Verson6 Chapter7
CCNA3 Verson6 Chapter7Chaing Ravuth
 
CCNA (R & S) Module 04 - Scaling Networks - Chapter 4
CCNA (R & S) Module 04 - Scaling Networks - Chapter 4CCNA (R & S) Module 04 - Scaling Networks - Chapter 4
CCNA (R & S) Module 04 - Scaling Networks - Chapter 4Waqas Ahmed Nawaz
 
CCNA4 Verson6 Chapter5
CCNA4 Verson6 Chapter5CCNA4 Verson6 Chapter5
CCNA4 Verson6 Chapter5Chaing Ravuth
 
CCNA (R & S) Module 02 - Connecting Networks - Chapter 5
CCNA (R & S) Module 02 - Connecting Networks - Chapter 5CCNA (R & S) Module 02 - Connecting Networks - Chapter 5
CCNA (R & S) Module 02 - Connecting Networks - Chapter 5Waqas Ahmed Nawaz
 
CCNA (R & S) Module 03 - Routing & Switching Essentials - Chapter 10
CCNA (R & S) Module 03 - Routing & Switching Essentials - Chapter 10CCNA (R & S) Module 03 - Routing & Switching Essentials - Chapter 10
CCNA (R & S) Module 03 - Routing & Switching Essentials - Chapter 10Waqas Ahmed Nawaz
 
CCNA Exploration 2 - Chapter 9
CCNA Exploration 2 - Chapter 9CCNA Exploration 2 - Chapter 9
CCNA Exploration 2 - Chapter 9Irsandi Hasan
 
CCNA 2 Routing and Switching v5.0 Chapter 10
CCNA 2 Routing and Switching v5.0 Chapter 10CCNA 2 Routing and Switching v5.0 Chapter 10
CCNA 2 Routing and Switching v5.0 Chapter 10Nil Menon
 
CCNA2 Verson6 Chapter5
CCNA2 Verson6 Chapter5CCNA2 Verson6 Chapter5
CCNA2 Verson6 Chapter5Chaing Ravuth
 
Chapter 18 : routing dynamically
Chapter 18 : routing dynamicallyChapter 18 : routing dynamically
Chapter 18 : routing dynamicallyteknetir
 
CCNA (R & S) Module 02 - Connecting Networks - Chapter 4
CCNA (R & S) Module 02 - Connecting Networks - Chapter 4CCNA (R & S) Module 02 - Connecting Networks - Chapter 4
CCNA (R & S) Module 02 - Connecting Networks - Chapter 4Waqas Ahmed Nawaz
 
CCNA4 Verson6 Chapter3
CCNA4 Verson6 Chapter3CCNA4 Verson6 Chapter3
CCNA4 Verson6 Chapter3Chaing Ravuth
 
CCNA 2 Routing and Switching v5.0 Chapter 3
CCNA 2 Routing and Switching v5.0 Chapter 3CCNA 2 Routing and Switching v5.0 Chapter 3
CCNA 2 Routing and Switching v5.0 Chapter 3Nil Menon
 
CCNA 2 Routing and Switching v5.0 Chapter 6
CCNA 2 Routing and Switching v5.0 Chapter 6CCNA 2 Routing and Switching v5.0 Chapter 6
CCNA 2 Routing and Switching v5.0 Chapter 6Nil Menon
 
Active Networking On A Programmable Networking Platform
Active Networking On A Programmable Networking PlatformActive Networking On A Programmable Networking Platform
Active Networking On A Programmable Networking PlatformTal Lavian Ph.D.
 

What's hot (20)

Aruba instant 6.4.0.2 4.1 user guide
Aruba instant 6.4.0.2 4.1 user guideAruba instant 6.4.0.2 4.1 user guide
Aruba instant 6.4.0.2 4.1 user guide
 
CCNA Icnd110 s04l05
CCNA Icnd110 s04l05CCNA Icnd110 s04l05
CCNA Icnd110 s04l05
 
CCNA 2 Routing and Switching v5.0 Chapter 5
CCNA 2 Routing and Switching v5.0 Chapter 5CCNA 2 Routing and Switching v5.0 Chapter 5
CCNA 2 Routing and Switching v5.0 Chapter 5
 
Ccna2 project
Ccna2 projectCcna2 project
Ccna2 project
 
CCNA3 Verson6 Chapter7
CCNA3 Verson6 Chapter7CCNA3 Verson6 Chapter7
CCNA3 Verson6 Chapter7
 
CCNA (R & S) Module 04 - Scaling Networks - Chapter 4
CCNA (R & S) Module 04 - Scaling Networks - Chapter 4CCNA (R & S) Module 04 - Scaling Networks - Chapter 4
CCNA (R & S) Module 04 - Scaling Networks - Chapter 4
 
CCNA4 Verson6 Chapter5
CCNA4 Verson6 Chapter5CCNA4 Verson6 Chapter5
CCNA4 Verson6 Chapter5
 
CCNA (R & S) Module 02 - Connecting Networks - Chapter 5
CCNA (R & S) Module 02 - Connecting Networks - Chapter 5CCNA (R & S) Module 02 - Connecting Networks - Chapter 5
CCNA (R & S) Module 02 - Connecting Networks - Chapter 5
 
CCNA (R & S) Module 03 - Routing & Switching Essentials - Chapter 10
CCNA (R & S) Module 03 - Routing & Switching Essentials - Chapter 10CCNA (R & S) Module 03 - Routing & Switching Essentials - Chapter 10
CCNA (R & S) Module 03 - Routing & Switching Essentials - Chapter 10
 
CCNA Exploration 2 - Chapter 9
CCNA Exploration 2 - Chapter 9CCNA Exploration 2 - Chapter 9
CCNA Exploration 2 - Chapter 9
 
ClearPass Policy Manager 6.3 User Guide
ClearPass Policy Manager 6.3 User GuideClearPass Policy Manager 6.3 User Guide
ClearPass Policy Manager 6.3 User Guide
 
CCNA 2 Routing and Switching v5.0 Chapter 10
CCNA 2 Routing and Switching v5.0 Chapter 10CCNA 2 Routing and Switching v5.0 Chapter 10
CCNA 2 Routing and Switching v5.0 Chapter 10
 
CCNA2 Verson6 Chapter5
CCNA2 Verson6 Chapter5CCNA2 Verson6 Chapter5
CCNA2 Verson6 Chapter5
 
Chapter 18 : routing dynamically
Chapter 18 : routing dynamicallyChapter 18 : routing dynamically
Chapter 18 : routing dynamically
 
CCNA (R & S) Module 02 - Connecting Networks - Chapter 4
CCNA (R & S) Module 02 - Connecting Networks - Chapter 4CCNA (R & S) Module 02 - Connecting Networks - Chapter 4
CCNA (R & S) Module 02 - Connecting Networks - Chapter 4
 
CCNA4 Verson6 Chapter3
CCNA4 Verson6 Chapter3CCNA4 Verson6 Chapter3
CCNA4 Verson6 Chapter3
 
CCNA 2 Routing and Switching v5.0 Chapter 3
CCNA 2 Routing and Switching v5.0 Chapter 3CCNA 2 Routing and Switching v5.0 Chapter 3
CCNA 2 Routing and Switching v5.0 Chapter 3
 
Day 13.1 startingaswitch
Day 13.1 startingaswitchDay 13.1 startingaswitch
Day 13.1 startingaswitch
 
CCNA 2 Routing and Switching v5.0 Chapter 6
CCNA 2 Routing and Switching v5.0 Chapter 6CCNA 2 Routing and Switching v5.0 Chapter 6
CCNA 2 Routing and Switching v5.0 Chapter 6
 
Active Networking On A Programmable Networking Platform
Active Networking On A Programmable Networking PlatformActive Networking On A Programmable Networking Platform
Active Networking On A Programmable Networking Platform
 

Viewers also liked

OSGi toolchain from the ground up - Matteo Rulli
OSGi toolchain from the ground up - Matteo RulliOSGi toolchain from the ground up - Matteo Rulli
OSGi toolchain from the ground up - Matteo Rullimfrancis
 
WebSockets and Equinox OSGi in a Servlet Container - Nedelcho Delchev
WebSockets and Equinox OSGi in a Servlet Container - Nedelcho DelchevWebSockets and Equinox OSGi in a Servlet Container - Nedelcho Delchev
WebSockets and Equinox OSGi in a Servlet Container - Nedelcho Delchevmfrancis
 
Getting to the Next Level with Eclipse Concierge - Jan Rellermeyer + Tim Verb...
Getting to the Next Level with Eclipse Concierge - Jan Rellermeyer + Tim Verb...Getting to the Next Level with Eclipse Concierge - Jan Rellermeyer + Tim Verb...
Getting to the Next Level with Eclipse Concierge - Jan Rellermeyer + Tim Verb...mfrancis
 
Lean Microservices with OSGi - Christian Schneider
Lean Microservices with OSGi - Christian SchneiderLean Microservices with OSGi - Christian Schneider
Lean Microservices with OSGi - Christian Schneidermfrancis
 
Programming WebSockets - OSCON 2010
Programming WebSockets - OSCON 2010Programming WebSockets - OSCON 2010
Programming WebSockets - OSCON 2010sullis
 
Distributed Eventing in OSGi - Carsten Ziegeler
Distributed Eventing in OSGi - Carsten ZiegelerDistributed Eventing in OSGi - Carsten Ziegeler
Distributed Eventing in OSGi - Carsten Ziegelermfrancis
 
OSGi for outsiders - Milen Dyankov
OSGi for outsiders - Milen DyankovOSGi for outsiders - Milen Dyankov
OSGi for outsiders - Milen Dyankovmfrancis
 
Use Case: Building OSGi Enterprise Applications (QCon 14)
Use Case: Building OSGi Enterprise Applications (QCon 14)Use Case: Building OSGi Enterprise Applications (QCon 14)
Use Case: Building OSGi Enterprise Applications (QCon 14)Carsten Ziegeler
 
OSGi Best Practices - Tim Ward
OSGi Best Practices - Tim WardOSGi Best Practices - Tim Ward
OSGi Best Practices - Tim Wardmfrancis
 
Service oriented web development with OSGi
Service oriented web development with OSGiService oriented web development with OSGi
Service oriented web development with OSGiCarsten Ziegeler
 
RESTful Web Applications with Apache Sling
RESTful Web Applications with Apache SlingRESTful Web Applications with Apache Sling
RESTful Web Applications with Apache SlingBertrand Delacretaz
 
OSGi, Scripting and REST, Building Webapps With Apache Sling
OSGi, Scripting and REST, Building Webapps With Apache SlingOSGi, Scripting and REST, Building Webapps With Apache Sling
OSGi, Scripting and REST, Building Webapps With Apache SlingCarsten Ziegeler
 
Distributed Eventing in OSGi
Distributed Eventing in OSGiDistributed Eventing in OSGi
Distributed Eventing in OSGiCarsten Ziegeler
 
Monitoring OSGi Applications with the Web Console
Monitoring OSGi Applications with the Web ConsoleMonitoring OSGi Applications with the Web Console
Monitoring OSGi Applications with the Web ConsoleCarsten Ziegeler
 
Infrastructure as code: running microservices on AWS using Docker, Terraform,...
Infrastructure as code: running microservices on AWS using Docker, Terraform,...Infrastructure as code: running microservices on AWS using Docker, Terraform,...
Infrastructure as code: running microservices on AWS using Docker, Terraform,...Yevgeniy Brikman
 

Viewers also liked (17)

OSGi toolchain from the ground up - Matteo Rulli
OSGi toolchain from the ground up - Matteo RulliOSGi toolchain from the ground up - Matteo Rulli
OSGi toolchain from the ground up - Matteo Rulli
 
Reactive applications
Reactive applicationsReactive applications
Reactive applications
 
WebSockets and Equinox OSGi in a Servlet Container - Nedelcho Delchev
WebSockets and Equinox OSGi in a Servlet Container - Nedelcho DelchevWebSockets and Equinox OSGi in a Servlet Container - Nedelcho Delchev
WebSockets and Equinox OSGi in a Servlet Container - Nedelcho Delchev
 
Getting to the Next Level with Eclipse Concierge - Jan Rellermeyer + Tim Verb...
Getting to the Next Level with Eclipse Concierge - Jan Rellermeyer + Tim Verb...Getting to the Next Level with Eclipse Concierge - Jan Rellermeyer + Tim Verb...
Getting to the Next Level with Eclipse Concierge - Jan Rellermeyer + Tim Verb...
 
Lean Microservices with OSGi - Christian Schneider
Lean Microservices with OSGi - Christian SchneiderLean Microservices with OSGi - Christian Schneider
Lean Microservices with OSGi - Christian Schneider
 
Programming WebSockets - OSCON 2010
Programming WebSockets - OSCON 2010Programming WebSockets - OSCON 2010
Programming WebSockets - OSCON 2010
 
Distributed Eventing in OSGi - Carsten Ziegeler
Distributed Eventing in OSGi - Carsten ZiegelerDistributed Eventing in OSGi - Carsten Ziegeler
Distributed Eventing in OSGi - Carsten Ziegeler
 
OSGi for outsiders - Milen Dyankov
OSGi for outsiders - Milen DyankovOSGi for outsiders - Milen Dyankov
OSGi for outsiders - Milen Dyankov
 
Use Case: Building OSGi Enterprise Applications (QCon 14)
Use Case: Building OSGi Enterprise Applications (QCon 14)Use Case: Building OSGi Enterprise Applications (QCon 14)
Use Case: Building OSGi Enterprise Applications (QCon 14)
 
OSGi Best Practices - Tim Ward
OSGi Best Practices - Tim WardOSGi Best Practices - Tim Ward
OSGi Best Practices - Tim Ward
 
Service oriented web development with OSGi
Service oriented web development with OSGiService oriented web development with OSGi
Service oriented web development with OSGi
 
RESTful Web Applications with Apache Sling
RESTful Web Applications with Apache SlingRESTful Web Applications with Apache Sling
RESTful Web Applications with Apache Sling
 
OSGi, Scripting and REST, Building Webapps With Apache Sling
OSGi, Scripting and REST, Building Webapps With Apache SlingOSGi, Scripting and REST, Building Webapps With Apache Sling
OSGi, Scripting and REST, Building Webapps With Apache Sling
 
Distributed Eventing in OSGi
Distributed Eventing in OSGiDistributed Eventing in OSGi
Distributed Eventing in OSGi
 
Monitoring OSGi Applications with the Web Console
Monitoring OSGi Applications with the Web ConsoleMonitoring OSGi Applications with the Web Console
Monitoring OSGi Applications with the Web Console
 
Infrastructure as code: running microservices on AWS using Docker, Terraform,...
Infrastructure as code: running microservices on AWS using Docker, Terraform,...Infrastructure as code: running microservices on AWS using Docker, Terraform,...
Infrastructure as code: running microservices on AWS using Docker, Terraform,...
 
The AI Rush
The AI RushThe AI Rush
The AI Rush
 

Similar to OSGi Specification Evolution - BJ Hargrave

Technical Specification Overview - OSGi World Congress 2002 Workshop Intro - ...
Technical Specification Overview - OSGi World Congress 2002 Workshop Intro - ...Technical Specification Overview - OSGi World Congress 2002 Workshop Intro - ...
Technical Specification Overview - OSGi World Congress 2002 Workshop Intro - ...mfrancis
 
The OSGi Complete - Pavlin Dobrev
The OSGi Complete - Pavlin DobrevThe OSGi Complete - Pavlin Dobrev
The OSGi Complete - Pavlin Dobrevmfrancis
 
Eyeball AnyConnect™ Gateway Administration Guide
Eyeball AnyConnect™ Gateway Administration GuideEyeball AnyConnect™ Gateway Administration Guide
Eyeball AnyConnect™ Gateway Administration GuideEyeball Networks
 
Update OSGi Residential Expert Group
Update OSGi Residential Expert Group Update OSGi Residential Expert Group
Update OSGi Residential Expert Group OSGiUsers
 
SITE_6_Release_Highlights.pdf
SITE_6_Release_Highlights.pdfSITE_6_Release_Highlights.pdf
SITE_6_Release_Highlights.pdfBirodhShrestha1
 
Service Scenarios and Learnings from the Belgacom EasyHome Lab - Bernard Boël...
Service Scenarios and Learnings from the Belgacom EasyHome Lab - Bernard Boël...Service Scenarios and Learnings from the Belgacom EasyHome Lab - Bernard Boël...
Service Scenarios and Learnings from the Belgacom EasyHome Lab - Bernard Boël...mfrancis
 
OSGi Technology in the France Telecom Plugs Home Platform - Gilles Deflandre,...
OSGi Technology in the France Telecom Plugs Home Platform - Gilles Deflandre,...OSGi Technology in the France Telecom Plugs Home Platform - Gilles Deflandre,...
OSGi Technology in the France Telecom Plugs Home Platform - Gilles Deflandre,...mfrancis
 
How the OSGi Residential Specifications can help to build an ecosystem for sm...
How the OSGi Residential Specifications can help to build an ecosystem for sm...How the OSGi Residential Specifications can help to build an ecosystem for sm...
How the OSGi Residential Specifications can help to build an ecosystem for sm...mfrancis
 
Software Defined Networking/Openflow: A path to Programmable Networks
Software Defined Networking/Openflow: A path to Programmable NetworksSoftware Defined Networking/Openflow: A path to Programmable Networks
Software Defined Networking/Openflow: A path to Programmable NetworksMyNOG
 
Ccna v5-S1-Chapter 10
Ccna v5-S1-Chapter 10Ccna v5-S1-Chapter 10
Ccna v5-S1-Chapter 10Hamza Malik
 
Protocol
ProtocolProtocol
Protocolm_bahba
 
Using Device Abstraction Layers in OSGi based Embedded Systems - Dimitar Valt...
Using Device Abstraction Layers in OSGi based Embedded Systems - Dimitar Valt...Using Device Abstraction Layers in OSGi based Embedded Systems - Dimitar Valt...
Using Device Abstraction Layers in OSGi based Embedded Systems - Dimitar Valt...mfrancis
 
[Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic
[Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic[Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic
[Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogicRakuten Group, Inc.
 
PLNOG 8: Alessandro Fiaschi - The Edge-Core Networks
PLNOG 8: Alessandro Fiaschi - The Edge-Core Networks PLNOG 8: Alessandro Fiaschi - The Edge-Core Networks
PLNOG 8: Alessandro Fiaschi - The Edge-Core Networks PROIDEA
 
ITN_Module_17.pptx
ITN_Module_17.pptxITN_Module_17.pptx
ITN_Module_17.pptxssuserf7cd2b
 
Device Abstraction in OSGi Based Embedded Systems - Dimitar Valtchev
Device Abstraction in OSGi Based Embedded Systems - Dimitar ValtchevDevice Abstraction in OSGi Based Embedded Systems - Dimitar Valtchev
Device Abstraction in OSGi Based Embedded Systems - Dimitar Valtchevmfrancis
 
Chapter 10 - Application Layer
Chapter 10 - Application LayerChapter 10 - Application Layer
Chapter 10 - Application LayerYaser Rahmati
 
CCNAv5 - S1: Chapter 10 Application Layer
CCNAv5 - S1: Chapter 10 Application LayerCCNAv5 - S1: Chapter 10 Application Layer
CCNAv5 - S1: Chapter 10 Application LayerVuz Dở Hơi
 
Chapter 10 : Application layer
Chapter 10 : Application layerChapter 10 : Application layer
Chapter 10 : Application layerteknetir
 
Pivotal Cloud Foundry 2.5: A First Look
Pivotal Cloud Foundry 2.5: A First LookPivotal Cloud Foundry 2.5: A First Look
Pivotal Cloud Foundry 2.5: A First LookVMware Tanzu
 

Similar to OSGi Specification Evolution - BJ Hargrave (20)

Technical Specification Overview - OSGi World Congress 2002 Workshop Intro - ...
Technical Specification Overview - OSGi World Congress 2002 Workshop Intro - ...Technical Specification Overview - OSGi World Congress 2002 Workshop Intro - ...
Technical Specification Overview - OSGi World Congress 2002 Workshop Intro - ...
 
The OSGi Complete - Pavlin Dobrev
The OSGi Complete - Pavlin DobrevThe OSGi Complete - Pavlin Dobrev
The OSGi Complete - Pavlin Dobrev
 
Eyeball AnyConnect™ Gateway Administration Guide
Eyeball AnyConnect™ Gateway Administration GuideEyeball AnyConnect™ Gateway Administration Guide
Eyeball AnyConnect™ Gateway Administration Guide
 
Update OSGi Residential Expert Group
Update OSGi Residential Expert Group Update OSGi Residential Expert Group
Update OSGi Residential Expert Group
 
SITE_6_Release_Highlights.pdf
SITE_6_Release_Highlights.pdfSITE_6_Release_Highlights.pdf
SITE_6_Release_Highlights.pdf
 
Service Scenarios and Learnings from the Belgacom EasyHome Lab - Bernard Boël...
Service Scenarios and Learnings from the Belgacom EasyHome Lab - Bernard Boël...Service Scenarios and Learnings from the Belgacom EasyHome Lab - Bernard Boël...
Service Scenarios and Learnings from the Belgacom EasyHome Lab - Bernard Boël...
 
OSGi Technology in the France Telecom Plugs Home Platform - Gilles Deflandre,...
OSGi Technology in the France Telecom Plugs Home Platform - Gilles Deflandre,...OSGi Technology in the France Telecom Plugs Home Platform - Gilles Deflandre,...
OSGi Technology in the France Telecom Plugs Home Platform - Gilles Deflandre,...
 
How the OSGi Residential Specifications can help to build an ecosystem for sm...
How the OSGi Residential Specifications can help to build an ecosystem for sm...How the OSGi Residential Specifications can help to build an ecosystem for sm...
How the OSGi Residential Specifications can help to build an ecosystem for sm...
 
Software Defined Networking/Openflow: A path to Programmable Networks
Software Defined Networking/Openflow: A path to Programmable NetworksSoftware Defined Networking/Openflow: A path to Programmable Networks
Software Defined Networking/Openflow: A path to Programmable Networks
 
Ccna v5-S1-Chapter 10
Ccna v5-S1-Chapter 10Ccna v5-S1-Chapter 10
Ccna v5-S1-Chapter 10
 
Protocol
ProtocolProtocol
Protocol
 
Using Device Abstraction Layers in OSGi based Embedded Systems - Dimitar Valt...
Using Device Abstraction Layers in OSGi based Embedded Systems - Dimitar Valt...Using Device Abstraction Layers in OSGi based Embedded Systems - Dimitar Valt...
Using Device Abstraction Layers in OSGi based Embedded Systems - Dimitar Valt...
 
[Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic
[Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic[Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic
[Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic
 
PLNOG 8: Alessandro Fiaschi - The Edge-Core Networks
PLNOG 8: Alessandro Fiaschi - The Edge-Core Networks PLNOG 8: Alessandro Fiaschi - The Edge-Core Networks
PLNOG 8: Alessandro Fiaschi - The Edge-Core Networks
 
ITN_Module_17.pptx
ITN_Module_17.pptxITN_Module_17.pptx
ITN_Module_17.pptx
 
Device Abstraction in OSGi Based Embedded Systems - Dimitar Valtchev
Device Abstraction in OSGi Based Embedded Systems - Dimitar ValtchevDevice Abstraction in OSGi Based Embedded Systems - Dimitar Valtchev
Device Abstraction in OSGi Based Embedded Systems - Dimitar Valtchev
 
Chapter 10 - Application Layer
Chapter 10 - Application LayerChapter 10 - Application Layer
Chapter 10 - Application Layer
 
CCNAv5 - S1: Chapter 10 Application Layer
CCNAv5 - S1: Chapter 10 Application LayerCCNAv5 - S1: Chapter 10 Application Layer
CCNAv5 - S1: Chapter 10 Application Layer
 
Chapter 10 : Application layer
Chapter 10 : Application layerChapter 10 : Application layer
Chapter 10 : Application layer
 
Pivotal Cloud Foundry 2.5: A First Look
Pivotal Cloud Foundry 2.5: A First LookPivotal Cloud Foundry 2.5: A First Look
Pivotal Cloud Foundry 2.5: A First Look
 

More from mfrancis

Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...mfrancis
 
OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)mfrancis
 
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)mfrancis
 
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank LyaruuOSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruumfrancis
 
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...mfrancis
 
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...mfrancis
 
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...mfrancis
 
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)mfrancis
 
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...mfrancis
 
OSGi CDI Integration Specification - Ray Augé (Liferay)
OSGi CDI Integration Specification - Ray Augé (Liferay)OSGi CDI Integration Specification - Ray Augé (Liferay)
OSGi CDI Integration Specification - Ray Augé (Liferay)mfrancis
 
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...mfrancis
 
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...mfrancis
 
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...mfrancis
 
Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)mfrancis
 
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)mfrancis
 
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)mfrancis
 
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...mfrancis
 
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)mfrancis
 
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...mfrancis
 
How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)mfrancis
 

More from mfrancis (20)

Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
 
OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)
 
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
 
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank LyaruuOSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
 
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
 
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
 
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
 
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
 
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
 
OSGi CDI Integration Specification - Ray Augé (Liferay)
OSGi CDI Integration Specification - Ray Augé (Liferay)OSGi CDI Integration Specification - Ray Augé (Liferay)
OSGi CDI Integration Specification - Ray Augé (Liferay)
 
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
 
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
 
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
 
Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)
 
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
 
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
 
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
 
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
 
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
 
How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)
 

Recently uploaded

SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 

Recently uploaded (20)

SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 

OSGi Specification Evolution - BJ Hargrave

  • 1. OSGi Specification Evolution BJ Hargrave OSGi Fellow Core Platform Expert Group Chair hargrave@us.ibm.com
  • 2. ©1999-2002 OSGi, All Rights Reserved OSGi Service Gateway Release 1 May 2000 DeviceManager HttpService LogService Framework
  • 3. ©1999-2002 OSGi, All Rights Reserved Framework Package Admin Permission Admin DeviceManager UserAdmin ServiceTracker ConfigurationAdmin PreferencesService LogService HttpService OSGi Service Platform Release 2 Oct 2001
  • 4. ©1999-2002 OSGi, All Rights Reserved Framework PackageAdmin Start LevelPermissionAdmin URL handler support DeviceManager UserAdmin ServiceTracker ConfigurationAdmin PreferencesService LogService HttpService IOConnectorService Position XMLParserService UPnPService JiniService WireAdmin Measurement Planned Content OSGi Service Platform Release 3 1Q 2003 Execution Environment
  • 5. ©1999-2002 OSGi, All Rights Reserved R3 Document Sections • Reference section – Not normative – Intended to be illustrative, define common terminology and suggest how OSGi might be used • Specifications section – Normative – Future updates to these specifications will be made backward compatible • Proposed Specifications section – Normative – A proposed specification has resolved known design choices, is believed to be well understood, has received significant review and appears to enjoy enough interest to be of considerable value – However, these specifications lack real life experience by multiple companies which makes it difficult to guarantee full backward compatibility in the future. – Implementing the proposed specifications is recommended but implementers should consider the effects of future changes to the specification that, in worst case, will not be backward compatible – Deploying implementations of such standards into a disruption-sensitive environment is not recommended
  • 6. ©1999-2002 OSGi, All Rights Reserved Framework Enhancements • Dynamic Import Package – Package may be imported after bundle resolution – Useful for Class.forName idiom • Automatic import of java.* packages • Improved native code selection algorithm • Different default FilePermissions for bundle data area • Additional FrameworkEvent types
  • 7. ©1999-2002 OSGi, All Rights Reserved Execution Environments • Two execution environments are specified • OSGi/Minimum-1.0 – Minimum execution environment that supports OSGi Framework and basic services implementations • CDC-1.0/Foundation-1.0 – J2ME Foundation Profile – Proper superset of OSGi/Minimum-1.0 • Bundles written to OSGi/Minimum-1.0 will also run on CDC-1.0/Foundation-1.0 and J2SE
  • 8. ©1999-2002 OSGi, All Rights Reserved EE Comparison J2SE CDC-1.0/Foundation-1.0 OSGi/Minimum-1.0
  • 9. ©1999-2002 OSGi, All Rights Reserved Start Level Service • Allows a management agent to order the startup sequence and shutdown sequence of bundles. • Supports a virtually unlimited number of levels. • The model for start levels is compatible with the Service Platform Release 2 specifications.
  • 10. ©1999-2002 OSGi, All Rights Reserved Start Level Service Class Diagram management bundle event listener <<interface>> Framework Listener StartLevel 0..* Framework Implementation Framework impl. Framework Event is notified by1 0..* start level gets changed 0..*
  • 11. ©1999-2002 OSGi, All Rights Reserved URL Stream and Content Handlers • Multiple bundles are allowed to register ContentHandler objects and URLStreamHandler objects • Existing schemes in an OSGi Service Platform cannot be overridden • The life cycle of bundles is supported • Scheme handlers and content type handlers become unavailable when the registering bundle is stopped • Minimal effort is required for a bundle to provide a new URL scheme or content type handler
  • 12. ©1999-2002 OSGi, All Rights Reserved URL Stream and Content Handlers Class Diagram java.net.URL java.net.URL StreamHandler java.net.URL StreamHandler Factory java.net.URL Connection java.net.Content Handler java.net.Content HandlerFactor URLStream Handler Service URLConnection subclass impl. URL Stream Handler Proxy impl. Content Handler Proxy impl. Stream Handler implement. Content Handler implement. URL Stream Handler Fact. impl. URL Content handler Fact. implement. 1 0,1 gets URLStreamHandlers from 0..* 1 gets content via 1 0,1 1 0..* 0..* 0,1 <<interface>> URLStream HandlerSetter <<class>> AbstractURLStream creates connections of isby isfoundinregistryy(keyedbymime) is called by setURL tracked b
  • 13. ©1999-2002 OSGi, All Rights Reserved Wire Admin • Provides a comprehensive mechanism to link data producing components with data consuming components in an OSGi environment • Contains configuration data in order to allow either party to adapt to the special needs of the wire • Facilitates the negotiation of the data type to be used for data transfer between producers of data and consumers of data – Consumers and producers must be able to handle multiple data types for data exchanges using a preferred order • Separates connected parties from each other. Neither party is required to hold the service object of the other party • The interfaces are designed so that both parties, the Producer and the Consumer services, should be easy to implement
  • 14. ©1999-2002 OSGi, All Rights Reserved Wire Admin Class Diagram 0,1 0..* <<interface>> Wire <<service>> WireAdmin <<service>> Consumer 1 update/polled maintains <<service>> Producer WireAdmin Event <<service>> WireAdmin Listener Wire Admin impl. Producer impl. Consumer impl. WireAdmin Listener impl. Wire impl (persistent) 0..* Administrating UI 0,10..* administers updated poll listens to 0..* 1 sends out events
  • 15. ©1999-2002 OSGi, All Rights Reserved XML Parser Service • Leverages existing standards in Java based XML parsing: JAXP, SAX and DOM • Runs unmodified JAXP code • Easy to provide a SAX or DOM parser as well as easy to find a matching parser • Possible to have multiple implementations of parsers available • Parsers are likely to be extended in the future with more functionality
  • 16. ©1999-2002 OSGi, All Rights Reserved XML Parser Service Class Diagram <<class>> SAXParser Factory <<class>> Document BuilderFactory XMLParser Activator SAXParser user Document Builder user Subclass impl. <<class>> SAXParser <<class>> Document Builder Document Builder impl. SAXParser impl. parses with registered by instantiates reads bundle META-INF Parser Implementation Bundle getsgets 0..* 0..*0..* 0..* 0..*0..* 0,1 0,1 0,10,1 0..* 1 0..*1 parses with 0..* 0..* instant. by registered by
  • 17. ©1999-2002 OSGi, All Rights Reserved Measurement • A utility class that provides a consistent way of handling a diverse range of measurements • Simplifies measurements calculations • Handles unit conflict resolution • Handles unit coercion • Consistent handling of error calculation and unit types • Uses SI units
  • 18. ©1999-2002 OSGi, All Rights Reserved Measurement Class Diagram is of unit UnitMeasurement 0..n 1 State
  • 19. ©1999-2002 OSGi, All Rights Reserved Position • Utility class that provides an information object that has well defined semantics for a position • Uses the World Geodetic System 84 as the datum • Provides speed and track information • Position information may have errors or may not be measurable • Uses SI units for all measurements • Works within the Wire Admin service
  • 20. ©1999-2002 OSGi, All Rights Reserved Position Class Diagram latitude <<class>> Position <<class>> Measurement 1 1 longitude 1 1 1 1 1 altitude 1 1 track 1 speed
  • 21. ©1999-2002 OSGi, All Rights Reserved IO Connector Service • Provides an intermediate layer that abstracts the actual protocol and devices from the using bundle • Allows third-party bundles to extend the system with new protocols and devices • Allows a protocol to be layered on top of lower layer protocols or devices • Allows the selection of actual protocol/device by means of configuration data • Compatible with existing standards
  • 22. ©1999-2002 OSGi, All Rights Reserved IO Connector Service Class Diagram Connector <<interface>> Connection <<interface>> InputConnecti on <<interface>> Output Connection <<interface>> Stream Connection <<interface>> Content Connection <<interface>> Http Connection <<interface>> Datagram Connection <<interface>> StreamConnec- tionNotifier Connector Service impl. Impl. of scheme providers Impl. of IO user provides io scheme 0..* 1 0..* uses Impl. of Connection 10..* 1 0,1 <<service>> ConnectorService <<service>> ConnectionFactory connections factory 0,1 used as default
  • 23. ©1999-2002 OSGi, All Rights Reserved Jini Service • Jini services are usable as OSGi services and vice versa • Jini services should not compromise OSGi Service Platform security • A bundle can export an OSGi service as a Jini service • A bundle can use an OSGi service that represents a Jini service
  • 24. ©1999-2002 OSGi, All Rights Reserved Jini Service Class Diagram JiniDriver Importer impl. JiniDriver impl. Exporter impl. some service tagged with EXPORT Service Registrar Some imported Jini service Some importable Jini Service Service Registrar Some exportable Jini service exported to gets 0..* 0..* 0..* 0..* registered Jini Community Jini Driver Bundle proxy object Service Registrar proxy object 0..* 1 0..* 1 0..* 0..* sets Jini templates for requested Jini services gets 0..* 0..* proxy for proxy for
  • 25. ©1999-2002 OSGi, All Rights Reserved UPnP Service • Limited to device control of UPnP – Aspects concerning the TCP/IP layer are not addressed • OSGi services can be transparently made available to UPnP networks • Possible to restrict the use of UPnP to a selection of the possible networks • Bundles can listen to UPnP events • Bundles can make a service available to UPnP controllers • Bundles can control UPnP devices
  • 26. ©1999-2002 OSGi, All Rights Reserved UPnP Service Class Diagram <<interface>> UPnPService a listener <<interface>> UPnPAction <<interface>> UPnPState Variable <<interface>> UPnPEvent Listener <<interface>> UPnPIcon A UPnP device implementer A UPnP control point A UPnP device implementation out parm has 1 0..n 0..n 1 10..n 11..n UPnP Base Driver Implementation associatedwith has registers getsregisters listensto 0..n 1 1 0..n has 1..n 1 0..n 1 10..n <<service>> UPnPDevice 0..n 0,1 child has in parameter
  • 27. ©1999-2002 OSGi, All Rights Reserved Availability • OSGi Service Platform Release 3 – Specification on track to be publicly available in 1Q 2003
  • 29. ©1999-2002 OSGi, All Rights Reserved Framework • Foundation of OSGi specification • 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
  • 30. ©1999-2002 OSGi, All Rights Reserved Log Service • Simple and small Log service for operator • 4 Levels – INFO, DEBUG, WARNING, ERROR • Automatically logs framework events in a defined way • Other bundles can access log history – Management bundle – History size implementation dependent
  • 31. ©1999-2002 OSGi, All Rights Reserved Log Service Class Diagram a log usera log user a log readera log reader LogServiceLogService a log service impl. a log service impl. A log entry impl. A log entry impl. A log reader impl. A log reader impl. Log Service Impl. bundle Store a message for retrieval and broadcast Message log Send new log entry A log user bundle A log reader using bundle Log a message Retrieve log LogReader ServiceServi LogReader LogEntryLogEntry LogListenerLogListener ce
  • 32. ©1999-2002 OSGi, All Rights Reserved Http Service • Provides web access to bundles • A powerful servlet runner – Supports Servlet Version 2.1 • Very simple to export static pages and files (like images) • Automatically unregisters servlets when bundle is stopped
  • 33. ©1999-2002 OSGi, All Rights Reserved Http Service Class Diagram HttpServiceHttpService Default impl. HttpContext Default impl. HttpContext Resource registration Resource registration Servlet registration Servlet registration NameSpace alias NameSpace alias An Http Service impl. An Http Service impl. Impl. Of Http context Impl. Of Http context Impl. Of servlet Impl. Of servlet Bundles main code Bundles main code javax.servlet. ServletServlet javax.servlet. NameSpace ExceptionException NameSpace HttpContextHttpContext javax.servlet. Request/ Response javax.servlet. Request/ Response
  • 34. ©1999-2002 OSGi, All Rights Reserved Device Access • Dynamic device driver download model • Plug & Play – Plugged in devices identify themselves – Device Manager will download appropriate bundle • Matching process for best driver • Extendable – Driver locator
  • 35. ©1999-2002 OSGi, All Rights Reserved Device Access Class Diagram References to install Locator bundle Locator bundle A deviceA deviceselector bundle selector bundle DriverDriver attachselects Device Manager Device Manager DeviceDeviceDriver Locator Driver Locator Driver Selector Driver Selector
  • 36. ©1999-2002 OSGi, All Rights Reserved Device Access Driver Locator Driver Locator 7. attach 4. find bundle location 5. Install bundle 2. register Camera 1. Insert camera 9. Select camera 8. Register camera 3. Select device Device Manager Sony CCD654 Driver 6. register TV bundle Camera Device IEEE 1394B Network bundle Interface 10. Show camera on TV TV
  • 37. ©1999-2002 OSGi, All Rights Reserved Package Admin • Policy interface to Framework for package administration • Uninstalling a bundle will not withdraw exported packages – anymore (this was optional in Release 1) • Inspect current state of package sharing • Cleanup stale exported packages by refreshing the minimum set of bundles
  • 38. ©1999-2002 OSGi, All Rights Reserved Permission Admin • Policy interface to Framework for permission administration • Permissions associated with bundle location – Allows setting before bundle is downloaded • Synchronous Bundle Listener added – A management agent can set the permissions Just In Time • (Simple) Serializable format for permissions
  • 39. ©1999-2002 OSGi, All Rights Reserved Service Tracker • Services register and unregister all the time • Onus on the programmer to only use services that are registered • ServiceTracker simplifies this task: – Maintains a list of active services – Events can be overridden in subclass • Used in almost every bundle
  • 40. ©1999-2002 OSGi, All Rights Reserved Configuration Admin • Configures bundles – At startup, or any later moment • Maintains a repository of configurations – Local – Management system • Configurations are key/value pairs – Can be typed with Meta Types • Can be extended with plugins
  • 41. ©1999-2002 OSGi, All Rights Reserved Configuration Admin Class Diagram client bundle client bundle Configuration Admin impl Configuration Admin impl Configuration bundle Configuration bundle client bundle client bundle Managed Service Factory Managed Service Factory ConfigurationConfiguration 1 0..n Plugin implPlugin impl Configuration Exception Configuration Exception Configuration Admin Configuration Admin Managed Service Managed Service Configuration Plugin Configuration Plugin 1 1
  • 42. ©1999-2002 OSGi, All Rights Reserved Meta Typing • Data Descriptors for generic editors – Configurations, Properties • Supports – Basic types like String, Integer, Byte, Short … – Arrays and Vectors • Uses LDAP Objectclass, attribute model • Can be localized for different languages • General validation support
  • 43. ©1999-2002 OSGi, All Rights Reserved Meta Typing Class Diagram MetaType Provider MetaType Provider ObjectClass Definition ObjectClass1 1..n Definition Attribute Definition Attribute Definition Locale PID 1 1..n
  • 44. ©1999-2002 OSGi, All Rights Reserved Preferences Service • Simple hierarchical model like Windows Registry • Uses simple hierarchical names – /bundle/121/httpport=81 • Different trees – Multiple named trees per bundle – One system tree per bundle • Implementation can store locally or on management system
  • 45. ©1999-2002 OSGi, All Rights Reserved Preferences Service Class Diagram BackingStore Exception a bundlea bundle PreferencesPreferences 0..n 1 0..n 1 1 1 Root user nodes Root system node User name BackingStore Exception Preferences Service Preferences Service Bundle preferences Bundle preferences Service impl.Service impl. Preference Node impl. Preference Node impl. nodes0..n 1
  • 46. ©1999-2002 OSGi, All Rights Reserved Preferences Service Named or Systemroot c2 d1 c1 foo=8 bar=9 lex=‘acme’ d2 d1 d1 d2 /c2 /c1/d2 properties /c1/d2 /c1/d2/d1/d2 foo=8 bar=9 lex=‘acme’ properties /c1/d2/d1/d2
  • 47. ©1999-2002 OSGi, All Rights Reserved User Admin • Repository of users • Maintains data for authentication and other purposes – Private keys, passwords, bio-profile, User Preferences • Powerful role based authorization model – Users, group of users, and groups of groups • Administrative functions
  • 48. ©1999-2002 OSGi, All Rights Reserved User Admin Class Diagram Request Authenticator Request Authenticator User Listener impl. User Listener impl. User admin impl User admin impl UserAdminUserAdminRoleRole UserUser GroupGroup Role implRole impl User implUser impl Group implGroup impl AuthorizationAuthorization Has roles Send event Basic member Required member Action implAction impl Perform action Consult for authorization authenticate UserAdmin EventEvent UserAdmin Receive events UserAdmin ListenerListener UserAdmin User name UserAdmin Permission UserAdmin Permission