quality@glassfish.java.net

Re: Competitors - JBoss Microcontainer

From: Adam Bien <abien_at_adam-bien.com>
Date: Thu, 11 Dec 2008 21:18:57 +0100

Hi,

but, we need an embeddable EJB 3.1 container - this is really important.
EJBContainer.createEJBContainer() etc.
I know projects, which tried JBoss embeddable container, but it was to
hard to configure,

regards,

adam
Miroslav Nachev schrieb:
> The JBoss Microcontainer is a refactoring of JBoss's JMX Microkernel
> to support direct POJO deployment and standalone use outside the JBoss
> application server.
> Features:
> * All the features of the JMX Microkernel
> * Direct POJO deployment (no need for Standard/XMBean or MBeanProxy)
> * Direct IOC style dependency injection
> * Improved lifecycle management
> * Additional control over dependencies
> * Transparent AOP integration
> * Virtual File System
> * Virtual Deployment Framework
> * OSGi classloading
>
>
> http://www.jboss.org/community/docs/DOC-10668
> The anonymous access URL is
> http://anonsvn.jboss.org/repos/jbossas/projects/microcontainer/
> The Microcontainer source is split into several different projects
> * aop-mc-int - the aop integration
> * classloader - new classloader model, prepared to handle OSGi CL
> style
> * container - general metadata utilities, and virtual file system
> usuable across projects
> * dependency - a generic dependency state machine
> * deployers - the virtual deployment framework (VDF) spi and
> abstractions.
> * guice-int - guice integration
> * kernel - the microcontainer adding xml deployment and
> "javabeans" to the above two projects
> * managed
> * metatype
> * osgi-int - osgi integration
> * reliance-identity - define identity as a MC POJO service
> * reliance-rules - define your dependencies with Drools
> * reliance-jbpm - define your dependencies with jBPM
> * spring-int - spring integration
> The project can be built using maven 2. From the parent directory:
> mvn install
>
>
> 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.
>