法律状态公告日
法律状态信息
法律状态
2012-05-09
授权
授权
2009-11-11
实质审查的生效
实质审查的生效
2009-09-23
公开
公开
技术领域
本发明涉及一种可以进行不受软件平台限制的通用工作流图形化设计和验证工具。
背景技术
在实际的企业信息化工作中,信息系统的工作流可能经常会随着业务流程的变化而改变。如果通过修改每个系统中的程序代码来满足这种不断出现的需求变化,很难做到及时有效,那么提供一种通用的图形化工作流设计工具将会为用户提供很大的方便。但是一般的图形化流程普遍都缺少精确的语义定义,例如UML(Unified Modeling Language)图、普通的流程图等,所以很难根据流程本身进行正确性验证;而传统的形式化模型又非常的晦涩难懂,例如Petri网、自动机等,让普通的用户很难有效地绘制业务流程图。因此,在图形化工作流设计工具中提供相应的流程验证功能也是一件有意义的工作。
发明内容
本发明的目的在于提供一种通用性好、简易实用的对工作流进行图形化设计和验证的通用工作流工具。
本发明的目的是这样实现的:
一种通用工作流图形化设计和验证工具,特征是包括通用工作流体系结构、流程设计和验证方法的体系结构两部份:
1、通用工作流体系结构:通过工作站的通用可视化流程设计器提供的展现层为用户提供方便的流程设计手段,即流程操作、节点操作、传输线操作、放大缩小操作、业务信息操作,然后将设计出的通用工作流保存为简单流程网模式存储的流程设计结果(XML(Extensible Markup Language)格式)的通用文档;进而为每种工作流运行平台开发一个流程适配器,并由流程适配器将设计好的通用工作流导入Domino平台进行运行,得到Domino平台的流程转换结果;最后实际的工作流运行实例产生的信息均保存在工作流运行平台中;
2、流程设计和验证方法的体系结构:流程设计和验证方法的体系结构将可视化流程分为展现层、XML层和数据库层:展现层使用AJAX(AsynchronousJavaScript and XML)+VML(Vector Markup Language)技术,在流程、节点、连接线的操作中提供增删流程、增删节点、增删传输线、拖拽节点、拖拽传输线、复杂结构的展开与折叠、复制与粘贴、对齐和放大缩小这一系列功能,并在环节业务信息操作中为图形化流程的流程环节扩展业务描述信息;XML层为展现层提供了流程环节建立与组合的调用接口,负责将环节控制信息到边控制信息的映射结果转换为以XML文件格式描述的半形式化流程模型,然后对组合的流程进行正确性校验,并进行流程保存;数据库层负责设计流程的持久化,通过XMLtoNotes函数保存流程定义到Lotus数据库中供工作流引擎调用,为XML层提供了持久化服务。
本发明的通用工作流图形化设计和验证工具,让用户通过Web图形界面来方便地设计通用的工作流;进而为可视化流程的流程环节扩展描述信息,并通过环节控制信息到边控制信息的映射对组合的流程进行正确性验证,实现了一种流程正确性验证功能,并且与一般独立的可视化流程设计工具和形式化模型方法相比具有以下优点:
1、本发明的通用性:该工具设计出的工作流不仅仅局限于某一个软件平台,只要开发了一种软件平台的适配器,就可以应用于这种软件平台;
2、本发明的验证方法具有易用性:支持普通用户以简单的方法进行可视化流程的设计;
3、本发明的验证方法具有形式化基础,能够进行流程环节组合的正确性验证。
本发明设计出的工作流不仅仅局限于一种软件平台,只要开发了适配器,就可以应用于多个软件平台;并且该方法具有形式化基础,能够进行流程环节组合的正确性验证。目前这种通用工作流图形化设计和验证工具已经成功应用于Domino平台的协同工作系统。
附图说明
图1是通用工作流体系结构图;
图2是流程设计和验证方法的体系结构图。
具体实施方式
下面结合实施例对本发明作进一步详细说明。
一种通用工作流图形化设计和验证工具,包括通用工作流体系结构、流程设计和验证方法的体系结构两部份:
1、通用工作流体系结构:通过工作站的通用可视化流程设计器提供的展现层为用户提供方便的流程设计手段,即流程操作、节点操作、传输线操作、放大缩小等、业务信息操作,然后将设计出的通用工作流保存为简单流程网模式存储的流程设计结果(XML格式)的通用文档;进而为每种工作流运行平台开发一个流程适配器,并由流程适配器将设计好的通用工作流导入Domino平台进行运行,得到Domino平台的流程转换结果;最后实际的工作流运行实例产生的信息均保存在工作流运行平台中;
2、流程设计和验证方法的体系结构:流程设计和验证方法的体系结构将可视化流程分为展现层、XML层和数据库层:展现层使用AJAX+VML技术,在流程、节点、连接线的操作中提供增删流程、增删节点、增删传输线、拖拽节点、拖拽传输线、复杂结构的展开与折叠、复制与粘贴、对齐和放大缩小这一系列功能,并为图形化流程的流程环节扩展业务描述信息;XML层为展现层提供了流程环节建立与组合的调用接口,负责将环节控制信息到边控制信息的映射结果转换为以XML文件格式描述的半形式化流程模型,然后对组合的流程进行正确性校验,并进行流程保存;数据库层负责设计流程的持久化,通过XMLtoNotes函数保存流程定义到Lotus数据库中供工作流引擎调用,为XML层提供了持久化服务。
在实施本发明的通用工作流图形化设计和验证工具时,主要考虑以下三方面:通用工作流、流程设计功能、流程验证功能,下面分别进行描述。
一、通用工作流:
1、通用工作流的实现方式为:以XML数据格式存储设计后的流程结果,以简单工作流模型的格式保存流程信息;进而以XML文件为桥梁,通过适配器实现通用工作流图形展示层与实际工作流引擎的双向数据交互。
2、为了令本发明工具设计出工作流具有通用性,本发明以XML数据格式存储设计后的流程结果,以简单工作流模型的格式保存流程信息:<Workflow>...</Workflow>(流程);<step>...</step>(节点);<mxCell>...</mxCell>(图形化);<Edge>...</Edge>(流向边);进而以XML文件为桥梁,通过相应的适配器(例如,通过XML转Notes适配器)实现通用工作流图形展示层与实际工作流引擎(例如,Domino的工作流引擎)的双向数据交互。那么,工作流引擎不再与特定的工作流设计工具绑定,只要具备工作流引擎的适配器,就可以获得通用工作流工具的支持。
二、流程设计功能:流程设计器的架构采用MVC(Model-View-Controller)模式。M层对应的是流程定义模型,包括:Workflow(流程)、Step(节点)和Edge(连接线)等对象;V层对应流程元素的展现,包括:WorkRender、stepRender和EdgeRender等对象,这些对象的职责是决定流程展现的样式,也就是在流程图中看到流程的样式;C层即控制层,包括:添加节点、删除节点、更改节点名称、移动、选择等操作。流程设计器的前端采用AJAX+VML开发,后台采用Java开发的,当保存流程时,通过AJAX向Java发送HttpService请求,把流程以XML格式字符流的形式传递给Java程序,由Java来完成流程的持久化,保存流程定义到数据库中。
三、流程验证功能:
1、流程验证功能的关键点为:把可视化流程中的“环节控制信息”转为“边控制信息”。为可视化流程图的单个流程节点赋予处理信息后,整个工作流的总体正确性则可以由每个节点正确性组合而成;再利用系统中预先定义的业务需求语义,即可由系统自动验证流程的正确性。
2、本发明的流程验证功能以简单的流程网为基础,核心为流程环节;进而为流程环节扩展业务信息,按照业务需求为相应的流程环节设置环节控制信息到边控制信息的映射规则;这里,流程验证功能中最关键的一点就是把可视化流程中的“环节控制信息”(例如实际业务中“发文拟稿”环节后至少要经过“领导审核”环节,才能进入“正文盖章”环节)转为“边控制信息”(例如不允许存在一条从“发文拟稿”环节到“正文盖章”环节的边)。为可视化流程图的单个流程节点赋予处理信息后,整个工作流的总体正确性则可以由每个节点正确性组合而成;再利用系统中预先定义的业务需求语义,即可由系统自动验证流程的正确性。
机译: 一种使用普通用户可以设计和修改的技术生成工作流程系统的方法
机译: 基于批次的方法和工具,用于工作流的图形化处理
机译: 基于批处理的图形化工作流方法和工具