SlideShare a Scribd company logo
OSGi – The µServices Kernel
A high level technical introduction to OSGi
Once upon a time in 1998 …
long before SOA …
A JSR was born …
Intro to OSGi – the Microservices kernel - P Kriens & T Ward
8
the OSGi Service FrameworkService
Service
Service
Service
To prevent confusion, we coined
the term …
micro-service
micro-service
micro-service
they did it again …
µService
because we are worth it …
Let’s go back to the beginning
Modularity
• modules have a private space and share a public
space
• modules limit their visibility and exposure
• complexity ∷ parts2
A B
C D
Modularity
• modules have a private space and share a public
space
• modules limit their visibility and exposure
• complexity ∷ parts2
A B
C D
Pub
Modularity
• modules have a private space and share a public
space
• modules limit their visibility and exposure
• complexity ∷ parts2
A B
C D
Pub
SoftwareComplexity
Moving Parts
Modularity’s Secret
SoftwareComplexity
Moving Parts
Modularity’s Secret
SoftwareComplexity
Moving Parts
Modularity’s Secret
SoftwareComplexity
Moving Parts
Modularity’s Secret
A	

v1.0
C	

v1.1
B	

v2.3
Done?
Interfaces/API
User
Class
Implementer
Class
Interface
User
Class
Implementer
Class
Interface
Interfaces/API
package com.api package com.provider.implpackage com.consumer.impl
User
Class
Implementer
Class
Interface
Interfaces/API
package com.api package com.provider.implpackage com.consumer.impl
DocumentBuilderYour App Xerces
User
Class
Implementer
Class
Interface
Interfaces/API
package com.api package com.provider.implpackage com.consumer.impl
User
Class
Implementer
Class
Interface
Interfaces/API
package com.api package com.provider.implpackage com.consumer.impl
User
Class
Implementer
Class
Interface
Interfaces/API
package com.api package com.provider.implpackage com.consumer.impl
User
Class
Implementer
Class
Interface
private
Interfaces/API
Now what?
package com.api package com.provider.implpackage com.consumer.impl
package com.api package com.provider.implpackage com.consumer.impl
Listen
package com.api package com.provider.implpackage com.consumer.impl
Register
Listen
package com.api package com.provider.implpackage com.consumer.impl
Register
GetListen
An honest broker …
Overhead?
µService call ≡ Method call
µService ≡ object
Closer with less irritation …
.
.
REST
SOA
.
REST
SOA “MICRO
Service”
.
REST
SOA “MICRO
Service”
µservice
.
REST
OSGi
• Adaptive
• Flexible
• Contracts
• Robust
• Secure
• Evolution
• Distributed
D
G
B
E
H
C
F
I
OSGi
• Adaptive
• Flexible
• Contracts
• Robust
• Secure
• Evolution
• Distributed
D
A
G
B
E
H
C
F
I
Ba Bb
OSGi
• Adaptive
• Flexible
• Contracts
• Robust
• Secure
• Evolution
• Distributed
D
A
G
E
H
C
F
I
B
Ba Bb
OSGi
• Adaptive
• Flexible
• Contracts
• Robust
• Secure
• Evolution
• Distributed
D
A
G
E
H
C
F
I
Ba Bb
OSGi
• Adaptive
• Flexible
• Contracts
• Robust
• Secure
• Evolution
• Distributed
D
A
G
E
H
C
F
I
Ba Bb
OSGi
• Adaptive
• Flexible
• Contracts
• Robust
• Secure
• Evolution
• Distributed
D
A
G
E
H
C
F
I
Ba Bb
OSGi
• Adaptive
• Flexible
• Contracts
• Robust
• Secure
• Evolution
D
A
G
E
H
C
F
I
Ba Bb
OSGi
• Adaptive
• Flexible
• Contracts
• Robust
• Secure
• Evolution
D
A
G
E
H
C
FF
Ba Bb
OSGi
• Adaptive
• Flexible
• Contracts
• Robust
• Secure
• Evolution
• Distributed
D
A
G
E
H
C
FF
Ba Bb
OSGi
• Adaptive
• Flexible
• Contracts
• Robust
• Secure
• Evolution
• Distributed
D
A
G
E
H
C
FF
Ba Bb
D
A
G
E
H
C
F
Ba Bb
OSGi
• Adaptive
• Flexible
• Contracts
• Robust
• Secure
• Evolution
• Distributed
D
A
G
E
H
C
FF
Ba Bb
OSGi
• Adaptive
• Flexible
• Contracts
• Robust
• Secure
• Evolution
• Distributed
D
A
G
E
H
C
FF
I v2.0
Ba Bb
OSGi
• Adaptive
• Flexible
• Contracts
• Robust
• Secure
• Evolution
• Distributed
D
A
G
E
H
C
FF
I v2.0
S;1.1.0
F
Ba Bb
OSGi
• Adaptive
• Flexible
• Contracts
• Robust
• Secure
• Evolution
• Distributed
D
A
G
E
H
C
FF
I v2.0
S;1.1.0
F
Ba Bb
OSGi
• Adaptive
• Flexible
• Contracts
• Robust
• Secure
• Evolution
• Distributed
D
A
G
E
H
C
FF
I v2.0
S;1.1.0
F
Ba Bb
OSGi
• Adaptive
• Flexible
• Contracts
• Robust
• Secure
• Evolution
• Distributed
D
A
G
E
H
C
FF
I v2.0
S;1.1.0
F
REST
Service Patterns
• Factory
• Listener
• Discovery
• Distribution
• Dependencies
Service Patterns
• Factory
• Listener
• Discovery
• Distribution
• Dependencies
Service Patterns
• Factory
• Listener
• Discovery
• Distribution
• Dependencies
Service Patterns
• Factory
• Listener
• Discovery
• Distribution
• Dependencies
Service Patterns
• Factory
• Listener
• Discovery
• Distribution
• Dependencies
Service Patterns
• Factory
• Listener
• Discovery
• Distribution
• Dependencies
But OSGi is so complicated!
Sigh …
Complexity is in the eye of the
beholder
Complexity is in the eye of the
beholder
Intro to OSGi – the Microservices kernel - P Kriens & T Ward
The right tool for the job …
Intro to OSGi – the Microservices kernel - P Kriens & T Ward
meet
bnd(tools)
Intro to OSGi – the Microservices kernel - P Kriens & T Ward
bnd(tools)
• DS Component Annotation support
• Access to maven central and more
• Based on Capability model
• Extensive debugging with dynamic updating
• Executable JARs
• Release tool with semantic versioning
• Baselining
• Integration with Continuous Integration
bnd(tools)
• DS Component Annotation support
• Access to maven central and more
• Based on Capability model
• Extensive debugging with dynamic updating
• Executable JARs
• Release tool with semantic versioning
• Baselining
• Integration with Continuous Integration
See
N
eil
B
ar
tlett’s
talk
o
n
B
n
d
to
o
ls
n
ext
OSGi enRoute
OSGi enRoute
Intro to OSGi – the Microservices kernel - P Kriens & T Ward
costofchange
functionality
costofchange
functionality
dynamic
languages
costofchange
functionality
dynamic
languages
Java/OSGi
costofchange
functionality
dynamic
languages
Java/OSGi
In the end,
OSGi is inevitable …
OSGi Release 6
• June 2nd the OSGi Core Release 6 Specification received its final
approval and will be available this week to the public for downloading.
• http://www.osgi.org/Specifications/HomePage

