简体版  |  繁体版   推荐信息: 阅读排行 | 滚动 | 微软SOA高峰会 | 中型企业创新社区 | 随心所欲发新闻
企业软件

EDA拓展SOA应用

出处:软件世界 作者:Jack van Hoof 2007-11-15 14:31 评论
字体大小: | |
SOA在技术领域内可能是松耦合的,它采用了标准的web service。但是在功能领域,SOA做不到松耦合,因为它是与外部服务调用和数据冗余消除相互联系的。

  精心设计的冗余

  松耦合意味着独立性。松耦合的组件之间不会互相依赖,即使在存储的数据之间也是如此。每个松耦合的环境都维护着自己的数据和服务的备份。所以,在松耦合环境中,冗余一定不能被认为是一项低劣的设计,相反它是一个优秀的设计。通过在松耦合的边界禁止冗余将会使耦合更加紧密,而在松耦合的边界上维持冗余将会使松耦合的实现更加方便。由于EDA的特性,它非常适合在一个冗余的环境中维持松耦合时,来支持自动的数据同步机制。

  透明

  图1展示了SOA和EDA之间的关系。图片上端的圆表示了松耦合的关键点——事件,在松耦合的系统间,他们之间的联系被切断。这样可以在不改变系统的情况下,实现组件的连接或者断开。所有的数据交互也都发生在事件之间,而不会在更低的层次上。

  在重用的领域内,将会需要细粒度的EDA,EDA的粒度越细,IT系统的伸缩性越好,但是重用的领域也会变得更小。

  如果在实现松耦合的关键点上利用web service技术,同时结合一个底层的架构(ESB),异构系统的连接有可能会更加容易。同时事件后面连接的也不仅仅是SOA系统,还有SOAP封装的遗留系统,COTS,ERP和外部系统的网管。图2展示了EDA的这种形象。

  组件之间再也不是直接的连接了,它们之间通过事件进行连接。

  EDA的实施

  在web service技术上实施EDA,一个SOAP消息队列是需要的,然而这同建立在SOA应用上的web service技术是不同的。通过现有的网络基础框架(如HTTP层),SOA可以通过web service独立地实施。而这就是前文所述的SOA虚假承诺的根源,同时也是SOA在当前能够压倒EDA的原因。底层的ESB框架提供了利用web service来排列消息的方式,正是因为如此,ESB成为实施EDA和SOA的最合适的方法。

  不断发展的web service标准(如WS-Eventing、WS-Notification等)与SOAP封装的底层组件相互连接,将会在未来实现ESB的大部分功能,而当前我们要做到这些只能从ESB中获取。

  SOA和EDA的应用必须在BPM的环境中来看待。前沿的BPM工具都是建立在BPEL上的。当前的BPEL应用都集中在命令控制模式、服务的编排等SOA应用上。在一定程度上,BPEL除了用来进行服务编排,还能够支持工作流,而它也符合了EDA的发展方向。

  对于SOA来说,这些都不是问题。对EDA的良好支持不应该只停留在口头上,要在实际中体现出来,设计者需要通过一个指点式(point-and-click)机制,把事件与发布者和订阅者连接起来。事件的运行应当通过一个控制器来保持独立性,而不是建立在先前提到的web service标准上。很明显,解决方案正在朝着这个方向演进。但是在当前,利用SOAP可能是最合适的。通过一个大家都知晓、理解并能够实施的web service技术,系统将会在技术、经济和组织的不断发展过程中保持强壮。

  

  图1 SOA和EDA的关系

  

  图2 事件连接各个系统

共2页。 9 1 2
相关文章
  • 本文关键字:
  • 专栏(539)
  • 网友关注
    热门产品
    编辑推荐
    推荐专题
    更多
    思科
  • 打开网络创新之门
  • 思科公司于北京嘉里中心饭店成功举办了主题为“创新网络,绿色引擎”的思科创新日暨思科新品发布会。
  • 论坛热贴
    更多
    博客精选
    更多
    视频推荐
    更多
  • 杜青松:对IT人员要求别具一格
  • 在对杜青松的采访中,他透露出目前在中粮包装有限公司信息化建设的工作中的一个难点——IT人力资源短缺。