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, OSGi seems to be far from receiving the appreciation it deserves.
In this talk I’d like to go over what OSGi community is (not) doing to attract “outsiders”. I’d argue it can do better. Based on observations and conversation from the last 2 years trying to advocate for OSGi among Java developers, I’ll try to position OSGi it in today’s reality of microservices, containers, automation, Java 9, … and bring the perspective of an “outsider” together with all the presumptions, fallacies and promises. Finally I’d like to share some ideas about addressing those, promote relevant OSGi parts and perhaps make it more attractive.
Microservices and their frameworks like spring boot allow to start fast but can easily produce ugly monoliths or tangled webs of fine grained dependencies. OSGi on the other hand provides great modularity but is regarded as more complex than spring boot and alike. This Talk shows how to create lean and modular microservices using OSGi, maven, bndtools and Apache Karaf. The build result is a runnable jar or docker image and nicely fits microservice deployments. See how OSGi allows the flexibility to deploy each microservice on its own and let them communicate over (REST) remote calls or deploy them together and talk using OSGi services locally using the same business code bundles.