When the I-IoT application was being developed in 2010, the decision was made to use Apache Karaf, Java, RabbitMQ, Redis, and a historical NoSQL database. Apache Karaf is an OSGi application server. OSGi Alliance was founded in 1999 but only became popular in 2008. The OSGi specification, which is currently version 7.0, describes a service platform and modular system for the Java programming language that implements a complete and dynamic component model. In an OSGi framework, the same bundle (the deployment component of an application) can coexist with different versions. A strong security mechanism allows you to define the boundaries of the application, thereby avoiding unwanted spaghetti architecture. These concepts were adopted by Java 9.
OSGi was chosen due to its high degree of modularity. However, after two years...