JavaBean 与 EJB 区别?
您现在可能已在使用 JavaBean
,但还不了解它。如果有支持 Java 的浏览器,那么,
在桌面上使用 JavaBean
就没有限制。使用的 Web
页面可以将 bean 作为小应用程序的一部
分。您很快就会和作为浏览器可视部分的 JavaBean
交互,然后,那些 JavaBean 将与服务
器上的 EJB 接口。这种能力也可以扩展到因特网和内部网。
JavaBean
和 Server Bean(
通常称为 Enterprise JavaBean (EJB))有一些基本相同之处。
它们都是用一组特性创建,以执行其特定任务的对象或组件。它们还有从当前所驻留服务
器上的容器获得其它特性的能力。这使得 bean 的行为根据特定任务和所在环境的不同而
有所不同。
这开辟了巨大商机。因为 JavaBean 是与平台无关的,所以对于将来的解决方案,
供应商可以轻易向不同用户推出其客户机方的 JavaBean,而不必创建或维护不同的版本。
这些 JavaBean 可以与执行商业功能(例如订购、信用卡处理、电子汇款、存货分配、运输等)
的 EJB 配合使用。这里有巨大潜力,而这正是组件代理(WebSphere Application Server 企业
版)设计提供的那种潜力。
JavaBean 是一种组件,它在内部有接口或有与其相关的属性,以便不同人在不
同时间开发的 bean
可以询问和集成。可以构建一个 bean,而在以后构造时将其与其它
bean 绑定。这种过程提供了先构建,然后重复使用的方法,这就是组件的概念。可以将这
种单一应用程序部署成独立程序、ActiveX 组件或在浏览器中。
JavaBean 因其外部接口(即属性接口)而与纯对象不同。这种接口允许工具读取组
件要执行的功能,将其与其它 bean 挂钩,以及将其插入其它环境。JavaBean 设计成对单
一进程而言是本地的,它们在运行时通常可视。这种可视组件可能是按钮、列表框、图形或
图表 - 但这不是必需的。
可执行组件
Server Bean
或 EJB 是部署在服务器上的可执行组件或商业对象。有一个协议允
许对其进行远程访问或在特定服务器上安装或部署它们。有一系列机制允许它们将服务安
全性、事务行为、并发性(由多个客户机同时访问的能力)和持久性(其状态可以保存多久)的
主要方面授权给 EJB 服务器上其所在的容器。当安装在容器中时,它们获得各自的行为,
该行为提供不同质量的服务,因此,选择正确的 EJB
服务器至关重要。这正是 IBM
WebSphere 企业版的优势所在。
EJB 是设计成运行在服务器上,并由客户机调用的非可视远程对象。可通过多个
非可视 JavaBean
构建 EJB
。它们有一个部署描述符,其目的与 JavaBean 属性相同:它是