Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

OSGi for outsiders - Milen Dyankov

356 views

Published on

OSGi Community Event 2016 Presentation by Milen Dyankov (Liferay)

OSGi has evolved and matured beyond recognition over the last few years. It’s now easier than ever before, to build dynamic, modular Java applications to address the challenges imposed by ever growing and constantly changing business requirements. Despite that fact, OSGi seems to be far from receiving the appreciation it deserves. And if you are OSGi developer who now wanders “why should I care?”, let me remind you Thomas Edison’s famous quote “The value of an idea lies in the using of it”!

Growing large community around given technology has proven to be an essential part of its success. In this talk I’d like to go over what OSGi community is (not) doing to attract “outsiders”. I’d also argue it can do much better than that. Based on observations and conversation from the last 2 years trying to advocate for OSGi among Java developers. I’ll try to position the technology it today’s reality of microservices, containers, clouds, DevOps, automation, Java 9, … and bring to your attention the perspective of an “outsider” together with all the presumptions, fallacies and promises it comes with. Finally I’d like to share some ideas about how to address those, promote relevant parts of OSGi and thus perhaps make it more attractive to Java developers!

Published in: Technology
  • Be the first to comment

  • Be the first to like this

OSGi for outsiders - Milen Dyankov

  1. 1. OSGi for outsiders @MilenDyankov
  2. 2. 1 platform over 100 apps over 600 modules over 2500 μServices
  3. 3. The opinions expressed in this presentation are those of the author, and may not reflect in any way those of the institutions to which he is affiliated!
  4. 4. 2000 201520142013201220112010200920082007200620052004200320022001 2016 R1 R2 R3 R4 R4.3 R5 R6R4.1 R4.2 OSGi specifications
  5. 5. 2000 201520142013201220112010200920082007200620052004200320022001 2016 R1 R2 R3 R4 R4.3 R5 R6R4.1 R4.2 In which OSGi release Http Service was first specified ?
  6. 6. 2000 201520142013201220112010200920082007200620052004200320022001 2016 R1 R2 R3 R4 R4.3 R5 R6R4.1 R4.2 In which OSGi release Http Service was first specified ?
  7. 7. 2004 source: OSGi Pre Workshop
 by Peter Kriens
  8. 8. 2004 source: OSGi Pre Workshop
 by Peter Kriens
  9. 9. 2004 source: OSGi Pre Workshop
 by Peter Kriens
  10. 10. 2004 source: OSGi Pre Workshop
 by Peter Kriens
  11. 11. 2004 source: OSGi Tutorial
 by Sven Haiges
  12. 12. source: OSGi Tutorial
 by Sven Haiges 2004
  13. 13. source: OSGi – Feast Or Famine? by Kirk Knoernschild 2010
  14. 14. source: Technology Radar by ThoughtWorks 2015
  15. 15. source: Google Trends 2016
  16. 16. Why “outsiders” don’t see the beauty of OSGi ?
  17. 17. Why “outsiders” don’t see the beauty of OSGi ? Assumption 1: They are ignorants!
  18. 18. Why “outsiders” don’t see the beauty of OSGi ? Assumption 1: They are ignorants! Assumption 2: They are idiots!
  19. 19. Why “outsiders” don’t see the beauty 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”
  20. 20. What “outsiders” think about people favoring OSGi ?
  21. 21. What “outsiders” think about people favoring OSGi ? Assumption 1: They are ignorants! Assumption 2: They are idiots! Assumption 3: They are evil!
  22. 22. Henri Tajfel Kandinsky vs Klee
  23. 23. Too complex Non standard build tools Incompatible libraries Steep learning curve Awkward design Reduced Complexity Modular architecture Dynamic Updates Adaptive Non Intrusive
  24. 24. Continued Influence Effect … one learns "facts" about an event that later turn out to be false or unfounded, but the discredited information continues to influence reasoning and understanding even after one has been corrected.
  25. 25. Continued Influence Effect WARNING It works both ways!
  26. 26. source: “Developers about OSGi” survey 2016
  27. 27. source: “Developers about OSGi” survey 2016
  28. 28. What are the main issues ? Tooling !!! ● Environment - Workspaces, repositories, plugins, templates, JPM4J, … ● Configuration - properties files (I mean seriously it’s 2016) ● Build - BND, BNDTools, PDE, Tycho, Maven, … ● Runtime - Bndrun, Subsytems, Features, ...
  29. 29. 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 ...)
  30. 30. 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, ...)
  31. 31. Dutchman’s International Attitude “... we are small country! If we want to do business with the rest of the world we need to speak their languages. We can’t expect them to learn Dutch!”
  32. 32. OSGi’s Intercommunity Attitude We are small community! If we want to trade with other communities we need to understand their concerns. We can’t expect them to simply switch to OSGi!
  33. 33. Why should we care ?
  34. 34. Why should we care ? I, Pencil by Leonard Read ”Simple? Yet, not a single person on the face of this earth knows how to make me.”
  35. 35. John: Jerry: A B 4h 3h A B 1h 2h = 3h = 7h Trading vs Manufacturing
  36. 36. John: Jerry: A B 4h 3h A B 1h 2h = 3h = 7h Trading vs Manufacturing John: Jerry: B 3h 3h A 1h 1h = 2h = 6hB A
  37. 37. What goods we can trade ? Baselining What if we could export baselining beyond OSGi (or even Java) ?
  38. 38. What goods we can trade ? Resolver What if we could improve Maven central for everyone not just OSGi?
  39. 39. What goods we can trade ? Service registry What if we could use that for discovering microservices and containers and ... ?
  40. 40. What goods we can trade ? Software Design principles
  41. 41. https://12factor.net Developers need guidelines!
  42. 42. http://microprofile.io/ Specs are boring Frameworks are cool!
  43. 43. http://start.spring.io Developers want it simple !
  44. 44. idea: CoreOS + Android like distributed operating system Developers know software but not infrastructure!
  45. 45. 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 Developers know software but not infrastructure!
  46. 46. Entity Offer Offer Offer
  47. 47. Artifact Export Export Export
  48. 48. OSGi Export Export Export People don’t want to depend on OSGi. They just want to import the good things it exports!
  49. 49. Thank you @MilenDyankov

×