您现在可能已在使用 JavaBean
![](/icons/94192dou.gif)
但还不了解它
![](/icons/94192dou2.gif)
如果有支持 Java
![](/icons/94192de.gif)
浏览器
![](/icons/94192dou.gif)
那么
![](/icons/94192dou.gif)
在桌面上使用 JavaBean 就没有限制
![](/icons/94192dou2.gif)
使用
![](/icons/94192de.gif)
Web 页面可以将 bean 作为小应用
![](/icons/94192chengxu.gif)
![](/icons/94192de.gif)
![](/icons/94192yi.gif)
部分
![](/icons/94192dou2.gif)
您很快就会和作为浏览器可视部分
![](/icons/94192de.gif)
JavaBean 交互
![](/icons/94192dou.gif)
然后
![](/icons/94192dou.gif)
那些 JavaBean 将和服务器上
![](/icons/94192de.gif)
EJB 接口
![](/icons/94192dou2.gif)
这种能力也可以扩展到因特网和内部网
JavaBean 和 Server Bean(通常称为 Enterprise JavaBean (EJB))有
![](/icons/94192yi.gif)
些基本相同的处
![](/icons/94192dou2.gif)
它们都是用
![](/icons/94192yi.gif)
组特性创建
![](/icons/94192dou.gif)
以执行其特定任务
![](/icons/94192de.gif)
对象或组件
![](/icons/94192dou2.gif)
它们还有从当前所驻留服务器上
![](/icons/94192de.gif)
容器获得其它特性
![](/icons/94192de.gif)
能力
![](/icons/94192dou2.gif)
这使得 bean
![](/icons/94192de.gif)
行为根据特定任务和所在环境
![](/icons/94192de.gif)
区别而有所区别
这开辟了巨大商机
![](/icons/94192dou2.gif)
![](/icons/94192yinwei.gif)
JavaBean 是和平台无关
![](/icons/94192de.gif)
![](/icons/94192dou.gif)
所以对于将来
![](/icons/94192de.gif)
解决方案
![](/icons/94192dou.gif)
供应商可以轻易向区别用户推出其客户机方
![](/icons/94192de.gif)
JavaBean
![](/icons/94192dou.gif)
而不必创建或维护区别
![](/icons/94192de.gif)
版本
![](/icons/94192dou2.gif)
这些 JavaBean 可以和执行商业功能(例如订购、信用卡处理、电子汇款、存货分配、运输等)
![](/icons/94192de.gif)
EJB 配合使用
![](/icons/94192dou2.gif)
这里有巨大潜力
![](/icons/94192dou.gif)
而这正是组件代理(WebSphere Application Server 企业版)设计提供
![](/icons/94192de.gif)
那种潜力
JavaBean 是
![](/icons/94192yi.gif)
种组件
![](/icons/94192dou.gif)
它在内部有接口或有和其相关
![](/icons/94192de.gif)
属性
![](/icons/94192dou.gif)
以便区别人在区别时间开发
![](/icons/94192de.gif)
bean 可以询问和集成
![](/icons/94192dou2.gif)
可以构建
![](/icons/94192yi.gif)
个 bean
![](/icons/94192dou.gif)
而在以后构造时将其和其它 bean 绑定
![](/icons/94192dou2.gif)
这种过程提供了先构建
![](/icons/94192dou.gif)
然后重复使用
![](/icons/94192de.gif)
思路方法
![](/icons/94192dou.gif)
这就是组件
![](/icons/94192de.gif)
概念
![](/icons/94192dou2.gif)
可以将这种单
![](/icons/94192yi.gif)
应用
![](/icons/94192chengxu.gif)
部署成独立
![](/icons/94192chengxu.gif)
、ActiveX 组件或在浏览器中
JavaBean 因其外部接口(即属性接口)而和纯对象区别
![](/icons/94192dou2.gif)
这种接口允许工具读取组件要执行
![](/icons/94192de.gif)
功能
![](/icons/94192dou.gif)
将其和其它 bean 挂钩
![](/icons/94192dou.gif)
以及将其插入其它环境
![](/icons/94192dou2.gif)
JavaBean 设计成对单
![](/icons/94192yi.gif)
进程而言是本地
![](/icons/94192de.gif)
![](/icons/94192dou.gif)
它们在运行时通常可视
![](/icons/94192dou2.gif)
这种可视组件可能是按钮、列表框、图形或图表 - 但这不是必需
![](/icons/94192de.gif)
可执行组件
Server Bean 或 EJB 是部署在服务器上
![](/icons/94192de.gif)
可执行组件或商业对象
![](/icons/94192dou2.gif)
有
![](/icons/94192yi.gif)
个协议允许对其进行远程访问或在特定服务器上安装或部署它们
![](/icons/94192dou2.gif)
有
![](/icons/94192yi.gif)
系列机制允许它们将服务安全性、事务行为、并发性(由多个客户机同时访问
![](/icons/94192de.gif)
能力)和持久性(其状态可以保存多久)
![](/icons/94192de.gif)
主要方面授权给 EJB 服务器上其所在
![](/icons/94192de.gif)
容器
![](/icons/94192dou2.gif)
当安装在容器中时
![](/icons/94192dou.gif)
它们获得各自
![](/icons/94192de.gif)
行为
![](/icons/94192dou.gif)
该行为提供区别质量
![](/icons/94192de.gif)
服务
![](/icons/94192dou.gif)
因此
![](/icons/94192dou.gif)
选择正确
![](/icons/94192de.gif)
EJB 服务器至关重要
![](/icons/94192dou2.gif)
这正是 IBM WebSphere 企业版
![](/icons/94192de.gif)
优势所在
EJB 是设计成运行在服务器上
![](/icons/94192dou.gif)
并由客户机
![](/icons/94192diaoyong.gif)
![](/icons/94192de.gif)
非可视远程对象
![](/icons/94192dou2.gif)
可通过多个非可视 JavaBean 构建 EJB
![](/icons/94192dou2.gif)
它们有
![](/icons/94192yi.gif)
个部署描述符
![](/icons/94192dou.gif)
其目
![](/icons/94192de.gif)
和 JavaBean 属性相同:它是以后可由工具读取
![](/icons/94192de.gif)
bean
![](/icons/94192de.gif)
描述
![](/icons/94192dou2.gif)
EJB 还独立于平台
![](/icons/94192dou.gif)
![](/icons/94192yi.gif)
旦编写好
![](/icons/94192dou.gif)
还可以在任何支持 Java
![](/icons/94192de.gif)
平台(包括客户机和服务器)上使用
![](/icons/94192yinwei.gif)
EJB 由诸如 IBM VisualAge for Java 这样
![](/icons/94192de.gif)
工具集生成
![](/icons/94192dou.gif)
所以
![](/icons/94192dou.gif)
它是基于服务器
![](/icons/94192de.gif)
对象
![](/icons/94192dou.gif)
并用于远程
![](/icons/94192diaoyong.gif)
![](/icons/94192dou2.gif)
它们安装在 EJB 服务器上
![](/icons/94192dou.gif)
并象
![](/icons/94192diaoyong.gif)
其它 CORBA 远程对象那样获得进行
![](/icons/94192diaoyong.gif)
![](/icons/94192de.gif)
远程接口
ActiveX 对象
可以将 JavaBean 部署成 ActiveX 对象
![](/icons/94192dou.gif)
虽然 EJB
![](/icons/94192de.gif)
代理也可以这样做
![](/icons/94192dou.gif)
但是
![](/icons/94192dou.gif)
![](/icons/94192yinwei.gif)
ActiveX 运行在桌面上
![](/icons/94192dou.gif)
所以
![](/icons/94192dou.gif)
EJB 本身不能成为 ActiveX 对象
![](/icons/94192dou2.gif)
要在和平台相关
![](/icons/94192de.gif)
、仅 Windows 平台上做到这
![](/icons/94192yi.gif)
点
![](/icons/94192dou.gif)
开发人员可以将 JavaBean 变换成 ActiveX 组件
好处
EJB
![](/icons/94192de.gif)
主要好处在于:构建 bean 时
![](/icons/94192dou.gif)
bean 开发人员可以规定需要什么类型
![](/icons/94192de.gif)
行为
![](/icons/94192dou.gif)
而不必规定如何去做
![](/icons/94192dou2.gif)
开发分为两部分:
![](/icons/94192chengxu.gif)
员开发 bean
![](/icons/94192dou.gif)
然后验证:它可和构建工具
![](/icons/94192yi.gif)
起工作
![](/icons/94192dou.gif)
并包括标识所需服务质量行为种类
![](/icons/94192de.gif)
部署描述符
![](/icons/94192dou2.gif)
下
![](/icons/94192yi.gif)
步
![](/icons/94192dou.gif)
另
![](/icons/94192yi.gif)
个
![](/icons/94192chengxu.gif)
员可以采用这个 bean
![](/icons/94192dou.gif)
并使用读取 EJB 部署描述符
![](/icons/94192de.gif)
部署工具
![](/icons/94192dou.gif)
然后将该 bean 安装到 Enterprise Java Server 上
![](/icons/94192de.gif)
容器中
![](/icons/94192dou2.gif)
在第 2步中
![](/icons/94192dou.gif)
部署工具采取
![](/icons/94192yi.gif)
些操作 - 这可能意味着生成如状态保存代码
![](/icons/94192dou.gif)
放入事务挂钩
![](/icons/94192dou.gif)
或执行安全性检查这样
![](/icons/94192de.gif)
代码
![](/icons/94192dou2.gif)
所有这些操作由部署工具生成
![](/icons/94192dou.gif)
bean 开发人员和部署人员可以是区别
![](/icons/94192de.gif)
人
可以通过使用部署工具
![](/icons/94192dou.gif)
将任何独立于平台
![](/icons/94192de.gif)
JavaBean 改写成具有可靠服务质量、特定于平台
![](/icons/94192de.gif)
EJB
![](/icons/94192dou.gif)
以满足现有商业系统和应用
![](/icons/94192chengxu.gif)
![](/icons/94192de.gif)
特定需求
![](/icons/94192dou2.gif)
这就是 EJB 服务器对集成系统、网络和体系结构如此重要
![](/icons/94192de.gif)
原因所在
EJB 和 IBM WebSphere 企业版
在 IBM WebSphere 企业版中使用时
![](/icons/94192dou.gif)
可以将 EJB 配置成被管理
![](/icons/94192de.gif)
商业对象
![](/icons/94192dou2.gif)
接受它们授权服务
![](/icons/94192de.gif)
容器是其安装到
![](/icons/94192de.gif)
容器
![](/icons/94192dou2.gif)
将 EJB
![](/icons/94192de.gif)
持久性部分映射在数据或状态对象中
![](/icons/94192dou2.gif)
EJB 服务器为 EJB 提供区别
![](/icons/94192de.gif)
服务质量
![](/icons/94192dou.gif)
选择正确
![](/icons/94192de.gif)
EJB 服务器可能对满足完整
![](/icons/94192de.gif)
商业需求至关重要
![](/icons/94192dou2.gif)
“组件代理”功能极其健壮
![](/icons/94192dou.gif)
该功能提供如负载均衡和支持服务器组中多台机器
![](/icons/94192de.gif)
高级功能
![](/icons/94192dou2.gif)
它还有大大超出 Enterprise Java Server (EJS) 规范标准所倡导
![](/icons/94192de.gif)
系统管理功能
![](/icons/94192dou2.gif)
因此
![](/icons/94192dou.gif)
按照基本标准编写
![](/icons/94192de.gif)
JavaBean 或 EJB 可以运行在使用“组件代理”功能
![](/icons/94192de.gif)
WebSphere 企业版上
![](/icons/94192dou.gif)
并获得那些所有
![](/icons/94192de.gif)
附加功能
EJB 服务器还提供独特
![](/icons/94192de.gif)
特性和服务质量
![](/icons/94192dou.gif)
而且不完全相同
![](/icons/94192dou2.gif)
IBM“组件代理”有
![](/icons/94192yi.gif)
些强大特性 - 例如
![](/icons/94192dou.gif)
可伸缩性
![](/icons/94192dou.gif)
它允许开发人员将 EJB 部署到从小型系统到大型网络
![](/icons/94192de.gif)
区别类型服务器
![](/icons/94192dou2.gif)
开发人员可以从小处入手
![](/icons/94192dou.gif)
例如
![](/icons/94192dou.gif)
在
![](/icons/94192yi.gif)
个部门中
![](/icons/94192dou.gif)
首先在 LAN
![](/icons/94192de.gif)
Java 服务器上部署
![](/icons/94192dou.gif)
![](/icons/94192yi.gif)
旦准备好
![](/icons/94192dou.gif)
就知道可以将在那里创建
![](/icons/94192de.gif)
JavaBean 和 EJB 部署到全球网络
![](/icons/94192dou2.gif)
然后
![](/icons/94192dou.gif)
开发人员可以测试并熟悉这些 bean
![](/icons/94192dou.gif)
试运行
![](/icons/94192dou.gif)
制作样本等等
![](/icons/94192dou2.gif)
满意的后
![](/icons/94192dou.gif)
开发人员可以通过将其移至高性能服务器
![](/icons/94192dou.gif)
来大幅度扩大其规模
![](/icons/94192dou2.gif)
JavaBean 和 EJB 不受任何计算机体系结构边界
![](/icons/94192de.gif)
限制
![](/icons/94192dou2.gif)
它们用 Java 编写
![](/icons/94192dou.gif)
可以运行在任何具有 Java 虚拟机
![](/icons/94192de.gif)
系统上
![](/icons/94192dou.gif)
并可以使用任何 Enterprise Java Server (EJS) 来部署对象
![](/icons/94192dou2.gif)
因此
![](/icons/94192dou.gif)
开发人员现在可以在方便
![](/icons/94192de.gif)
系统上构建
![](/icons/94192dou.gif)
以后在方便
![](/icons/94192de.gif)
系统上部署
![](/icons/94192dou.gif)
而不必是同
![](/icons/94192yi.gif)
台或同样类型
![](/icons/94192de.gif)
机器
IBM WebSphere 企业版支持将商业对象部署到多台服务器
![](/icons/94192dou2.gif)
EJB 作为商业对象集成到“组件代理”功能
![](/icons/94192dou.gif)
并作为任何其它商业对象处理
![](/icons/94192dou2.gif)
因此
![](/icons/94192dou.gif)
EJB 可以连接到所选
![](/icons/94192de.gif)
后端系统
![](/icons/94192dou.gif)
并执行任何所需操作
![](/icons/94192dou.gif)
以满足其商业需求
![](/icons/94192dou2.gif)
这就成为“组件代理”为 EJB 提供
![](/icons/94192de.gif)
基础设施
![](/icons/94192dou2.gif)
通过将“组件代理”用作 EJB 服务器
![](/icons/94192dou.gif)
开发人员将能够继续使用当前旧有系统
![](/icons/94192dou.gif)
并将其和电子商务接口
![](/icons/94192yi.gif)
起提供为使 EJB 能在 WebSphere“组件代理”环境中工作
![](/icons/94192dou.gif)
可以使用“组件代理”部署工具将其安装在
![](/icons/94192yi.gif)
台或多台服务器上
![](/icons/94192dou.gif)
然后将其添加到命名服务器
![](/icons/94192dou.gif)
以便可以全局查找到它
![](/icons/94192dou2.gif)
任何可以访问公共命名服务器
![](/icons/94192de.gif)
人都可以找到它
![](/icons/94192dou.gif)
找到其宿主
![](/icons/94192dou.gif)
并可以在宿主上执行思路方法
![](/icons/94192dou.gif)
同时创建 EJB
![](/icons/94192dou2.gif)
这就是“代理组件”要做
![](/icons/94192de.gif)
事
举例
让我们举
![](/icons/94192yi.gif)
个在 Web 购物站点上可以看到
![](/icons/94192de.gif)
电子购物车
![](/icons/94192de.gif)
例子
![](/icons/94192dou2.gif)
用户
![](/icons/94192de.gif)
购物车是
![](/icons/94192yi.gif)
个 JavaBean
![](/icons/94192dou2.gif)
用户将货架上
![](/icons/94192de.gif)
商品放入购物车
![](/icons/94192dou.gif)
这些商品本身是 JavaBean
![](/icons/94192dou2.gif)
它们全部可视
![](/icons/94192dou.gif)
并且面向用户
![](/icons/94192dou2.gif)
结帐时
![](/icons/94192dou.gif)
将用户购物车中
![](/icons/94192de.gif)
商品发送到服务器上
![](/icons/94192de.gif)
EJB
![](/icons/94192dou.gif)
该 EJB 执行
![](/icons/94192yi.gif)
些必要
![](/icons/94192de.gif)
操作
![](/icons/94192dou.gif)
如检查信用卡授权和可用额度
![](/icons/94192dou.gif)
生成封条
![](/icons/94192dou.gif)
或生成给发货部门
![](/icons/94192de.gif)
有关提什么货和发货地点
![](/icons/94192de.gif)
特殊指示 - 这就是商业
![](/icons/94192chengxu.gif)
已在进行
![](/icons/94192de.gif)
活动
结束语
Bean
![](/icons/94192de.gif)
全部意义不只是其现有能力
![](/icons/94192dou.gif)
更在于其可以为商业提供
![](/icons/94192de.gif)
有竞争力
![](/icons/94192de.gif)
潜在能力
![](/icons/94192dou2.gif)
IT 设计师和应用开发人员现在可以将精力完全集中在商业逻辑
![](/icons/94192dou.gif)
而将如事务、持久性和安全性
![](/icons/94192de.gif)
底层工作留给服务器
![](/icons/94192dou2.gif)
WebSphere
![](/icons/94192de.gif)
“组件代理”功能将提供所有这些(还有后端访问)和对象事务管理器