JBossKernel

    JBoss MicroKernel

     

     

     

    The JBoss Kernel provides a lightweight kernel for managing POJOs, their deployment and configuration.

     

     

     

    Additional features can be added:

     

    • Configuring a container for the POJO and and adding aspects.

     

    • Writing deployment aspects to add extra configuration steps for a POJO/deployment.

     

     

     

    Aims

     

     

     

    • Make the JBoss microkernel available as a supported standalone project.

     

    • Re-implement the kernel inline with our POJO middleware strategy.

     

      • No requirement for JMX (which might not be available in some environments).

     

      • No requirement to extend or reference JBoss classes.

     

      • Allow unit tests "outside" the JBoss server.

     

      • JMX still used by the JBoss server.

     

    • Allow JBoss services to be easily deployed in the other containers.

     

      • Removes any "lock in" associated with using JBoss Services.

     

      • The enclosing container may handle classloading, logging, etc.

     

    • Allow the features to be used in more restrictive environments (e.g. Applets, J2ME, etc.)

     

      • Lightweight and small memory footprint.

     

      • May not be authorized to the MBeanServer, System properties, etc.

     

      • Layered approach - advanced features are optional, e.g. hot-deploy, jmx or cluster support.

     

    • Improved configuration management.

     

      • Notion of manual/on-demand start of a service.

     

      • Versioned configuration profiles.

     

      • Permenant deployment/config changes when using management apis.

     

      • Notion of system/subsystem.

     

      • Notion of service/subservice as opposed to service/dependent service.

     

      • Enhanced bootstrap.

     

    • Introduce an "Aspectized" deployer layer.

     

      • Deployment aspects for classloading, logging, configuration, dependency injection, etc.

     

      • Virtual File System to improve and ease deployment/archive access inside the deployers.

     

    • Use the container defined by the Unified Interceptor project.

     

      • Better integration with JBoss/AOP.

     

      • Allows reuse of interceptors/services from other parts of JBoss.

     

      • Provide kernel aspects - IOC, lifecycle, valve, state, etc.

     

    • Improved support for dependencies.

     

      • Classloading dependencies.

     

      • JNDI/port binding dependencies.

     

      • Better definition of implicit/explicit rules.

     

    • Improved support for clustering.

     

      • Clustered services - config and operations automatically propogated according to metadata rules.

     

      • Transparent access to remote services in the cluster.

     

     

     

    Design

     

     

     

     

     

     

     

     

     

    Class Diagrams for Evolving JBoss5

     

     

    See Also

     

    Referenced by: