SlideShare a Scribd company logo
1 of 73
Don’t let me
be misunderstood
Mikaël Barbero
6 June 2013
OSGi
NOT SURE IF ACCIDENTALLY
COMPLEX
OR JUST ESSENTIALLY COMPLICATED
Geek and Poke cartoon, 27 July 2011: Graph Theory for Geeks (CC-BY-ND)
Original site: http://geekandpoke.typepad.com/geekandpoke/2011/07/graph-theory-for-geeks.html
Culprit ?
java -cp "Test.jar;lib/*" my.package.MainClass
Execution
Environment
Factory/Listener
patterns are key
to modularity
Classes are
identified by a
unique name
Java visibility are
sufficient
boundaries
Module identify
==
Module artifact
PermGen is
permanent
W R O N G !
W R O N G !
W R O N G !
W R O N G !
minimizing changes need to support the
evolution of itself and its dependencies
Modularity
Execution
Environment
Classes are
identified by a
unique name
Java visibility
creates
sufficient
boundaries
Mix up module
identify and
module artifact
PermGen is
permanent
Factory/Listener
patterns are key
to modularity
CDLC/MIDP
J2SE 1.3, 1.4,
5, 6, 7...
CDC/FP
OSGI
Min.
CDLC/MIDP
J2SE 1.3, 1.4,
5, 6, 7...
CDC/FP
OSGI
Min.
MANIFEST.MF
Bundle-RequiredExecutionEnvironment: J2SE-1.6
OS + Hardware
EE
Modules
Lifecycle
Service
S
e
c
u
r
i
t
r
y
Applications
(bundles)
Execution
Environment
Classes are
identified by a
unique name
Java visibility
creates
sufficient
boundaries
Mix up module
identity and
module artifact
PermGen is
permanent
Factory/Listener
patterns are key
to modularity
guava-14.0.1.jar
15-Mar-2013
2.1 M
69e12f4c6aeac392555f1ea86fab82b5e5e31ad4
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>14.0.1</version>
Bundle-Vendor: Google, Inc
Bundle-Name: com.google.guava
Bundle-Version: 11.0.2.v201303041551
<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>14.0.1</version>
</dependency>
Require-Bundle: com.google.guava;bundle-version="11.0.2"
OS + Hardware
EE
Modules
Lifecycle
Service
S
e
c
u
r
i
t
r
y
Applications
(bundles)
Execution
Environment
Classes are
identified by a
unique name
Java visibility
creates
sufficient
boundaries
Mix up module
identify and
module artifact
PermGen is
permanent
Factory/Listener
patterns are key
to modularity
Good fences make good neighbors
com.acme.myApp-1.2.jar
package
com.acme.core
package
com.acme.core.impl
org.logging.fmk-1.0.1.jar
package
org.logging.fmk.impl
package
org.logging.fmk
com.acme.myApp-1.2.jar
org.logging.fmk-1.0.1.jar
package
com.acme.core
package
com.acme.core.impl
package
org.logging.fmk.impl
package
org.logging.fmk
com.acme.myApp-1.2.jar
org.logging.fmk-1.0.1.jar
package
com.acme.core
package
com.acme.core.impl
package
org.logging.fmk.impl
package
org.logging.fmk
com.acme.myApp-1.2.jar
org.logging.fmk-1.0.1.jar
package
com.acme.core
package
com.acme.core.impl
package
org.logging.fmk.impl
package
org.logging.fmk
Bundle com.acme.myApp; version=1.2
Bundle org.logging.fmk; version=1.0.1
X
package
com.acme.core
package
com.acme.core.impl
package
org.logging.fmk.impl
package
org.logging.fmk
Bundle com.acme.myApp; version=1.2
Bundle org.logging.fmk; version=1.0.1
package
com.acme.core
package
com.acme.core.impl
package
org.logging.fmk.impl
package
org.logging.fmk
Bundle com.acme.myApp; version=1.2
Bundle org.logging.fmk; version=1.0.1
package
com.acme.core
package
com.acme.core.impl
package
org.logging.fmk.impl
package
org.logging.fmk
Export-package: com.acme.core
Export-package: com.acme.core;version="1.0.2"
SemanticVersions
major.minor.micro.qualifier
• major: different major versions are completely incompatible
• minor: same major and different minor versions are compatible for
consumer only (callers of the API)
• micro: used to signal bufixes with no backward incompatibility issues
• qualifier: build identity
OS + Hardware
EE
Modules
Lifecycle
Service
S
e
c
u
r
i
t
r
y
Applications
(bundles)
Execution
Environment
Classes are
identified by a
unique name
Java visibility
creates
sufficient
boundaries
Mix up module
identify and
module artifact
PermGen is
permanent
Factory/Listener
patterns are key
to modularity
My Killer
Application
Logging
Framework
My Killer
Application
Logging
Framework
XXX Framework
My Killer
Application
Logging
Framework v1
XXX Framework
Logging
Framework v2
My Killer Application
JavaVirtual Machine
Application
Extension
Foundation Basic
UI
Convenience
Borrowed from Peter Kriens presentation: http://www.slideshare.net/pkriens/osgi-and-java-modularity-1642537
Borrowed from Peter Kriens presentation: http://www.slideshare.net/pkriens/osgi-and-java-modularity-1642537
Class
Not
Found
Exception
Borrowed from Peter Kriens presentation: http://www.slideshare.net/pkriens/osgi-and-java-modularity-1642537
Class Object Identity
==
Qualified Class Name + ClassLoader Object
Bundle com.acme.myApp; version=1.2
Bundle org.logging.fmk; version=1.0.1
package
com.acme.core;v=1.0
package
com.acme.core.impl
package
org.logging.fmk.impl
package
org.logging.fmk;v=1.2
Bundle com.acme.myApp; version=1.2
Bundle org.logging.fmk; version=1.0.1
X
package
com.acme.core.impl
package
org.logging.fmk.impl
package
com.acme.core;v=1.0
package
org.logging.fmk;v=1.2
Bundle com.acme.myApp; version=1.2
Bundle org.logging.fmk; version=1.0.1
package
com.acme.core.impl
package
org.logging.fmk.impl
package
org.logging.fmk
package
com.acme.core;v=1.0
package
org.logging.fmk;v=1.2
Import-package: com.acme.core;version="[1.0.2, 1.1.0)"
Consumer Provider
[X.Y.Z.q, X+1.0.0) [X.Y.Z, X.Y+1.0)
Bundle com.acme.myApp; version=1.2
Bundle org.logging.fmk; version=1.0.1
package
com.acme.core.impl
package
org.logging.fmk.impl
package
org.logging.fmk
package
com.acme.core;v=1.0
package
org.logging.fmk;v=1.2
Bundle com.acme.myApp; version=1.2
package
com.acme.core.impl
package
com.acme.core;v=1.0
Bundle org.logging.fmk; version=1.0.1
package
org.logging.fmk.impl
package
org.logging.fmk;v=1.2
Bundle org.logging.fmk; version=2.3.0
package
org.logging.fmk.impl
package
org.logging.fmk;v=2.2
Bundl exxx.fmk; version=1.2
package
xxx
package
org.logging.fmk;v=[2.2,3)
package
xxx.exported;v=1.0
package
org.logging.fmk;v=[1.2,2.0)
package
xxx.exported
OS + Hardware
EE
Modules
Lifecycle
Service
S
e
c
u
r
i
t
r
y
Applications
(bundles)
Execution
Environment
Classes are
identified by a
unique name
Java visibility
creates
sufficient
boundaries
Mix up module
identify and
module artifact
PermGen is
permanent
Factory/Listener
patterns are key
to modularity
Bundle-Activator: com.acme.core.Activator
Bundle-ActivationPolicy: lazy
public class Activator implements BundleActivator {
public void start(BundleContext bc) {
...
}
public void stop(BundleContext bc) {
...
}
}
OS + Hardware
EE
Modules
Lifecycle
Service
S
e
c
u
r
i
t
r
y
Applications
(bundles)
Execution
Environment
Classes are
identified by a
unique name
Java visibility
creates
sufficient
boundaries
Mix up module
identify and
module artifact
PermGen is
permanent
Factory/Listener
patterns are
keys to
modularity
Consumer
Class
Interface
Provider
Class
Consumer
Class
Interface
Provider
Class
uses impl
Factory Pattern
Factory ???
Consumer
Class
Interface
Provider
Class
impl uses
Listener Pattern
Provider
Interface
impl
Consumer
Class
Interface
Provider
Class
Dependency injection
DI
Consumer
Class
Interface
Provider
Class
μServices
μServices
Consumer
Class
Provider
Class
μServices
get register
Declaring and getting services
Programmatically Declaratively
Service Registry
ServiceTracker
Decl. Services
Blueprint
OS + Hardware
EE
Modules
Lifecycle
Service
S
e
c
u
r
i
t
r
y
Applications
(bundles)
OS + Hardware
EE
Modules
Lifecycle
Service
S
e
c
u
r
i
t
r
y
Applications
(bundles)
Minimizing changes need to support the
evolution of itself and its dependencies
Modularity
High cohesion Low coupling Encapsulation
Modularity
PDE
You want to be
an achiever?
Give Feedback
1} Sign in www.eclipsecon.org
2} Select Session Evaluate
3} Vote +1, 0 or -1
ervisevichttp://www.flickr.com/photos/23979265@N07/4745520501/
Mikaël Barbero
mikael.barbero@obeo.fr
+Mikaël Barbero
@mikbarbero
Obeo
http://www.obeo.fr
(cc) TheAlieness GiselaGiardino²³ http://www.flickr.com/photos/36613169@N00/304120801/
Q
&
A
(cc) InstantVantage http://www.flickr.com/photos/44312356@N04/6023508805

