for outsiders - eclipsecon europe 2019 · osgi for outsiders @milendyankov. 1 platform over 100...

53
OSGi for outsiders @MilenDyankov

Upload: others

Post on 22-May-2020

14 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: for outsiders - EclipseCon Europe 2019 · OSGi for outsiders @MilenDyankov. 1 platform over 100 apps over 600 modules over 2500

OSGifor outsiders

@MilenDyankov

Page 2: for outsiders - EclipseCon Europe 2019 · OSGi for outsiders @MilenDyankov. 1 platform over 100 apps over 600 modules over 2500

1 platform

over 100 apps

over 600 modules

over 2500 μServices

Page 3: for outsiders - EclipseCon Europe 2019 · OSGi for outsiders @MilenDyankov. 1 platform over 100 apps over 600 modules over 2500

The opinions expressedin this presentation are

those of the author,and may not reflect inany way those of theinstitutions to which

he is affiliated!

Page 4: for outsiders - EclipseCon Europe 2019 · OSGi for outsiders @MilenDyankov. 1 platform over 100 apps over 600 modules over 2500

2000 201520142013201220112010200920082007200620052004200320022001 2016

R1

R2

R3

R4

R4.3

R5

R6R4.1

R4.2

OSGi specifications

Page 5: for outsiders - EclipseCon Europe 2019 · OSGi for outsiders @MilenDyankov. 1 platform over 100 apps over 600 modules over 2500

2000 201520142013201220112010200920082007200620052004200320022001 2016

R1

R2

R3

R4

R4.3

R5

R6R4.1

R4.2

In which OSGi releaseHttp Service was first specified ?

Page 6: for outsiders - EclipseCon Europe 2019 · OSGi for outsiders @MilenDyankov. 1 platform over 100 apps over 600 modules over 2500

2000 201520142013201220112010200920082007200620052004200320022001 2016

R1

R2

R3

R4

R4.3

R5

R6R4.1

R4.2

In which OSGi releaseHttp Service was first specified ?

Page 7: for outsiders - EclipseCon Europe 2019 · OSGi for outsiders @MilenDyankov. 1 platform over 100 apps over 600 modules over 2500

2004

source:

OSGi Pre Workshop by Peter Kriens

Page 8: for outsiders - EclipseCon Europe 2019 · OSGi for outsiders @MilenDyankov. 1 platform over 100 apps over 600 modules over 2500

2004

source:

OSGi Pre Workshop by Peter Kriens

Page 9: for outsiders - EclipseCon Europe 2019 · OSGi for outsiders @MilenDyankov. 1 platform over 100 apps over 600 modules over 2500

2004

source:

OSGi Pre Workshop by Peter Kriens

Page 10: for outsiders - EclipseCon Europe 2019 · OSGi for outsiders @MilenDyankov. 1 platform over 100 apps over 600 modules over 2500

2004

source:

OSGi Pre Workshop by Peter Kriens

Page 11: for outsiders - EclipseCon Europe 2019 · OSGi for outsiders @MilenDyankov. 1 platform over 100 apps over 600 modules over 2500

2004

source:

OSGi Tutorialby Sven Haiges

Page 12: for outsiders - EclipseCon Europe 2019 · OSGi for outsiders @MilenDyankov. 1 platform over 100 apps over 600 modules over 2500

source:

OSGi Tutorialby Sven Haiges

2004

Page 13: for outsiders - EclipseCon Europe 2019 · OSGi for outsiders @MilenDyankov. 1 platform over 100 apps over 600 modules over 2500

source:

OSGi – Feast Or Famine?by Kirk Knoernschild

2010

Page 14: for outsiders - EclipseCon Europe 2019 · OSGi for outsiders @MilenDyankov. 1 platform over 100 apps over 600 modules over 2500

source:

Technology Radarby ThoughtWorks

2015

Page 15: for outsiders - EclipseCon Europe 2019 · OSGi for outsiders @MilenDyankov. 1 platform over 100 apps over 600 modules over 2500

source:

Google Trends

2016

Page 16: for outsiders - EclipseCon Europe 2019 · OSGi for outsiders @MilenDyankov. 1 platform over 100 apps over 600 modules over 2500

