【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

你的架构应该关注 SOA,还是 BPM?

  • 2008-05-19
  • 本文字数:2252 字

    阅读完需:约 7 分钟

SOA 在时髦术语标签云里面风光无限的同时,BPM 的名气正变得越来越响。当组织逐渐明白想从 IT 投资中获得收益需要驯服组织间各种各样的流程时,BPM 在 IT 圈内圈外正得到重视,认同和关注。对你的构架来说,哪一个更重要呢?以 BPM 作为 SOA 平台,又或是将 BPM 作为指导实现 SOA 的基本理念,这两个概念之间的联系正变得越来越紧密。

BEA 的 Dain Hansen 最近发表了“ SOA 整合的成功蓝图”,对如何在组织中实施 SOA 给出了详细的指导。在讨论过程中,Hansen 指出了 BPM-SOA 整合的重要性。

我们在谈 IT 和 ERP 系统的整合的时候,也需考虑它们对业务分析师或业务部门(LOB)的影响,因为是他们真正使用这些数据和服务来完成日常业务。这两个往往看似矛盾的元素需要通力协作才能成为一个完整的整合解决方案。当 SOA 和 BPM 都表现良好时,我们才能看到巨大的收益。此时,不仅能使 IT 和业务部门中各角色协调一致,而且还能以两个阵营都能成功管理的最优方式实现流程……一旦在 SOA 整合过程中实现了自动化的业务流程模型,业务分析师就可通过集成的业务活动监控功能获得运行时反馈,触发一个优化过程。这让业务使用者能实时观察到哪些流程需要改进。一旦识别了改进环节,业务分析师就能同时更新模型和业务,此时开发周期又进入了下一个循环。这种迭代式业务——整合循环实现了真正的业务转型与优化。

为了达到这样的收益,SOA 和 BPM 需要以这样的方式来整合:组织里的用户需要有公共统一的工具来共享元数据、治理和管理信息,并最终优化业务流程与流程翻译方法(将它们翻译成后端整合)之间的互操作性。

Quinton Wall,同样来自 BEA,最近谈到了将BPM 和SOA 相结合以最大化业务的机动性。Wall 认为组织可以在SOA 基础上综合利用BPM 工具来达到IT 和业务的一致性:“技巧在于使业务端的改变以一种受管制的方式进行,并削弱它对IT 的依赖性。” 这意味着,BPM 能够让业务部门的执行者充分享用服务和服务组合好处的同时,减少了IT 的介入。BEA 的建议是从“SOA 优先”的立场所作出的,并假设组织已一定程度的面向服务化。其它几位则是以业务流程为中心的角度来考虑BPM 和SOA 的联姻。

Rich Seeley 讲到了特拉华电力公司的 SOA 实施以及 IT 副总裁 Gary Cripps 是如何让它成功的。Cripps 表示,业务流程分解方法在这一过程中发挥了巨大作用。

“我一开始就将所有的流程进行了分解”Cripps 解释到,“我的发现是,参与这样级别的一个 SOA 项目,我们花了百分之五十五的精力在定义流程上。百分之五十五,这令我很吃惊。百分之二十的时间是用于编写代码的。剩下的百分之二十五花在了测试和实施上。”这对那些考虑 SOA 的中小企业来说是个好消息,Cripps 说道。业务流程的界定和建模可以由包括部门涉众在内的核心团队来完成,百分之二十的编码工作则可以外包。

在内部,SOA 团队成员转变了他们思考应用的模式,开始按照业务流程来思考,Cripps 说。“当我们转为面向服务时,就我的团队成员而言,这真正地提升了他们的知识。因为理解一个跨多个部门的特定事务的业务流程和业务规则需要花相当大的努力。”他讲道。

Seeley 同时指出,在转向 SOA 的进程中,业务分析师的角色发生改变了。引用自iTKO 公司首席科学家John Michelsen 的说法,Seeley 写道,在SOA 实施中受影响最大的是业务分析师需求分析的职责,而不是IT 部门开发组件的职责。 > “我认为说编码人员个体受影响最小是公平的。因为他或她所做的不外乎拿到需求,构建组件,测试组件,再将组件插入到更大的系统”他说到,“这和五年前所做的事没任何区别。所以,具有讽刺意味的是,开发人员也许成了受SOA 影响最小的人。”

在这两个例子中,Seeley 都引出了在建设和实施SOA 时业务流程管理和分析的重要性。Dennis Byron 指出 BPM 现已名副其实地属于软件堆栈的顶层。Byron 的观点是,BPM 已经不再是集成层的一部分——这是从 IT 立场出发的定位——而是上升到了整个软件堆栈的顶级。从业务角度来看整个软件堆栈,IT 可以“将 BPM 视为一种建立在面向服务架构(SOA)方法学基础之上的‘新型开发范式’”。

