JSR 291 Dynamic Component Support for JavaTM SE
This specification defines a dynamic component framework including component lifecycle for existing Java SE platforms. The dynamic component model supports assembly of applications from components and supports implementation detail hiding between components as well as lifecycle management of those components.
The specification is built upon capabilities in existing Java SE platforms and provide a consistent and predictable dynamic component model across the family of Java platforms in conjunction with JSR 232 for Java ME (CDC).
The specification enables components to be declared through metadata and be assembled at runtime using a class loader delegation network. The specification also allows components to be dynamically life cycle managed (install, start, stop, update, uninstall).