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.