JavaBeans 与 Ejb 的区别
JavaBeans 与 Ejb 的区别,JavaBeans 与 Ejb 的区别
Javabeans 和 Server beans(通常称为 Enterprise Javabeans (EJB))有一些基本相同之处。它们都是用一组特性创建,以执行其特定任务的对象或组件。它们还有从当前所驻留服务器上的容器获得其它特性的能力。这使得 beans 的行为根据特定任务和所在环境的不同而有所不同。
这开辟了巨大商机。因为 Javabeans 是与平台无关的,所以对于将来的解决方案,供应商可以轻易向不同用户推出其客户机方的 Javabeans,而不必创建或维护不同的版本。这些 Javabeans 可以与执行商业功能(例如订购、信用卡处理、电子汇款、存货分配、运输等)的 EJB 配合使用。这里有巨大潜力,而这正是组件代理(WebSphere Application Server 企业版)设计提供的那种潜力。
Javabeans 是一种组件,它在内部有接口或有与其相关的属性,以便不同人在不同时间开发的 beans 可以询问和集成。可以构建一个 beans,而在以后构造时将其与其它 beans 绑定。这种过程提供了先构建,然后重复使用的方法,这就是组件的概念。可以将这种单一应用程序部署成独立程序、ActiveX 组件或在浏览器中。
Javabeans 因其外部接口(即属性接口)而与纯对象不同。这种接口允许工具读取组件要执行的功能,将其与其它 beans 挂钩,以及将其插入其它环境。Javabeans 设计成对单一进程而言是本地的,它们在运行时通常可视。这种可视组件可能是按钮、列表框、图形或图表 - 但这不是必需的。
ActiveX 对象可以将 Javabeans 部署成 ActiveX 对象,虽然 EJB 的代理也可以这样做,但是,因为 ActiveX 运行在桌面上,所以,EJB 本身不能成为 ActiveX 对象。要在与平台相关的、仅 Windows 平台上做到这一点,开发人员可以将 Javabeans 变换成 ActiveX 组件。
EJB 的主要好处在于:构建 beans 时,beans 开发人员可以规定需要什么类型的行为,而不必规定如何去做。开发分为两部分:程序员开发 beans,然后验证:它可与构建工具一起工作,并包括标识所需服务质量行为种类的部署描述符。下一步,另一个程序员可以采用这个 beans,并使用读取 EJB 部署描述符的部署工具,然后将该 beans 安装到 Enterprise Java Server 上的容器中。在第二步中,部署工具采取一些操作,这可能意味着生成如状态保存代码,放入事务挂钩,或执行安全性检查这样的代码。所有这些操作由部署工具生成,beans 开发人员和部署人员可以是不同的人。
可以通过使用部署工具,将任何独立于平台的 Javabeans 改写成具有可靠服务质量、特定于平台的 EJB,以满足现有商业系统和应用程序的特定需求。这就是 EJB 服务器对集成系统、网络和体系结构如此重要的原因所在。
EJB 与 IBM WebSphere 企业版:
在 IBM WebSphere 企业版中使用时,可以将 EJB 配置成被管理的商业对象。接受它们授权服务的容器是其安装到的容器。将 EJB 的持久性部分映射在数据或状态对象中。EJB 服务器为 EJB 提供不同的服务质量,选择正确的 EJB 服务器可能对满足完整的商业需求至关重要。“组件代理”功能极其健壮,该功能提供如负载均衡和支持服务器组中多台机器的高级功能。它还有大大超出 Enterprise Java Server (EJS) 规范所倡导的系统管理功能。因此,按照基本标准编写的 Javabeans 或 EJB 可以运行在使用“组件代理”功能的 WebSphere 企业版上,并获得那些所有的附加功能。
EJB 服务器还提供独特的特性和服务质量,而且不完全相同。IBM“组件代理”有一些强大特性 - 例如,可伸缩性,它允许开发人员将 EJB 部署到从小型系统到大型网络的不同类型服务器。开发人员可以从小处入手,例如,在一个部门中,首先在 LAN 的 Java 服务器上部署,一旦准备好,就知道可以将在那里创建的 Javabeans 和 EJB 部署到全球网络。然后,开发人员可以测试并熟悉这些 beans,试运行,制作样本等等。
满意之后,开发人员可以通过将其移至高性能服务器,来大幅度扩大其规模。Javabeans 和 EJB 不受任何计算机体系结构边界的限制。它们用 Java 编写,可以运行在任何具有 Java 虚拟机的系统上,并可以使用任何 Enterprise Java Server (EJS) 来部署对象。因此,开发人员现在可以在方便的系统上构建,以后在方便的系统上部署,而不必是同一台或同样类型的机器。
IBM WebSphere 企业版支持将商业对象部署到多台服务器。EJB 作为商业对象集成到“组件代理”功能,并作为任何其它商业对象处理。因此,EJB 可以连接到所选的后端系统,并执行任何所需操作,以满足其商业需求。这就成