SOA流程项目: 业务流还是工作流

SOA的主要目的是实现业务的敏捷性, BPM(业务流程管理)是SOA价值的关键所在。 但在SOA实践中, 对于BPM仍面临着不少困惑与选择。 有些项目把业务流产品用作工作流设计, 而有些工作流为主的产品工具却作为业务流实现。这里简单地讨论一下BPM中业务流与工作流的作用区别。

 

简言之, 业务流程管理主要包含业务建模, 组装, 部署及管理。 使用业务流或工作流工具似乎都能设计开发业务流程管理。 但从SOA的角度, 服务的划分及交互通常是项目关注的重点。 所以, SOA强调的是如何灵活组合业务服务。 而业务流的核心功能是编排流程服务, 并且主要针对企业级应用整合。 同时利用BPM工作流的主要功能, 诸如: 活动(任务)节点的人工任务配置, 流程运转时的活动节点调控等。

 

现在来简要概述一下工作流与业务流的主要区别:

 

 

架构规范

 

工作流, 顾名思义, 主要是定义, 创建及执行工作流。 它一般使用WFML XPDL流程定义等规范, XML/WSDLWeb服务规范, 及其它一些便于开发的规范(例如jPDL) 建模可基于BPMN标准。 基本上是面向应用构件的流程管理架构。 主要用于系统应用内或系统应用间。 流程管理周期一般为: 建模/开发, 部署, 管理。 项目重点为设计, 快速开发。 流程导向可由人员为中心, 文档路由等。 注重页面流。 重用性较差。

 

业务流一般使用BPEL执行语言规范, 并结合使用SCA/SDO等。 建模可基于BPMN标准。 业务流主要是服务组合, 服务编排及并发处理。 它是面向服务的企业级端到端业务流程管理。 主要用于跨系统, 跨部门的企业系统。 人员服务可基于BPEL4People规范。 流程管理周期为建模, 开发/组装, 部署, 管控(可包括服务注册仓库)。流程项目重点为建模, 组装及群体合作转换。 流程导向以业务为中心, 注重企业级应用需求及流程优化。 流程即服务(规范化)。

 

开发运行

 

工作流的建模与开发使用统一流程模板。 一般依据工作流模式。 流程较可控。 使用的编程语言及模式为C++ Java SQL JS MVC 等。 编程除错基本反映在程序层面。 学习上手较快。 开发周期较短。 业务流程监控一般表现在流程或活动节点。

 

业务流一般建模与开发分开进行。 强调业务为导向。 流程状态及动态性可通过服务组合与其他系统关联。 当流程跨越多个用户及交互时,

 

与组织结构的变化关联较大。 服务可动态绑定。 编程语言及模式通常为SCA SDO XQuery XPath BPEL等。 编程除错反映在建模和流程界面。 技术掌握具有一定的曲线要求。 业务流程监控涉及流程/任务以及业务对象层。 监控的复杂性相对增加。

 

接口差异

 

工作流比较适于图像, 文档等传输。 使用变量参数, 一般无松散持久层。 内嵌人员接口。 系统接口主要是应用层面, 而非系统事务性整合。

 

业务流数据接口关联主要通过SDO/业务对象, 更加适应结构性数据。 人员接口为内嵌或独立的人工服务。 系统接口针对外部, 适应企业级系统与系统交互整合, 接口标准化。

 

产品技术

 

工作流一般使用私有技术或J2EE等。 流程引擎将任务, 人员组织等内置。 通过引擎进行队列, 优化。

 

业务流以标准形式兼容不同技术。 流程引擎构成技术服务组件, 属于产品化中间件。

 

 

概括而言, BPM中, 业务流偏于应用业务整合及业务动态组合。 工作流则偏于人员交互等。  BPM通常同时包括工作流和业务流, 集流程调控与企业应用整合于一身。 在项目中, 取决于业务需求, 往往采用不同的流程架构设计。 例如, 侧重于人员交互的流程管理以工作流为主,  而强调业务服务组件的灵活性以业务流为主, 并可外加人员服务。 当然, 也可同时采用工作流与业务流形成综合业务流程管理系统, 例如, 以工作流为导向, 利用业务流的组合服务, 同时利用企业整合的中介服务等。

 

SOA/BPM 初始阶段, 如果一个企业没有较深的ITERP根基, 实施业务流会有相当的阻力。 因为业务流程管理并非主要是技术问题。 对于有些中小型企业或应用(特别是那些没有规范支撑的人工流程模式) 某些随意包干, 或带有自由流功能的工作流系统一般更易于接受。

 

值得一提的是, 工作流与业务流的定义范围有相当程度的交叠与互斥, 这取决于采用的流程管理产品(或几个不同产品)及架构设计。 工作流可以理解为技术层面的东西或办公自动化, SOA关注业务流的实现, 并且关注流程的生命周期管理。 其实, 工作流或业务流本身并无绝对优势, 用好用对才是关键。

 

 

本文仅代表作者的个人观点,不代表任何公司立场。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值