为了找到“BPM 还是 SOA?”这个问题的答案,Neil Macehiter 和 Neil Ward-Dutton 阐述了在现代组织中这两个概念分别扮演了什么样的角色。抛开了“BPM 是自顶向下,业务驱动的创新;SOA 是自底向上,技术驱动的创新”这种传统观念,Macehiter 和 Ward-Dutton 阐述了“‘面向服务同时面向流程;自顶向下同时自底向上’的立场是如何以一种更全面的视角来消除业务与技术架构的分歧。”紧接着这些陈述 Macehiter 和 Ward-Dutton展示了流程和服务的概念是如何通过‘输出(outcome)’统一起来的:

输出(outcome)就是预期到的结果。一个最高层输出(outcome)可以是一个组织的核心价值,财务表现等等这样的东西。在这一层次,输出(outcome)可能和使命宣言直接联系。 再低一点的层次输出(outcome)可以是一些操作结果——比如“产品已经交付”。服务是对达到输出(outcome)的承诺。流程是完成输出(outcome)的手段。

他们俩这样总结了对 BPM/SOA 的观点:“事实是,输出(outcome)是硬道理,服务和流程是达成目标的一体两面。”查看英文原文: Should your architecture focus on SOA or BPM?


译者简介:黄璜,2007 毕业于重庆邮电大学计算机学院。现从事 Java Web 开发,供职于成都 ISSC, 熟悉 Struts,Spring,ibatis,关注语义网,SOA,云计算等领域。个人主页: http://www.chinacomputing.org , 联系方式 huangh@cn.ibm.com 。参与 InfoQ 中文站内容建设,请邮件至 china-editorial@infoq.com

2008-05-19 20:401497
用户头像

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

关注

评论

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

全国独家 | 上海线下面授大规模敏捷LeSS认证 | 2022年12月8-10日

ShineScrum捷行

less 大规模敏捷 LeSS认证 大规模敏捷LeSS

创建一个 Dapp,为什么要选择波卡?

One Block Community

区块链

RT-Thread记录(一、RT-Thread 版本、RT-Thread Studio开发环境 及 配合CubeMX开发快速上手)

矜辰所致

RT-Thread 8月月更

双因子与多因子身份验证有什么区别?

SEAL安全

身份验证

【LeetCode】最大层内元素和Java题解

Albert

LeetCode 8月月更

高质量 DeFi 应用构建指南,助力开发者玩转 DeFi Summer

TinTinLand

区块链

入门 Polkadot 平行链开发,看这一篇就够了

One Block Community

区块链

深入理解 Istio 流量管理的超时时间设置

万猫学社

云原生 istio envoy Istio流量管理

Go编译原理系列6(类型检查)

书旅

Go 源码 后端

mysql进阶(二十七)数据库索引原理

No Silver Bullet

MySQL 聚集索引 8月月更 非聚集索引 覆盖索引

导火索:OAuth 2.0四种授权登录方式必读

知识浅谈

8月月更

牛刀小试基本语法,Go lang1.18入门精炼教程,由白丁入鸿儒,go lang基本语法和变量的使用EP02

刘悦的技术博客

golang 语言 语言 & 开发 教程分享 #go

语音社交软件开发——充分发挥其价值

开源直播系统源码

软件开发 直播系统源码 语音聊天

JS逆向入门学习之回收商网,手机号码简易加密解析

梦想橡皮擦

Python 爬虫 8月月更

STM32+ULN2003驱动28BYJ4步进电机(根据圈数正转、反转)

DS小龙哥

8月月更

手写柯里化 - toString 理解

掘金安东尼

JavaScript 前端 函数式 8月月更

面试点:Java 中 hashCode() 和 equals() 的关系

TimeFriends

8月月更

企业的数字化转型到底是否可以买来?

雨果

数字化转型

DFINITY 基金会创始人谈熊市沉浮,DeFi 项目该何去何从

TinTinLand

区块链

告白数字化转型时代:麦聪软件以最简单的方式让企业把数据用起来

雨果

数字化转型

这份阿里强推的并发编程知识点笔记,将是你拿大厂offer的突破口

了不起的程序猿

数据库 高并发 java程序员 大厂面试 java;

秘乐短视频挖矿系统开发详情

开发微hkkf5566

前端常考react相关面试题(一)

helloworld1024fd

React

长达四年的减肥记录

Amazing_eve

#开源

即刻报名|Apache Kylin X Apache DolphinScheduler:大数据底座的构建和展望

Kyligence

数字化转型 数字分析 数据调度

HDD杭州站•ArkUI让开发更灵活

HarmonyOS开发者

HarmonyOS

开源一夏|OpenHarmony如何查询设备类型(eTS)

坚果

开源 HarmonyOS OpenHarmony 8月月更

IO流篇 -- 基于io流实现文件夹拷贝(拷贝子文件夹及子文件夹内文件)满满的干货

Bug终结者

Java static 8月月更

数据中台建设(十):数据安全管理

Lansonli

大数据 数据中台 8月月更

2000多字教你三招在Linux中找出大文件,最后一个命令简直太简单了!

wljslmz

Linux 签约计划第三季 8月月更

电竞、便捷、高效、安全,盘点OriginOS功能的关键词

Geek_2d6073

你的架构应该关注SOA,还是BPM?_SOA_Steven Robbins_InfoQ精选文章