📜  讨论EJB(1)

📅  最后修改于: 2023-12-03 14:57:36.167000             🧑  作者: Mango

讨论EJB

什么是EJB

EJB (Enterprise Java Beans) 是指一个 JavaEE (Java Enterprise Edition)规范中的一部分,它提供了一种组件化的方式来开发企业级应用程序。

EJB 技术被广泛应用于 Java 应用程序的分布式架构、事务处理和安全性等方面。

EJB的类型

在 EJB 规范中,定义了三种类型的 EJB:

  • 会话 EJB
  • 实体 EJB
  • 消息驱动 EJB
1. 会话 EJB

会话 EJB 是指一组相互关联的业务方法,对外提供一系列服务,主要用于处理客户端请求和维护客户会话状态。

会话 EJB 可以分为两种类型:

  • 状态 session EJB:保存一些上下文信息,并与客户端维护一定的成员关系。
  • 无状态 session EJB:不保存任何上下文信息,仅仅是一组业务方法。
2. 实体 EJB

实体 EJB 是对一个持久化的数据模型进行封装,提供一系列 CRUD(Create,Read,Update,Delete)操作的服务,以实现对这些数据的操作。

实体 EJB 有两种类型:

  • BMP(Bean-Managed Persistence):手动管理数据存储。
  • CMP(Container-Managed Persistence):容器自动管理数据存储。
3. 消息驱动 EJB

消息驱动 EJB 是一种异步处理模型,它通过消息队列实现消息发送和接收,常用于处理异步消息或事件。

EJB的优缺点
优点
  • 通过 EJB 规范来完成分布式应用程序的构建,组件间互通,极大地简化了分布式应用程序的开发和部署。
  • EJB 框架提供了很多的服务,比如事务、安全、状态管理等,开发人员可以将精力集中在业务逻辑上,而不是这些底层的服务上。
  • EJB 提供了容器管理的能力,可以方便地进行多线程和连接池管理,提高了应用程序的并发性,并且能够有效地控制一些服务的性能。
缺点
  • EJB 容器是 JavaEE 服务器的一个子系统,需要一定的配置和额外的维护工作。
  • EJB 框架比较重量级,相较于其他轻量级框架,EJB 的学习曲线和使用成本都要高出很多。
  • 由于 EJB 的规范和实现都不止一种,因此需要对 EJB 掌握得比较全面才能开发一个完美的 EJB 应用程序。
总结

EJB 技术通过提供一个组件化的方式来开发企业级应用程序,优点在于可以方便地构建分布式应用程序,缺点在于使用成本较高。程序员需要根据自身项目情况,权衡是否使用 EJB 规范。