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

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

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

    通常情况下,研究 Web 服务的组织利用其现有 Java 对象并直接使用 Web 接口公开它们。最终的结果是不符合 SOA 的要求,且此类实现可以使组织面临以下比较严重的问题:

  • 低可重用性—为某个项目开发的服务不易于在其他项目中重用,这是因为它们的结构通常过分依赖于 Web 服务接口的实现。某个服务中的组件之间的依赖性降低了该服务在其他上下文中的可用性。
  • 低可扩展性—当出现新功能需要时,很难扩展现有接口,或至少将更改或扩展孤立到一到两个组件。通常情况下必须设计新接口,尤其是当服务控制逻辑集中用于执行消息处理的代码中时。
  • 低可伸缩性—很难存档高容量工作负载(例如,每秒钟 1,000 个以上的服务请求)。直接使用 Web 服务接口公开每个对象的细粒度解决方案无法通过经济有效的方式扩展到这样的级别。

    要避免此类问题,组织需要部署正确的体系结构模式来帮助创建粗粒度、高度面向业务的 J2EE 组件。

    分层的重要性

    此处要考虑的主要模式是 EJB 层中的分层。该模式移除了所公开的 Web 服务接口的复杂性。分层的 Web 服务驱动的 EJB 可以通过更简单的面向业务的接口进行设计,而不必将多个接口指向服务集合。从 J2EE 的角度而言,大多数设计人员针对此目的解决方案是使用 Floyd Marinescu 在《EJB Design Patterns:Advanced Patterns, Processes, and Idioms》(由 Wiley 出版社于 2002 年出版)一书中所介绍的 Facade(外观)模式—具体而言,就是创建一个用作外观的会话 EJB,并将组成服务的组件集(即其他 bean,其中的某些 bean 可能是会话 bean 和实体 bean)“包装”起来。这样,服务请求程序将与服务实现的细节分隔开,且会话 EJB 将启用一个“虚拟功能”provide_Service() 方法,该方法不包含业务逻辑并公开一个通用(抽象化)接口。该体系结构方法解除了服务请求程序与服务接口之间的耦合,从而实现了组件的重复使用。它还可以在不同版本的服务存在不同的业务要求时,帮助管理 Web 服务的复杂性。

    遗憾地是,在实践中,“外观”模式通常未得到充分地应用,尤其是在以下两种常见的情况下。第一种情况是,用户创建了一个直接包装子系统组件的所有方法的外观,但未提供任何其他抽象。这样的方法是否提供了所需级别的松散耦合?实际上并未提供。松散耦合必须减低总体复杂性,而在这种情况下,复杂性并未降低而只是转移到其他对象。

    第二种情况与第一种情况正好相反—开发人员走向了另一个极端,即将会话 bean 中的每个用例包装起来,并向每个 bean 公开一个 Web 服务 API。这样做也不会获得任何好处;其结果是生成了许多体现相似行为的会话 bean(例如,GetAccountBalance、UpdateAccountBalance、TransferFunds、ListAllAccountBalances 等等),并且在应用程序中,我们需要密切注意所操作的会话 bean。每个用例实现一个会话外观所需的管理投入令人生畏。此外,复杂性不但没有降低,反而进一步增大。

    要实现一个有助于实现其他一些有利设计可能性的理想松耦合状态,必须进一步改进分层:将上述的服务外观层划分为若干层(即子层),这些层按顺序进行排列,即层“n + 1”主要由层“n”的外观公开的服务组成(如图 4 所示)将外观嵌套(而非增加)可以对服务粒度进行管理—从粗粒度程度很高的服务到粗粒度程度中等的服务,再到细粒度服务。注意,粗粒度意味着更正式(通用)的接口;粗粒度服务接口提供了子系统(如订单管理、帐户管理、定价等)的抽象表示。此处的主要设计思想是采用一个足以满足需要的多个外观复合结构(其后隐藏了基础业务逻辑的所有细节)。只有该方法才能有效地帮助我们实现一个完全符合 SOA 的解决方案。

<<上一页 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技术 ·开发·网管·安全·数据库·操作系统
  信息化 ·热点·专题·访谈·周刊·方案案例
· 回顾ERP市场发展经历 提醒CIO选型需理性
· 网银系统拥堵 SOA从治病良方到罪魁祸首
· 国产ITIL运维先行者 四大厂商角力BI市场
· 金融行业GSN专题解决方案 企业网解决方案
  IT博客 ·曾剑秋·项立刚·Java学习·网管
  IT技术论坛 ·开发·网管·安全·数据库·系统