CEP是EDA或SOA的必要条件吗?

来源:互联网 发布:淘宝卖假货的处置 编辑:程序博客网 时间:2024/04/28 19:07
 

Jack Van Hoof在一篇文章里比较了CEP和EDA以及它们如何关联到SOA。他表示:

CEP (复杂事件处理)在指定的时间帧里关联了多条消息。EDA是从业务事件角度对信息系统建模的架构方式。EDA与SOA的不同在于其关注的焦点。SOA是以服务为模型的中心,而EDA则以业务事件为中心。 SOA的方式将会带来同步通信风格的结果,而EDA方式是一种异步的通信风格。

他相信市场并未真正理解EDA并解释到CEP为何从根本上与EDA不同;即CEP是工具而EDA是架构。

CEP从定义上就不是关于业务事件的。CEP是处理消息流的一种技术。这些消息并不要求要代表业务事件。一个业务事件意味着当发生某种情况(状态改变)你的业务能够按照预先计划的方案来应对它。一个业务事件可通过消息来表达,但并非所有消息都是业务事件的代表。CEP是关于消息的,EDA是关于业务事件的。CEP能够被用来实现EDA。你可能会说:EDA是业务层次的CEP。

作为回应,Progress Apama的Giles Nelson详尽阐述了SOA,EDA和CEP三者的关系,并指出了几个关键点。Joe McKendrick在为什么‘事件驱动架构‘不仅仅是复杂事件处理这篇文章里也表达了相同的观点。同样的还有Udi Dahan,他以一个优雅的order-to-cash 处理案例举例说明了这些概念在真实世界业务问题是如何相互作用的。他以下列评述总结了自己的立场。

CEP,虽作为一个富有挑战的工程领域,并在某种条件下管理着一个项目要成功所面对的必要的技术风险,而且当以SOA/EDA为背景时能真正发挥出其闪光之处,但就其本身而言,实不益被用于架构层次的最高级。

Jack以强调EDA的重要性作为了其文章的总结。并表示“我认为EDA最终将完全地改变我们现在对业务应用的认识,包括SOA”。

我们之前也曾从架构的角度对这一争论进行了关注。看起来CEP,SOA和EDA这三者之间的相互关系颇为混淆,这很大程度上是由于供应商的原因。如若对企业是如何采用这些技术的来一个直观的透视将会非常有趣。那么CEP在你的企业中扮演着什么角色呢?它们是如何被运用于EDA和SOA项目的呢?