More Related Content

What's hot

50+ java interview questions
50+ java interview questions50+ java interview questions
50+ java interview questionsSynergisticMedia
 
Java 7 Modularity: a View from the Gallery
Java 7 Modularity: a View from the GalleryJava 7 Modularity: a View from the Gallery
Java 7 Modularity: a View from the Gallerynjbartlett
 
Java design pattern tutorial
Java design pattern tutorialJava design pattern tutorial
Java design pattern tutorialAshoka Vanjare
 
Java Faqs useful for freshers and experienced
Java Faqs useful for freshers and experiencedJava Faqs useful for freshers and experienced
Java Faqs useful for freshers and experiencedyearninginjava
 
Design pattern application
Design pattern applicationDesign pattern application
Design pattern applicationgayatri thakur
 
Core java interview questions
Core java interview questionsCore java interview questions
Core java interview questionsrithustutorials
 
Cut your Dependencies - Dependency Injection at Silicon Valley Code Camp
Cut your Dependencies - Dependency Injection at Silicon Valley Code CampCut your Dependencies - Dependency Injection at Silicon Valley Code Camp
Cut your Dependencies - Dependency Injection at Silicon Valley Code CampTheo Jungeblut
 
CR Bridge Solutions Pvt Ltd. Java slides
CR Bridge Solutions Pvt Ltd. Java slidesCR Bridge Solutions Pvt Ltd. Java slides
CR Bridge Solutions Pvt Ltd. Java slidesCRBTech
 
