Discussions

News: Carbon AS CE IOC-JMX Architecture Design V 0.2 available

  1. Carbon AS Community Edition's architecture design has been released. Carbon AS Community Edition is a JMX compliant Open Source J2EE Application Server project initiated by Aquosine. Carbon AS Community Edition is going to be released under LGPL and is free to use, modify and distribute. Aquosine is an open standards based solutions provider. Carbon kernel is basically an IoC container that starts, stops (manages lifecycle) and injects dependencies among services. All services are required to implement CarbonBean interface in order to receive lifecycle callbacks. The server components and the server itself are managed through JMX. The server will boot up by reading carbon-config.xml file which contains the required server configuration information and starts the JMX server which will inturn start the carbon IoC container/kernel. IoC container and JMX Server will read the carbon-profile.xml file which contains CarbonBean and MBean configurations, to start the services and register them in the Service regsitry and JMX registry respectively. Immediately after launching these services (or any other service) kernel generates all their dependencies and injects them (don't forget that kernel really injects proxies at that point to referenced services). The ASM-based interceptors will be used to implement the proxies. The interceptor layer will act as the kernel bus which will handle events, security, logging, clustering services. The Kernel needs to know what methods are publicly exposed by services. Proxies only implement these services, so services will have to manifest this behavior explicitly. This meta information will be written in xml, annotations (Java 5+) or statically. Also an initial state will be defined here. Services will be able to communicate with each other(instances) because they contain a kernel context instance (injected when service started). The architecture design v 0.1 and v 0.2 can be found at the following links: http://aquosine.com/wiki/images/IOC-JMX_Arch_V-0.2.jpg http://aquosine.com/wiki/images/Interaction.gif http://aquosine.com/wiki/images/Layers.gif Road Ahead: -To implement custom micro IOC Container. -JAAS/JAAC based security -Jini/Javaspaces clustering -Axis integration -ESB integration

    Threaded Messages (7)

  2. What's the Secret Sauce?[ Go to top ]

    I read the blurb and it all sounds good, but isn't that more or less JBoss? What will Carbon AS's new twist on application servers be?
  3. Why reinvent the wheel[ Go to top ]

    If it was built on top of an OSGi implementation (knopflerfish.org or eclipse.org/equinox) might prove to be a novel and fruitful approach.
  4. Re: Why reinvent the wheel[ Go to top ]

    We are working on the OSGi ports based on Equinox/Felix for Carbon AS. Our primary attention at the moment is to enable clustering and it is going to implemented through Jini/Javaspaces.
  5. Re: Why reinvent the wheel[ Go to top ]

    If it was built on top of an OSGi implementation (knopflerfish.org or eclipse.org/equinox) might prove to be a novel and fruitful approach.
    Spring is doing this in version 2.1. My biggest question is why Carbon instead of the market leader Spring?
  6. Re: Why reinvent the wheel[ Go to top ]

    If it was built on top of an OSGi implementation (knopflerfish.org or eclipse.org/equinox) might prove to be a novel and fruitful approach.


    Spring is doing this in version 2.1.

    My biggest question is why Carbon instead of the market leader Spring?
    Spring does not have messaging, transactions, persistence, clustering, etc... All the services that do middleware's heavy lifting. A better question might be: how can Spring-based applications integrate with Carbon AS? Bill
  7. Spring support on Carbon AS[ Go to top ]

    Spring is coming up with OSGi enabled version Spring-OSGi. We will be evaluating that to provide Spring support for OSGifed Carbon AS. Whereas in case of traditional JEE application, Tomcat is our default Web Conatiner and you can deploy Spring applications directly into Tomcat container like any other JEE applications.
  8. Spring support on Carbon AS[ Go to top ]

    Spring has come up with OSGi enabled version Spring-OSGi. We will be evaluating Spring-OSGi to provide Spring support for OSGified Carbon AS. Whereas in case of traditional JEE application, Tomcat is our default Web Container and you can deploy Spring applications directly into Tomcat container like any other JEE applications.