本文概述
- 什么时候使用Enterprise Java Bean?
- 企业Java Bean的类型
- RMI和EJB之间的区别
- EJB和Web服务
- EJB的缺点
要获取有关分布式应用程序的信息, 请首先访问RMI教程。
要运行EJB应用程序, 你需要一个应用程序服务器(EJB容器), 例如Jboss, Glassfish, Weblogic, Websphere等。它执行:
- 生命周期管理
- 安全,
- 交易管理, 以及
- 对象池。
EJB类似于Microsoft提供的COM(组件对象模型)。但是, 它不同于Java Bean, RMI和Web服务。
什么时候使用Enterprise Java Bean?
- 应用程序需要远程访问。换句话说, 它是分布式的。
- 应用程序需要可扩展。 EJB应用程序支持负载平衡, 集群和故障转移。
- 应用程序需要封装的业务逻辑。 EJB应用程序与表示层和持久层分离。
会话Bean 会话Bean包含可由本地, 远程或Web服务客户端调用的业务逻辑。
消息驱动Bean 与会话Bean一样, 它包含业务逻辑, 但通过传递消息来调用。
实体豆 它封装了可以在数据库中保留的状态。不推荐使用。现在, 它已被JPA(Java持久性API)取代。
文章图片
RMI和EJB之间的区别 RMI和EJB均提供服务以从另一个JVM访问在另一个JVM中运行的对象(称为远程对象)。 RMI和EJB之间的区别如下:
RMI | EJB |
---|---|
在RMI中, 中间件服务(例如安全性, 事务管理, 对象池等)需要由Java程序员完成。 | 在EJB中, 中间件服务由EJB容器自动提供。 |
RMI不是服务器端组件。不需要将其部署在服务器上。 | EJB是服务器端组件, 需要将其部署在服务器上。 |
RMI建立在套接字编程的顶部。 | EJB技术建立在RMI之上。 |
【什么是EJB】如果需要使用其他语言(如.net, php等)编写bean客户端, 则需要使用Web服务(SOAP或REST)。因此带有Web服务的EJB将是更好的选择。
EJB的缺点
- 需要应用服务器
- 仅需要Java客户端。对于其他语言的客户端, 你需要使用网络服务。
- 理解和开发ejb应用程序很复杂。