Top 100 Java Interview Questions with Detailed Answers
Top 100 Java Interview Questions with Detailed AnswersTop 100 Java Interview Questions with Detailed Answers
Top 100 Java Interview Questions with Detailed AnswersWhizlabs
 
Java - OOPS and Java Basics
Java - OOPS and Java BasicsJava - OOPS and Java Basics
Java - OOPS and Java BasicsVicter Paul
 
Java Feature Spotlight: Sealed Classes
Java Feature Spotlight: Sealed ClassesJava Feature Spotlight: Sealed Classes
Java Feature Spotlight: Sealed ClassesSyed Hassan Raza
 
Introduction to basics of java
Introduction to basics of javaIntroduction to basics of java
Introduction to basics of javavinay arora
 
Framework engineering JCO 2011
Framework engineering JCO 2011Framework engineering JCO 2011
Framework engineering JCO 2011YoungSu Son
 
Learn java in hindi
Learn java in hindiLearn java in hindi
Learn java in hindiVipin sharma
 
Top 10 Interview Questions For Java
Top 10 Interview Questions For JavaTop 10 Interview Questions For Java
Top 10 Interview Questions For JavaEME Technologies
 

What's hot (19)

50+ java interview questions
50+ java interview questions50+ java interview questions
50+ java interview questions
 
