# Jakarta Enterprise Beans

> server software for modular construction of enterprise software

**Wikidata**: [Q742961](https://www.wikidata.org/wiki/Q742961)  
**Wikipedia**: [English](https://en.wikipedia.org/wiki/Jakarta_Enterprise_Beans)  
**Source**: https://4ort.xyz/entity/jakarta-enterprise-beans

## Summary
Jakarta Enterprise Beans (EJB) is a server-side software technology designed for building modular enterprise applications. Originally developed by IBM, it is now maintained by the Eclipse Foundation under the Eclipse Public License 2.0 and GPL linking exception. As part of Jakarta EE, EJB simplifies the development of scalable, transactional, and secure business logic components.

## Key Facts
- Creator: IBM  
- Current Version: 4.0.1 (released May 4, 2022)  
- License: Eclipse Public License 2.0 with GPL linking exception  
- Part of: Jakarta EE platform  
- Developer: Eclipse Foundation  
- Source Code Repository: [GitHub](https://github.com/eclipse-ee4j/ejb-api)  
- Aliases: Enterprise JavaBeans, EJB, Session Bean, Entity Bean  
- Website: [Eclipse EE4J EJB Project Page](https://projects.eclipse.org/projects/ee4j.ejb)  

## FAQs
### Q: What is Jakarta Enterprise Beans used for?
A: Jakarta Enterprise Beans is used to build modular, scalable, and secure enterprise-level applications on the Java platform. It enables developers to focus on business logic while handling transactions, security, and concurrency automatically.

### Q: Is Jakarta Enterprise Beans still actively developed?
A: Yes, Jakarta Enterprise Beans continues to be actively maintained by the Eclipse Foundation as part of the Jakarta EE ecosystem. The latest stable release is version 4.0.1, published in May 2022.

### Q: How does Jakarta Enterprise Beans differ from regular JavaBeans?
A: While JavaBeans are general-purpose reusable software components, Jakarta Enterprise Beans are specifically designed for server-side enterprise application development, offering built-in support for transactions, persistence, messaging, and distributed computing.

## Why It Matters
Jakarta Enterprise Beans plays a critical role in enterprise Java development by providing a standardized model for implementing business logic within large-scale systems. It abstracts complex concerns like transaction management, concurrency control, and resource pooling, allowing developers to write cleaner, more maintainable code. As part of Jakarta EE, EJB ensures compatibility across different vendors and platforms, making enterprise applications portable and interoperable. Its evolution reflects broader trends in cloud-native architectures and microservices adoption, maintaining relevance even as newer frameworks emerge.

## Notable For
- Being one of the core technologies in Jakarta EE (formerly Java EE)
- Supporting both session beans and entity beans for diverse business logic needs
- Providing container-managed services such as transactions, security, and lifecycle management
- Transitioning from proprietary origins at IBM to open-source governance under the Eclipse Foundation

## Body
### Overview
Jakarta Enterprise Beans (EJB) is a managed runtime environment and programming model for developing component-based enterprise applications in Java. It provides infrastructure-level services—such as transaction management, concurrency, and object lifecycle control—that allow developers to focus on writing business logic rather than boilerplate system code.

### History and Evolution
Originally introduced by IBM as Enterprise JavaBeans (EJB), the specification was donated to Sun Microsystems and later evolved into part of Oracle's Java Platform, Enterprise Edition (Java EE). In 2017, following Oracle’s decision to transfer stewardship of Java EE to the open-source community, the project moved under the Eclipse Foundation and became known as Jakarta Enterprise Beans.

### Technical Features
EJB supports two main types of beans:
- **Session Beans**: Handle client requests; can be stateless, stateful, or singleton.
- **Message-Driven Beans**: Process asynchronous messages via JMS.

Additionally, prior versions included **Entity Beans**, which have since been superseded by JPA (Java Persistence API).

Key features include:
- Container-managed transactions (CMT) and bean-managed transactions (BMT)
- Declarative security using annotations or deployment descriptors
- Remote and local interfaces for communication
- Integration with other Jakarta EE APIs including JTA, JNDI, and JMS

### Licensing and Governance
The Jakarta Enterprise Beans specification and reference implementation are licensed under the Eclipse Public License 2.0 with a GPL linking exception, enabling broad commercial and open-source usage without requiring derivative works to be open-sourced.

### Development Status
As of October 2022, the latest official release is version **4.0.1**, published on May 4, 2022. Prior releases include versions 4.0.0 (October 2020), 3.2.6 (August 2019), and several incremental updates between 3.2.3 and 3.2.5.

Source code is hosted publicly on GitHub under the `eclipse-ee4j` organization:
[https://github.com/eclipse-ee4j/ejb-api](https://github.com/eclipse-ee4j/ejb-api)

### Community and Resources
Community engagement occurs through Stack Overflow ([tag: ejb](https://stackoverflow.com/tags/ejb)), Quora topics, Zhihu discussions, and various multilingual Wikipedia entries covering languages such as Arabic, Spanish, French, German, Hebrew, and others.

## References

1. [Source](https://github.com/eclipse-ee4j/ejb-api/releases/tag/3.2.6-RELEASE)
2. [Release 3.2.3. 2018](https://github.com/eclipse-ee4j/ejb-api/releases/tag/3.2.3-RELEASE)
3. [Release 3.2.4. 2019](https://github.com/eclipse-ee4j/ejb-api/releases/tag/3.2.4-RELEASE)
4. [Release 3.2.5. 2019](https://github.com/eclipse-ee4j/ejb-api/releases/tag/3.2.5-RELEASE)
5. [Release 4.0.0. 2020](https://github.com/eclipse-ee4j/ejb-api/releases/tag/4.0.0-RELEASE)
6. [Release 4.0.1. 2022](https://github.com/jakartaee/enterprise-beans/releases/tag/4.0.1-RELEASE)
7. Freebase Data Dumps. 2013
8. Quora