个性化阅读
专注于IT技术分析

什么是EJB

本文概述

EJB是企业Java bean的首字母缩写。它是Sun Microsystems提供的用于开发安全, 健壮和可扩展的分布式应用程序的规范。

要获取有关分布式应用程序的信息, 请首先访问RMI教程。

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

  1. 生命周期管理
  2. 安全,
  3. 交易管理, 以及
  4. 对象池。

EJB应用程序部署在服务器上, 因此也称为服务器端组件。

EJB类似于Microsoft提供的COM(组件对象模型)。但是, 它不同于Java Bean, RMI和Web服务。


什么时候使用Enterprise Java Bean?

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

企业Java Bean的类型

Java中有3种类型的企业bean。

会话Bean

会话Bean包含可由本地, 远程或Web服务客户端调用的业务逻辑。

消息驱动Bean

与会话Bean一样, 它包含业务逻辑, 但通过传递消息来调用。

实体豆

它封装了可以在数据库中保留的状态。不推荐使用。现在, 它已被JPA(Java持久性API)取代。

企业Bean的类型

RMI和EJB之间的区别

RMI和EJB均提供服务以从另一个JVM访问在另一个JVM中运行的对象(称为远程对象)。 RMI和EJB之间的区别如下:

RMI EJB
在RMI中, 中间件服务(例如安全性, 事务管理, 对象池等)需要由Java程序员完成。 在EJB中, 中间件服务由EJB容器自动提供。
RMI不是服务器端组件。不需要将其部署在服务器上。 EJB是服务器端组件, 需要将其部署在服务器上。
RMI建立在套接字编程的顶部。 EJB技术建立在RMI之上。

EJB和Web服务

在EJB中, bean组件和bean客户端都必须用Java语言编写。

如果需要使用其他语言(如.net, php等)编写bean客户端, 则需要使用Web服务(SOAP或REST)。因此带有Web服务的EJB将是更好的选择。


EJB的缺点

  1. 需要应用服务器
  2. 仅需要Java客户端。对于其他语言的客户端, 你需要使用网络服务。
  3. 理解和开发ejb应用程序很复杂。
赞(0)
未经允许不得转载:srcmini » 什么是EJB

评论 抢沙发

评论前必须登录!