## Chapter 2. Why Gemini Blueprint?

The Spring Framework is the leading full-stack Java/JEE application framework. It provides a lightweight container and a non-invasive programming model enabled by the use of dependency injection, AOP, and portable service abstractions. The OSGi Service Platform offers a dynamic application execution environment in which modules (bundles) can be installed, updated, or removed on the fly. It also has excellent support for modularity and versioning.

Gemini Blueprint makes it easy to write Spring applications that can be deployed in an OSGi execution environment, and that can take advantage of the services offered by the OSGi framework. Gemini Blueprint support also makes development of OSGi applications simpler and more productive by building on the ease-of-use and power of the Spring Framework. For enterprise applications, the combination of Eclipse Gemini Blueprint and the OSGi platform provides:

- Better separation of application logic into modules, with runtime enforcement of module boundaries

- The ability to deploy multiple versions of a module (or library) concurrently

- The ability to dynamically discover and use services provided by other modules in the system

- The ability to dynamically install, update and uninstall modules in a running system

- Use of the Spring Framework to instantiate, configure, assemble, and decorate components within and across modules.

- A simple and familiar programming model for enterprise developers to exploit the features of the OSGi platform.

We believe that the combination of OSGi and Spring offers a comprehensive model for building enterprise applications.

The OSGi Alliance found valuable the programming model proposed by Gemini Blueprint (then Spring DM) and, in OSGi 4.2, standardized it by introducing the Blueprint Container, as part of the Compendium services.

Prev | Home | Next
Chapter 1. Spring Dynamic Modules becomes Eclipse Gemini Blueprint | Sponsored by SpringSource | Chapter 3. Requirements