OpenEJB
   HOME

TheInfoList



OR:

OpenEJB is an
open-source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use and view the source code, design documents, or content of the product. The open source model is a decentrali ...
, embeddable and lightweight
Enterprise JavaBeans Jakarta Enterprise Beans (EJB; formerly Enterprise JavaBeans) is one of several Java APIs for modular construction of enterprise software. EJB is a server-side software component that encapsulates business logic of an application. An EJB web ...
Container System and EJB Server, released under the
Apache License The Apache License is a permissive free software license written by the Apache Software Foundation (ASF). It allows users to use the software for any purpose, to distribute it, to modify it, and to distribute modified versions of the software ...
2.0. OpenEJB has been integrated with
Java EE Jakarta EE, formerly Java Platform, Enterprise Edition (Java EE) and Java 2 Platform, Enterprise Edition (J2EE), is a set of specifications, extending Java SE with specifications for enterprise features such as distributed computing and web serv ...
application servers such as
Geronimo Gerónimo (, ; June 16, 1829 – February 17, 1909) was a military leader and medicine man from the Bedonkohe band of the Ndendahe Apache people. From 1850 to 1886, Geronimo joined with members of three other Central Apache bands the Tchihen ...
and
WebObjects WebObjects is a discontinued Java web application server and a server-based web application framework originally developed by NeXT Software, Inc. WebObject's hallmark features are its object-orientation, database connectivity, and prototy ...
.


History

OpenEJB was founded by Richard Monson-Haefel and David Blevins in December 1999. At the time there were new vendors moving in the
enterprise Enterprise (or the archaic spelling Enterprize) may refer to: Business and economics Brands and enterprises * Enterprise GP Holdings, an energy holding company * Enterprise plc, a UK civil engineering and maintenance company * Enterpris ...
Java Java is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea (a part of Pacific Ocean) to the north. With a population of 156.9 million people (including Madura) in mid 2024, proje ...
space seemingly every week. Rather than join the space as a competitor, the project was focused entirely on providing these new platforms with a way to quickly get EJB compliance via plugging OpenEJB into their application server. The first to integrate OpenEJB in this fashion was Apple's
WebObjects WebObjects is a discontinued Java web application server and a server-based web application framework originally developed by NeXT Software, Inc. WebObject's hallmark features are its object-orientation, database connectivity, and prototy ...
in late 2000, released in 2001. When the project moved to Source Forge in 2002 an
Apache Tomcat Apache Tomcat (called "Tomcat" for short) is a free and open-source implementation of the Jakarta Servlet, Jakarta Expression Language, and WebSocket technologies. It provides a "pure Java" HTTP web server environment in which Java code can also ...
integration was created. Again rather than follow what most in the industry were doing and putting Tomcat into OpenEJB, the project decided to follow its vision and provide an integration that allowed Tomcat users to plug in OpenEJB to gain EJB support in the Tomcat platform. It was in this same vein of putting an EJB container into a Web server that the project developed th
Collapsed EAR
concept of putting EJBs inside the .war file. As part of the work that OpenEJB did to prepare for the integration with Apple's WebObjects, a very large integration test suite was developed. The test suite was developed as a generic application since it would need to be run against both
WebObjects WebObjects is a discontinued Java web application server and a server-based web application framework originally developed by NeXT Software, Inc. WebObject's hallmark features are its object-orientation, database connectivity, and prototy ...
and other platforms that integrated OpenEJB. For simplicity in the build the test suite based on
JUnit JUnit is a test automation framework for the Java programming language. JUnit is often used for unit testing, and is one of the xUnit frameworks. JUnit is linked as a JAR at compile-time. The latest version of the framework, JUnit 5, resides ...
, was run with OpenEJB right inside the tests rather than as a separate process, which was easy to do as the container was designed to be plugged into other platforms and make as little assumptions about its environment as possible. It was from this work that the concept of combining an EJB application with plain unit tests and an embeddable EJB container was born. Originally referred to as a "local" EJB container and what lead the project to describe itself as being able to run in two modes: Local and Remote. In August 2003 the project helped launch the
Apache Geronimo Apache Geronimo is an open source application server developed by the Apache Software Foundation and distributed under the Apache license. Geronimo 3, the current version, is compatible with the Java Enterprise Edition (Java EE) 6 specification ...
application server. Originally a new version of OpenEJB was developed ground up based on Geronimo's GBean architecture and released as OpenEJB 2.0 which lived throughout the Geronimo 1.x cycle. In 2006 when EJB 3.0 was released which had a focus on simplicity, the project went back to its roots an
revived the OpenEJB 1.0 codebase
ported select bits of the 2.0 codebase, and eventually brought it up to the EJB 3.0 spec level in what is now called OpenEJB 3.0.


