osgi for outsiders - milen dyankov

53
OSGi for outsiders @MilenDyankov

Upload: mfrancis

Post on 16-Apr-2017

182 views

Category:

Technology


2 download

TRANSCRIPT

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