工作流、业务流程管理和SOA
http://www.cnblogs.com/shanyou/archive/2009/03/29/1424213.html
工作流定义: The automation of a business process, in whole or part, during which documents, information or tasks are passed from one participant to another for action, according to a set of procedural rules. - The Workflow Management Coalition (WfMC) . 把文档,信息,任务从一个参与者遵照一定的规则传递到另一个参与者的自动的部分或全部过程。-工作流标准组织
业务流程管理:Adding Integration to the above definition. Integration with systems, organizations and applications. Some analysts and vendors refer to this as Business Process Management (BPM). 也就是把把整合的概念加到上述工作流定义中。把系统、组织结构、程序整合到一起。
所谓BPM(Business Process Management), 即业务流程管理,是指根据业务环境的变化,推进人与人之间、人与系统之间以及系统与系统之间的整合及调整的经营方法与解决方案的IT工具。业务流程管理应该包括"建模-实施-监控-管理"等过程,要具备其所需的所有服务与工具才能叫作BPM。
现在的信息系统开发方式的缺点在于对需求表达不清晰、效率不高。在这种思维方式下流程被固化在系统中,企业不能随着商业环境的变化而方便迅速地改变业务流程,而企业环境的变化促使企业必须快速地调整业务来响应。实时性企业将敏捷地使用最新信息,以积极地消除其关键性业务流程中的管理与执行层面出现的低效率延迟。BPM的出现正是为了解决企业流程实时改变所带来的敏捷性、实时效果评估、资源整合与优化等问题,而这些问题是不能为传统的OA和工作流所解决的。
通过BPM,可以对业务流程进行自动化,并通过流程的分析及监控功能,对业务进行整合及计量,从业务角度、组织角度、IT角度都可得到可量化的改善效果,这种效果随着管理者通过BPM分析与优化流程,将越来越显著。
完整的BPM系统需由图形化流程设计环境、流程管理与监控、BPM引擎、使用者执行环境以及整合各种资源的底层EAI平台等主要元素所架构而成。SOA是一种架构方法,BPM则是一组流程协调管理理念。一般来说,BPM基于SOA(Service Oriented Architecture)架构。BPM通过捆绑其他应用系统的服务来制作并提供跨应用系统的BPM流程,也可以组合各个单纯的业务服务生成新的服务,对其基本要素进行模块化管理,并且可以循环使用。
- 它的运作是分布式的:多数企业流程都是由多个参与者共同运行,参与者可能来自不同办公室,甚至不同的地域区域,打破部门藩篱,甚至跨越公司的疆界;因此,跨因特网环境的应用系统支持,以及网络环境下的安全性,都必须列入考量。
- 它可以进行工作协调与应用程序集成:大部分的企业流程并不只是运行单一业务功能,而是多个业务功能互相协调后的成果;因此,原本独立支持某项业务运作的应用系统,也必须跟其他业务的应用系统相互集成。
- 它是动态的系统:企业流程中的各项元素经常动态改变。工作串连方式会随着环境改变、人员角色扮演会异动,工作的运行地点也会改变。因此,BPM环境中的应用程序模块,必须演化成快速适应变动的动态系统,可以轻易透过设置或配置的改变行为模式,甚至调整运行地点,以因应企业流程的变动。
- 它的构成元素种类繁多而复杂:BPM系统内含分布于各模块的企业逻辑与规则、各种不同安装与监管模式的应用模块,以及众多模块之间的串联与相依关系设置。因此,BPM环境中的软件模块,需要让模块变得可以被BPM配置机制管理,这包含模块的启用停用、健康状态回报,以及系统安全政策,都应有一致的管理方式与技术标准。如此,整个复杂的BPM环境运作才可列入掌握而不致失控。
- 它可以渐进式地成长:企业可以从最简单的BPM活动开始着手,再演进到成熟复杂的BPM系统;因此,整个系统架构必须能提供清楚的进步蓝图,允许企业按部就班投入IT资源,并逐渐提升BPM成熟度来运行BPM。
在上面描述的BPM的五个特征,每个都和SOA有千丝万缕的联系。灵活地结合运用BPM与SOA,才能使企业的业务流程变得更加高效,企业IT架构变得更加敏捷。
工作流、业务流程管理和SOA的更多相关文章
- 基于SOA的组件化业务基础平台[转]
转自https://www.ibm.com/developerworks/cn/webservices/1111_xiaojg_soa/index.html 业务基础平台是业务逻辑和基础架构平台之间的 ...
- Hibernate和IBatis对比
[转自]http://blog.csdn.net/ya2dan/article/details/7396598 项目也做过几个, 使用IBatis就做一个项目, 基本上都是使用Hibernate, 也 ...
- BizTalk开发系列(八) BizTalk Server 常识整理
1.什么是BizTalk Server? BizTalk 是业务流程管理服务器,用于连接人员,流程,有效管理和提升业务所需的信息.在原有版本业务 流程管理和SOA/ESB 的基础上,第5 个版 ...
- 【转】Hibernate和IBatis对比
原文地址:http://blog.csdn.net/ya2dan/article/details/7396598 项目也做过几个, 使用IBatis就做一个项目, 基本上都是使用Hibernate, ...
- SAP NetWeaver BPM
什么是BPM? BPM是Business Process Management的缩写,翻译过来是业务流程管理.BPM本身并没有明确的定义,它更多的是一种概念,这个概念本身的产生来源于企业对众多业务系统 ...
- Hadoop生态系统如何选择搭建
Apache Hadoop项目的目前版本(2.0版)含有以下模块: Hadoop通用模块:支持其他Hadoop模块的通用工具集. Hadoop分布式文件系统(HDFS):支持对应用数据高吞吐量访问的分 ...
- NEsper z
对实时信息分析和处理,常常需要客户应用程序的开发相应功能.一般地,这些功能需要提供以下的处理流程,分析获取的数据,筛选数据,提取出有用的信息,然后将其通过特定的形式展现出来.由于具体实时信息的高并发性 ...
- FileNet P8 工作流生命周期管理和 Process Engine API 应用介绍
摘录:https://www.ibm.com/developerworks/cn/data/library/techarticles/dm-0902wangzheng/ FileNet P8 工作流生 ...
- git分支管理和工作流规范:不同场景细化和演示
https://www.iteye.com/blog/qqtalk-2415889 前两篇介绍了 git基本概念 和 具体的规范,本篇针对不同的使用场景做演示. 分支 分支命名 master 分支名称 ...
随机推荐
- js的浅拷贝和深拷贝
转载:http://www.jb51.net/article/91906.htm //深拷贝,并且把合并后的值放到第二个参数里 function deepCopy(p, c) { var c = c ...
- The median of multi ascending array
Given 17 arrays,every array is ascending.The task is to get the median of all these numbers. 0 1 2 3 ...
- Vim块注释
如何在VIM下快速注释块代码 添加块注释 01.进入视图模式 v进入视图模式,控制方向键选中注释的代码 02.进入列模式并插入# ctrl+v进入列,I插入注释# 03.全部注释 esc两次自动全部注 ...
- 【Python】 [基础] list和tuple
list 类型,这不就是js里的数组吗,,最后一个元素索引是 -1list是一个可变的有序的表,#追加.append('admin')#插入.insert(1,'admin')#删除末尾元素.pop( ...
- oracle数据匹配merge into
来源于:http://blog.csdn.net/vtopqx/article/details/50633865 前言: 很久之前,估计在2010年左右在使用Oralce,当时有个需求就是需要对两个表 ...
- div两栏等高布局
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- jsrender for array 和for object语法
for array 循环数组 循环使用案例 定义数组数据 var data = { names: ["Maradona","Pele","Ronald ...
- 【USACO 2.2】Party Lamps
四种开关,n盏灯,1:改变所有灯状态,2:改变奇数灯状态,3:改变偶数灯状态,4:改变3k+1灯状态 给你按开关的总次数c和部分灯限制条件(开或关),一开始都是开着的.($c \leq 10000,n ...
- 多线程中的synchronized
synchronized是Java中的关键字,是一种同步锁.它修饰的对象有以下几种: 1. 修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象是调用这个代码 ...
- AJAX-初学AJAX本地环境配置
1.前段时间学习headfirst AJAX,发现有些概念比较陌生,理解起来比较困难,等看完了半本的JavaScript高级程序设计,再回头看这本AJAX,发现轻松了很多,但是遇到了一个问题,AJAX ...