CTOCIO IT专家网

天极传媒 比特网 | 天极网 | IT专家网 | IT商网 | 52PK游戏网 | 手机天极 | IT分众 |
IT专家网搜索

您现在的位置: IT专家网 > Web服务子站 > 技巧

架构师观点:将EJB组件公开为业务服务

作者: Mark M. Davydov ,  出处:甲骨文OTN, 责任编辑: 叶江, 
2007-01-08 14:36
  设计模式对于面向服务的体系结构具有深远的影响(人们对此尚认识不足),因此请明智地选择您的设计模式。本文将从体系结构的角度介绍最重要的模式及其应用。

  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。

查看原文

共7页。 9 2 3 4 5 6 7

网友评论

笔名 
请您注意:遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。    IT专家网友拥有管理笔名和留言的一切权利。
  • 周排行榜
  • 月排行榜

邮件订阅

       
天极服务 | 关于我们 | About us | 网站律师 | 加入我们 | 联系我们 | 广告业务 | 友情链接 | 我要挑错
All Rights Reserved, Copyright 2004-2009, Ctocio.com.cn
渝ICP证B2-20030003号 如有意见请与我们联系 powered by 天极内容管理平台CMS4i