quality@glassfish.java.net

Re: Competitors - JBoss Microcontainer

From: Judy Tang <Judy.J.Tang_at_Sun.COM>
Date: Thu, 11 Dec 2008 17:51:23 -0800

Thanks Adam for giving your valuable input !

Judy

Adam Bien wrote:

> 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.
>>
>
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: quality-unsubscribe_at_glassfish.dev.java.net
> For additional commands, e-mail: quality-help_at_glassfish.dev.java.net
>