In today’s world, Java has been pervasively used in most of the enterprise applications. To develop a software in an efficient way is the main focus of applied software engineering. Hence, we have lots of options at hand, starting from design patterns, architectural patterns, testing patterns et al. To make software development more modular, Java had introduced OSGi long back but due to its intricacies in understanding and applying to actual software development, people don’t prefer to use OSGi. But still, it provides the best way to develop software systems in a modular way.
Hence, OSGi Alliance has endeavored to encapsulate all the features in a easy to use framework and finally it came up with an efficient framework - OSGi enRoute.
It provides all the benefits wrapped in easy to use development modules. All the OSGi µservices are bundled in the framework.
You can have a look of all the µservices that it provides in the following link.
The bundled µservices not only includes the default OSGi µservices but also custom µservices so that it gets easier for people to develop Java EE applications on the fly. It also does provide µservices to operate on Raspberry Pi GPIO ports.
Just few days back, I had developed an application using OSGi enRoute incorporating most of the µservices in an efficient way. The application is called LED Controller.
You can have a look at the application in the following repository which also contains several other small examples on how to use such an awesome framework in real-life software development.