Java 7 Modularity: a View from the Gallery
Java 7 Modularity: a View from the GalleryJava 7 Modularity: a View from the Gallery
Java 7 Modularity: a View from the Gallery
 
Java design pattern tutorial
Java design pattern tutorialJava design pattern tutorial
Java design pattern tutorial
 
Java Faqs useful for freshers and experienced
Java Faqs useful for freshers and experiencedJava Faqs useful for freshers and experienced
Java Faqs useful for freshers and experienced
 
Design pattern application
Design pattern applicationDesign pattern application
Design pattern application
 
Core java interview questions
Core java interview questionsCore java interview questions
Core java interview questions
 
Cut your Dependencies - Dependency Injection at Silicon Valley Code Camp
Cut your Dependencies - Dependency Injection at Silicon Valley Code CampCut your Dependencies - Dependency Injection at Silicon Valley Code Camp
Cut your Dependencies - Dependency Injection at Silicon Valley Code Camp
 
Java Technicalities
Java TechnicalitiesJava Technicalities
Java Technicalities
 
JDT Fundamentals 2010
JDT Fundamentals 2010JDT Fundamentals 2010
JDT Fundamentals 2010
 
CR Bridge Solutions Pvt Ltd. Java slides
CR Bridge Solutions Pvt Ltd. Java slidesCR Bridge Solutions Pvt Ltd. Java slides
CR Bridge Solutions Pvt Ltd. Java slides
 
Top 100 Java Interview Questions with Detailed Answers
Top 100 Java Interview Questions with Detailed AnswersTop 100 Java Interview Questions with Detailed Answers
Top 100 Java Interview Questions with Detailed Answers
 
Java - OOPS and Java Basics
Java - OOPS and Java BasicsJava - OOPS and Java Basics
Java - OOPS and Java Basics
 
Java Feature Spotlight: Sealed Classes
Java Feature Spotlight: Sealed ClassesJava Feature Spotlight: Sealed Classes
Java Feature Spotlight: Sealed Classes
 
Dacj 2-2 a
Dacj 2-2 aDacj 2-2 a
Dacj 2-2 a
 
Intro to Java
Intro to JavaIntro to Java
Intro to Java
 
Introduction to basics of java
Introduction to basics of javaIntroduction to basics of java
Introduction to basics of java
 
Framework engineering JCO 2011
Framework engineering JCO 2011Framework engineering JCO 2011
Framework engineering JCO 2011
 
Learn java in hindi
Learn java in hindiLearn java in hindi
Learn java in hindi
 
Top 10 Interview Questions For Java
Top 10 Interview Questions For JavaTop 10 Interview Questions For Java
Top 10 Interview Questions For Java
 

Viewers also liked

Eclipse simultaneous release in a nutshell
Eclipse simultaneous release in a nutshellEclipse simultaneous release in a nutshell
Eclipse simultaneous release in a nutshellmikaelbarbero
 
Eclipseconeurope 2011 - EMFCompare Improvements
Eclipseconeurope 2011 - EMFCompare ImprovementsEclipseconeurope 2011 - EMFCompare Improvements
Eclipseconeurope 2011 - EMFCompare Improvementsmikaelbarbero
 
What every Eclipse developer should know about progress reporting and job can...
What every Eclipse developer should know about progress reporting and job can...What every Eclipse developer should know about progress reporting and job can...
What every Eclipse developer should know about progress reporting and job can...mikaelbarbero
 
EMFCompare 2.0: Scaling to Millions
EMFCompare 2.0: Scaling to MillionsEMFCompare 2.0: Scaling to Millions
EMFCompare 2.0: Scaling to Millionsmikaelbarbero
 
