写点什么

将企业视为一个事件网络

  • 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:521967
用户头像

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

关注

评论

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

0711作业:MapReduce 编程作业

arctec

0718作业:Hadoop RPC

arctec

如何使用 MySQL 慢查询日志进行性能优化 - Profiling、mysqldumpslow 实例详解

蒋川

MySQL 数据库 MariaDB 慢查询

第六期零代码训练营正式开放报名!

明道云

机器学习 | 关于参数模型与非参数模型研究

索信达控股

机器学习 参数模型 非参数模型

ArkCompiler原理解析|HDC2021技术分论坛

HarmonyOS开发者

HarmonyOS

【LeetCode】二叉树的坡度Java题解

Albert

算法 LeetCode 11月日更

云网络的守护神:主动链路监控

华为云开发者联盟

数据中心 云网络 华为云Stack 网络监控 主动链路

分布式调试、调优能力解决方案|HDC2021技术分论坛

HarmonyOS开发者

分布式 HarmonyOS

HarmonyOS本地模拟器重磅来袭|HDC2021技术分论坛

HarmonyOS开发者

HarmonyOS

DOM操作造成的页面卡顿问题及解决

CRMEB

动态模型之动态增减【FunTester测试框架】

FunTester

性能测试 接口测试 测试框架 FunTester 动态模型

linux之抓包神器tcpdump

入门小站

Linux

题目一: 分析一条 TPCDS SQL

arctec

在线等差数列项生成器

入门小站

工具

【Flutter 专题】05 图解修改应用名称及图标

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 11月日更

解密并发幕后黑手:线程切换引发的原子性问题

华为云开发者联盟

Java 线程 并发 原子性 线程切换

创新正当时!「Innovation 2021」网易应用创新开发者大赛决赛十强正式集结!

网易云信

人工智能 音视频 创新

如何给 CloudWeGo 做贡献

baiyutang

golang 微服务 11月日更

指令重排序导致的可见性问题

博文视点Broadview

Moment.js 如何获得当前时间的零时时间

HoneyMoose

Moment.js 如何使用 Epoch Time 来构造对象

HoneyMoose

HarmonyOS新一代UI框架的全面解读|HDC2021技术分论坛

HarmonyOS开发者

HarmonyOS

Vue进阶(幺玖陆):js保留两位小数方法总结

No Silver Bullet

Vue 11月日更

腾讯北大合作的稀疏大模型训练加速方案HET入选国际顶会VLDB

科技热闻

Apache APISIX Ingress 为何成为又拍云打造容器网关的新选择?

API7.ai 技术团队

开源 云原生 API网关 Apache APISIX ingress-controller

AI界的革命!终于可以自动标注了!

百度大脑

人工智能 百度

Prometheus Exporter (一)Node Exporter

耳东@Erdong

Linux Prometheus exporter 11月日更 Node Exporter

0919作业:HyperLogLog算法在Presto的应用

arctec

云原生时代需要什么样的存储系统

青云技术社区

云计算 云原生 存储

如何提高C# StringBuilder的性能

编程宝库

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