Authors:
Sander de Putter
;
Serguei Roubtsov
and
Alexander Serebrenik
Affiliation:
Eindhoven University of Technology, Netherlands
Keyword(s):
Enterprise JavaBeans, Specification Conformance, EJB Application Server.
Related
Ontology
Subjects/Areas/Topics:
Databases and Information Systems Integration
;
e-Business
;
Enterprise Application Integration
;
Enterprise Engineering
;
Enterprise Information Systems
Abstract:
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 appli
cation 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.
(More)