Modeling in a Team Environment with EMF Compare and EGit
Modeling in a Team Environment with EMF Compare and EGitModeling in a Team Environment with EMF Compare and EGit
Modeling in a Team Environment with EMF Compare and EGitmikaelbarbero
 
Sirius: Graphical Editors for your DSLs
Sirius: Graphical Editors for your DSLsSirius: Graphical Editors for your DSLs
Sirius: Graphical Editors for your DSLsmikaelbarbero
 
Diff and Merge with Ease: EMF Compare
Diff and Merge with Ease: EMF CompareDiff and Merge with Ease: EMF Compare
Diff and Merge with Ease: EMF Comparemikaelbarbero
 
EMF.Edit the Force Unleashed!
EMF.Edit the Force Unleashed!EMF.Edit the Force Unleashed!
EMF.Edit the Force Unleashed!mikaelbarbero
 
Generating an Android App with Acceleo (Eclipse Summit Europe 2010)
Generating an Android App with Acceleo (Eclipse Summit Europe 2010)Generating an Android App with Acceleo (Eclipse Summit Europe 2010)
Generating an Android App with Acceleo (Eclipse Summit Europe 2010)mikaelbarbero
 
3mf infinity-and-beyond
3mf infinity-and-beyond3mf infinity-and-beyond
3mf infinity-and-beyondmikaelbarbero
 
5M lines of code migration
5M lines of code migration5M lines of code migration
5M lines of code migrationmikaelbarbero
 
EMF Compare 2.0: Scaling to Millions (updated)
EMF Compare 2.0: Scaling to Millions (updated)EMF Compare 2.0: Scaling to Millions (updated)
EMF Compare 2.0: Scaling to Millions (updated)mikaelbarbero
 
The Eclipse IDE - The Force Awakens (Devoxx France 2016)
The Eclipse IDE - The Force Awakens (Devoxx France 2016)The Eclipse IDE - The Force Awakens (Devoxx France 2016)
The Eclipse IDE - The Force Awakens (Devoxx France 2016)mikaelbarbero
 
Google Guava & EMF @ GTUG Nantes
Google Guava & EMF @ GTUG NantesGoogle Guava & EMF @ GTUG Nantes
Google Guava & EMF @ GTUG Nantesmikaelbarbero
 

Viewers also liked (15)

Eclipse simultaneous release in a nutshell
Eclipse simultaneous release in a nutshellEclipse simultaneous release in a nutshell
Eclipse simultaneous release in a nutshell
 
Eclipseconeurope 2011 - EMFCompare Improvements
Eclipseconeurope 2011 - EMFCompare ImprovementsEclipseconeurope 2011 - EMFCompare Improvements
Eclipseconeurope 2011 - EMFCompare Improvements
 
EMFPath
EMFPathEMFPath
EMFPath
 
What every Eclipse developer should know about progress reporting and job can...
What every Eclipse developer should know about progress reporting and job can...What every Eclipse developer should know about progress reporting and job can...
What every Eclipse developer should know about progress reporting and job can...
 
EMFCompare 2.0: Scaling to Millions
EMFCompare 2.0: Scaling to MillionsEMFCompare 2.0: Scaling to Millions
EMFCompare 2.0: Scaling to Millions
 
Modeling in a Team Environment with EMF Compare and EGit
Modeling in a Team Environment with EMF Compare and EGitModeling in a Team Environment with EMF Compare and EGit
Modeling in a Team Environment with EMF Compare and EGit
 
Sirius: Graphical Editors for your DSLs
Sirius: Graphical Editors for your DSLsSirius: Graphical Editors for your DSLs
Sirius: Graphical Editors for your DSLs
 
Diff and Merge with Ease: EMF Compare
Diff and Merge with Ease: EMF CompareDiff and Merge with Ease: EMF Compare
Diff and Merge with Ease: EMF Compare
 
EMF.Edit the Force Unleashed!
EMF.Edit the Force Unleashed!EMF.Edit the Force Unleashed!
EMF.Edit the Force Unleashed!
 
Generating an Android App with Acceleo (Eclipse Summit Europe 2010)
Generating an Android App with Acceleo (Eclipse Summit Europe 2010)Generating an Android App with Acceleo (Eclipse Summit Europe 2010)
Generating an Android App with Acceleo (Eclipse Summit Europe 2010)
 
3mf infinity-and-beyond
3mf infinity-and-beyond3mf infinity-and-beyond
3mf infinity-and-beyond
 
5M lines of code migration
5M lines of code migration5M lines of code migration
5M lines of code migration
 
EMF Compare 2.0: Scaling to Millions (updated)
EMF Compare 2.0: Scaling to Millions (updated)EMF Compare 2.0: Scaling to Millions (updated)
EMF Compare 2.0: Scaling to Millions (updated)
 
The Eclipse IDE - The Force Awakens (Devoxx France 2016)
The Eclipse IDE - The Force Awakens (Devoxx France 2016)The Eclipse IDE - The Force Awakens (Devoxx France 2016)
The Eclipse IDE - The Force Awakens (Devoxx France 2016)
 
Google Guava & EMF @ GTUG Nantes
Google Guava & EMF @ GTUG NantesGoogle Guava & EMF @ GTUG Nantes
Google Guava & EMF @ GTUG Nantes
 

Similar to OSGi: Don't let me be Misunderstood

Java 9 / Jigsaw - AJUG/VJUG session
Java 9 / Jigsaw - AJUG/VJUG  sessionJava 9 / Jigsaw - AJUG/VJUG  session
Java 9 / Jigsaw - AJUG/VJUG sessionMani Sarkar
 
OSGi Training for Carbon Developers
OSGi Training for Carbon DevelopersOSGi Training for Carbon Developers
OSGi Training for Carbon DevelopersAruna Karunarathna
 
Java 9 / Jigsaw - LJC / VJUG session (hackday session)
Java 9 / Jigsaw - LJC / VJUG session (hackday session)Java 9 / Jigsaw - LJC / VJUG session (hackday session)
Java 9 / Jigsaw - LJC / VJUG session (hackday session)Mani Sarkar
 
Level Up Your Integration Testing With Testcontainers
Level Up Your Integration Testing With TestcontainersLevel Up Your Integration Testing With Testcontainers
Level Up Your Integration Testing With TestcontainersVMware Tanzu
 
Spring andspringboot training
Spring andspringboot trainingSpring andspringboot training
Spring andspringboot trainingMallikarjuna G D
 
159747608 a-training-report-on
159747608 a-training-report-on159747608 a-training-report-on
159747608 a-training-report-onhomeworkping7
 
Java Modularity with OSGi
Java Modularity with OSGiJava Modularity with OSGi
Java Modularity with OSGiIlya Rybak
 
Modules all the way down: OSGi and the Java Platform Module System
Modules all the way down: OSGi and the Java Platform Module SystemModules all the way down: OSGi and the Java Platform Module System
Modules all the way down: OSGi and the Java Platform Module SystemTim Ellison
 
Eclipse 2011 Hot Topics
Eclipse 2011 Hot TopicsEclipse 2011 Hot Topics
Eclipse 2011 Hot TopicsLars Vogel
 
OSGi DevCon US 2010 Review
OSGi DevCon US 2010 ReviewOSGi DevCon US 2010 Review
OSGi DevCon US 2010 Reviewmfrancis
 
P Training Presentation
P Training PresentationP Training Presentation
P Training PresentationGaurav Tyagi
 
CNCF Québec Meetup du 16 Novembre 2023
CNCF Québec Meetup du 16 Novembre 2023CNCF Québec Meetup du 16 Novembre 2023
CNCF Québec Meetup du 16 Novembre 2023Anthony Dahanne
 
Java code coverage with JCov. Implementation details and use cases.
Java code coverage with JCov. Implementation details and use cases.Java code coverage with JCov. Implementation details and use cases.
Java code coverage with JCov. Implementation details and use cases.Alexandre (Shura) Iline
 
