for outsidersOSGi for outsiders @MilenDyankov. 1 platform over 100 apps over 600 modules over 2500...
Transcript of for outsidersOSGi for outsiders @MilenDyankov. 1 platform over 100 apps over 600 modules over 2500...
OSGifor outsiders
@MilenDyankov
1 platform
over 100 apps
over 600 modules
over 2500 μServices
The opinions expressedin this presentation are
those of the author,and may not reflect inany way those of theinstitutions to which
he is affiliated!
2000 201520142013201220112010200920082007200620052004200320022001 2016
R1
R2
R3
R4
R4.3
R5
R6R4.1
R4.2
OSGi specifications
2000 201520142013201220112010200920082007200620052004200320022001 2016
R1
R2
R3
R4
R4.3
R5
R6R4.1
R4.2
In which OSGi releaseHttp Service was first specified ?
2000 201520142013201220112010200920082007200620052004200320022001 2016
R1
R2
R3
R4
R4.3
R5
R6R4.1
R4.2
In which OSGi releaseHttp Service was first specified ?
2004
source:
OSGi Pre Workshop by Peter Kriens
2004
source:
OSGi Pre Workshop by Peter Kriens
2004
source:
OSGi Pre Workshop by Peter Kriens
2004
source:
OSGi Pre Workshop by Peter Kriens
2004
source:
OSGi Tutorialby Sven Haiges
source:
OSGi Tutorialby Sven Haiges
2004
source:
OSGi – Feast Or Famine?by Kirk Knoernschild
2010
source:
Technology Radarby ThoughtWorks
2015
source:
Google Trends
2016
Why “outsiders” don’t see thebeauty of OSGi ?
Why “outsiders” don’t see thebeauty of OSGi ?
Assumption 1:
They are ignorants!
Why “outsiders” don’t see thebeauty of OSGi ?
Assumption 1:
They are ignorants!Assumption 2:
They are idiots!
Why “outsiders” don’t see thebeauty of OSGi ?
Assumption 1:
They are ignorants!Assumption 2:
They are idiots!Assumption 3:
They are evil!Credit for defining the above assumptions goes to Kathryn Schulz and her great TED talk ”On being wrong”
What “outsiders” think aboutpeople favoring OSGi ?
What “outsiders” think aboutpeople favoring OSGi ?
Assumption 1:
They are ignorants!Assumption 2:
They are idiots!Assumption 3:
They are evil!
Henri Tajfel
Kandinsky vs Klee
Too complex
Non standard build tools
Incompatible libraries
Steep learning curve
Awkward design
Reduced Complexity
Modular architecture
Dynamic Updates
Adaptive
Non Intrusive
Continued Influence Effect
… one learns "facts" about an eventthat later turn out to be false orunfounded, but the discredited
information continues to influencereasoning and understanding even
after one has been corrected.
Continued Influence Effect
WARNINGIt works both ways!
source:
“Developers about OSGi”survey
2016
source:
“Developers about OSGi”survey
2016
What are the main issues ?
Tooling !!! ● Environment - Workspaces, repositories,
plugins, templates, JPM4J, …
● Configuration - properties files (I mean seriouslyit’s 2016)
● Build - BND, BNDTools, PDE, Tycho, Maven, …
● Runtime - Bndrun, Subsytems, Features, ...
What are the main issues ?
Documentation !!! EnRoute is a light in the tunnel! But still
● Too academic approach
● Lots of old information
● No central place to explain the big picture
● Lots of internal fights (DS vs Blueprint vs ...)
What are the main issues ?
Strategies !!!
● Embedded vs Hosted
● Compile time vs Run time resolution
● How to handle 3rd party non-OSGi JARs
● Crossing boundaries (AOP, Transactions, ...)
Dutchman’s
International
Attitude
“... we are small country! If we want todo business with the rest of the world
we need to speak their languages.
We can’t expect them to learn Dutch!”
OSGi’s
Intercommunity
Attitude
We are small community! If we want totrade with other communities we need to
understand their concerns. We can’t expect them to
simply switch to OSGi!
Why should we care ?
Why should we care ?
I, Pencil by Leonard Read
”Simple? Yet, not a singleperson on the
face of this earth knowshow to make me.”
John:
Jerry:
A B4h 3h
A B1h 2h
= 3h
= 7h
Trading vs
Manufacturing
John:
Jerry:
A B4h 3h
A B1h 2h
= 3h
= 7h
Trading vs
Manufacturing
John:
Jerry:
B3h 3h
A1h 1h
= 2h
= 6hB
A
What goods we can trade ?
Baselining
What if we could export baseliningbeyond OSGi (or even Java) ?
What goods we can trade ?
Resolver
What if we could improve Maven centralfor everyone not just OSGi?
What goods we can trade ?
Service registry
What if we could use that fordiscovering microservices and
containers and ... ?
What goods we can trade ?
Software Designprinciples
https://12factor.net
Developersneed guidelines!
http://microprofile.io/
Specsare boring
Frameworksare cool!
http://start.spring.io
Developerswant it simple !
idea:
CoreOS + Android like distributed operating
system
Developersknow software butnot infrastructure!
idea:
CoreOS + Android like distributed operating
system
registry
● minimal operating system
● bundle/container management software
● distributed configuration / discovery
● treat the cluster as if it is single system
● cloud integration for autoscaling
Developersknow software butnot infrastructure!
Entity
Offer
Offer
Offer
Artifact
Export
Export
Export
OSGi
Export
Export
Export
People don’t wantto depend on OSGi.
They just want toimport the good
things it exports!
Thank you
@MilenDyankov