工作流模式-工作流数据模式40种

作流模式-⼯作流数据模式40种
正如语⾔是⼈与⼈之间的沟通⽅式⼀样,数据是IT系统之间的沟通⽅式,语⾔之间的沟通总是有效,数据交互却未必,因为除了让计算机理解之外,数据还需要让⼈理解,IT系统是对现实⽣活的映射,也正因为如此,现在数据之间的沟通也在向语⾔靠拢即语义化(REST/语义⽹)。
在WfMC的⼯作流模型⾥,⼯作流数据被分为了3类,如图C-1所⽰。
图C-1 WfMC的⼯作流数据分类
1. ⼯作流控制数据:⼯作流系统管理的内部控制数据,这些数据包括了与流程实例和活动实例相关的执⾏数据和状态数据,例如流程实例
的状态、执⾏时间、⼯作项的执⾏者、执⾏时间、状态、紧急程度等。
2. ⼯作流相关数据:⼯作流系统使⽤⼯作流相关数据确定流程实例的流转条件,并选择下⼀个将执⾏的活动,这些数据由业务系统访问并
修改。例如报销流程中的“报销⾦额”,这个数据会决定该流程的审批路径;再例如为活动设置的超时时间,这个数据会触发活动的取消。这些数据是⼯作流系统需要依赖进⾏流程流转的业务应⽤数据。
3. ⼯作流应⽤数据:业务系统管理的业务数据,⼯作流系统不能访问。
我们遵循WfMC的⼯作流数据分类,区别是将⼯作流相关数据根据应⽤场景进⼀步细化为3 类并重新定义,如图C-2所⽰。
图C-2 ⼯作流数据分类
我们将⼯作流相关数据泛化为为⼯作流系统能够访问并使⽤的业务应⽤数据,分为3类:
1. 连接业务系统的关联数据:⼯作流系统与业务系统进⾏关联的数据,例如特定于Web系统,⼯作流系统会在每个流程/活动实例⾥保持有
导航⾄对应业务表单的URL。
2. 传递作⽤的业务应⽤数据:当流程跨越多个业务模块时,需要在模块间传递数据,此时会利⽤⼯作流系统进⾏传递,在⼯作流系统⾥暂
时存储或转换这些业务数据。在⾯向服务的软件架构中(SOA),⼯作流系统作为重要的中间件负责服务之间的调⽤编排,业务应⽤数据被封装为SDO通过⼯作流系统在不同Web服务(业务系统)间传递。
3. 影响路由的业务应⽤数据:和WfMC对⼯作流相关数据的定义⼀致。
流程、数据和组织是⼯作流应⽤中最重要的三个⽅⾯,它们紧紧地依赖在⼀起,如图C-3 所⽰。
图C-3 流程、数据与组织
在以流程为核⼼模型的软件架构⾥,系统功能通过流程进⾏协调,流程⾯向组织,如图C-4所⽰。
图C-4 ⾯向组织的流程
流程作为整个应⽤的⼊⼝,流程模型中包含组织模型(部门/⼈员/⾓⾊),流程通过活动定义界定出应⽤的各个业务上下⽂,并由此界定组织中部门/⼈员/⾓⾊的职责、权限和互相协作的规则。
以流程为核⼼的软件架构有2种应⽤场景:独⽴业务应⽤系统的⼯作流嵌⼊式使⽤和业务应⽤系统的企业内集成。
在独⽴业务应⽤系统的⼯作流嵌⼊式使⽤中,⼯作流系统作为内部组件对应⽤系统进⾏流程逻辑的横切。试想⼀个需要多⼈处理的电⼒缴费流程,在引⼊⼯作流系统之前,我们需要为每个业务表单设置⼀个状态位,以此来进⾏业务处理状态的跟踪。如果流程固定,那么这样做并没有什么不好,例如财务软件、海关报关软件等,它们的流程虽然复杂但是不常改变,此时就没有必要引⼊⼯作流系统。但是对于另外⼀些情况,例如制造业的订单处理、库存管理、政府的协同办公等,流程经常需要定制修改,此时如果继续由业务应⽤系统⾃⼰处理流程逻辑那么成本将会很⾼,如图C-5所⽰。
图C-5 嵌⼊⼯作流的独⽴应⽤系统
在使⽤⼯作流进⾏企业内应⽤系统的集成时,⼯作流系统作为独⽴的服务部署。在上规模的企业⾥,很多流程会涉及不同的业务功能,例如报价、订单审核、资产核准、绩效评估等,这些流程经常会跨越不同的部门和业务应⽤系统。⼯作流系统此时扮演的就是集成⾓⾊,由其通过定制流程将这些业务应⽤系统撮合起来,实现企业内各部门的信息流动和协作。此时,⽤户登录门户,通过⼯作流系统推送的统⼀活动列表导航到各个业务应⽤系统进⾏⼯作,所有应⽤系统使⽤统⼀的组织模型,如图C-6所⽰。
图C-6 使⽤⼯作流进⾏企业内应⽤系统的集成
在以数据为核⼼模型的软件架构⾥,流程⾯向数据,系统功能分散在各个应⽤系统中,流程通过编排服务,在不同应⽤系统间传递/同步数据,以数据进⾏业务的驱动。流程模型不包含组织模型,流程的本质是数据流,反映数据的流向,如图C-7所⽰。
图C-7 ⾯向数据的流程
以数据为核⼼的软件架构同样有两种应⽤场景:业务应⽤系统的企业内集成和企业间集成。
⽤户登录门户,进⼊各个业务应⽤系统进⾏⼯作,应⽤系统之间的数据同步由⼯作流系统完成,活动
的触发由各个应⽤系统⾃⼰负责,
如图C-8所⽰。
图C-8 使⽤⼯作流同步数据进⾏企业内应⽤系统的集成
企业间进⾏应⽤系统集成,如B2C、B2B流程,需要在企业间同步传递数据。此时,数据的传递是核⼼,如图C-9所⽰。
图C-9 使⽤⼯作流进⾏企业间的应⽤系统集成
以流程为核⼼模型和以数据为核⼼模型之间最⼤的区别在于流程⾯向的对象。流程⾯向组织反映出组织职责的可视化,出发点是企业的管理;流程⾯向数据反映出跨不同应⽤系统的业务数据流,在处理企业间的业务流程时是唯⼀的选择。实际应⽤时,经常混搭两种架构风格,例如使⽤⼯作流同步数据进⾏企业内应⽤系统的集成,同时在单个应⽤系统⾥使⽤嵌⼊式⼯作流。
⼯作流数据模式共有40种,根据关注点的不同,分为4组:数据可见性模式、数据交互模式、数据传递模式和基于数据的路由模式。数据可见性模式关注⼯作流数据的作⽤范围,讨论到的数据包括连接业务系统的关联数据和传递作⽤的业务应⽤数据;交互模式关注⼯作流系统各组件以及外部环境之间可能存在的数据交互种类,讨论到的数据包括⼯作流控制数据和⼯作流相关数据;传递模式关注数据
在⼯作流系统各组件以及外部环境之间的传递⽅式,讨论到的数据包括⼯作流控制数据和⼯作流相关数据;基于数据的路由模式关注数据影响⼯作流流程执⾏的⽅式,讨论的数据为影响路由的业务应⽤数据,如图C-10所⽰。
图C-10 ⼯作流数据模式的分类
出于统⼀的⽬的,我们对⼯作流数据进⾏约定:我们使⽤def var ${变量名}定义变量,同时 def var ${变量名}的声明位置决定了该变量的作⽤范围。图C-11中,我们在活动B上定义了⼀个名为M的变量,表明它的作⽤范围为活动B,即在⼀个流程实例⾥仅活动B的实例可见。我们使⽤ use(${变量名})表明对该变量的使⽤;使⽤pass(${变量名})表明该变量值的传递。图C-11⾥,变量M的值被从活动B传递⾄活动C。
图C-11 ⼯作流数据的约定
对于数据类型,典型的有string、integer、float、boolean、date和time,很多⼯作流系统使⽤序列化和反序列化⽀持存储任意类型的数据类型,如数组、集合和对象。

本文发布于:2024-09-21 10:32:51,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/95354.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:数据   系统   作流   流程   业务   例如   模式
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议