JavaBean与EJB的区别与应用

 

  • JavaBean 是一种组件,它在内部有接口或有与其相关的属性,以便不一样人在不一样时间开发的 bean 能够询问和集成。
  • EJB 是部署在服务器上的可执行组件或商业对象。有一个协议容许对其进行远程访问或在特定服务器上安装或部署它们。

 

您如今可能已经在使用 JavaBean,但还不了解它。html

若是有支持 Java 的浏览器,那么,在桌面上使用 JavaBean 就没有限制。前端

使用的 Web 页面能够将 bean 做为小应用程序的一部分。html5

您很快就会和做为浏览器可视部分的 JavaBean 交互,而后,那些 JavaBean 将与服务器上的 EJB 接口。这种能力也能够扩展到因特网和内部网。 java

JavaBean 和 Server Bean(一般称为 Enterprise JavaBean (EJB))有一些基本相同之处。它们都是用一组特性建立,以执行其特定任务的对象或组件。它们还有从当前所驻留服务器上的容器得到其它特性的能力。这使得 bean 的行为根据特定任务和所在环境的不一样而有所不一样。程序员

由于 JavaBean 是与平台无关的,因此对于未来的解决方案,供应商能够轻易向不一样用户推出其客户机方的 JavaBean,而没必要建立或维护不一样的版本。这些 JavaBean 能够与执行商业功能(例如订购、信用卡处理、电子汇款、存货分配、运输等)的 EJB 配合使用。这里有巨大潜力,而这正是组件代理(WebSphere Application Server 企业版)设计提供的那种潜力。web

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

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

可执行组件windows

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

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

由于 EJB 由诸如 IBM VisualAge for Java 这样的工具集生成,因此,它是基于服务器的对象,并用于远程调用。它们安装在 EJB 服务器上,并象调用其它 CORBA 远程对象那样得到进行调用的远程接口。

ActiveX 对象 能够将 JavaBean 部署成 ActiveX 对象,虽然 EJB 的代理也能够这样作,可是,由于 ActiveX 运行在桌面上,因此,EJB 自己不能成为 ActiveX 对象。要在与平台相关的、仅 Windows 平台上作到这一点,开发人员能够将 JavaBean 变换成 ActiveX 组件。

EJB 的主要优势在于:构建 bean 时,bean 开发人员能够规定须要什么类型的行为,而没必要规定如何去作。开发分为两部分:程序员开发 bean,而后验证:它可与构建工具一块儿工做,并包括标识所需服务质量行为种类的部署描述符。下一步,另外一个程序员能够采用这个 bean,并使用读取 EJB 部署描述符的部署工具,而后将该 bean 安装到 Enterprise Java Server 上的容器中。

在第二步中,部署工具采起一些操做,这可能意味着生成如状态保存代码,放入事务挂钩,或执行安全性检查这样的代码。全部这些操做由部署工具生成,bean 开发人员和部署人员能够是不一样的人。

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

EJB 与 IBM WebSphere 企业版

在 IBM WebSphere 企业版中使用时,能够将 EJB 配置成被管理的商业对象。接受它们受权服务的容器是其安装到的容器。将 EJB 的持久性部分映射在数据或状态对象中。

EJB 服务器为 EJB 提供不一样的服务质量,选择正确的 EJB 服务器可能对知足完整的商业需求相当重要。“组件代理”功能极其健壮,该功能提供如负载均衡和支持服务器组中多台机器的高级功能。它还有大大超出 Enterprise Java Server (EJS) 规范所倡导的系统管理功能。所以,按照基本标准编写的 JavaBean 或 EJB 能够运行在使用“组件代理”功能的 WebSphere 企业版上,并得到那些全部的附加功能。

EJB 服务器还提供独特的特性和服务质量,并且不彻底相同。IBM“组件代理”有一些强大特性。例如,可伸缩性,它容许开发人员将 EJB 部署到从小型系统到大型网络的不一样类型服务器。开发人员能够从小处入手,例如,在一个部门中,首先在 LAN 的 Java 服务器上部署,一旦准备好,就知道能够将在那里建立的 JavaBean 和 EJB 部署到全球网络。

而后,开发人员能够测试并熟悉这些 bean,试运行,制做样本等等。满意以后,开发人员能够经过将其移至高性能服务器,来大幅度扩大其规模。JavaBean 和 EJB 不受任何计算机体系结构边界的限制。它们用 Java 编写,能够运行在任何具备 Java 虚拟机的系统上,并可使用任何 Enterprise Java Server (EJS) 来部署对象。所以,开发人员如今能够在方便的系统上构建,之后在方便的系统上部署,而没必要是同一台或一样类型的机器。


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

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

让咱们举一个在 Web 购物站点上能够看到的电子购物车的例子。用户的购物车是一个 JavaBean。用户将货架上的商品放入购物车,这些商品自己是 JavaBean。它们所有可视,而且面向用户。

结账时,将用户购物车中的商品发送到服务器上的 EJB,该 EJB 执行一些必要的操做,如检查信用卡受权和可用额度,生成封条,或生成给发货部门的有关提什么货和发货地点的特殊指示――这就是商业程序已在进行的活动。

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

 

【责任编辑: red7 TEL:(010)68476606】

 

 



分享到:
1
收藏| 打印| 复制

 

内容点评

已有0条评论,0次赞

还能够输入500字

 
提交
您尚未登陆! 请先 登陆 或 注册 
尚未评论内容

 

 

 

 

 

 

 

 
 

 

 

热点职位

更多>>
【三轮融资】诚聘高级Java开发工程师 

全职/不限/不限

10k-25k 美云集
Java开发 

全职/3-5年/本科

6k-15k 文思海辉
PHP研发工程师 

全职/1-3年/本科

10k-15k 动视云科技
Web前端工程师 

全职/1-3年/大专

8k-15k 高达软件
Web前端开发工程师 

全职/3-5年/大专

8k-15k VML Teein
 

热点专题

更多>>

 

 

读书

精通Spring 2.0
本书是关于Spring 2.0的权威教程,是Java/Java EE开发者必备的参考书。本书详尽系统地介绍了Java EE的基础知识、Spring 2.0的各

 

 

 

 
相关文章
相关标签/搜索