Introduction to YouDebug - Scriptable Java Debugger
Introduction to YouDebug - Scriptable Java DebuggerIntroduction to YouDebug - Scriptable Java Debugger
Introduction to YouDebug - Scriptable Java DebuggerWolfgang Schell
 
Gnizr Architecture (for developers)
Gnizr Architecture (for developers)Gnizr Architecture (for developers)
Gnizr Architecture (for developers)hchen1
 

Similar to OSGi: Don't let me be Misunderstood (20)

Java 9 / Jigsaw - AJUG/VJUG session
Java 9 / Jigsaw - AJUG/VJUG  sessionJava 9 / Jigsaw - AJUG/VJUG  session
Java 9 / Jigsaw - AJUG/VJUG session
 
Javantura v4 - What’s NOT new in modular Java - Milen Dyankov
Javantura v4 - What’s NOT new in modular Java - Milen DyankovJavantura v4 - What’s NOT new in modular Java - Milen Dyankov
Javantura v4 - What’s NOT new in modular Java - Milen Dyankov
 
Hibernate
HibernateHibernate
Hibernate
 
OSGi Training for Carbon Developers
OSGi Training for Carbon DevelopersOSGi Training for Carbon Developers
OSGi Training for Carbon Developers
 
Java 9 / Jigsaw - LJC / VJUG session (hackday session)
Java 9 / Jigsaw - LJC / VJUG session (hackday session)Java 9 / Jigsaw - LJC / VJUG session (hackday session)
Java 9 / Jigsaw - LJC / VJUG session (hackday session)
 
Level Up Your Integration Testing With Testcontainers
Level Up Your Integration Testing With TestcontainersLevel Up Your Integration Testing With Testcontainers
Level Up Your Integration Testing With Testcontainers
 
Should Invoker Rights be used?
Should Invoker Rights be used?Should Invoker Rights be used?
Should Invoker Rights be used?
 
Spring andspringboot training
Spring andspringboot trainingSpring andspringboot training
Spring andspringboot training
 
159747608 a-training-report-on
159747608 a-training-report-on159747608 a-training-report-on
159747608 a-training-report-on
 
Java Modularity with OSGi
Java Modularity with OSGiJava Modularity with OSGi
Java Modularity with OSGi
 
Modules all the way down: OSGi and the Java Platform Module System
Modules all the way down: OSGi and the Java Platform Module SystemModules all the way down: OSGi and the Java Platform Module System
Modules all the way down: OSGi and the Java Platform Module System
 
Eclipse 2011 Hot Topics
Eclipse 2011 Hot TopicsEclipse 2011 Hot Topics
Eclipse 2011 Hot Topics
 
Java se7 features
Java se7 featuresJava se7 features
Java se7 features
 
OSGi DevCon US 2010 Review
OSGi DevCon US 2010 ReviewOSGi DevCon US 2010 Review
OSGi DevCon US 2010 Review
 
P Training Presentation
P Training PresentationP Training Presentation
P Training Presentation
 
CNCF Québec Meetup du 16 Novembre 2023
CNCF Québec Meetup du 16 Novembre 2023CNCF Québec Meetup du 16 Novembre 2023
CNCF Québec Meetup du 16 Novembre 2023
 
Java code coverage with JCov. Implementation details and use cases.
Java code coverage with JCov. Implementation details and use cases.Java code coverage with JCov. Implementation details and use cases.
Java code coverage with JCov. Implementation details and use cases.
 
DAY_1.1.pptx
DAY_1.1.pptxDAY_1.1.pptx
DAY_1.1.pptx
 
Introduction to YouDebug - Scriptable Java Debugger
Introduction to YouDebug - Scriptable Java DebuggerIntroduction to YouDebug - Scriptable Java Debugger
Introduction to YouDebug - Scriptable Java Debugger
 
Gnizr Architecture (for developers)
Gnizr Architecture (for developers)Gnizr Architecture (for developers)
Gnizr Architecture (for developers)
 

Recently uploaded

Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
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
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
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
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
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
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 

Recently uploaded (20)

Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
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?
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
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!
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
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
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 

OSGi: Don't let me be Misunderstood