EasyBeans

来自开放百科 - 灰狐
2008年4月18日 (五) 00:08Allen (讨论 | 贡献)的版本

跳转到: 导航, 搜索

1/ EasyBeans is a pluggable open container in the sense that you can use it :

  • by deploying it on a Java EE application server through a RARconnector.

For instance, it‘s already the case with JOnAS 4.x (x>= 6),where easybeans is delivered as the JOnAS‘s EJB 3 container and can be enabled by deploying its associated resource adapter. Thus, JOnAS supports EJB3 through a new service in addition to the existing EJB 2.1 service and minimizes the regression risks.

  • by integrating it in a web container through a web application. For instance, it will be the case with Tomcat in a coming version.
  • in a standalone mode. This use case can be relevant for developing an application only based on the EJB part of the Java EE application or just for minimizing the development environment without relying on a full Java EE middleware.

By this capability, easybeans is loosely coupled to the other Java EE functionnalities and is close to the lightweight container objectives. Thus, it should contribute to leveraging the use of the EJB3 standard among the java developers community.

For the user point of view, it can be seen as an extra guaranty of portability for applications which can run in multiple environment contexts : application server, webcontainer or standalone.

2/ EasyBeans yields a couple ‘ease‘ features beyond the EJB3 specifications such as :

  • ease of debugging with a simple and powerful API containing internationalization facilities.

As you may have noticed, an application source code contains a lot of instruction for logging (debug, error). In order to limitate the performance impact, the log instructions are generally surrounded by a ‘if { debugIsEnabled }‘ statement or carries out i18n operations that pollute the business logic source code. This new API doesn‘t require anymore a such pattern, these tests being integrated within the log library and performed transparently for the developer.

  • ease of deployment with ‘no more need‘ of the application RMI stubs at the client side. The client side of an EJB 2.1 application had to have access to the RMI stubs which might raise often complex issues for the deployment tasks. With easybeans, this constraint disappears and the client side becomes much more flexible.
  • ease of redeployment with the automatic hot redeploy of the ejb jar modules or even the classes. In an extreme programming mode or even during the debug tasks, the developers have to deal with frequent undeploy/deploy sequence to adapt their EJB application and test their changes. If the packaging steps are done at each iteration, the developers productivity is not optimized. The hot and automatic redeploy allows to take into account the source modifications on the fly as a classic java application.

3/ EasyBeans is a scalable container.

In term of underlying technologies, easybeans relies on byte code generation with the ASM ObjectWeb project for dealing with the injection code and interceptor mechanisms. This choice was made against a reflective architecture in order to get better performance.

Documentation is available on the EasyBeans Wiki

Home page is http://www.easybeans.org

Install

wget http://download.fr.forge.objectweb.org/jonas/ow_easybeans_for_tomcat-1.0.0.M5.zip

To run the EasyBeans container, a JDK 5.0 or higher is required. A JDK 1.4.x will not work.

cp ow_easybeans.war into $CATALINA_BASE/webapps directory 
cd examples_ejb3s/statelessbean
export CATALINA_HOME=/usr/local/apache-tomcat-6.0.10
ant 
restart tomcat
ant run.client
 run.client:
    [java] Calling helloWorld method...
    [java] Add 1 + 2...
    [java] Sum = '3'.

also servlet's client http://localhost:8080/stateless.war/

精彩图集

Easybeans Components
当前 on top of OSGI架构
未来 on top of OSGI架构
分享您的观点
个人工具
名字空间

变换
操作
导航
工具箱