`
Norton_SdGromo
  • 浏览: 5289 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

分享【浅谈工作流数据】

阅读更多
浅谈工作流数据  来源http://www.iteye.com/topic/673577
正如语言是人之间的沟通方式一样,数据是IT系统之间的沟通方式,语言之间的沟通总是最有效的,数据交互却未必,因为IT系统里的数据除了让计算机理解外重要的是还需要人理解。在这篇文章里,我们将讨论工作流系统里的数据,从数据角度分析工作流数据的分类以及不同的应用场景。

一、工作流系统的应用场景
在正式开始对工作流数据的讨论之前,首先对工作流系统的应用场景进行讨论是必要的,因为工作流数据脱离不开工作流系统这个大的上下文。目前,工作流系统的应用主要有两种方式:
1、    将工作流系统嵌入到业务系统中使用。此时工作流系统作为内部组件对业务系统进行流程逻辑的横切。试想一个需要多人处理的电力缴费流程,在引入工作流系统之前,我们需要为每个业务表单设置一个状态位,以此来进行业务处理状态的跟踪。如果流程固定,那么这样做并没有什么不好,例如财务软件、海关报关软件等,它们的流程虽然复杂但是不常改变,此时就没有必要引入工作流系统。但是对于另外一些情况,例如制造业的订单处理、库存管理、政府的协同办公等,流程经常需要定制修改,此时如果继续由业务系统自己处理流程逻辑那么成本将会很高。
2、    使用工作流系统进行业务系统的集成。在上规模的企业里,很多流程会涉及到不同的业务功能,例如报价、订单审核、资产核准、绩效评估等,这些流程经常会跨越不同的部门和业务系统。因为不同企业都有自己所采用的业务系统、组织机构以及最佳的业务协作方法,所以这些流程基本上也随企业而异。工作流系统此时扮演的就是集成角色,由其通过定制流程将这些业务系统撮合起来,实现企业内各部门、客户间的信息流动和协作。
在第一种应用场景下,工作流系统作为业务系统的内部横切组件出现,作为横切组件,工作流数据仅仅包括与流程逻辑相关的数据以及其他必需数据,这些数据包括工作流控制数据、工作流相关数据以及需要通过流程传递的业务数据。
在第二种应用场景下,由于不同业务系统之间的数据传递很大程度上依靠工作流系统,所以这些数据被封装为SDO在不同WEB服务间传递,需要注意的是,这些数据并不在工作流系统中存储。
        在下面的工作流数据分类中,我们将详细分类这些工作流数据。

二、工作流数据的分类
提到工作流数据,就不得不提业务数据。作为最直接的区分,我们将存储于业务系统中的数据称为业务数据,将存储于工作流系统中的数据称为工作流数据。根据WFMC定义,我们将工作流数据分为工作流控制数据和工作流相关数据。
1、  工作流控制数据。指被工作流系统管理的系统数据,这些数据包括了与流程实例和任务实例相关的执行数据,例如流程实例的状态、执行时间等信息、任务实例的执行者、执行时间、状态、紧急程度等。
2、  工作流相关数据。指与业务流程相关的数据。工作流相关数据又具体分为3种:
·         影响流程实例执行的业务数据。在WFMC中,这个数据被描述为:工作流系统通过该数据来确定流程实例的流转条件,并选择下一个将执行的任务,这些数据可以被业务系统访问并修改。例如报销流程中的“报销金额”,这个数据会决定该流程的审批路径;再例如为任务设置的超时时间,这个数据会触发任务的取消。实质上这些数据就是工作流系统需要依赖于进行流程流转的业务数据。
·         契合业务的关联数据。指工作流系统与业务系统进行关联的数据,例如特定于WEB系统,工作流系统会在每个流程实例里保持有导航至对应业务表单的URL。
·         传递作用的业务数据。当流程跨越多个业务模块时,需要在模块间传递数据,此时会利用工作流系统进行传递,会在工作流系统里暂时存储这些业务数据。
那么,工作流数据有哪些应用场景呢?

三、工作流数据与业务上下文
工作流数据最重要的职责之一就是为业务系统的不同应用场景建立起与之对应的业务上下文。
什么是业务上下文?
我们知道,IT系统是对企业现实业务的映射。在一个翻译公司的典型业务场景中,校对人员对翻译人员提交的翻译文档进行审校,此时,校对人员持有翻译人员翻译后的文档,他需要对该文档进行检查,产生新的审校文档并反馈翻译人员的翻译质量。那么,映射到IT系统里,校对人员的任务通常对应于一张需要处理的业务表单,业务表单里会展现他进行当前工作所需要的数据:翻译文档、翻译人员信息、该校对工作的紧急程度等,另外,在这张表单里,他所能进行的操作也根据他此时的职责作出了行为限定:例如他可以上传新的校对后的文档,但是不能删除已有的翻译文档等。如下图1所示,业务表单实质上反映的是此刻我们能获取哪些数据以及能够如何处理这些数据,我们把它称之为业务上下文,可以看到,在IT系统里,业务上下文实质上等于数据加上行为。
企业业务由一系列相互关联的业务场景组成,这些业务场景对应于IT系统里的业务上下文,而业务上下文的本质则是数据加上行为。数据和行为的不同决定了业务上下文的差别。这与现实中的工作相符,人们根据获取/处理信息的不同,担负不同的职责。





图 1与应用场景对应的业务上下文
工作流数据如何建立业务上下文呢?看一个简单的例子。
在实际应用工作流系统进行开发时,我们经常会碰到这样的问题:同一流程中的不同任务对业务数据拥有不同的权限,如下图6-9所示。








图 6‑9与流程相关的业务数据权限
上图中,在执行请假申请任务时,申请者可以编辑请假人、天数和原因3个字段;而到审批任务时,审批者增加了一个可编辑的审批意见字段,但其余3个字段变化为只读字段。我们将这类问题统称为与流程相关的业务数据权限控制。
产生这类问题的原因是什么呢?原因就在于在一个业务流程里,不同的任务具有不同的业务上下文。如下图6-10所示,不同的任务展现不同的数据,并具有不同的行为。





图 6‑10任务与业务上下文
在IT系统的设计实现中,数据的建模是通过领域模型实现的。在工作流系统的嵌入式应用中,流程实例即是通过与领域模型相关联实现与业务契合的。那么,图6-10可以进一步泛化为图6-11,流程中任务通过获取领域模型不同的部分实现业务上下文的界定。





图 6‑11领域模型与业务上下文
在大部分的业务流程建模中,一个流程模型只与一个领域模型关联。
那么,回到最初的问题上,如何处理此类权限问题呢?答案非常明了:由领域模型实现对业务上下文的切分,工作流系统通过契合业务的关联数据与业务上下文挂接,保持工作流系统的单一职责。





图 6‑12流程相关的业务数据权限控制
如上图6-12所示,我们在业务系统里引入业务权限角色的概念,通过该角色隔离开工作流系统与业务数据权限,即我们认为业务数据权限的管理属于业务系统范围(由业务系统具体实现),更进一步,我们认为其属于领域模型的职责范围。在定义好业务系统的权限角色后,我们通过任务级别的工作流变量将流程中的具体任务与业务权限角色绑定,这样就实现了流程任务与业务数据权限的挂接。
在上面的例子中,我们看到的是利用关联业务的工作流数据界定任务级别的业务上下文,这是一种最简单的工作流数据应用场景。在不同应用中,我们可以看到,工作流数据一个重要的职责就是为业务流程里的任务/流程建立业务上下文,实现数据的聚合。在简单的应用场景里,对一个流程实例而言,这些数据可能只对应于一个领域模型;对流程实例里的一个任务实例而言,这些数据对应于领域模型的一个切面。复杂一些的情况,业务上下文需要跨越多个领域模型甚至多个业务系统,这时我们可以看到,通过工作流系统能够显著降低业务系统建模的复杂性,因为这些数据聚合工作可以有效分派给工作流系统承担。同时,我们需要保持工作流系统的单一职责,工作流系统只保存与业务数据进行关联的关联数据、必需的业务传递数据以及自身的执行数据。





图 6‑29跨系统的业务上下文


四、工作流数据与数据分析
工作流数据的第2个应用场景是对业务流程执行进行数据分析,这部分的数据主要是工作流控制数据。这一部分正受到越来越多的重视,是未来工作流系统的发展方向。





图 6‑48外部环境从流程实例拉数据进行分析

这里有两个典型的应用例子:
例子1在对报销流程进行分析时,我们发现大部分的报销金额都低于500元,然而这些报销流程却都要经过很多环节,在与客户确认后,我们将低于500元的报销限定于部门内部审批即可,这样对个人来说大大加快了报销过程,对公司来说则省下了很多的办公成本。
例子2,在制造流程里,很重要的一点是需要控制流程的节拍时间,即流程里各个任务的完成时间要一致,如果有一项任务的时间多于其他任务,那么很快就会形成瓶颈,造成在制品的大量积压,前续的任务完成很快,中间忙死,后续任务执行者却无事可做,更重要的是,不能对客户进行快速交付。


五、工作流数据与流程路由
最后一种应用场景非常常见,这部分数据即影响流程实例执行的业务数据,直接上图:





这部分影响路由的一定是业务数据,它们保存到工作流系统里对流程路由产生影响。这种影响不限于任务的选择,还包括的任务的执行条件、任务的完成条件、基于数据的任务触发等。

六、工作流数据小结
总结一下,作为区分,我们将存储于业务系统中的数据称为业务数据,将存储于工作流系统中的数据称为工作流数据。
工作流数据分为两种:工作流控制数据和工作流相关数据。其中工作流相关数据又分为3种:影响流程实例执行的业务数据、契合业务的关联数据和传递作用的业务数据。
工作流数据的应用场景:为流程/任务建立业务上下文,这部分数据主要是契合业务的关联数据和传递作用的业务数据,这是工作流数据最重要的职责之一;数据分析,这部分数据主要是工作流控制数据,这是未来工作流的发展方向;影响流程路由,这部分数据人如其名,是影响流程实例执行的业务数据。
实际应用中,我们一定要保持工作流系统的单一职责,例如划分任务权限这个需求,一定需要业务系统自行实现权限的界定,工作流数据仅仅进行挂接。
  • 大小: 39.5 KB
  • 大小: 21.7 KB
  • 大小: 25.9 KB
  • 大小: 26.3 KB
  • 大小: 33 KB
  • 大小: 26 KB
  • 大小: 30.4 KB
  • 大小: 23.7 KB
分享到:
评论

相关推荐

    浅谈OA工作流系统的发展趋势:七个演变

    ### 浅谈OA工作流系统的发展趋势:七个演变 #### 一、引言 随着企业信息化的快速发展,组织流程的优化、技术的进步以及知识管理的需求日益凸显,这推动了OA工作流系统的持续演进。从最初的简单事务处理到如今的智能...

    浅谈办公自动化在文书档案管理的应用 (1).rar

    在OAS中,文书档案可以轻松地进行内部分享,通过电子邮件、内部工作流系统等方式,实现审批、讨论等协作过程的快速进行。这减少了文书在各部门间传递的时间,提高了协同工作的效率。 再者,OAS提供了强大的版本控制...

    浅谈办公自动化的应用.rar

    3. 工作流管理:通过定义和执行工作流程,系统可自动分配任务,跟踪进度,确保工作按时完成。 4. 会议与日程管理:自动安排会议,提醒参与者,避免时间冲突,同时可记录会议纪要,方便回顾和执行。 5. 资源预订:...

    浅谈P2P技术发展对网络安全及取证工作带来的影响及对策.pdf

    这种技术在音乐分享、视频流媒体等领域得到广泛应用,如BitTorrent协议用于文件分发和下载。 P2P技术的优势在于它的去中心化特性,减少了服务器的压力,提高了网络效率。然而,这一技术的发展也带来了显著的安全...

    浅谈小学班主任工作中的云服务应用.pdf

    教师可以通过微信及时向家长发布通知和提醒,微信群聊还能增进家长之间的互动,而朋友圈则可以分享教育相关的内容,增加家长对教育问题的关注度。 综合以上几点,可以看出,云服务对于提升小学班主任的工作效率、...

    高级驾驶辅助系统ADAS浅谈.doc

    V2V通信允许车辆间分享信息,降低事故风险,优化交通流。V2X通信进一步扩展了汽车的感知范围,使其能适应不断变化的路况,确保行驶安全和效率。 ADAS与安全互联汽车的结合,通过建立多层防御的车载网络,使得汽车...

    浅谈供应链管理在零售领域的应用.doc

    企业门户和互联网平台使得信息共享和协同工作变得更为便捷,零售商可以与供应商进行预测协同,分享销售预测和客户服务期望,供应商据此调整生产计划,提高供需匹配度。 综上所述,供应链管理在零售领域的应用不仅仅...

    浅谈电子信息技术的应用与发展 (2).pdf

    无论距离多远,人们都能实时交流,分享信息,这对于全球化的商业合作、远程教育、医疗援助等方面有着深远的影响。 2.4 自动化程度高、智能化水平提升 电子信息技术与人工智能、机器学习等领域的融合,使得自动化和...

    浅谈新能源客车企业的质量管理 (2).pdf

    通过车间质量看板管理,企业可以明确展示质量要求,传递实时的质量监控数据,并通过质量活动评比和案例分享,提高员工的质量意识。质量会议矩阵则是一种分层次的沟通机制,确保质量信息的上下流动和问题的有效解决。...

    activit

    至于压缩包中的文件名“浅谈activiti工作流_Html编程 - 好工具站长分享平台.mht”,这可能是一个包含HTML内容的MHT(单个文件网页)文档,很可能详细介绍了Activiti与HTML编程的结合,可能是关于如何在Web应用中集成...

    菜鸟的自我修炼——阿里巴巴一道笔试题浅谈

    今天,我们就来一起探讨一道阿里巴巴的笔试题目,希望通过分享解题思路,帮助同样在学习路上奋斗的朋友们。 首先,我们需要明白,无论题目难度如何,每个问题都有其价值。即使是看似简单的题目,也可能隐藏着深度的...

    浅谈JupyterNotebook导出pdf解决中文的问题

    在科研、教育和数据科学领域,Jupyter Notebook 得到了广泛的应用。 然而,在使用 Jupyter Notebook 进行报告或论文编写时,常常需要将 Notebooks 导出为 PDF 格式以便于分享或打印。但是,在处理中文内容时,可能...

    机电毕业论文12篇:基于AT89S52单片机的智能窗户的设计.doc

    #### 十、浅谈火电厂电力电缆外护层绝缘损坏的故障定位 1. **故障原因**:分析导致电力电缆外护层绝缘损坏的主要因素。 2. **故障定位技术**:介绍几种常用的故障定位方法和技术手段。 3. **预防措施**:提出预防...

    传智播客扫地僧视频讲义源码

    08_C语言和C++语言的关系_工作经验分享 09_namespace和iotream 10_实用性加强_register增强_检测增强 11_struct关键字类型增强 12_c++类型类型检查加强 13_新增数据类型bool类型 14_中午课程回顾 15_c++中的三目...

    《2023腾讯云容器和函数计算技术实践精选集》

    浅谈 K8s Pod IP 分配机制 - **技术背景**:Kubernetes 是目前最流行的容器编排平台。 - **核心价值**:从理论到实践,全面解析了 Kubernetes 中 Pod IP 分配的工作原理及常见问题。 - **应用场景**:对于正在使用...

Global site tag (gtag.js) - Google Analytics