Architecture
Any framework that implements the OSGi standard provides an environment for the modularization of applications into smaller bundles. Each bundle is a tightly coupled, dynamically loadable collection of classes, jars, and configuration files that explicitly declare their external dependencies (if any).
The framework is conceptually divided into the following areas:
- Bundles
- Bundles are normal jar components with extra manifest headers.
- Services
- The services layer connects bundles in a dynamic way by offering a publish-find-bind model for plain old Java Interfaces (POJI) or Plain Old Java Objects POJO.
- Services Registry
- The API for management services (ServiceRegistration, ServiceTracker and ServiceReference).
- Life-Cycle
- The API for life cycle management for (install, start, stop, update, and uninstall) bundles.
- Modules
- The layer that defines encapsulation and declaration of dependencies (how a bundle can import and export code).
- Security
- The layer that handles the security aspects by limiting bundle functionality to pre-defined capabilities.
- Execution Environment
- Defines what methods and classes are available in a specific platform. There is no fixed list of execution environments, since it is subject to change as the Java Community Process creates new versions and editions of Java. However, the following set is currently supported by most OSGi implementations:
- CDC-1.0/Foundation-1.0
- CDC-1.1/Foundation-1.1
- OSGi/Minimum-1.0
- OSGi/Minimum-1.1
- JRE-1.1
- From J2SE-1.2 up to J2SE-1.6
Read more about this topic: OSGi
Famous quotes containing the word architecture:
“It seems a fantastic paradox, but it is nevertheless a most important truth, that no architecture can be truly noble which is not imperfect.”
—John Ruskin (18191900)
“Defaced ruins of architecture and statuary, like the wrinkles of decrepitude of a once beautiful woman, only make one regret that one did not see them when they were enchanting.”
—Horace Walpole (17171797)
“The principle of the Gothic architecture is infinity made imaginable.”
—Samuel Taylor Coleridge (17721834)