• The OSGi Board of Directors also approved the publication of an Early
Draft Specification of OSGi Enterprise Release 6 for downloading.
• http://www.osgi.org/Specifications/Drafts

OSGi Release 6
• June 2nd the OSGi Core Release 6 Specification received its final
approval and will be available this week to the public for downloading.
• http://www.osgi.org/Specifications/HomePage

• The OSGi Board of Directors also approved the publication of an Early
Draft Specification of OSGi Enterprise Release 6 for downloading.
• http://www.osgi.org/Specifications/Drafts

NEW
Intro to OSGi – the Microservices kernel - P Kriens & T Ward

More Related Content

PDF
IBM Sponsorship Keynote: Towards a Modularity Maturity Model - Graham Charters
PPTX
Gsma mwc david staudt feb 27 2012
PPTX
Ketan Rajput Intern report
PDF
Keynote: OSGi Past, Present and Future - Alex Blewitt
PDF
Structuring software systems with OSGi - Ulf Fildebrandt
PDF
JBoss / Red Hat: bridging the gap between web services technologies and real ...
PDF
Modules all the way down: OSGi and the Java Platform Module System
PDF
Condor
IBM Sponsorship Keynote: Towards a Modularity Maturity Model - Graham Charters
Gsma mwc david staudt feb 27 2012
Ketan Rajput Intern report
Keynote: OSGi Past, Present and Future - Alex Blewitt
Structuring software systems with OSGi - Ulf Fildebrandt
JBoss / Red Hat: bridging the gap between web services technologies and real ...
Modules all the way down: OSGi and the Java Platform Module System
Condor

