Graph + AI 中国峰会火热报名中,点击探索图分析更多可能! 了解详情
写点什么

拉近 SOA 和 BPM 的距离

2009 年 10 月 10 日

在其最新的博文——隔离你的 SOA 和 BPM 项目中,JP Morgenthal 认为:

……将 SOA 和 BPM 搅和到一起充满了问题和失败。每个项目应该单独进行,而且在每个项目的确定目标中不要将对方列为产出之一。如果作为 SOA 所提供的合理化的一部分,碰巧有那么一些暴露的服务可以简化某条特定的流程,那绝对是一个大灌篮。然而,SOA 和 BPM 每个有自己的成功标准以及障碍。把它们弄到一起,嗯,“沸腾的海洋”一词浮现到我的脑海中。

按照 JP 的说法,尽管:

在历史上,SOA 和 BPM 几乎同时变得流行起来。SOA,主要由技术从业者领导,通过技术响应了 BPM 从业者对一个捕获和实现新设计、高效的跨组织业务流程框架的需要。

他的观点遭到了 Zapthink 的 Jason Bloomberg 的强烈反驳,Jason Bloomberg 提倡一种以流程为中心的 SOA 观点,其要旨是构建松耦合的业务服务将支撑实现业务流程的元数据驱动的组合。这种方法的基础是流程同构模式(Process Isomorphism pattern),它可以帮助组织将它们的 BPM 和 SOA 成果结合在一起,提高它们的 SOA 项目和核心业务驱动之间的对齐。

……如果你建模一个业务流程,并以一个单独的方式建模实现这个流程的服务组合,结果这两个模型有相同的结构,那么它们就是同构的。

Jason 解释说,流程分解可以被用作服务定义的一个基础,由此可以提供业务和 IT 努力之间的公共语言,但只有在 SOA 设计已经正确完成时才可以:

……流程子任务和支撑服务之间是一一对应的决不是件肯定的事,实际上,很多组织并没有按照这种对应关系设计它们的组合。很多时候,问题是 SOA 努力过于自底向上了,其中架构师基于现有能力指定服务。这种自底向上的方法通常导致服务并不匹配流程需求。同样,BPM 努力通常过于自顶向下了,其中它们试图优化流程,但又没有考虑合适程度的细节供服务去实现流程步骤。只有采用迭代的方式,在每个迭代中结合自顶向下和自底向上的设计,组织才有可能获得流程同构。

在 Jason 看来,流程同构的本质优点是能够使用流程来表示服务组合,以及使用服务组合表示流程。

这种信息等价给我们提供了很多好处。例如,假如流程步骤直接对应服务,那么服务重用就要比步骤和服务之间的对应关系不清晰时更容易实现。服务重用可以被放在流程重叠的上下文中去讨论。如果两个流程共享一个子任务,那么实现这些流程的 SOBA[Service-Oriented Business Applications,面向服务的业务应用] 将共享这个支撑服务。此外,这个组合逻辑的元数据表示,如一个 BPEL 文件,将表示这个流程逻辑本身。要是没有流程同构,BPM 团队得出的流程逻辑将不会直接对应于用于支撑组合的 BPEL 逻辑。这种脱节可以直接导致 IT 能力和业务需求的不对齐,同时限制了业务的敏捷性,因为流程和支撑组合之间缺乏清晰的关系会导致二者之间无意识的紧耦合。

可组合性是业务服务的主要特征。正是可组合性允许由相同的服务集合构建不同的业务解决方案。在构建可组合(业务对齐的服务)的过程中,一种最常见的方法就是以流程分解为基础去定义它们。另一方面,业务流程是将单个服务组合成业务解决方案的流行方法之一。由 Jason Bloomberg 提出的流程同构模式是形式化服务和流程之间对齐的重要工具,同时也是改善两者的重要工具。

查看英文原文: Bringing SOA and BPM Closer Together

2009 年 10 月 10 日 09:441075
用户头像

发布了 255 篇内容, 共 48.0 次阅读, 收获喜欢 7 次。

关注

评论

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

Soul网关源码阅读(七)限流插件初探

Java 网关 限流

第一章作业

转转

Nginx 最常用的两个功能:负载均衡和缓存

码农架构

Java nginx 架构 并发

合约跟单系统APP开发|合约跟单软件开发

开發I852946OIIO

系统开发

“公测”成绩亮眼 数字人民币有望重构支付体系

CECBC区块链专委会

数字红包

产品经理训练营 - 第一章 必做作业

Denny-xi

产品经理 产品经理新人如何落地 产品经理训练营

有原则,方得始终!

Arvin

SOLID 设计原则

Android入门你值得拥有!史上最通俗计算机网络分层详解,含BATJM大厂

欢喜学安卓

android 程序员 面试 移动开发

Docker发布开发团队2021年三个首选方向;工信部印发《工业互联网创新发展行动计划(2021-2023 年)》

京东科技开发者

云计算

架构的直观展示

Arvin

架构视图 4+1

超赞!阿里大牛熬夜纯手写的微服务架构笔记,肝完面试犹如开挂

Crud的程序员

架构 微服务

对比:微服务VS单体架构

xcbeyond

微服务 单体架构 28天写作

四,编程范式

Arvin

编程范式

微众银行区块链:领跑产业应用落地 推进开源生态繁荣

CECBC区块链专委会

区块链技术

量化策略交易软件开发系统源码

系统开发咨询:I76-883I-5I52 邓森

花了19998买的学习教程!Android跨进程通信导论,技术详细介绍

欢喜学安卓

android 程序员 面试 移动开发

UML是表达思想的工具

Arvin

UML

万字解释!在咸鱼被疯抢的网络协议核心彩板手册已曝光!

996小迁

Java 编程 架构 面试 网络协议

产品实战作业(Job Model)

晓豪

迷茫 产品经理训练营 BTA 邱岳

Elasticsearch 横向扩容

escray

elastic 七日更 28天写作 死磕Elasticsearch 60天通过Elastic认证考试

产品经理训练营 0 期作业第一章作业

郭郭

“战复不胜”的产品经理

产品经理训练营

40000美元之后,比特币高位震荡加剧,是买?是卖?还是持有?

CECBC区块链专委会

比特币

ssh连接不上Linux怎么办

HKBGP

Linux

Task01-产品类JD对比

遠景

产品 字节跳动 产品经理 JD

Redis 学习笔记 07:对象

架构精进之路

redis 七日更 28天写作

产品经理第0期训练营作业(第一周)

Heracles

产品经理训练营

产品手记--1

曦语

作业1

胡小湖

初探架构,随笔整理

Arvin

软件架构

张红珊——第一节课作业

zzz

拉近SOA和BPM的距离-InfoQ