The [[http://www.osgi.org|OSGi]] technology is a set of specifications that define a dynamic component system for Java.
OSGi **reduces complexity** by providing a modular architecture for today's large-scale distributed systems as well as small, embedded applications. Building systems from in-house and off-the-shelf modules significantly reduces complexity and thus development and maintenance expenses. The OSGi programming model realizes the promise of component-based systems (see [[http://www.osgi.org|OSGi]]).
{{youtube>dfxrh6tHzMk?medium |OSGi}}
Adichatz is OSGi compliant in order to wrap much of the complexity of development in convenient modules.
For example:
* **org.adichatz.jpa** provides an implementation (databinding service, data cache...) which manages data from JPA environment inside adichatz framework (This is done once and for all).
\\
* This screencast shows how to **create your own plugin** and incorporate it into the IDE for use by other developers.
\\
\\
Modularity provides real benefits on easiness of development and organization of work.