📜  企业Java Bean (EJB)

📅  最后修改于: 2022-05-13 01:55:29.657000             🧑  作者: Mango

企业Java Bean (EJB)

Enterprise Java Beans (EJB) 是用于标准制造企业软件的几个Java API 之一。 EJB 是总结应用程序业务逻辑的服务器端软件元素。 Enterprise Java Beans Web 存储库为与 Web 相关的软件元素(包括计算机可靠性、 Java Servlet 生命周期 (JSL) 管理、事务过程和其他 Web 服务)生成运行时域。 EJB 枚举是Java EE 枚举的一个子集。

EJB 枚举最初由 IBM 在 1997 年开发,后来在 1999 年被 Sun Microsystems 采用,并在Java Community Process 下得到了增强。

EJB 枚举旨在提供一种标准方法来实现企业应用程序中常见的服务器端业务软件。这样的机器代码解决了相同类型的问题,并且这些问题的解决方案通常由程序员反复重新实现。假定企业Java Beans 以标准方式管理诸如持久性、事务完整性和安全性等常见问题,使程序员可以自由地专注于手头的企业软件的特定部分。

要运行 EJB 应用程序,我们需要一个应用程序服务器(EJB 容器),例如 Jboss、Glassfish、Weblogic、Websphere 等。它执行:

1 、生命周期管理
2.安全
3.交易管理
4.对象池化

企业Java Bean 的类型

EJB 分为三种类型:
1. Session Bean: Session Bean包含可以被本地、远程或webservice客户端调用的业务逻辑。有两种类型的会话 bean:(i) 有状态会话 bean 和 (ii) 无状态会话 bean。

  • (i) 有状态会话 bean:
    有状态会话 bean 在状态的帮助下执行业务任务。有状态会话 bean 可用于通过将信息存储在实例变量中来访问各种方法调用。一些应用程序需要在不同的方法调用中存储信息。在购物站点中,客户选择的商品必须作为数据存储,这是有状态会话 bean 的一个示例。
  • (ii) 无状态会话 bean:
    无状态会话 bean 实现业务逻辑,无需持久存储机制,例如状态或数据库,并且可以使用共享数据。无状态会话 bean 可用于不需要跨调用方法使用信息的情况。

2. Message Driven Bean:和Session Bean一样,包含业务逻辑,但通过消息传递调用。
3. Entity Bean:它总结了数据库中可以保留的状态。它已被弃用。现在,它被 JPA(Java Persistent API)取代。有两种类型的实体 bean:

  • (i) Bean 管理的持久性:
    在 bean 管理的持久性类型的实体 bean 中,程序员必须编写用于数据库调用的代码。它在多个会话和多个客户端中持续存在。
  • (ii) 容器管理的持久性:
    容器管理的持久性是跨数据库持久化的企业 bean。在容器管理的持久性中,容器负责数据库调用。

何时使用 Enterprise Java Bean

1.应用程序需要远程访问。换句话说,它是分布式的。
2.应用程序需要可扩展。 EJB 应用程序支持负载平衡、集群和故障转移。
3.应用需要封装业务逻辑。 EJB 应用程序有别于演示层和持久层。

企业Java Bean 的优势

1. EJB 存储库为企业 bean 提供系统级服务,bean 开发人员可以专注于解决业务问题。 EJB 存储库不是 bean 开发人员,而是负责系统级服务,例如事务管理和安全授权。
2. bean而不是客户端包含应用程序的业务逻辑,客户端开发人员可以专注于客户端的呈现。客户端开发人员不必编写执行业务规则或访问数据库的模式。由于这个原因,客户端更薄,这对于在小型设备上运行的客户端来说尤其重要。
3. Enterprise Java Beans 是可移植的元素,应用程序组装者可以从已经存在的beans 中构建新的应用程序。

企业Java Bean 的缺点

1.需要应用服务器
2.只需要Java客户端。对于其他语言的客户端,您需要使用 Web 服务。
3.复杂的理解和开发 EJB 应用程序。