Enterprise Application Development using EJB
COURTESY :- vrindawan.in
Wikipedia
An application server is a server that hosts applications or software that delivers a business application through a communication protocol.
An application server framework is a service layer model. It includes software components available to a software developer through an application programming interface. An application server may have features such as clustering, fail-over, and load-balancing. The goal is for developers to focus on the business logic.
![]()
Jakarta EE (formerly Java EE or J2EE) defines the core set of API and features of Java application servers.
The Jakarta EE infrastructure is partitioned into logical containers.
- EJB container: Enterprise Beans are used to manage transactions. According to the Java Blue Prints, the business logic of an application resides in Enterprise Beans—a modular server component providing many features, including declarative transaction management, and improving application scalability.
- Web container: the web modules include Jakarta Servlets and Jakarta Server Pages (JSP).
- JCA container (Jakarta Connectors)
- JMS provider (Jakarta Messaging)
Commercial Java application servers have been dominated by Web Logic Application Server by Oracle, WebSphere Application Server from IBM and the open source JBoss Enterprise Application Platform (JBoss EAP) by Red Hat.
Microsoft’s .NET positions their middle-tier applications and services infrastructure in the Windows Server operating system and the .NET Framework technologies in the role of an application server. The Windows Application Server role includes Internet Information Services (IIS) to provide web server support, the .NET Framework to provide application support, ASP.NET to provide server side scripting, COM+ for application component communication, Message Queuing for multi threaded processing, and the Windows Communication Foundation (WCF) for application communication.
OpenEJB is an open-source, embed dable and lightweight Enterprise Java Beans Container System and EJB Server, released under the Apache License 2.0. Open EJB has been integrated with Java EE application servers such as Geronimo and Web Objects.
![]()
OpenEJB was founded by Richard Monson-Haefel and David Blevins in December 1999. At the time there were new vendors moving in the enterprise Java 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 in late 2000, released in 2001. When the project moved to Source Forge in 2002 an Apache Tomcat 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 the 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 and other platforms that integrated OpenEJB. For simplicity in the build the test suite based on JUnit, 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 application server. Originally a new version of Open EJB was developed ground up based on Geronimo’s GBean architecture and released as Open EJB 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 and revived the Open EJB 1.0 code base, ported select bits of the 2.0 code base, and eventually brought it up to the EJB 3.0 spec level in what is now called Open EJB 3.0.
