Modular Specification
In Java, there is no modular concept, or there is no de facto standard. Is how to form a module, which modules are used internally, and which modules are used externally.
Osgi can solve the above problems and ApplicationsProgramIt can be built like building blocks. For example, for a running system, the log service module is not provided in the system, then, you can directly develop the corresponding log service module and dynamically load it into the system without restarting the service. You only need to register it dynamically, in this way, Log service can be used.
This is an open-source system using osgi.
Toybricks (toybricks) is an open source development platform based on the building block methodology and for Java Development (especially Ria applications, it aims to provide developers with an easy-to-use, efficient, high-product-quality, and scalable open-source platform, "developing software like building blocks ".
Detailed address:
Http://www.iteye.com/news/23015
Who is using osgi?
It is actually known that eclipse, the most famous in the industry, is developed based on osgi.
Many large application manufacturers are also using osgi for modular development.
Spring, IBM WebSphere, and Oracle WebLogic have both announced support for osgi, which also shows that becoming a standard in the industry may be the next step.
Bundle in osgi
Bundle indicates a bundle. This is a core concept in osgi. In other words, we control osgi through bundle.
Bundle can be dynamically installed, started, stopped, and uninstalled. Bundle is also the carrier of services and components.
Look at the structure of the bundle JAR file: