|
(本文参考网络上的一些文档,总结并写在此供大家参考)
<br>
<br>工作流技术在医疗卫生行业的应用(一)
<br>---- 工作流技术介绍
<br>
<br>1. 工作流的概念
<br>1.1. 定义
<br>这里引用WFMC(Workflow Management Coalition)的定义:工作流是一类能够完全或者部分自动执行的经营过程,它根据一系列过程规则、文档、信息或任务能够在不同的执行者之间进行传递与执行。
<br>其他还有各种不同组织从不同角度进行的定义。
<br>工作流管理信息系统(WFMC的定义)是一个软件系统,它完成工作流的定义和管理,并按照在计算机预先定义好的工作流逻辑推进工作流实例的执行。
<br>需要注意的要点如下:
<br>1) 工作流管理信息系统之于业务流程,如同数据库管理系统之于数据存储。将业务流程的处理独立于业务层面的具体逻辑,形成流程处理操作系统;
<br>2) 工作流技术首先在办公自动化中广泛应用,并逐渐发展到其他方面,例如,常见的群件系统(MS Exchange\Lotus Notes Domino)都有流程定制、自动执行方面的内容,这些系统都强调的是如何接口其他系统,但是如果在具体的业务系统中内嵌工作流的引擎或核心,则可以产生更加强大、自动灵活化的功能;
<br>3) 工作流技术在中国越来越多的受到关注,是CSDN总结的2004年的十大热门技术之一。各种开源不开源的工作流系统近年来出现不少。
<br>1.2. 相关理论
<br>1、 FSM(Finite State Automaton Machine),有限状态自动机
<br>有限状态自动机的描述,在大学本科的书本中有介绍,以下引用问题形式的例子。
<br>前提:使用FSM描述从学校开车到家里的决策过程
<br>图示:
<br>
<br>上图可以用下表表示之:
<br>
<br>输入
<br>状态 启动 绿灯 红灯 到家
<br>停车 开车
<br>开车 开车 剎车 停车
<br>剎车 开车 剎车
<br> 有限状态集合(a finite set of states) = {停车, 开车, 剎车}
<br> 有限输入集合(a finite set of permissible input symbols) = {启动, 红灯, 绿灯, 到家}
<br> 上表为「状态转换规则」(state transition function)
<br> 起始状态(initial state)及最终状态(final state)均为停车(必为「有限状态集合」之元素)。
<br>2、 UML1.x活动图
<br>活动图适于工作流程建模,它相对于状态图的一个最大的优点是容易做并发线程的分叉控制,这些并发线程可以同时执行也可以顺序执行;它还有一个优点是有泳道的概念,可以控制工作流引擎中的任务的产生。
<br>例如:XPDL的两个最重要的概念是Process和Activity。XPDL中的Activity是基于UML1.x中的活动图的概念。
<br>UML活动图是状态图的一种扩展形式,它展示出对象执行某种行为时或者在业务过程中所要精力的步骤和判定点。每个步骤(活动)用一个圆角矩形(比状态图更扁更圆)表示,菱形图标代表判定点。它很像程序设计课中学到的流程图。UML活动图可用于表达一个对象的操作和一个业务过程。活动图与状态图的主要区别是,状态图图出显示的是状态,而活动图突出显示的是活动。
<br>3、 UML2.0活动图与状态图
<br>UML2.0的活动图中,节点不叫活动(Activity)而叫动作(action),活动成了一个高层次的概念,它包含一个动作序列。一个活动图展现一系列的动作,这些动作组成了活动。
<br><a href="http://www.uml.org/" target="_blank">http://www.uml.org/</a>
<br>4、 Petri网
<br> etri网是一种适合于描述异步并发现象的系统模型,它既有严格的数学定义,又有直观的图形表示,既有丰富的系统描述手段和系统。具体参看《Petri网原理》或《Petri网的行为理论及其应用》。
<br>2. 工作流的相关规范/标准
<br>2.1. 规范列表
<br>技术类别 名称 组织 说明
<br>纯XML技术 XPDL(Xml Process Definition Language) WFMC 大部分工作流系统支持WFMC规范
<br> BPML(Business Process Model Language) BPMI
<br> WMF(Workflow Management Facility) OMG 扩展Corba
<br>WEB服务技术 WSCI BEA,Intalio,SAP,Sun四家公司提出
<br> ebXML
<br> BPEL4WS
<br>其他 没有规范的独立实现
<br>2.2. XPDL
<br>具体参见《工作流管理联盟工作流标准》。
<br>WFMC是由多家公司联合成立的国际标准组织,其目的是通过制定工作流技术及其标准,提高不同工作流产品之间的连通性和协同工作能力。通过使用标准可以使不同的产品之间协同工作,也可以改善工作流产品与其他IT服务(电子邮件、文档管理)之间的集成。
<br>系统的核心部分是工作流引擎,引擎是驱动流程流动的主要部件,它负责解释工作流流程定义,创建并初始化流程实例,控制流程流动的路径,记录流程运行状态,挂起或唤醒流程,终止正在运行的流程,与其他引擎之间通讯等等工作。WfMC没有针对引擎的实现提供具体的标准,因为对引擎做过多的约束并没有多大的现实意义。
<br>一个工作流管理系统可以包含一个或多个引擎,并通过API向外部提供五个方面的功能服务,这些功能分别为:
<br> 接口1-流程定义的导入导出
<br> 接口2-同客户端应用程序和工作列表处理程序之间的交互
<br> 接口3-软件工具和应用程序的调用
<br> 接口4-不同工作流管理系统之间的协同工作
<br> 接口5-管理和监视功能
<br>通过这五个接口,工作流管理系统可以同外部的软件工具进行交互,这些工具可以由同一厂商提供,也可以由不同的厂商提供,但前提是这些工具都必须遵循WfMC的规范。用户也可以有充分的选择空间来决定哪一厂商的产品,或者自己开发属于哪一个接口的工具。
<br>(<a href="http://www.wfmc.org/standards/model.htm" target="_blank">http://www.wfmc.org/standards/model.htm</a>)
<br>2.3. BPEL4WS
<br>参见:<a href="http://www.huihoo.org/openweb/bpel4ws1.0/index.shtml.htm" target="_blank">http://www.huihoo.org/openweb/bpel4ws1.0/index.shtml.htm</a>
<br>BPEL4WS即Web 服务的业务流程执行语言(Business Process Execution Language for Web Services)。
<br>系统集成需要的不仅仅是通过使用标准协议来进行简单交互的能力。仅当应用程序和业务流程能够通过使用标准流程集成模型来集成复杂的交互时才能发挥 Web 服务作为集成平台的全部潜力。所以,BPEL4WS定义了两种使用范型:业务协议和可执行流程.
<br>BPEL4WS 流程可以定义业务协议角色。例如,在供应链协议中,买卖双方是两个不同的角色,双方都有自己的抽象流程。他们的关系通常被模拟成伙伴链接。抽象流程使用所有的 BPEL4WS 概念但它对待数据处理的方式反映了描述业务协议公共部分所需的抽象程度。具体地说,抽象流程仅处理有关协议的数据. BPEL4WS 提供了把有关协议的数据识别为消息属性的方式。另外,抽象流程使用不确定的数值来隐藏行为的私有部分。
<br>BPEL4WS 也可被用来定义可执行流程。流程的逻辑和状态决定了在每个业务伙伴那里进行的 Web 服务交互的性质和顺序,从而决定了交互协议。虽然从私有实现的角度来看并不需要完整地定义 BPEL4WS 流程,但是 BPEL4WS 为仅依赖于 Web 服务资源和 XML 数据的业务流程有效地定义了可移植的执行格式。
<br>BPEL4WS1.1规范主要规定两种范型要共用的核心模块.两种范型独立使用的概念在规范中作为扩展部分。
<br>2.4. ebXML
<br>具体参看:<a href="http://www.ebxml.org" target="_blank"><a href="http://www.ebxml.org" target="_blank">www.ebxml.org</a></a>
<br>ebXML(电子商务可扩展性标识语言)是设计用来帮助标准商业流程的规划和建模的,通过提供描述商业交易的规格和标准方式,ebXML就可以执行这些过程,让公司能用标准方式互相交流。
<br>ebXML规范的细节非常复杂,因为用一种标准格式来描述如何与其他企业进行商业交流不是一个容易的事。
<br>ebXML的技术体系结构尽可能使用了现存的标准,建立在EDI经验之上,并利用了XML的灵活性和Internet的普及性,整个体系结构是模块式的。
<br>
<br> |
|