`
isiqi
  • 浏览: 16033601 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

简单介绍javabean 和 ejb 的区别

阅读更多
现在可能已在使用JavaBean,但还不了解它。如果有支持Java的浏览器,那么,在桌面上使用JavaBean就没有限制。使用的Web页面可以将bean作为小应用程序的一部分。您很快就会和作为浏览器可视部分的JavaBean交互,然后,那些JavaBean将与服务器上的EJB接口。
这种能力也可以扩展到因特网和内部网。

JavaBean和ServerBean(通常称为EnterpriseJavaBean(EJB))有一些基本相同之处。
它们都是用一组特性创建,以执行其特定任务的对象或组件。它们还有从当前所驻留服务器上的容器获得其它特性的能力。这使得bean的行为根据特定任务和所在环境的不同而有所不同。
这开辟了巨大商机。因为JavaBean是与平台无关的,所以对于将来的解决方案,供应商可以轻易向不同用户推出其客户机方的JavaBean,而不必创建或维护不同的版本。这些JavaBean可以与执行商业功能(例如订购、信用卡处理、电子汇款、存货分配、运输等)的EJB配合使用。这里有巨大潜力,而这正是组件代理(WebSphereApplicationServer企业版)设计提供的那种潜力。

JavaBean是一种组件,它在内部有接口或有与其相关的属性,以便不同人在不同时间开发的bean可以询问和集成。可以构建一个bean,而在以后构造时将其与其它bean绑定。这种过程提供了先构建,然后重复使用的方法,这就是组件的概念。可以将这种单一应用程序部署成独立程序、ActiveX组件或在浏览器中。

JavaBean因其外部接口(即属性接口)而与纯对象不同。这种接口允许工具读取组件要执行的功能,将其与其它bean挂钩,以及将其插入其它环境。JavaBean设计成对单一进程而言是本地的,它们在运行时通常可视。这种可视组件可能是按钮、列表框、图形或图表-但这不是必需的。

可执行组件
ServerBean或EJB是部署在服务器上的可执行组件或商业对象。有一个协议允许对其进行远程访问或在特定服务器上安装或部署它们。有一系列机制允许它们将服务安全性、事务行为、并发性(由多个客户机同时访问的能力)和持久性(其状态可以保存多久)的主要方面授权给EJB服务器上其所在的容器。当安装在容器中时,它们获得各自的行为,该行为提供不同质量的服务,因此,选择正确的EJB服务器至关重要。这正是IBMWebSphere企业版的优势所在。

EJB是设计成运行在服务器上,并由客户机调用的非可视远程对象。可通过多个非可视JavaBean构建EJB。它们有一个部署描述符,其目的与JavaBean属性相同:它是以后可由工具读取的bean的描述。EJB还独立于平台,一旦编写好,还可以在任何支持Java的平台(包括客户机和服务器)上使用。

因为EJB由诸如IBMVisualAgeforJava这样的工具集生成,所以,它是基于服务器的对象,并用于远程调用。它们安装在EJB服务器上,并象调用其它CORBA远程对象那样获得进行调用的远程接口。

ActiveX对象
可以将JavaBean部署成ActiveX对象,虽然EJB的代理也可以这样做,但是,因为ActiveX运行在桌面上,所以,EJB本身不能成为ActiveX对象。要在与平台相关的、仅Windows平台上做到这一点,开发人员可以将JavaBean变换成ActiveX组件。

好处
EJB的主要好处在于:构建bean时,bean开发人员可以规定需要什么类型的行为,而不必规定如何去做。开发分为两部分:程序员开发bean,然后验证:它可与构建工具一起工作,并包括标识所需服务质量行为种类的部署描述符。下一步,另一个程序员可以采用这个bean,并使用读取EJB部署描述符的部署工具,然后将该bean安装到EnterpriseJavaServer上的容器中。在第二步中,部署工具采取一些操作-这可能意味着生成如状态保存代码,放入事务挂
钩,或执行安全性检查这样的代码。所有这些操作由部署工具生成,bean开发人员和部署人员可以是不同的人。

可以通过使用部署工具,将任何独立于平台的JavaBean改写成具有可靠服务质量、特定于平台的EJB,以满足现有商业系统和应用程序的特定需求。这就是EJB服务器对集成系统、网络和体系结构如此重要的原因所在。

EJB与IBMWebSphere企业版
在IBMWebSphere企业版中使用时,可以将EJB配置成被管理的商业对象。接受它们授权服务的容器是其安装到的容器。将EJB的持久性部分映射在数据或状态对象中。EJB服务器为EJB提供不同的服务质量,选择正确的EJB服务器可能对满足完整的商业需求至关重要。“组件代理”功能极其健壮,该功能提供如负载均衡和支持服务器组中多台机器的高级功能。它还有大大超出EnterpriseJavaServer(EJS)规范所倡导的系统管理功能。因此,按照基本标准编写的
JavaBean或EJB可以运行在使用“组件代理”功能的WebSphere企业版上,并获得那些所有的附加功能。

EJB服务器还提供独特的特性和服务质量,而且不完全相同。IBM“组件代理”有一些强大特性-例如,可伸缩性,它允许开发人员将EJB部署到从小型系统到大型网络的不同类型服务器。开发人员可以从小处入手,例如,在一个部门中,首先在LAN的Java服务器上部署,一旦准备好,就知道可以将在那里创建的JavaBean和EJB部署到全球网络。然后,开发人员可以测试并熟悉这些bean,试运行,制作样本等等。满意之后,开发人员可以通过将其移至高性能服务器,来大幅度扩大其规模。JavaBean和EJB不受任何计算机体系结构边界的限制。它们用Java编写,可以运行在任何具有Java虚拟机的系统上,并可以使用任何EnterpriseJavaServer(EJS)来部署对象。因此,开发人员现在可以在方便的系统上构建,以后在方便的系统上部署,而不必是同一台或同样类型的机器。

IBMWebSphere企业版支持将商业对象部署到多台服务器。EJB作为商业对象集成到“组件代理”功能,并作为任何其它商业对象处理。因此,EJB可以连接到所选的后端系统,并执行任何所需操作,以满足其商业需求。这就成为“组件代理”为EJB提供的基础设施。通过将“组件代理”用作EJB服务器,开发人员将能够继续使用当前旧有系统,并将其与电子商务接口一起提供。

为使EJB能在WebSphere“组件代理”环境中工作,可以使用“组件代理”部署工具将其安装在一台或多台服务器上,然后将其添加到命名服务器,以便可以全局查找到它。任何可以访问公共命名服务器的人都可以找到它,找到其宿主,并可以在宿主上执行方法,同时创建EJB。这就是“代理组件”要做的事。

示例
让我们举一个在Web购物站点上可以看到的电子购物车的例子。用户的购物车是一个JavaBean。用户将货架上的商品放入购物车,这些商品本身是JavaBean。它们全部可视,并且面向用户。结帐时,将用户购物车中的商品发送到服务器上的EJB,该EJB执行一些必要的操作,如检查信用卡授权和可用额度,生成封条,或生成给发货部门的有关提什么货和发货地点的特殊指示-这就是商业程序已在进行的活动。

结束语
Bean的全部意义不只是其现有能力,更在于其可以为商业提供的有竞争力的潜在能力。IT设计师和应用开发人员现在可以将精力完全集中在商业逻辑,而将如事务、持久性和安全性的底层工作留给服务器。WebSphere的“组件代理”功能将提供所有这些(还有后端访问)和对象事务管理器。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics