InfoQ

InfoQ

新闻

我的书签

登录注册 以永久保存书签。

该内容已经被标记书签!

标记书签错误,请重试!

将企业视为一个事件网络

作者 Boris Lublinsky 译者 黄璜 发布于 2009年4月8日

领域
架构 & 设计,
企业架构
主题
架构 ,
业务流程管理 ,
SOA
标签
商业模式

Richard Veryard在他新的一篇博文里,讨论了SOA,BPM和事件之间的关系。Richard写到:

从SOA的早期,我们就提到将企业理解为一个服务的网络,但这显然不是唯一可能的立场。我们能不能把企业理解为一个事件的网络呢?

Ramesh Loganathan也和他有着同样的观点,描述了他最近一次的探求 - 一个咨询公司构建一个治理与风险防范(GRC)解决方案的项目。从架构的角度上,该实现是基于如下的模式:

  • 一个业务事件作为进行中的业务处理的一部分而发生
  • 该事件包括了相关的业务数据
  • 一系列的GRC检测与规则被实施
  • 任何的违反都会被记录并且发会出警示

这一咨询公司更进了一步,将整个业务领域建模为一系列关键业务事件的集合,而这对于该领域的任何人都是能充分理解的。每个业务事件包括了一个对于相关数据的清晰定义。

目前为止,我们见证了将企业展现为一系列调用服务集合的业务流程的建模方式。在上面的快速视图中,企业是由一系列的业务事件来建模的...前者是定义业务流(流程)来构成企业业务处理的一个视图。而后者更像是交付一个企业实际情况的快照-作为“发生”在企业中的业务事件。两者都有着明确的目的并且清楚的对牵涉的数据进行了建模,但前者的方法,流动的是数据。而后者的方案中,所“产生”的数据会提交一个业务活动。

对于Ramesh的文章,Richard这样评论到:

从策略的层次上,我们有必要理解外部可能事件与内部可能事件相互的关系。每个企业都有以特定方式对特定的外部事件类型进行响应的能力。要使得企业更灵活意味着使得企业能对更广阔的外部事件作出更为合适的响应,而不用增加不必要的复杂性,从系统思维的角度来说这叫做必要多样性。

所以如果我们将企业思考为一个事件的网络,这给了我们直接的方式去考虑战略性业务改进。

这样的讨论已屡见不鲜。比如,回顾2006年,Jack van Hoof就写过

...SOA的这一同步的指挥与控制天性是一种应用组件紧耦合的方式...从技术的领域SOA或许是松耦合的,利用了共通的web服务技术,但在功能领域肯定不是这样,在这一领域SOA与‘调用’外部(可重用的)服务与消除数据冗余联系起来...与SOA相对的是,EDA提供了一种松耦合的方式。 EDA不是一种同步的指挥与控制的模式类型,相反却是:一种异步的发布与订阅模式类型。发布者完全不知道订阅者,反之亦然;组件仅只共享消息的语义,从而达到了松耦合。

出于一些原因,人们仍然认为SOA/BPM与EDA是两种相对立的方案。这种误解很大程度上是由于Web服务传统的RPC结构而造成的。随着SOA实现的进步以及不同消息交换模式的显现,包括单向消息,SOA与EDA之间的差异开始逐渐模糊。用Bobby Wolf的话说

...任何方式,你都是在实现服务,问题在于服务被调用的方式。它们是以一种非常直接的SOA方式由消费者直接来调用提供者呢?还是一种更为抽象和间接的风格,由事件促发处理器去调用服务?

事件和业务流程都是企业业务模型的重要部分。一个优化的SOA实现可以被定义为一系列的企业业务流程来编配服务的执行。这些流程可以由其它流程直接调用或者响应内部/外部的企业事件。流程同样会发出事件,可用于调用其它的企业流程或者由业务活动监控器来评测企业运转的效能。

查看英文原文:The Enterprise as a Network of Events

译者 黄璜 糊口靠的是Java Web,赶过SOA的潮,追过Cloud的风,真正欢喜的是Linux,向往的事情是研究网格计算。

深度内容

大规模视频网站的计费与流量管理

本次分享将会就大规模视频网站的计费与流量管理这个话题,从操作层面细细进行讲解和分析,为系统工程师们揭示平日里我们没有关心的另一些内容。同时也希望本次分享能揭示行业中的一些“潜规则”,让互联网行业的流量与带宽管理更为开放与简洁。
本次演讲视频录制于QCon杭州2011

专访Jeffery Richter:Windows 8是微软的重中之重

Jeffery Richter以其多本Windows核心技术的经典著作而闻名,同时,他深入掌握微软的.NET等一系列核心技术,2012年1月,Jeffery Richter在北京接受了InfoQ中文站的专访,谈到Windows 8和WinRT编程,并就异步编程、Windows编程中的可扩展性、性能和安全性方面给出自己的建议。

应用云平台的可用性——从新浪SAE看云平台设计

云计算平台的可用性,相比传统互联网服务而言,更加复杂和困难,也更具有挑战性。本文借助新浪SAE云平台为读者讲述了云平台可用性的定义、如何打造高可用的平台,以及对云计算的用户提出了建议。

JVM定制改进 @ 淘宝

淘宝高度重视Java平台的健康发展,组建了一个团队专注于Java平台的底层部分的性能、功能与稳定性改进;工作主要基于OpenJDK中的HotSpot VM开展,其中一些通用的功能随后也会逐渐反馈给OpenJDK社区。希望能与使用Java平台开发应用的大家交流经验。
本次演讲视频录制于QCon杭州2011

"伤得起"的云计算应用——对云端应用之架构的思考

2011年4月21日至22日是值得云计算从业者纪念的日子。Amazon的IaaS服务出现故障,导致许多商业网站的服务中断,影响非常严重。作为云计算用户,我们需要思考的是,如何保证即便在云服务不可用的情况,我们的应用架构仍然能够屹立不倒?本文正是站在云计算用户的角度试图探讨这一问题。

让交付的速度跟上思考的速度

12人的技术团队,4组刀片服务器,每月20亿的访问量,每日1次准时部署,99.9%的可用性。这可能吗?当然。想知道如何做的吗?百姓网将与您分享他们在DevOps实践过程中的经验和技巧。
本次演讲视频录制于QCon杭州2011

架构之路——穿行在产品和业务之间

篱笆作为一家起源于社区的电子商务公司,反映到技术层面就是同时要面对产品和业务,以及经营战略的变化调整。如何在产品和业务的夹缝之间完成技术架构的抽象与平衡,寻找更有效的价值定位,这当中有些经验教训和个人感悟愿与众人分享。
本次演讲视频录制于QCon杭州2011

特性注入:成功三部曲

本文将对特性注入以及相关方法做一个扫盲性的介绍。我们会解释这个框架的关键要素,并附上实例来证实它们。为了让文章保持相对较短,我们不会深入到某个工具或方法中,而是会给出一些参考资料,以便大家做进一步的研究。