欢迎大家赞助一杯啤酒🍺 我们准备了下酒菜:Formal mathematics/Isabelle/ML, Formal verification/Coq/ACL2, C++/F#/Lisp
EasyBeans
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