Viewers also liked (8)

PDF
Modularity, Microservices and Containerisation - Neil Bartlett, Derek Baum
PDF
QCon Sao Paulo Keynote - Microservices, an Unexpected Journey
PDF
Do you really want to go fully micro?
PPTX
Microservices and OSGi: Better together?
PDF
Intro To OSGi
PDF
Microservices: The OSGi way A different vision on microservices
PDF
Building Services with WSO2 Microservices framework for Java and WSO2 AS
PDF
Microservices OSGi-running-with-apache-karaf
Modularity, Microservices and Containerisation - Neil Bartlett, Derek Baum
QCon Sao Paulo Keynote - Microservices, an Unexpected Journey
Do you really want to go fully micro?
Microservices and OSGi: Better together?
Intro To OSGi
Microservices: The OSGi way A different vision on microservices
Building Services with WSO2 Microservices framework for Java and WSO2 AS
Microservices OSGi-running-with-apache-karaf
Ad

Similar to Intro to OSGi – the Microservices kernel - P Kriens & T Ward (20)

PDF
OSGi DevCon 2009 Review
PDF
Benefits of OSGi in Practise
PPT
OSGi For Java Infrastructures [5th IndicThreads Conference On Java 2010, Pune...
PDF
Tales from the OSGi trenches
PPTX
Introduction to OSGGi
KEY
Introduction to EclipseRT (JAX 2010)
PDF
Technical Specification Overview - OSGi World Congress 2002 Workshop Intro - ...
KEY
Apache, osgi and karaf par Guillaume Nodet
KEY
Jug Poitou Charentes - Apache, OSGi and Karaf
PPTX
Introduction to-osgi
PDF
OSGi introduction
PDF
OSGi In Anger - Tara Simpson
PPTX
PDF
OSGi Specification Evolution - BJ Hargrave
PDF
What's new in the OSGi Enterprise Release 5.0
PDF
OSGi Enterprise Expert Group (OSGi Users Forum Germany)
PPT
Osgi Webinar
PPT
OSGi & Blueprint
KEY
First Touch with OSGi
PDF
OSGi tech session
OSGi DevCon 2009 Review
Benefits of OSGi in Practise
OSGi For Java Infrastructures [5th IndicThreads Conference On Java 2010, Pune...
Tales from the OSGi trenches
Introduction to OSGGi
Introduction to EclipseRT (JAX 2010)
Technical Specification Overview - OSGi World Congress 2002 Workshop Intro - ...
Apache, osgi and karaf par Guillaume Nodet
Jug Poitou Charentes - Apache, OSGi and Karaf
Introduction to-osgi
OSGi introduction
OSGi In Anger - Tara Simpson
OSGi Specification Evolution - BJ Hargrave
What's new in the OSGi Enterprise Release 5.0
OSGi Enterprise Expert Group (OSGi Users Forum Germany)
Osgi Webinar
OSGi & Blueprint
First Touch with OSGi
OSGi tech session
Ad

More from mfrancis (20)

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

Recently uploaded (20)

PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
Cloud computing and distributed systems.
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
Big Data Technologies - Introduction.pptx
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Approach and Philosophy of On baking technology
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Machine learning based COVID-19 study performance prediction
DOCX
The AUB Centre for AI in Media Proposal.docx
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PPTX
sap open course for s4hana steps from ECC to s4
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPTX
MYSQL Presentation for SQL database connectivity
PDF
KodekX | Application Modernization Development
Dropbox Q2 2025 Financial Results & Investor Presentation
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Cloud computing and distributed systems.
Encapsulation_ Review paper, used for researhc scholars
Agricultural_Statistics_at_a_Glance_2022_0.pdf
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Big Data Technologies - Introduction.pptx
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Approach and Philosophy of On baking technology
Digital-Transformation-Roadmap-for-Companies.pptx
Machine learning based COVID-19 study performance prediction
The AUB Centre for AI in Media Proposal.docx
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
sap open course for s4hana steps from ECC to s4
Reach Out and Touch Someone: Haptics and Empathic Computing
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
NewMind AI Weekly Chronicles - August'25 Week I
MYSQL Presentation for SQL database connectivity
KodekX | Application Modernization Development

Intro to OSGi – the Microservices kernel - P Kriens & T Ward