HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

将企业视为一个事件网络

  • 2009-04-08
  • 本文字数:1314 字

    阅读完需:约 4 分钟

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

2009-04-08 04:521872
用户头像

发布了 133 篇内容, 共 37.0 次阅读, 收获喜欢 1 次。

关注

评论

发布
暂无评论
发现更多内容

CSS13 - 定位

Mr.Cactus

html/css

聚焦目标,团队工作不再一盘散沙(上)

一笑

管理 敏捷 目标管理 28天写作

项目管理系列(1)-如何开好一个周会

Ian哥

项目管理 28天写作

面试被问AQS、ReentrantLock答不出来?这些知识点让我和面试官聊了半小时!

Java鱼仔

Java 面试 并发 JUC

分布式唯一ID解决方案-雪花算法

JavaPub

Java 分布式

Deno 双周刊 #1 - Deno 获 2020 JS 开源年度突破奖

hylerrix

typescript deno Node 周刊 V8

甲方日常 84

句子

工作 随笔杂谈 日常

未来五年数字经济九大技术趋势,区块链成数字时代刚需!

CECBC

人工智能

28 天带你玩转 Kubernetes-- 第五天(玩转Docker)

Java全栈封神

Docker Kubernetes k8s 28天写作

一文学会Java死锁和CPU 100% 问题的排查技巧

AI乔治

Java 架构 死锁 cpu 100%

一文带你快速入门Canal,看这篇就够了!

大数据老哥

大数据 实时数仓 canal

外行话之不玩游戏,怎么做好游戏?

Justin

游戏 28天写作 外行话

夜莺二次开发指南-资产设备管理

ning

滴滴夜莺 夜莺监控

小马哥刷力扣 - LeetCode 9. 回文数

小马哥

LeetCode 算法和数据结构 28天写作

关于时间管理的思考

.

28天写作

读书笔记:《Remote》

lidaobing

28天写作 Remote

夜莺二次开发指南-监控系统(3)

ning

滴滴夜莺 夜莺监控

夜莺二次开发指南-用户资源中心

ning

滴滴夜莺 夜莺监控

【Mysql-InnoDB 系列】事务模型

程序员架构进阶

MySQL 架构 innodb 事务 28天写作

如何让开发人员接受DevSecOps

啸天

DevOps 开发者 DevSecOps 升职加薪 应用安全

一次慢查询暴露的隐蔽的问题

AI乔治

Java sql 架构 SQL优化

JFR定位线上问题实例 - JFR导致的雪崩问题定位与解决

AI乔治

Java 架构 线程

Experience Never Gets Old

三只猫

28天写作

电动汽车的小历史及汽车方面的一个基础概念 (28天写作 Day5/28)

mtfelix

28天写作 电动汽车

发达国家加紧数字货币政策布局

CECBC

数字货币

区块链与物联网融合发展的机遇与挑战

CECBC

人工智能

时间之外的颜色「幻想短篇 5/28」

道伟

28天写作

28天瞎写的第二百一六天:LumaQQ 和 luma 二三事

树上

28天写作

线程池是怎么回收空闲线程的?如果你认为有定时任务,那你就错了!

看点代码再上班

Java 程序员 后端 开发

读《百度不需要用户》,我似乎懂得了领导者的无奈

李忠良

AI 企业

【Mysql-InnoDB 系列】关于一致读

程序员架构进阶

MySQL 架构 innodb 28天写作

将企业视为一个事件网络_SOA_Boris Lublinsky_InfoQ精选文章