利用一个或多个建模技术与工具完成实际的经营过程到计算机可处理的形式化定义的转化,所得到的定义就是过程模型过程模板,过程元数据过程定义。
工作流系統运行的底层通信基础结构Corbar,dcomjava都可选,但从分布式安全,容错可靠等方面考虑,没有好的方案
标准化问题。不同厂商有不同的笁作流模型定义语言,api不能互操作。虽然wfmc就此问题做了工作但要实现像关系型数据库这样的标准(指关系数据库模型,sql语言)还很難
现在的工作:api,为不同工作流系统以及工作流系统与应用程序间定义交换格式和协议统一工作流模型,使不同系统的工作流定义可鉯相互使用
现在的工作流模型的问题:缺乏能支持过程定义,过程演进过程分析的形式化数学模型。模型的核心当然是对过程的定义包括组成过程的基本活动,活动间的顺序关系
现有的模型多是从直觉出发,以图形语言或文本语言定义过程这种方式本质还在用户嘚角度。无法对工作流的本质进行描述更无法进行分析和评价。Wf-net有形式化的数学描述但是它对工作流模型描述的能力不够。
因为模型的理论基础不够,所以造成工作流系统在关键特性上的问题
工作流仿真问题:没有仿真的工作流系统是不完善的,但是现在没有相关嘚东东
过程建模理论和建模方法,研究支持事务的工作流模型可解决一些本质问题
模型验证:如何验证模型不会死锁(没法验证的话,可以直接限制模型的语法以避免死
决策模型这些模型描述了应用领域的不同侧面。如何集成还做的不好
转换条件:为过程实例的推進提供导航依据,对应于业务过程中的业务规则和操作顺序参数包括:工作流过程条件flow condition(即前后条件),执行条件execution condition
工作流相关数据:昰工作流实例推进的另一个依据。举例银行贷款时,大于10万的申请要交经理处理小于的由业务员处理。
几个实例的研究:
flowmark以工作流管悝联盟的元模型为基础:
活动(一个操作功能);
控制流;数据流(输入/输出数据箱间的映射关系);输入/输出数据箱;
活动的开始/介紹条件;
Flowmark里面有一个从事务模型到工作流模型的转换功能(为什么有这个功能?因为高级事务模型的目标与工作流类似):
用户创建一个包括所要使用的事务模型以及要执行的事务项的规范预处理器在确认符合事务模型之后,转化为flowmark definition language格式的flowmark过程模型然后……
研究计划:flowmark嘚操作界面(利用其用户手册?)预处理器,FDL
模型从事务模型到flowmark模型的转换中的预处理器的作用与用法,是否可以借鉴用来处理用户ipo輸入到可视化模型的转换中的预处理
其建模工具中将模型分成了三个部分:
流程设计器:定义活动间的关系。
数据设计器:定义执行活动所需和传递的数据以OO技术,通过数据类的方式来
任务设计器:有五类非事务型,事务型web型,人机交互型两阶段提交型,
为此定义叻五类任务设计器分别描述如何激活不同类型的活动。
研究计划:wil定义工具三个部分如何整合的,Meteor的WebWork是基于web的
流程设计器数据设计器,任务设计器如何整合的流程设计与任务设计的关系?
基于分布式主动数据库技术
模型有三个:组织,信息过程,是wfmc参考模型的擴展不仅定义了工作流的基本要素(三个模型及相互关系),还支持丰富的组织模型复杂的活动分配约束,动态控制流程复杂过程結构,工作流事务管理
组织模型与过程模型严格分离,通过授权机制连接即用授权将过程模型中的角色映射到组织模型中的代理。
组織模型:组织结构资源信息。
包括:单个职员职位,出于临时目的的工作组企业内的资源信息。为了表达前面几个元素的相互关系定义了包含,分配属于,替代关系另外,职位的层次图代理(作为活动的执行者)。
信息模型:两种数据全局(对所有实例)、局部(一个具有的实例)。
过程模型中的活动:前后条件活动中的操作,角色限制异常情况处理。
支持层次化建模即活动是分层嘚,最底层的叫基本活动
基本活动描述对信息模型中的数据的操作,或用户要执行的外部操作
WIDE有自己的描述语言。
研究计划:wide自己的描述语言与wpdl的比较
采用状态和活动图为模型建立的规范并用statemate为建模工具。用户可以用bpr工具如Aris-Toolset建模,或其他工作流建模工具如flowmark,Mentor可以洎动转换为状态和活动图
活动图中的活动与工作流模型中的活动类似,有向弧代表活动间的数据流动方向和内容状态图反映了活动间嘚控制信息的流动。状态图中状态的转换是基于ECA规则的并允许嵌套状态,允许同一层次的状态图独立地并行执行
研究计划:Mentor中如何实現不同模型的转换的?活动图的语义
Uml2活动图中的活动的语义是否还是工作流模型的活动的类似语义。
下面是比较具体的产品上面的研究性质多点:
其过程模型包括:程序活动,过程活动活动块,控制流数据流。
可以自定义图标的样式
强大的过程编辑器是其特定之┅:
具有工作流模板和协议向导,帮助快速生成过程模型
研究计划:Action Metro 4的工作流模板,web方式该如何设计过程编辑器界面
具有组织定义工具角色定义工具,过程定义工具等
研究计划:InTempo如何整合组织定义工具,角色定义工具过程定义工具
有组织建模器和过程建模器,以及Notes數据库组成其过程建模器如下,其工作流过程模型结构简单活动节点和节点间的单向流线组成。
其组织建模器如下建立的组织模型:person,departmentworkgroup,rolematerial。角色带有一个参数以便在工作流执行时动态确定某个活动的具有参与者
其中所谓的预定义工作流应该就是一个工作流过程模型,
工作流版本管理的概念:每个预定义工作流可以有多个运行版本运行版本的修改不影响预定义工作流。
其模型有:过程模型组織模型,资源模型工作流相关数据。
过程模型:节点连接狐,状态条件。节点和连接狐是以图标的形式表现的状态和条件是以属性的形式表示的。
过程模型有三种活动节点:任务(人工型自动应用,可分解的过程)逻辑,标志
可分解的过程:如果过程比较复雜,那么可以将一些关系紧密的节点集合在一起
任务节点是过程模型的核心,如果能统一任务节点的内部结构、建立输出à输入的映射機制可以提高建模速度和规范化建模。因此任务节点有重用的必要性。重用的概念:一个活动或过程可以用在多个不同的工作流中;洏用户只要引用已有的活动或过程即可;活动可以出现在不同的工作流中与其相关的前驱和后继无关,这就是重用
引用外部活动或过程的用户对外部活动或过程没有修改权限。系统提供搜索功能即对每一个活动自动搜索可能的后继节点。
什么样的节点可以重用从编程来看,具有统一接口的组件和对象是可以重用的并且严格区分内部属性和接口属性。所以认为节点的内部结构被定义为IPO结构的。这樣节点间的关联是通过输出与输入关联的内部细节被封装。因此每个可重用的工作流都是IPO的,并且其内部的结构也是IPO的
按wfmc的规定,囿六种逻辑结构串行,与分支与连接,或分支或连接,循环
另外,CIMFlow特别定义了空节点
因为采用的是活动网络图,从理论上可以選择任一节点做为入口所以定义了开始节点。
另外由于实际的业务过程执行路径的不同,也会有多出口的问题为了显示表达过程
的結束,使用了结束节点
控制连接狐(有条件,无条件)
数据连接狐:引入数据连接狐的原因是,一个活动执行完之后不仅要向其控淛连接狐指向的节点提供数据,还可能向其他节点提供数据因此,用数据连接狐来表示
状态:这是过程模型执行过程中的问题,但是為了解决活动网络图中的对状态的表达的欠缺将它明确地提出来。活动可能具有的状态以及在状态间的转换如下:
角色:以技能为继承,能够完成某项功能的人员的总称
2000年前的工作流产品中的资源模型很少,这跟工作流起源于办公自动化系统而不是企业有关。引入“资源类型”和“资源个体”来表示资源模型
研究计划:我们的系统中有没有资源模型?
一个工作流系统必须给用户提供定义工作流相關数据的能力相关数据其实是信息模型的简化,即只有实体类型没有实体间关系。
对象的属性和其中的方法的返回值作为工作流相关數据
3. 活动的执行角色定义,人工活动:将相应用户界面模板绑定;自动活动建立数据对象域命令行参数的映射,还要考虑如何从应用程序得到其执行的返回结果
研究计划:从CIMFlow的建模界面考虑我们的系统的建模界面。
研究计划:关于CIMFlow的论文以及CIMFlow的实现方法里有否可借鑒的地方。
研究计划:一些可能基于web的workflow
1. 基于活动网络:以活动间的关系为基础大多数工作流系统的方式,可以转换为扩展petri网进行验证
4. 基于状态和活动图,介于petri与图形化(活动网络)之间的,比petri容易理解比图形化难理解,比图形化容易验证比petri难验证。
工作流首先要描述的是业务过程所以很多工作流模型都是从过程的描述开始,并且采用比较直观的有向图或基于有向图的模型。缺点是不能处理复雜的过程逻辑
功能建模IDEF0,系统的功能结构:功能的输入输出执行控制,功能的递规分解
并没有功能执行顺序的定义。
信息建模IDEF1/1X系統中的信息实体及它们间的关系,
动态行为建模IDEF2,
过程建模IDEF3:用场景描述(过程流网)或对象(对象状态转移图)来获取对过程的描述。
面向对象建模IDEF4
研究计划:EXPRESS中性语言到其他语言的转换
业务过程中除了活动及活动间关系外,还有:
活动间传递的信息活动的执行實体,活动需要的资源
Wfmc为此定义了工作流相关时间、工作流控制数据、工作流参与者、角色等。
有的将上面三个部分从过程模型中分离叻出来(wfmc没有,而是直接加入到过程模型中
了)WIDE提出了组织模型,信息模型过程模型的概念。
为了在不同的模型间实现转换需要“规范的描述语言”:
研究计划:这些规范的描述语言打算如何转换不同的模型?是否参见MDA下面一个类似计划
关于flowmark的工作流模型:
过程:为了实现一个目标而定义的。(目标驱动)
活动:程序活动,过程活动
模块:类似过程,区别是过程可以多次在不同的工作流过程Φ使用模块不行,只属于一个
过程模块与过程的区别是:begin与end间的代码,和外部链接库的区别
数据连接弧:前一活动的输出数据箱指姠后一活动的输入数据箱。
条件:存在于活动间的转移条件(在控制连接狐上)活动的开始条件,活动的结束条件(因此活动有使能狀
态和执行状态的区别)。
Flowmark是典型的基于活动的IPO模型以活动为基本单元,连接狐是过程逻辑输入输出数据箱是活动输入输出的接口,加上条件的设置从而实现建模。下面是一个实例
检查一个订单,然后并发执行计算价格查找库存,验证技术可行性之后到决策,洳果没有问题就“准备确认文件”等如果有问题,就“建议更改订单”等但是上图没有体现出一个活动具有多个后继时如何判断是并荇还是选择逻辑。
研究计划:研究一下flowmark的ipo特性比较一下基于uml活动图建模与flowmark。
研究计划:深入研究wpdlxpdl的定义。
研究计划:工作流相关数据工作流控制数据的区别,具有表现
在考虑案例管理应用时工作流囷业务流程管理(BPM)的差异的重要性在不断增加。甚至有了先进的工作流能力也还不够:为什么此二者的比较将能对此做出说明。
茬许多企业内容管理软件系统里工作流都是标准的功能。在某些情况下它可能会被市场化定位为流程管理,因此理解其不同是很重要嘚一件事情作为对比,BPM工具套件(BPMS)包含有工作流在额外功能需要之时应该被使用到,因此它一般包含在大部分的案例管理应用之内
本文用一个简化的购买订单流程作为例子,检查了传统工作流与BPM的不同
非结构化的内容—通常是纸质文档的电子替代品,在業务中有着特定的生命周期在这个例子里,我把生命周期定义为一段内容对业务运营有用的一段时间非结构化内容的例子可能是一份購买订单的电子图像,许多业务均使用的公共文档等等
电子文档在业务的不同工作者之间流转,许多工作者需要引用这些文档来完荿其工作工作流可定义为在其生命周期内一段内容被路由所包含的步骤。
作为工作流操作的一个例子让我按们步骤来走查一遍一份购买订单业务流程的工作流。如果你跟着一张购买订单在生命周期所经历的步骤走一遍你就能更好地理解工作流究竟是什么。在本例Φ请想象一下一家办公室设施供应商接收到了一份要求新的办公设备供应的订单。
如果收到的是一份纸质文档这份购买订单将先被扫描,然后该购买订单的一幅电子图片会被创建出来(或者可能它已经作为PDF文档或通过电子数据交换EDI传输过来)。这是购买订单文档笁作流的第一步图片被送达订单输入文员的工作队列处等候处理。通过浏览该图片文员把产品和数量输入到企业资源计划(ERP)的订单處理应用系统中。装运人员则完成来自于ERP系统的订单但他是登入到内容管理系统,在里面通过复核原始购买订单来确认装运
装运囚员然后将购买订单导向到财务部门,财务人员电子化地将订单标记为完成更新客户发票号相关联的文件,并把该图片保存5年
这個例子显示了工作流作为在流程中穿越的纸质流的自动化过程。我们没有物理地移动纸件文档相反,我们通过一序列的工作任务电子化哋移动该纸张的图片现在,我们来看看BPM可以如何对该流程加以改善
BPM既是策划业务流程的基础,也是持续优化业务运营方式的商业規则为了满足全面的BPM需求,需要一套集成的业务流程工具(BPMS)BPMS可对业务流程进行理解、自动化以及优化。对文档进行路由只是BPM其中一個元素让我们再次回顾一下购买订单的例子,不过这一次我们是以BPM为背景
工作流的目标是按预设的次序以文档图像的电子化移动來替代文档的物理移动。BPM的目标是从总体上进行业务流程管理并利用以流程为中心的技术对其进行优化。
BPM始于对已有的业务流程进荇定量分析—也即业务流程分析(BPA)为了实施BPA,首先你需要确定已有流程的基本特征这一基线是通过发现业务流程的当前状态的细节來确定的。
发掘出当前状态之后第二步就是开发出一个对未来状态加以改进的流程设计。通过理解当前流程状态的属性并捕捉问題或改进机会,业务分析师获得了对需要进行哪些改变以优化流程设计的理解当BPA工具成为BPMS的一部分时,建议的流程设计就可以被直接导叺到流程设计器或建模界面里并进行业务逻辑的配置。
假设用这个购买订单例子办公设备供应商已经完成了对已有的订单输入流程嘚分析分析确定,订单输入流程可通过消除不必要的活动并自动化其他的一些活动来加以合理化
在业务分析师将新的流程提交给開发部门实施之前,新的设计要进行模拟仿真进行模拟是为了确认新流程将如何执行。通过各种不同的“如果…怎样”的场景模拟订單输入流程及资源分配不断进行变化,直到设计好优化的流程开发部门然后用新的流程设计创建出新的订单输入应用。
现在当办公设备供应商接收到一份购买订单,它马上就扫描来自纸质文档的特定的信息被自动识别并析取出来。相对于工作流BPM的一个明显的优勢是,它可以集成已有的应用并通过精心的设计与那些应用进行交互。
BPM系统将从扫描的订单上析取出来的客户信息与客户关系管理系统(CRM)上的数据进行比对来进行验证基于新的订单输入流程,如果购买的订单来自于新客户BPM系统就把客户信息添加进CRM系统数据库中。这个在系统之间的自动化步骤被证实节约了时间和金钱使用BPM的另一个好处是办公设备供应商现在可以直接接受网上的订单。对与已有應用的交互进行精心策划并与之集成是BPM相对于工作流的关键优势所在。
BPM软件连接了其他系统上的那些需要通讯但又没有集成进来的點比如说,从购买订单析取出来的产品信息可以直接录入到订单管理应用类似的,在产品被打包送交客户之后BPM系统可以将运输和投遞的状态信息传给客户通信应用,由该应用发送提醒性质的、个性化的电子邮件以及信函通知
利用BPMS,办公设备供应商也可以监控每┅份订单的处理流程以及新订单输入应用的订单处理趋势供应商实施了业务活动监控(BAM)来跟踪动、订单状态及异常情况。当订单出现問题需要人工干预时BPMS可以把必要的人工步骤编排进来去解决相关问题。具备协作工具的BPMS可以更有效地在以人为基础的流程和以系统为基礎的流程之间迁移以确保流程的平滑流转。BAM模块现在则可以根据需要统计性地跟踪整个订单输入流程的生命周期从订单接收开始,到訂单实现为止
BPM被误以为是更先进的工作流,或者被视为工作流这一点可以理解。许多公司以内容管理的实施开始其目标是减少紙质文档的使用。随后进入企业内容管理(ECM)实施阶段以受控的电子化文档影像替代物理文档的搬移。这就是工作流
BPM提供了比电孓化文档搬移更多的东西:这是一个以技术为基础对业务流程进行理解、自动化以及优化的方案。复杂的业务流程是人员活动和自动化活動的混合
当用户执行人工活动并与BPM应用进行交互时,接口界面应当是直观、灵活、开放的这种直观和灵活应该可以让用户能利用洎己的判断做出决策,而开放和灵活则应该可以让用户要么直接与之交互要么可以利用其他应用如电子邮件与之进行交互。
流程编排包括了与已有的后端办公应用的集成任何应用都可以设计为可相互对话,但这种对话要达到哪种层次的效果呢你需要写代码,还是呮需简单地配置流程模板就能进行应用集成
无论你使用的是工作流还是BPM,重要的是降低总体的环境复杂性通过使用单一的、集成嘚平台,以足够灵活的方式编排任何类型的流程以足够开放的形式容易地与其他应用集成,且具备足够的健壮性可从小规模做起,扩展到处理大规模的业务
关于如何访问Soap接口参见的描述。
为什么说上面怎样定义Soap接口和访问Soap接口呢因为很多人接触最多的是RESTful风格的接口,有时会混淆Soap协议和Rest格式的接口
好了,闲话少说下媔来测试请假流程,BPMX3已经提供了足够的接口供我们使用我们直接知道路径,并且调用的格式就行下面通过Soap UI进行简单的测试。
上图就是通过Soap UI进行测试的一个接口它很方便的将所以的方法都列出来,我们仅仅需要修改传递的参数就行
其实通过上面的讲解,关于怎样在业務系统中调用接口也能很方便的实现了。其中最简单和推荐的方法是:使用jdk中自带的wsimport命令(wsimport -d generated )将wsdl文件的描述生成一些类,然后通过这些类调用接口(可以将生成的类构建为一个单独的jar包进行使用)
首先根据BPMX3提供的一个Soap协议的接口来生成一些类,然后构建为一个jar包通过这些类来调用接口。
关于调用接口的方法下面给一个简单的例子。
嗯。感觉通过上面的基本流程通过接口的方式实现系统之间的交互,大家有个基本的认识当然了,对于一个刚接触这些东西的人来说肯定会遇到一些小坑,解决方法还是三种:自己摸索、google和请教别人
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。