SuperFlow工作流平台技术白皮书

    技术2024-12-19  15

    SuperFlow工作流平台

    技术白皮书

     

     

     

    随需而变  柔性再造

     

     

     

    成都领君科技有限公司

                  http://www.linjon.cn

         20111

     

     

     

     

    一、概论... 4

    1.1 产品简介... 4

    1.2 产品功能... 4

    1.3 产品特点... 5

    1.4 技术优势... 5

    1.5 客户价值... 6

    二、设计思想... 6

    2.1 模型驱动架构... 6

    2.2 成熟的软件支撑平台... 7

    2.3 基于动态实例的柔性工作流元模型... 8

    2.4 可视化的柔性工作流模型... 9

    三、技术特性... 10

    3.1 B/S架构... 10

    3.2 对于Internet应用的良好支持... 11

    3.3 支持多种数据库... 12

    3.4 集成的工作流引擎... 12

    3.5 全面的扩展性... 13

    3.6 开放的API接口... 13

    四、柔性工作流... 14

    4.1柔性工作流的含义... 14

    4.2柔性工作流的基本要素... 15

    4.3柔性工作流特性分析... 16

    4.4柔性工作流的建模方式... 17

    4.5柔性工作流的体系结构... 18

    4.6基于柔性工作流的数据库设计... 20

    五、总体架构... 21

    5.1 技术构架... 21

    5.2 运行模式... 23

    5.3 应用框架... 24

    六、平台建模设计... 25

    6.1 定义数据实体... 25

    6.2 设计用户界面... 26

    6.3 设计业务流程... 27

    6.4 扩展业务逻辑... 28

    6.5 配置和发布系统... 29

    6.6 运行维护... 30

    七、平台功能设计... 31

    7.1 OA系统基本功能... 31

    7.1.1基本审批功能... 31

    7.1.2辅助审批功能... 32

    7.1.3查询统计分析功能... 33

    7.1.4管理功能... 34

    7.2 OA系统定制功能... 34

    7.2.1工作流的定制、调整、更新(流转、时限、权限等)... 34

    7.2.2系统内各填写表单,报表定制... 35

    7.2.3数据管理维护... 36

     

     

     

     

     

     

     

     

     

    一、概论

    1.1 产品简介

    SuperFlow工作流平台基于Microsoft .Net开发技术和模型驱动架构,是面向业务应用的工作流管理软件开发平台, 平台采用“基础架构软件+业务架构平台”进行架构, 参照工作流管理联盟(WfMC)标准设计,以业务管理为核心(BPM),以工作流技术为依托,可以帮助企业快速购建高效、柔性的业务流程管理系统。

    SuperFlow工作流平台纯B/S架构应用软件的SuperFlow控制台及SuperFlow协同办公平台组成,采用VS2008+C#+ASP.NET进行开发实现。现在的大型信息化系统,尤其是基于GIS的综合电子政务应用系统,比如,对于国土,交通,公安,城市规划,水利等业务领域的应用,业务应用办公系统对办公地点的不定性以及信息资源的整合,SuperFlow工作流平台提供的纯B/S架构,能够极大地降低应用系统部署的复杂性以及实现信息资源高度共享。

    当今的信息化建设以基于基础业务构建平台进行应用系统的开发,成都领君科技有限公司融合工作流管理软件开发技术、WebGIS软件开发技术帮助软件企业轻松实现随需而变,柔性再造的目标,使企业在激烈的市场竞争中赢得先机并获得前所未有的高回报。

    1.2 产品功能

    l        提供了控制台建模管理、协同办公管理; 提供了待办任务、在办任务、催办及督办任务管理,并可进行任务委托以及签收任务的退回处理。

    l        提供多语言支持、多数据库支持、多CSS换肤支持。

    l        提供集团化的组织机构管理,支持外部组织及人员统一管理、支持一岗多人、一人多岗处理,实现业务权限、流程权限的统一分配。

    l        提供可视化的柔性工作流模型建立、 动态实例的工作流建模方式。

    l        提供了工作流建模->工作流梳理/优化/效验->工作流实例监控一体化的控制管理。

    l        提供包括数据表单建模管理、自定义查询统计及自定义报表输出管理、组织机构建模管理、平台安全管理及运行管理等功能的基础业务搭建平台。

    l        流程权限管理提供了流程的建模管理及监控管理权限、工作流活动的提交回退权限及工作流任务分配、签收及提交权限。

    l        业务表单权限提供了表单访问权限,数据记录行、列操作权限以及页面控制按钮操作权限。

    1.3 产品特点

    l        平台采用AJAX技术搭建,纯B/S结构,客户端零安装,大大降低了应用系统的部署难度以及维护成本。

    l        可视化流程设计,可以让客户拖拉式地设计流程,大大提升了流程的设计效率,同时也大大降低了流程的设计难度。

    l        可视化流程监控,可以让客户以图形化的方式监控每个流程实例的运行状态,以颜色区分其状态,并可动态掌控每一个节点的任务完成状况。

    l        强大的工作流引擎服务,采用多线程任务队列、流程实例缓存及定向负载平衡等优化处理策略,能满足高负载、高并发的需要。

    l        强大的表单设计器,可以让客户快速进行业务表单的建模、完成每一项工作流任务所需的挂接的数据表单、Word模板的定义。

     

    1.4 技术优势

    l        采用了基于Web Service的分布式柔性工作流算法

    l        采用了多自主元协作推理算法

    l        采用了动态实例的工作流建模方式

    l        采用了轻量级SOA技术构架,支持企业级应用

    l        采用了松耦合的流程和业务处理模式

    l        采用了工作任务动态分配,参与者灵活设置的管理体系

    l        采用了可扩展的流程交互接口及事件回调接口进行引擎调度

    l        采用了超越传统的表单设计模式,可以满足复杂的业务处理需求

    1.5 客户价值

    使用SuperFlow工作流引擎技术开发的系统带来的客户价值是显而易见的,主要体现为:     将为公司未来经营战略的发展提供稳定灵活的信息技术基础设施,使公司IT规划能够满足企业若干年成长的需要。成熟而开放的微软技术架构,良好的投资保护方案。     会提高企业运营的灵活性和适应性,通过信息技术平滑实现组织结构调整和业务流程变更,降低企业改革成本。     跟踪事务处理全过程,可以量化考核每个处理环节的效率,结合公司KPI体系建设,提高公司流程执行力和绩效管理能力;有利于推进公司精细化管理目标的落实。     作为企业诊断和业务流程重组(BPR)的最佳实践工具,能够量化分析和评价业务流程的效率和效果,便于持续优化和改善业务流程,提升企业战略执行力。

    二、设计思想

    2.1 模型驱动架构

    SuperFlow工作流平台基于模型驱动架构,通过元数据来保存数据表单、业务流程、以及组织机构等模型。应用软件系统通过协同办公应用框架根据建模定义的元数据动态展现工作流程监控图表、工作流数据表单、业务办公数据报表等用户界面。 平台以模型驱动的方式,采用事件驱动的方式进行系统业务功能的扩展和维护。

    l        数据实体元数据

    使用SuperFlow数据实体定义工具进行数据实体定义时,一方面对数据实体的定义进行了描述,另一方面建立了数据实体之间的关系,这两方面的数据都作为元数据保存到数据库中。SuperFlow工作流平台通过OR Mapping(对象-关系映射)的方式封装了对数据库的访问,对数据的新增、修改、删除、查询、统计、输出等功能通过二次开发接口方式供用户在界面表单以工具栏按钮方式提供,并能对这些功能接口进行事件功能扩展,实现提交动作的驱动事件响应支持。

    l       用户界面元数据

    SuperFlow工作流平台突破了传统的用户界面编程方式,通过定义界面元数据的方式,而不是编程方式来设计用户界面。SuperFlow界面设计工具能够根据数据实体的属性以及数据实体之间的关系快速地设计业务表单、业务报表、组织机构、权限角色树、系统功能菜单及快捷工具栏等用户界面,同时支持通用数据表单的自定义模版设计。通过SuperFlow界面设计工具设计的用户界面以界面元数据的方式保存在数据库中,运行时框架组件动态加载界面元数据并创建用户界面。通过元数据来描述用户界面的方式实现的界面的动态构造,使用户界面易于调整和维护。

    l       业务流程元数据

    SuperFlow工作流平台集成工作流引擎,能够对业务流程进行灵活的定义。业务流程定义的结果以元数据的方式保存在数据库中,运行时由工作流引擎根据元数据的描述驱动业务流程。工作流引擎采用领君科技公司的DWF(Database Workflow Foundation),通过DWF驱动发布到工作流服务的业务表单进行流程流转,这些业务表单通过工作流进行驱动,从而实现业务流和数据流的统一,实现真正的协同办公功能。

    2.2 成熟的软件支撑平台

    SuperFlow工作流平台集成了诸多的管理软件基础结构,例如对于互联网直联的支持、对多种数据库的支持、集成的工作流引擎(DWF)、短信平台和邮件系统等。

    SuperFlow工作流平台预置了大量的基本操作,例如业务表单的新增、修改、删除、复制、审核、套打,查询、统计、输出以及不同业务表单之间的数据传递等操作,另外,提供对WebGIS的应用扩展支持,包括报表的GIS图形的浏览、图属互查、专题制作、图表分析、地图输出等操作。SuperFlow工作流平台预设的平台基础功能零代码方式得以实现。

    SuperFlow工作流平台还提供了基于以上管理软件基础结构开发的诸多的标准组件,例如数据中心、组织机构管理、用户管理、权限管理、文档管理、数据导入导出、自定义报表、通用查询、系统日志管理、系统资源管理等,在通过SuperFlow工作流平台开发不同行业软件应用系统时可以直接使用。

    通过SuperFlow工作流平台提供的基础结构,在开发软件系统时能够极大地缩短软件的开发周期,降低软件开发成本。

    2.3 基于动态实例的柔性工作流元模型

    WfMC提出的元模型基础上,SuperFlow提出了能够实现动态实例工作流建模的元模型,通过统一建模语言(Unified Modeling Language, UML)类图描述的基于动态实例的柔性工作流元模型如下图所示。柔性工作流元模型依照面向对象、松耦合、可扩展和数据为中心的原则进行设计,主要有以下特点:

    1) 对任务节点进行柔性化构造,提出了可扩展属性集和可扩展活动,支持任务属性和功能的动态变化;

    2) 在任务节点中构造了路由规则,支持动态的工作流执行逻辑(路由);

    3) 通过虚拟任务和虚拟控制弧概念的引入,能够表征工作流的动态实例;

    4) 对嵌入工作流任务节点的自主元进行建模,支持柔性工作流模型智能性。

    以柔性工作流元模型为指导,本文将从工作流的活动、控制依赖关系和数据依赖关系三个方面详细给出柔性工作流模型的定义和形式化描述。

    基于动态实例的柔性工作流元模型

    2.4 可视化的柔性工作流模型

    SuperFlow定义了柔性工作流模型的图形化表示方法,柔性工作流模型的组成元素严格和模型的形式化描述相对应,柔性模型的图形化表示方法可以增强柔性模型的可表达性和可理解性,下表从柔性工作流模型的活动、控制依赖和数据依赖给出了基于动态实例的柔性工作流模型的图形化表示方法,工作流的柔性主要通过活动中柔性元素的隐式柔性表示以及虚拟活动、可分解活动、虚拟控制连接弧和虚拟数据连接弧的显式柔性表示来体现。

     基于动态实例的柔性工作流模型图形化表示方法

    分类

    模型元素

    图形表示

    特性描述

    开始活动

    开始活动,在开始活动中可以进一步定义活动的开始条件

    结束活动

    结束活动,在结束活动中可以进一步定义活动的结束条件

    普通活动

    普通活动,在普通活动中可以定义可扩展属性、可扩展方法、动态路由提高柔性

    虚拟活动

    虚拟活动,和普通活动具有同样的定义方式,区别在于,主要表示在动态实例中产生的活动

    可分解活动

    过程模型的可分解活动,主要表示在过程实例中可进一步分解的活动

    控制连接弧

    控制连接弧,主要表示固定的控制逻辑,在控制连接弧上可定义条件,默认的条件为真

    虚拟连接弧

    虚拟连接弧,主要表示定义时未确定的,在动态实例中由动态路由规则产生的控制逻辑

    与控制点

    与控制点,表示控制连接弧的与运算关系,和控制连接弧组合为与连接、与分支关系

    或控制点

    或控制点,表示控制连接弧的或运算关系,和控制连接弧组合为或连接、或分支关系

    数据连接弧

    数据连接弧,表示活动间的数据传送关系,在图形化表示中,可和对应的控制连接弧合并

    虚拟数据弧

    虚拟数据连接弧,与虚拟控制连接弧相对应,表示虚拟控制连接弧的数据传送关系

     

    三、技术特性

    3.1 B/S架构

     

    基于SuperFlow工作流平台可以快速搭建纯B/S架构的应用办公软件,使用IE浏览器作为客户端,易于部署和维护,具有任何人、任何时间、任何地点只要能上网就能进行工作的特点。该平台通过AJAX技术极大地提升B/S架构软件的性能和人机交互能力,工作流自定义及报表自定义、组织机构自定义、权限自定义、数据表单自定义采用JS+AJAX+WebService 技术及后台数据库技术实现系统的二次开发与服务器端的应用部署。

    通过基于SuperFlow工作流平台进行设计和开发时,数据表单元数据、和业务流程、业务权限配置管理,都通过元数据的形式保存在后台数据库中,运行时由运行时框架通过元数据驱动的方式来访问数据、生成用户界面并驱动业务流程,能够实现一次设计同时拥有B/S架构软件的能力,极大地降低了软件系统的开发和维护成本。

          

    3.2 对于Internet应用的良好支持

    l       最小流量的设计技术

    SuperFlow工作流平台对支持Internet应用采取了先进的AJAX技术,提供数据缓存、分页查询和数据压缩等网络流量控制技术,保证软件系统在Internet上网络带宽比较小的情况下能够流畅运行。另外,对于业务表单的数据填写采用AJAX技术实现数据的批量更新与提交。

    l       客户端与服务器的最小远程交互次数

    SuperFlow工作流平台通过对业务逻辑的封装来实现大粒度的业务操作,同时结合数据的批量提交、批量读取、批量上传及下载技术,大大减少了客户端与服务器的交互次数,并能够大大提供软件系统的运行速度以及运行效率。

    l       Internet应用的优化支持 

    SuperFlow工作流协同办公平台基于ASP.NET+ AJAX技术,具有AJAX技术的全部优点,提供了大量可重用的 AJAX 组件、包括具有AJAX特性的TreeView控件、Navbar控件、TabStrip控件、Menu控件、Splitter控件、Rotator控件等控件包(JLK.WEB.UI),不用写大量的复杂代码从浏览器直接访问远程服务和数据,以及能够自动适应目前所有常用的浏览器等。

    基于SuperFlow工作流平台开发的应用软件是”B/S架构的应用软件,在浏览器客户端实现零安装,不需要安装任何组件或下载任何插件、或者注册以前传统的客户端组件,从而提升了客户端环境的安全性,并降低了软件系统的部署和维护成本。

    l       Internet应用的扩展支持 

    基于SuperFlow工作流平台开发的应用软件,服务端部署在IIS Web服务器上,客户端通过IE浏览器直接连接到服务端,通过前端的js+ajax技术完成对后台服务方法的访问,从而大大提高软件性能。

    3.3 支持多种数据库

    SuperFlow工作流平台平台提供基于数据工厂架构的数据访问组件,通过后台存储过程以及Webservice提供的数据访问引擎,实现了客户端对于数据库的间接操作。基于SuperFlow工作流平台进行应用办公系统的二次开发,需要增加对新的数据库系统的支持时,只需要扩展平台提供的数据库中间层访问组件,对系统逻辑组件库进行扩展开发。

    3.4 独立的工作流引擎

    SuperFlow工作流平台提供了根据wfmc工作联盟标准开发了独具特色的独立工作流引擎,支持直流、分流、条件流、并发流、任务自动转发等流程模式,提供流程定义、流程监控、流程梳理及流程仿真,工作流时限控制、任务催办督办、通过邮件或手机短信催办等功能,另外,还提供工作任务表单在工作流程活动的动态分配与挂接功能,使业务表也就是通常所说的工作任务在流程扭转过程同步进行。

    SuperFlow工作流平台的工作流引擎可以与业务功能实现无缝集成,任何业务功能都可以被工作流平台纳入到业务流程管理的范畴中,实现了业务逻辑和业务流程的统一,使用户能够通过统一的工作流办公平台以流程化的方式来处理各项业务以及实现业务流程再造。

    3.5 全面的扩展性

    l        可扩展表单元数据

    SuperFlow工作流平台提供了对表单元数据信息的基本操作,例如表单元数据的新增、修改、删除、查询和输出操作,元数据信息完整性检查和维护,以及对元数据对象之间关系定义的处理。除使用SuperFlow工作流平台提供的基本操作外,可以通过数据表单建模管理工具生成数据表单模型信息,可通过管理工具进行表单元数据信息的复制处理。

    l       可扩展用户界面

    SuperFlow工作流平台提供了表单、报表、菜单、工具栏等用户界面的扩展定义功能,可以使用SuperFlow工作流平台提供的大量平台级工具完成应用系统的用户界面定义。SuperFlow工作流平台的应用框架组件提供调用扩展组件以改变表单、报表、流程、系统权限等用户界面定义,或通过平台Ajax+jsWebservice技术,以及后台数据库技术扩展特定业务处理逻辑的能力。

    l       可扩展业务逻辑

    平台通过底层DLL动态库,以及提供Websercice服务接口,以及通过AJAX技术提供的JS扩展API接口进行业务逻辑的二次开发扩展,SuperFlow工作流平台还可通过表单提供的事件机制以及工作流引擎提供的二次开发扩展接口完成业务应用逻辑组件的开发与系统集成。业务逻辑层组件,可以通过DLL或者Webservice服务方式部署在Web服务端,也可以通过后台数据库、函数、触发器等,实现功能更加强大、复杂的业务逻辑。

    3.6 开放的API接口

    工作流执行服务器周围的接口是WAPIWorkflow APIs),通过这些接口可以访问工作流管理系统的服务,这些接口还控制工作流控制软件与其他系统组件间的交互。SuperFlow工作流平台提供了以下五大开放的API接口:

    l        工作流定义

    为用户提供一种可视化的,可以对实际业务进行建模的工具,并生成业务过程的可被计算机处理的形式化描述。

    l        工作流客户应用

    它给用户提供一种手段,以处理过程实例运行过程中需要人工干预的任务。

    l        工作流调用应用

    指工作流执行服务在过程实例的运行过程中,调用的、用以对应用数据进行处理的程序。

    l        工作流引擎协作

    在大型的分布式的工作流管理系统中,工作流需要多个工作流引擎共同完成,甚至需要其他异质的工作流执行服务来辅助完成。

    l        管理

    其功能是对工作流管理系统中过程实例的状态进行监控与管理,如组织机构管理、实例监控管理、统计分析管理、资源控制等。

    四、柔性工作流

    SuperFlow工作流引擎的一个显著特点就是:随需而变、柔性再造。其柔性体现为环境、条件或过程状态发生变化时,工作流系统快速响应和跟随变化的能力。

    4.1柔性工作流的含义

    柔性工作流(Flexible Workflow)的概念:是在环境、条件或者过程状态发生变化的条件下,不需重新定义工作流模型,能够快速做出改变来应对变化的工作流。柔性工作流一般可以分为选择柔性(Flexibility by Selection)和适应柔性(Flexibility by Adaptation),如图下图所示。

    A

    B

    A

    B

    C

    开始

    开始

    结束

    结束

    图示:A等表示工作流节点,虚线表示动态变化的流程,   阴影框表示动态添加的节点

    选择柔性

    适应柔性

    选择柔性表示工作流有可替代路径,每一条路径都是正确的,只是不同情况下执行的路径不同。选择柔性只能处理事先定义好的执行路径,而适应柔性可以根据具体情况灵活地改变,在某些应用场合需要加入一条或多条迄今还未预见的执行路径,适应柔性就是要提供一套支持工作流在运行时能够“适应”各种未知情况的机制,也将适应柔性工作流称为“ad-hoc”工作流。

    4.2柔性工作流的基本要素

    活动

    过程模型

    控制逻辑

    相关数据

    属性变化、扩展

    功能变化、扩展

    逻辑结构变化

    逻辑结构扩展

    数据变化

    节点分解

    上图可以看出,工作流模型的柔性变化可以体现为模型组成结构及其之间关系的变化。在工作流的运行阶段,工作流实例的活动变化就可以通过属性和功能的变化及扩展来实现。

    SuperFlow实现工作流柔性基本要素的几个原则:

    1) 面向对象的原则(Principle of Object-Oriented)。

    2) 松耦合的原则(Principle of Loose Coupling)。

    3) 可扩展原则(Principle of Extensibility)。

    4) 数据中心的原则(Principle of Data-centered)。

    前三个原则,柔性基本要素的各项变化都是通过对工作流的属性、功能和规则等进行变化而实现的,而管理功能的变化绝大多数经过分析和分解又能转化为管理控制参数的属性变化,从这个角度来看,工作流的柔性模型可以看作是工作流控制数据的集合,柔性工作流的变化以数据的变化为中心,通过工作流机对工作流实例数据的操作,即可实现模型的动态实例。

       

    4.3柔性工作流特性分析

    SuperFlow柔性工作流产生的原因主要有以下几点:

    1) 企业的经营过程的执行逻辑在多数情况下并不是完全可以事先确定,它经常需要根据流程的执行情况动态的发生变化,其中包括工作任务的变化、控制逻辑的变化和工作流资源的变化等;

    2) 根据市场的需要以及企业的不断发展,企业的工作流程也要发生变化,这就要求流程在运行过程中具有动态变换的能力;

    3) 工作流的客户应用、工作流的执行者以及工作流的调用资源也会随着企业经营环境的不同发生一定的变化;

    4) 工作流程在运行中会遇到一些在模型定义时无法预计到的意外情况;

    5) 传统的工作流路由是事先确定的,但是在工作流的实际运行中需要根据具体情况动态地确定执行路由。

    可以设想,如果在柔性工作流模型定义过程中,使工作流模型本身具有一定柔性,在工作流执行服务控制下,不经修改工作流模型,工作流管理系统就能够根据流程环境和流程执行情况动态改变工作流运行,工作流柔性主要体现在:

    1) 工作流模型的柔性定义:工作流模型应能充分表达各种复杂、灵活的业务过程,并且模型的定义支持系统运行时的动态修改或定义扩展;

    2) 工作流的柔性执行:工作流管理系统,特别是工作流执行服务,具有柔性执行机制,能够依据柔性工作流模型动态更改工作流运行实例数据,包括工作流节点属性、操作,工作流程流向等;

    3) 工作流的柔性扩展:工作流系统可支持动态或删除新的工作流节点,添加新的节点功能等;

    4) 流程实例的适应性:一个工作流过程定义能够根据不同的需求实例化成满足不同需求的流程实例;

    5) 活动任务的动态分配和资源动态调用:柔性工作流应支持根据运行情况动态确定任务执行人,以及对工作流相关资源的优化调用;

    4.4柔性工作流的建模方式

     SuperFlow柔性工作流的建模方式就是一种基于动态实例的建模方式,

    即在工作流模型的运行过程,依据运行环境的不同变化,并不动态改变工作流模型,而是通过工作流机的执行,工作流的实例发生对应的变化和修改,即每一个不同运行环境中的工作流实例都是由同一个工作流模型衍生而成的。基于动态实例的建模方式和上述动态定义或动态修改建模方式的不同在于,将对模型的修改转化为工作流实例在模型基础上的变化,由于不涉及对模型的更改,工作流实例不需考虑不同版本工作流模型的迁移问题,更不需考虑模型更改后的重新执行。可以将工作流模型看作是一个生物体,模型在定义之初是静止的,称为静态模型,而相对地在不同的工作流运行环境,工作流的实例即为工作流模型在环境中的运动表现形式,称为动态实例。

    定义[工作流运行环境]工作流运行环境 可定义为2元组, ,其中 表示不同的运行环境, 为环境的状态特征描述参数的集合, 是环境的描述参数,分别描述不同环境中的变化的特征。

    定义[工作流动态实例]工作流动态实例 可以定义为7元组, ,其中 表示不同的运行环境, 表示第 个环境中静态模型的动态实例, 表示第 个环境中模型动态实例的集合,其余元素以此类推。

    定义[工作流动态实例映射函数]工作流动态实例映射函数负责将工作流静态模型映射为工作流动态实例, ,工作流静态模型与工作流动态实例存在一对多的映射关系,即 ,存在特定的运行环境,使得所有的工作流静态模型都可根据环境的变化生成对应的动态实例。下图给出了动态实例的工作流建模的示意图。

    动态实例工作流建模方式的提出给工作流柔性建模提出了新的要求,即模型的运行过程中能对发生的变化随机应变,而不必进行模型的修改,最大程度地提高了工作流管理系统的柔性。动态实例的工作流建模方法首先要求模型具有灵活的结构,及工作流执行服务对模型的柔性执行,另一方面也要求工作流系统具有智能性,能根据复杂的运行环境,对模型的动态实例进行恰当地调整。

     

    E1

     

     

    E2

    Ei

     

    EN

     

    动态实例工作流建模方式

    4.5柔性工作流的体系结构

    SuperFlow的体系结构如下图所示。

    整体工作流描述

    子工作流描述

    子工作流描述

    子工作流描述

    建模工具

    建模工具

    建模工具

    模型库

    模型库

    模型库

    工作流机

    工作流机

    工作流机

    实例库

    实例库

    工作流机互操作/Web Service

    工作流管理工具

    实例库

    工作流列表管理

    工作流列表管理

    工作流管理工具

    工作流管理工具

    用户界面

    用户界面

    用户界面

    工作流列表管理

    SuperFlow集成开发环境/

    IIS.Net Framework 2.0

    输出

    输出

    输出

    解释

    解释

    解释

    保存

    保存

    保存

    调用

    调用

    调用

    SuperFlow体系结构图

           图中的下方虚线框给出了柔性工作流模型整体描述示意,整体工作流可分解为若干个子工作流,对应敏捷供应链的多个节点企业及其内部工作流模型。图中上方的虚线框给出了SuperFlow的集成开发环境,与分解后的子工作流相对应,集成开发环境由相应数量的分布在若干个IIS服务器上的SuperFlow模块所组成。对于每一个SuperFlow模块,由建模工具、工作流机、工作流列表管理、工作流管理工具和用户界面,以及工作流模型库和实例库所组成。可以看出整体工作流模型(描述)是不同SuperFlow模块间建模工具联系的纽带,各建模工具解释共同工作流模型的不同部分;而SuperFlow模块间的执行联系是通过工作流机之间基于Web Service的互操作实现的,基于Web Service的柔性工作流机设计在本文的第五章已有详细的描述,在系统实现中不再单独列出。

           SuperFlow运行时,首先由其中某一模块(通常为核心企业)启动建模工具定义柔性工作流的整体模型,整体模型分解成若干子模型,每个子模型的定义和接口细节等被分配到各企业,由各自的建模工具进行内部流程详细设计,经装配后形成最终的敏捷供应链整体模型,分解后的模型保存到模型库中。各模块的工作流机从模型库中调用并解释对应的柔性工作流模型,进行柔性执行,将对应的工作流任务通过工作流列表管理与用户界面进行交互,工作流管理工具对工作流机和自主元等进行相应的维护,对工作流的执行情况进行监控,子流程执行完毕后,各模块的工作流机通过互操作执行下一个柔性工作流子模型。

    4.6基于柔性工作流的数据库设计

    SuperFlow系统创建一个工作流实例,系统即在数据库系统中按照节点表及其子表为模版,动态创建一套实例节点表及其子表,具体的创建是通过数据库(如Oracle)系统中由PL/SQL语句编写的存储过程实现的,创建表成功后,存储过程将创建的表名和字段名等信息动态加入到下图所示的实例表数据字典中。实例表数据字典是系统专门建立的一个数据表,由于存放每一条工作流实例在数据库中对应的存放实例节点及其子元素对应的若干数据表的表名和字段名。实例表数据字典实际上是SuperFlow系统对工作流实例进行管理的核心,具体的实现方法是首先根据当前实例的名称,查询实例数据表,然后根据获得的表名和字段名在程序中动态生成SQL语句,通过ADO对象的Execute方法执行动态SQL语句,实现对柔性工作流实例的操作。

    SuperFlow节点数据库UML类图

    五、总体架构

    5.1 技术构架

    基于SuperFlow工作流平台开发的软件系统逻辑上属于多层结构,部署时可分为客户端、应用服务器和数据库服务器。通过清晰的层次结构,使软件系统易于维护和扩展,并保证了部署时的灵活性和可伸缩性。

       从平台本身构架方面,SuperFlow工作流平台分为用户界面层、数据表示层、业务逻辑层、数据访问层、数据存储层(即数据库)。

     

    l        分层的技术架构,更加方便系统的改进

          这样,扩展新的应用、对于系统进行改进等,可以快捷、稳定地进行,更快地满足客户的需要。

    l        分层的技术架构,也使得部署非常灵活

        对于小企业,一台低端服务器,已经满足所有需要。对于中型企业,分开的数据库服务器和WEB应用服务器,可以良好满足需要。对于大型企业,服务器群集,可以根据系统负载,灵活地增加服务器数量,始终保持系统的高性能、高可用性。

    l       分层的技术架构,更加方便实现集成

         集成可以在数据库级、数据库访问层、业务逻辑层、用户界面层等级别实现集成。对于不同企业、不同应用来说,灵活的集成策略,可以有效地降低企业集成的成本,提升集成的成功率。

        SuperFlow工作流控制台,可以让每个用户定义自己需要的菜单和页面显示方式。每个用户可以定义自己的功能菜单。可以完全定义符合自己想法的功能菜单,例如将招聘、邮件处理、工作安排定义在个人的菜单里面。每个企业、每个部门、每个用户,都可以定义显示哪些、不显示哪些、显示的位置、显示的样式等内容。

    5.2 运行模式

    基于SuperFlow工作流平台开发的软件系统的部署方式非常简单,只需要将服务器连接到Internet,同时分支机构通过ADSL、有线宽带或Modem拨号等方式上网即可实现分布式应用。由于平台采用纯BS结构,因此非常容易管理和维护,而且部署和使用成本很低。

     

     

    5.3 应用框架

    使用SuperFlow工作流平台开发应用软件时,可以采用以下标准的协同办公管理框架开发不同行业的应用系统模型。

     

     

    六、平台建模设计

    6.1 定义数据实体

    SuperFlow工作流平台的数据实体定义工具实现数据实体的新增、修改、删除和分组操作,操作结果以数据实体元数据的形式保存在数据库中。数据实体定义工具根据数据实体元数据自动创建和维护数据库中的数据表等数据库对象,实现对数据实体类的定义及扩展。

    SuperFlow工作流平台中的数据实体除定义字段的数据类型、长度等基本属性外,还可以定义级联删除、是否必录等扩展属性。SuperFlow工作流平台扩展了数据实体的基本行为,增加了缓存模式管理、层次结构管理等特性。

     

     

    6.2 设计用户界面

    在完成数据实体定义后,通过SuperFlow工作流平台的界面设计工具可以快速地完成用户界面的设计,将界面元数据的形式存储于数据库,运行时由运行时框架自动加载用户界面。当需要调整用户界面时,只需要使用界面设计工具修改界面元数据,客户端组件不需要进行任何更新,从而使软件系统有更好适应性,能够更好地满足不同用户的个性化需求。

    SuperFlow工作流平台的用户界面分为单表单、主从数据表单界面、多标签数据表单、嵌套表单设计界面等,可以使用表单元件进行任意组合,构建任何复杂的用户界面。

     

    6.3 设计业务流程

    SuperFlow工作流平台集成了工作流引擎,能够通过图形化的方式直观地设计业务流程。只需要拖动所需要的活动到流程图上,再设置活动属性,就可以定义出各种业务流程。

    业务流程以元数据的方式保存在数据库中,运行时由工作流引擎根据元数据的描述驱动业务流程。SuperFlow工作流平台的工作流引擎与业务功能紧密集成,使软件系统能够以流程化的方式来处理各项业务。

     

    6.4 扩展业务逻辑

    SuperFlow工作流平台基于模型驱动架构,通过元数据来描述数据实体、用户界面、和业务流程,通过SuperFlow工作流平台能够完成大部分的业务模块的功能。由于管理软件业务规则的复杂性,业务框架不能完成所有业务的处理过程,因此仍然存在需要通过编程才能完成的业务功能。

    SuperFlow工作流平台提供了全面的扩展性,能够实现对数据实体、用户界面和业务逻辑的扩展。开发管理软件系统时,通过在SuperFlow工作流平台定义数据实体、用户界面、和业务流程,并结合部分编程工作来完成交付用户使用的管理信息系统。

     

     

     

    6.5 配置和发布系统

    SuperFlow工作流平台提供完善的系统配置管理工具,方便应用系统的发布管理。系统发布工具提供DLL动态编译库、创建流程、表单模板数据库,以及项目使用授权工具等功能。通过系统发布工具,可以根据不同行业应用特点对产品进行行业换肤,快速地发布使用不同行业的协同办公系统。

    6.6 运行维护

     

    SuperFlow工作流平台开发的应用软件发布后,主要通过平台提供的二次开发接口对软件系统进行扩展和维护。

    系统维护与扩展的方式主要通过平台提供的webservice二次开发接口、DLL动态链接库组件接口以及工作流引擎提供的后台数据库存储过程、函数等访问接口进行业务逻辑的扩展,对系统进行升级改造。并可通过平台提供的流程建模、组织机构建模、数据表单建模、权限定义等配置管理工具完成系统定义的动态调整。

    七、平台功能设计

    7.1 OA系统基本功能

    7.1.1基本审批功能

    收文录入

    (1)            录入收文或办理事项的相关信息,形成初始案卷,并自动生成相应文号。

    (2)            扫描原始纸件并以电子文件格式(TIFJPG)保存为附件,供办件节点查阅。

    (3)            选择下一个节点的办件人或处室,转发整理好的合格案卷。

    案件办理功能

    (1)            表单填写

    (2)            数据的继承:对于进件时填写过的信息直接继承到承办环节承办表中来

    (3)            对办理意见等文字工作量较大的数据录入提供常用审核意见等摸板定制和输入的功能,以减少数据录入的工作量

    (4)            保存好办理结果,按标准格式打印承办表格

    (5)            查看扫描附件

    领导审批功能

    会审、各级领导审批功能。

    监督功能

    支持转件、签收、暂停等运转功能,包括新到案卷提示、案卷近期提示、逾期警告、项目办理的全程追踪(案卷办理每个结点单独限时设置),并设红黄灯警告信息,对显示超时的案件发出催办通知,并进行分项记录和统计,作为效能考核的依据之一。

    7.1.2辅助审批功能

    审批语处理

    提供审批标准用语定制和编辑的功能,按类别组织审批用语包括个人、全局等。

    流程可视化跟踪

    提供案卷流转的详细信息,包括具体办理人、办理时间、转件时间、办理状态等信息。

    时限处理

    对处于流转状态的流程和流程中各个环节、各处室环节组的办理时限进行监控,依据流程模版规定的办理时限对超期件发出催办通知,对快到期件发出预警通知。

    扫描识别

    针对系统内扫描文件实现文字识别功能,能够将扫描文件转存为电子版文档,对于常规字体的正确识别率控制在99%以上,对于手签字体不做过高要求。

    催办督办

    由部门领导或主管部门对业务件办理情况进行监督,发出督办要求。系统可根据流程的时限要求自动对超期件进行催办,对快到期的件进行办件提醒。

    申请暂停

    办理人员可以发出暂停办件的申请,由主管人员进行审批。审批通过的业务件可以暂停办理。

    申请延时

    办理人员可以发出暂停办件的申请,由主管人员进行审批。审批通过的业务件可以延长办理时限。

    授权代办

    个人可以在外出时将操作权限暂时受予被委托人,由其代办业务,记录操作人信息,以备考查。可随时收回。

    信息滚动提示

    能够自动向相关业务人员发出办件、督办、催办、暂停、消息等滚动信息。此项功能需以局内现有的单点登陆环节为基础,当办件人以其身份登陆后,此项功能就必须从现有的业务办公系统和政务办公系统中提取相应的办件进行提示,并允许办件人在提示界面定制自己的每周工作安排和当日工作安排,便于安排工作进度。

    归档管理

    实现对办结业务件的归档管理功能。归档后的案件不允许改动。

    修改已归档业务案件

    由信息中心或业务处按照规定和领导签字的批文修改已归档业务案件中的数据,修改后要对修改前的数据进行版本保留。

    日志记录与管理

    记录登录用户的各种操作。包括操作内容、操作时间等信息。实现对日志信息的查询检索。

    系统内容上网公布

    对于像会议专报、工作简报等局内网站上有相应公示栏目的内容,可以在政务系统中由相关处室负责,选取不涉秘部分直接提交给网站进行显示,或对现有网站进行相关改造,直接读取政务系统数据库进行显示。

    其他辅助功能

    按某需求查看排序,操作功能排序。

    帮助网页

    实现对相应政务系统使用说明的检索,为审批操作提供帮助。

    7.1.3查询统计分析功能

    查询功能

    实现多种条件灵活选择的查询功能,查询功能根据处室人员的业务角色和权限设定查询条件和查询范围。

    要求可定制的查询模块,根据不同的业务、不同的表格进行灵活的查询定制。

    查询性能要求:在当前网络情况下,查询响应速度要求在10秒以内(局域网),如果是区处远程查询,响应速度应该在30秒内。

    统计功能

    实现对政务管理的多种统计方式。包括:

    l        公文统计

    l        交办任务统计

    l        建议提案统计

    l        信访统计

    l        综合统计

    7.1.4管理功能

    (1)表格维护:超级管理员能对所有的表格进行修改,系统保存修改记录以备察看;

    (2)系统日志:用户通过系统对数据库的操作需保存为日志,并可调用察看;

    (3)备份恢复:系统可对数据进行备份,并可通过备份数据恢复系统数据,开发方在方案中提供方案并注明恢复时间。

    7.2 OA系统定制功能

    7.2.1工作流的定制、调整、更新(流转、时限、权限等)

    工作流定制工具用于实现业务办理流程的定义工作。把工作流要素(业务类型、角色、表单、权限等)按照一定规则和约定连接在一起,描述一个特定业务流程。与工作流定制的相关功能很多,这里仅列举其中必不可少的常用功能。

    1、流程分类

    系统可以根据业务性质的不同,在业务类型的基础上建立分类,对流程模版进行分类管理。

    2、流程定义

    提供图形化方式定义工作流程的功能,可以按流程节点设置办理角色、业务表单、附加材料、操作权限、办理时限等属性,分配数据资源。

    流程应具备单选路由、多选路由、分支路由、汇合路由,及其他各种不规则的传递关系的控制能力。

    此外,应提供尽可能简单的操作方式,如流程的复制、转存等功能,提高定义效率。

    3、合法性校验

    合法性校验就是对定义完成后的流程的正确性、能否有效工作等进行检查。只有准确无误的流程才能用于实际业务。

    4、流程的版本管理及失效、生效管理

    业务流程具有时效性,随着业务的变化,流程也将发生改变。

    版本管理就是对定义好的流程进行版本化管理,为每个流程建立自己版本编码。当业务流程发生变化时,可直接修改流程,分配版本号,使旧版流程失效,新板流程生效;同时,要保证正在使用旧板流程的业务能够办理完毕,新业务则只能采用新版流程办理。

    5、提供生成流程模板说明文档

    可以生成流程模版说明文档,并以html格式进行存储,方便阅读、查询。

    6、活动组和时限定义

    可以定义活动组,活动组以若干个活动组成,将这些活动一起参与时限计算,活动和组的时限都可灵活定义。

    7.2.2系统内各填写表单,报表定制

    1、业务表格结构定制

    业务复杂多样,各地可以根据实际情况建立或修改包括承办表、通知、批复等在内的各种表格的结构(包括数据项的类型、长度、名称等等)以及定义字段的逻辑关系、继承关系和计算关系等,并实现表格结构变化的版本管理。

    2、输出报表的定制

    用户在定义完业务表格的结构后,可以根据业务表格结构定制包括承办表、通知、批复及其他表格在内的打印报表,并可将报表内容以word方式或网页输出,支持浏览器直接分页打印输出;

    打印的模版只能预览,不能修改其中内容;

    带子表的模版可根据子表的数据显示子表的行数;

    能实现打印报表的版本化:模版变化前办结的案件的调用是用当时的模版,模版变化后办结的案件要调用变化后的模版。

    3、组织机构,人员调整

    用于建立和维护组织机构、角色和人员信息。人员可以在多个部门之间任职、可以有多个角色,并且在系统之内组织机构及人员信息具有唯一性。

    以树型的目录结构定义组织机构,表现各部门、组织单元之间的层次关系。

    可以方便地对部门、角色、人员及其间的关系进行维护。

    基于角色进行权限管理,并可随时根据需要增减用户的操作权限。

    7.2.3数据管理维护

    1、数据迁移工作

    对于已经积累的大量的公文办理和事项管理数据,其中包括大量的扫描图形数据和流程节点数据,这些数据都必须准确无误的在新系统的查询统计功能中加以体现,因此,系统数据的迁移工作将必须以最准确高效的方式完成,必须针对原有系统数据库和现有数据库集群在数据库平台结构、开发环境等多方面的差异,制定完善的数据迁移方案,确保数据迁移过程中的准确性和完整性。

    2、审批常用语字典(习惯用语)

    系统常用审批语字典:系统常用审批语字典是在办理业务中所有人员均可以使用的用语。

    个人常用审批语字典:个人审批用语是业务人员自己建立并维护的审批用语,其他人不能维护和使用。

    3、工作日字典

    工作日字典是节假日、工作时间及每天工作时段的标准数据,用于业务办理时限的计算、考勤等功能。如:流程办理的计时应依据工作日字典进行计算,不能将正常休息时间(如午休)、节假日及其他原因造成的不用计时的时间计算在工作时限内。

    4、超级权限帐号(工具)

    设立系统超级权限管理帐号(工具),针对录入、承办、审批等办理环节中出现的各种办理突发状况进行修改,修改范围涉及整理办理环节中的所有填写字段和系统自动生成字段,并提交数据库保存。

    最新回复(0)