工作流与图形系统(北京用友软件工程)

  工作流就是几个紧密相关的连贯的工作过程的执行。在此过程中,文档、任务或其他信息按一定的规则在用户中间进行传递。

  完整的工作流管理系统应包括工作流定义、后台引擎、系统管理及任务分配、流程监控等功能。

  Visual Graph图形系统可以很方便地开发工作流定义模块,它不仅支持一般工作流软件常用的画图功能,如拖入节点,节点连接、定义属性等。而且还有大量一般软件所没有的功能,使得开发出来的工作流系统令人耳目一新!

  首先,每个节点可以添加特殊图形标记,用来动态地反映当前流程设计的信息,鼠标移动到节点上方可以显示任意自定义的提示窗口(例如带图形效果的文字、动画文字、半透明窗体、不规则窗体等),节点之间的连线可以实现动态流向,连线上可以自定义任何文字标签,线条可以自定义任何箭头,鼠标移入或者移出图形可以出现各种动态效果。代表节点的图形是矢量图形,而很多工作流软件却使用图片,这样缩小或放大后很容易失真,影响美观。有时候需要特殊的连接线,Visual Graph甚至允许程序员自行设计连接线,而不用系统自带的。

  Visual Graph内置的脚本语言正好能够开发各种节点类型,例如:人工节点、自动节点、路由节点、子流程等;支持任务的与、或输出以及输入输出条件定义,支持流程与业务数据的交互。

  由于Visual Graph图形系统只有400多k,特别适合在web上作为工作流监控引擎,通过asp.net或者java都可以访问后台服务程序。

  2005年8月,北京用友软件工程有限公司在实施河北网通管理软件项目时,需要工作流功能,当时公司内有多种声音,有人主张自主开发,有人主张购买国外一种专门制作工作流的著名控件,自主开发已经来不及,而且市场上当时工作流引擎也多如牛毛,因此决定还是选择一种合适 的第三方控件来实现。但在试用国外产品时,渐渐发现其功能无法完全满足自己。后来,通过试用Visual Graph,觉得该软件不仅能够满足自己的基本功能需求,而且由于内置图形脚本语言,所以扩充余地很大,即使有十分特殊的需求,它都能够满足。Visual Graph 不是专
门的工作流引擎,但是它内部包含的对图形拓扑关系的支持、任意图形的制作能力、完善的脚本语言体系,使得程序员可以定制自己的专用工作流平台。比较适合用友公司程序员长期使用,当然如果一家公司没有精力二次开发的话,使用 Visual Graph会感觉需要做的工作比一般工作流控件要多。另外,如果需求固定、简单,就发挥不出Visual Graph灵活性带来的优点了,Visual Graph适合开发可变性较大、未来需求不确定的应用场合。