Why “outsiders” don’t see thebeauty of OSGi ?

Page 17: for outsiders - EclipseCon Europe 2019 · OSGi for outsiders @MilenDyankov. 1 platform over 100 apps over 600 modules over 2500

Why “outsiders” don’t see thebeauty of OSGi ?

Assumption 1:

They are ignorants!

Page 18: for outsiders - EclipseCon Europe 2019 · OSGi for outsiders @MilenDyankov. 1 platform over 100 apps over 600 modules over 2500

Why “outsiders” don’t see thebeauty of OSGi ?

Assumption 1:

They are ignorants!Assumption 2:

They are idiots!

Page 19: for outsiders - EclipseCon Europe 2019 · OSGi for outsiders @MilenDyankov. 1 platform over 100 apps over 600 modules over 2500

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”

Page 20: for outsiders - EclipseCon Europe 2019 · OSGi for outsiders @MilenDyankov. 1 platform over 100 apps over 600 modules over 2500

What “outsiders” think aboutpeople favoring OSGi ?

Page 21: for outsiders - EclipseCon Europe 2019 · OSGi for outsiders @MilenDyankov. 1 platform over 100 apps over 600 modules over 2500

What “outsiders” think aboutpeople favoring OSGi ?

Assumption 1:

They are ignorants!Assumption 2:

They are idiots!Assumption 3:

They are evil!

Page 22: for outsiders - EclipseCon Europe 2019 · OSGi for outsiders @MilenDyankov. 1 platform over 100 apps over 600 modules over 2500

Henri Tajfel

Kandinsky vs Klee

Page 23: for outsiders - EclipseCon Europe 2019 · OSGi for outsiders @MilenDyankov. 1 platform over 100 apps over 600 modules over 2500

Too complex

Non standard build tools

Incompatible libraries

Steep learning curve

Awkward design

Reduced Complexity

Modular architecture

Dynamic Updates

Adaptive

Non Intrusive

Page 24: for outsiders - EclipseCon Europe 2019 · OSGi for outsiders @MilenDyankov. 1 platform over 100 apps over 600 modules over 2500

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.

Page 25: for outsiders - EclipseCon Europe 2019 · OSGi for outsiders @MilenDyankov. 1 platform over 100 apps over 600 modules over 2500

Continued Influence Effect

WARNINGIt works both ways!

Page 26: for outsiders - EclipseCon Europe 2019 · OSGi for outsiders @MilenDyankov. 1 platform over 100 apps over 600 modules over 2500
Page 27: for outsiders - EclipseCon Europe 2019 · OSGi for outsiders @MilenDyankov. 1 platform over 100 apps over 600 modules over 2500

source:

“Developers about OSGi”survey

2016

Page 28: for outsiders - EclipseCon Europe 2019 · OSGi for outsiders @MilenDyankov. 1 platform over 100 apps over 600 modules over 2500

source:

“Developers about OSGi”survey

2016

Page 29: for outsiders - EclipseCon Europe 2019 · OSGi for outsiders @MilenDyankov. 1 platform over 100 apps over 600 modules over 2500
Page 30: for outsiders - EclipseCon Europe 2019 · OSGi for outsiders @MilenDyankov. 1 platform over 100 apps over 600 modules over 2500
Page 31: for outsiders - EclipseCon Europe 2019 · OSGi for outsiders @MilenDyankov. 1 platform over 100 apps over 600 modules over 2500

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, ...

Page 32: for outsiders - EclipseCon Europe 2019 · OSGi for outsiders @MilenDyankov. 1 platform over 100 apps over 600 modules over 2500

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 ...)

Page 33: for outsiders - EclipseCon Europe 2019 · OSGi for outsiders @MilenDyankov. 1 platform over 100 apps over 600 modules over 2500

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, ...)

Page 34: for outsiders - EclipseCon Europe 2019 · OSGi for outsiders @MilenDyankov. 1 platform over 100 apps over 600 modules over 2500

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!”

Page 35: for outsiders - EclipseCon Europe 2019 · OSGi for outsiders @MilenDyankov. 1 platform over 100 apps over 600 modules over 2500

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!

Page 36: for outsiders - EclipseCon Europe 2019 · OSGi for outsiders @MilenDyankov. 1 platform over 100 apps over 600 modules over 2500

