Testing Conformance of EJB 3 Enterprise Application Servers

Enterprise JavaBeans (EJB) is a component technology used for enterprise application development. EJB is currently being implemented by such application servers as GlassFish, OpenEJB, JBoss, WebLogic and Apache Geronimo. Through the entire history EJB claimed its adherence to the “write once, run anywhere” philosophy of Java suggesting that an application developed for and deployed on one application server should be easily portable to a different application server. Therefore, one could have expected different application servers to adhere to the EJB specification. Adherence to this and related Java EE specifications is subject of the “Java EE 6 Full Profile” compatibility testing carried by Oracle. However, anecdotal evidence of discrepancies between the specification and certified implementations such as GlassFish, has been reported in the literature. In this paper we present an approach allowing one to go beyond the level of anecdotal knowledge and test requirements for EJB application servers with focus on portability. We apply the methodology developed to test how well two popular “Java EE 6 Full Profile”-compatible EJB application servers, GlassFish and JBoss, conform to the requirements in the EJB specification. The results are alarming: both application servers failed on a number of tests, violating the specification. Moreover, in GlassFish conformance to a requirement varies depending on whether a local or a remote application is used. Lack of conformance to the EJB specification compromises the portability of the EJB applications, deviates from the portability philosophy of Java, leads to unexpected behaviour, and hinders the learning process of novice EJB developers.

[1]  John Galletly,et al.  Do we really need EJB? , 2003, CompSysTech '03.

[2]  Samuel Kounev,et al.  Performance tuning and optimization of J2EE applications on the JBoss platform , 2004 .

[3]  Witawas Srisa-an,et al.  Investigating throughput degradation behavior of Java application servers: a view from inside a virtual machine , 2006, PPPJ '06.

[4]  Premkumar T. Devanbu,et al.  How social Q&A sites are changing knowledge sharing in open source software communities , 2014, CSCW.

[5]  Lena Mamykina,et al.  Design lessons from the fastest q&a site in the west , 2011, CHI.

[6]  Marc A. Hamilton Java and the Shift to Net-Centric Computing , 1996, Computer.

[7]  Sigrid Eldh,et al.  Certified Tester Foundation Level Syllabus , 2010 .

[8]  Richard Monson-Haefel,et al.  Enterprise JavaBeans , 1999, Java series.

[9]  Ella E. Roubtsova,et al.  I2SD: Reverse Engineering Sequence Diagrams from Enterprise Java Beans with Interceptors , 2011, 2011 IEEE 11th International Working Conference on Source Code Analysis and Manipulation.

[10]  Robert C. Seacord,et al.  Theory and Practice of Enterprise JavaBeanTM Portability , 1999 .

[11]  van den Brand,et al.  I 2 SD : Reverse engineering sequence diagrams from Enterprise JavaBeans with interceptors , 2011 .

[12]  Alexander Serebrenik,et al.  Detecting dependencies in Enterprise JavaBeans with SQuAVisiT , 2013, 2013 20th Working Conference on Reverse Engineering (WCRE).

[13]  Ella E. Roubtsova,et al.  Reverse Engineering Sequence Diagrams for Enterprise JavaBeans with Business Method Interceptors , 2009, 2009 16th Working Conference on Reverse Engineering.

[14]  John Robert,et al.  Theory and Practice of Enterprise JavaBean TM Portability , 1999 .