Major features

* Supports EJB 3.0, 2.1, 2.0, 1.1 in all modes; embedded, standalone or otherwise. * Partial EJB 3.1 support *
JAX-WS The Jakarta XML Web Services (JAX-WS; formerly Java API for XML Web Services) is a Jakarta EE API for creating web services, particularly SOAP services. JAX-WS is one of the Java XML programming APIs. Overview The JAX-WS 2.2 specificatioJSR 224d ...
support *
JMS JMS may refer to: Buildings * EverBank Field, formerly known as Jacksonville Municipal Stadium, a sports stadium in Jacksonville, Florida * Johannesburg Muslim School, a private school in Johannesburg, South Africa * John Mason School, a seco ...
support * J2EE Connector support * Can be dropped into Tomcat 5 or 6 adding various JavaEE 5 and EJB 3.0 features to a standard Tomcat install. *
CMP CMP may refer to: Arts and entertainment * , a Spanish manuscript of Renaissance music * ''Chipmunk Punk'', a 1990 album by The Chipmunks * CM Punk (born 1978), American wrestler Computing * cmp (Unix), a file-comparison utility * Certificate ...
support is implemented over JPA allowing to freely mix CMP and JPA usage. * Complete support for
GlassFish GlassFish is an open-source Jakarta EE platform application server project started by Sun Microsystems, then sponsored by Oracle Corporation, and now living at the Eclipse Foundation and supported by OmniFish, Fujitsu and Payara. The support ...
descriptors allowing those users to embedded test their applications. * Incredibly flexible JNDI name support allows you to specify formats at macro and micro levels and imitate the format of other vendors. * Allows for easy testing and debugging in IDEs such as
Eclipse An eclipse is an astronomical event which occurs when an astronomical object or spacecraft is temporarily obscured, by passing into the shadow of another body or by having another body pass between it and the viewer. This alignment of three ...
,
IntelliJ IDEA IntelliJ IDEA () is an integrated development environment (IDE) written in Java for developing computer software written in Java, Kotlin, Groovy, and other JVM-based languages. It is developed by JetBrains (formerly known as IntelliJ) and is a ...
or
NetBeans NetBeans is an integrated development environment (IDE) for Java (programming language), Java. NetBeans allows applications to be developed from a set of modular software components called ''modules''. NetBeans runs on Microsoft Windows, Windows, ...
with no
plug-in Plug-in, plug in or plugin may refer to: * Plug-in (computing), a software component that adds a specific feature to an existing computer program ** Audio plug-in, adds audio signal processing features ** Photoshop plugin, a piece of software that ...
s required. * Usable in ordinary
JUnit JUnit is a test automation framework for the Java programming language. JUnit is often used for unit testing, and is one of the xUnit frameworks. JUnit is linked as a JAR at compile-time. The latest version of the framework, JUnit 5, resides ...
or other style
test case In software engineering, a test case is a specification of the inputs, execution conditions, testing procedure, and expected results that define a single test to be executed to achieve a particular software testing objective, such as to exercise ...
s without complicated setup or external processes. * Validates applications entirely and reports all failures at once, with three selectable levels of detail, avoiding several hours' worth of "fix, recompile, redeploy, fail, repeat" cycles. *
OSGi OSGi is an open specification and open source project under the Eclipse Foundation. It is a continuation of the work done by the OSGi Alliance (formerly known as the Open Services Gateway initiative), which was an open standards organization fo ...
supportInfoQ: OpenEJB 3.0 Supports DI of Enums and Collections, OSGi and EJB 3.0 features
/ref>


See also

*
Enterprise JavaBeans Jakarta Enterprise Beans (EJB; formerly Enterprise JavaBeans) is one of several Java APIs for modular construction of enterprise software. EJB is a server-side software component that encapsulates business logic of an application. An EJB web ...


References


External links

* {{DEFAULTSORT:Apache Openejb OpenEJB Java enterprise platform Free software application servers 1999 software