Why should we care ?

Page 37: for outsiders - EclipseCon Europe 2019 · OSGi for outsiders @MilenDyankov. 1 platform over 100 apps over 600 modules over 2500

Why should we care ?

I, Pencil by Leonard Read

”Simple? Yet, not a singleperson on the

face of this earth knowshow to make me.”

Page 38: for outsiders - EclipseCon Europe 2019 · OSGi for outsiders @MilenDyankov. 1 platform over 100 apps over 600 modules over 2500

John:

Jerry:

A B4h 3h

A B1h 2h

= 3h

= 7h

Trading vs

Manufacturing

Page 39: for outsiders - EclipseCon Europe 2019 · OSGi for outsiders @MilenDyankov. 1 platform over 100 apps over 600 modules over 2500

John:

Jerry:

A B4h 3h

A B1h 2h

= 3h

= 7h

Trading vs

Manufacturing

John:

Jerry:

B3h 3h

A1h 1h

= 2h

= 6hB

A

Page 40: for outsiders - EclipseCon Europe 2019 · OSGi for outsiders @MilenDyankov. 1 platform over 100 apps over 600 modules over 2500

What goods we can trade ?

Baselining

What if we could export baseliningbeyond OSGi (or even Java) ?

Page 41: for outsiders - EclipseCon Europe 2019 · OSGi for outsiders @MilenDyankov. 1 platform over 100 apps over 600 modules over 2500

What goods we can trade ?

Resolver

What if we could improve Maven centralfor everyone not just OSGi?

Page 42: for outsiders - EclipseCon Europe 2019 · OSGi for outsiders @MilenDyankov. 1 platform over 100 apps over 600 modules over 2500

What goods we can trade ?

Service registry

What if we could use that fordiscovering microservices and

containers and ... ?

Page 43: for outsiders - EclipseCon Europe 2019 · OSGi for outsiders @MilenDyankov. 1 platform over 100 apps over 600 modules over 2500

What goods we can trade ?

Software Designprinciples

Page 44: for outsiders - EclipseCon Europe 2019 · OSGi for outsiders @MilenDyankov. 1 platform over 100 apps over 600 modules over 2500

https://12factor.net

Developersneed guidelines!

Page 45: for outsiders - EclipseCon Europe 2019 · OSGi for outsiders @MilenDyankov. 1 platform over 100 apps over 600 modules over 2500

http://microprofile.io/

Specsare boring

Frameworksare cool!

Page 46: for outsiders - EclipseCon Europe 2019 · OSGi for outsiders @MilenDyankov. 1 platform over 100 apps over 600 modules over 2500

http://start.spring.io

Developerswant it simple !

Page 47: for outsiders - EclipseCon Europe 2019 · OSGi for outsiders @MilenDyankov. 1 platform over 100 apps over 600 modules over 2500

idea:

CoreOS + Android like distributed operating

system

Developersknow software butnot infrastructure!

Page 48: for outsiders - EclipseCon Europe 2019 · OSGi for outsiders @MilenDyankov. 1 platform over 100 apps over 600 modules over 2500

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!

Page 49: for outsiders - EclipseCon Europe 2019 · OSGi for outsiders @MilenDyankov. 1 platform over 100 apps over 600 modules over 2500
Page 50: for outsiders - EclipseCon Europe 2019 · OSGi for outsiders @MilenDyankov. 1 platform over 100 apps over 600 modules over 2500

Entity

Offer

Offer

Offer

Page 51: for outsiders - EclipseCon Europe 2019 · OSGi for outsiders @MilenDyankov. 1 platform over 100 apps over 600 modules over 2500

Artifact

Export

Export

Export

Page 52: for outsiders - EclipseCon Europe 2019 · OSGi for outsiders @MilenDyankov. 1 platform over 100 apps over 600 modules over 2500

OSGi

Export

Export

Export

People don’t wantto depend on OSGi.

They just want toimport the good

things it exports!

Page 53: for outsiders - EclipseCon Europe 2019 · OSGi for outsiders @MilenDyankov. 1 platform over 100 apps over 600 modules over 2500

Thank you

@MilenDyankov