赛迪网 > 中国信息化 技术应用总 > 文章
  IT资讯搜索
 
IT产品搜索
· [方案] 征信数据上报系统方案 网站防篡改方案
· [专题] 07年六大令人失望信息化事件 回眸SOA
· [方案] 反垃圾邮件解决方案 烟草行业解决方案
· [商务] 2008年中国电子商务行业发展趋势研究报告
· [专题] 中小企业实施管理 公司网站做不好CIO掉饭碗
· [案例] 北京网通客户服务系统 某部集中运行管理平台

针对SOA将EJB组件公开为业务服务 (5)

发布时间:2008.01.23 11:43     来源:甲骨文官方网    作者:Mark M. Davydov

498)this.style.width=498;">

图 4:J2EE 外观分层参考模型

    然而,EJB 并不是唯一用作外观的结构。其他 Java 结构也可用于此目的—尤其是对象工厂(用作 JDBC 或实体 Bean 功能)和操作对象。本文主要介绍一个操作对象—一个根据服务激活者模式构造的对象—。当应用程序需要异步访问 EJB 以支持发布/预订或点对点消息时,服务激活者将负责接收异步请求、定位相应的 EJB 以及代理这些请求,还可以在成功完成请求处理后向请求者发送确认。在 J2EE,服务激活者对象执行 JMS 监听器和代理服务的角色,消息驱动 bean 通常用于此目的。

    结构

    那么,该解决方案的结构到底如何呢?如图 5 和图 6 所示,所有请求可以转到超级外观(称作 EJB 中介者),它用作 EJB 层的单个入口点,主要控制和同步对 EJB 层的并行访问。为响应请求,中介者按照事件处理器模式进行操作,并通过发送事件将相应的任务代理到通过其外观表示的不同的 EJB 子系统。更具体地说,对于服务请求,EJB 中介者将分解该请求,找到相关的服务外观,使用不同的 Web 服务接口发出子请求,然后撰写结果。如果多服务系统中存在复杂的服务请求,并在 EJB 体系结构的查找程序方法中嵌入了一组服务接口,则 EJB 中介者的任务是标识企业 bean、它们的通过 Web 服务公开的相关方法以及组合这些服务的方法。

498)this.style.width=498;" border=0>

图 5:“电子商店”示例 - EJB 外观分层方案

498)this.style.width=498;">

图 6:“电子商店”示例— EJB 中介者模型

    EJB 中介者还有一个重要的功能:启用以文档为中心的服务与 RPC 样式服务。尽管仅该主题就需要一些专门的文章,但值得一提的是,通过在服务使用者与 EJB 层之间引入一个高级抽象层,我们现在能够有效地将会话外观模式与 XML 文档处理组合在一起。

    EJB 中介者在其核心类中定义的一个最重要的接口是 IejbMediator 接口。它作为会话 bean 的远程接口(如下面的代码片段所示)实现,并定义了指定的 process_service() 方法。该方法是文档进程,它将 XML DOM(文档对象模型)文档作为它的输入参数并返回 XML DOM 文档:

/**
* imports
*/
import org.w3c.dom.*;
import java.rmi.RemoteException;
import .....

public interface IejbMediator
{
public Document process(Document domXMLInput)
throws RemoteException, xxxException;

}

    现在,让我们回过头来介绍总体结构。对于客户体验管理子系统,它的 EJB 外观将所有事件转发到称作 EJB 控制程序的下一层外观,它是一个表示 EJB 层的客户体验管理子系统中的客户的会话状态会话 EJB。EJB 控制程序简化了处理并利用状态计算机模式控制应用程序状态。此外,EJB 控制器使用命令模式实现事件处理,并将创建或更改请求分派到下一层外观—逻辑 EJB 外观或实体 EJB 外观。逻辑 EJB 外观封装子系统的业务逻辑,而实体 EJB 外观提供了一个有效处理数据一致性的方法。

    那么,使用这么多层的外观到底实现了哪些功能呢?首先也是最重要的是,使用外观嵌套可以封装参与工作流的服务器端业务对象中的复杂交互。它还可以保证高级别的可重用性—也许不是服务级别,但完全适用于业务对象。其次,该结构还提供了对负责客户交互的对象的快速访问。结构和简化算法使用外观嵌套处理“功能块”。每个块的关联粗粒度方法用于在层次结构中进行导航。此外,外观层次结构的垂直分层提供了高效的缓存功能和 EJB 集群。位于不同节点的 EJB 集群可以显著增强可伸缩性、可靠性和可用性。

    您可能会问:外观模式与 EJB 集群之间存在什么关系?令人吃惊的是,有效的 EJB 集群在很大程度上取决于设计决策,尤其是外观结构—这主要是由于 EJB 集群需要很高程度的幂等性。(幂等性方法是可以使用相同参数重复调用并将相同结果存档的方法。)对于会话 bean,所有主要的 J2EE 应用服务器都只依靠 幂等性方法支持故障切换。在大型多功能 J2EE 系统中,外观嵌套允许建立大量 幂等性方法,从而实现了高效的 EJB 集群。

    结论

    在构建 J2EE 系统时应牢记 SOA 原则以便最大限度地增强灵活性和适应性。注意,SOA 不随 Web 服务和 SOAP 的启用而启动或停止。它需要通过建立多级 EJB 层分层(这将依次转换为灵活且经济有效的 SOA 实现)正确设计专用于实现更高级别的松散耦合的 J2EE 组件、功能自主和相关的 API。(责任编辑:朱晶)

<<上一页 1 2 3 4 5


[ 发表评论 ] 字体[  ] [ 打印 ] [ 进入博客 ] [ 进入论坛 ]  [ 推荐给朋友 ]
  相关文章
· IT巨头们正在进行企业吞并 使SOA更强大 (01-23) · 从IT在商业运作角度阐述SOA主要解决的问题 (01-23)
· 企业中谁最关心SOA SOA也是CEO的责任吗? (01-23) · SOA把企业流程自动化提高到一个新高度 (01-23)
· 简化SOA应用开发 OASIS推动SCA和SDO应用 (01-23) · SOA即将走入软件工厂 变身SOAD实现开发 (01-21)
· BEA与Cantata结成合作伙伴丰富多媒体业务 (01-21) · SOA 虚拟化等IT热门技术走向成熟务实 (01-21)
· 微软加强面向服务架构SOA开发 (01-21) · 甲骨文85亿美元收购BEA 用户担忧产品价格上涨 (01-21)
  客户需求反馈表
* 姓  名:
更多资料  了解方案  认识厂商
* 单位名称:
* 联系电话:
* 电子邮件:
  赛迪推荐  
  手机·资费 ·新品·导购·评测·手机资费·宽带
手机搜索  诺基亚 N73 MOTO Z6
  IT产品 ·笔记本·台式机·服务器·打印·投影
IT产品搜索 
  IT技术 ·开发·网管·安全·数据库·操作系统
  信息化 ·热点·专题·访谈·周刊·方案案例
· 信息化市场百家争鸣 SaaS深陷争议“泥潭”
· 提高管理水平 "两栖"CIO应具备的六大能力
· 国产ITIL运维先行者 四大厂商角力BI市场
· 金融行业GSN专题解决方案 企业网解决方案
  IT博客 ·曾剑秋·项立刚·Java学习·网管
  IT技术论坛 ·开发·网管·安全·数据库·系统