利用DominoWorkflow高效开发完整工作流应用

2018-11-26 09:33武学海
电脑知识与技术 2018年24期
关键词:工作流图形化模板

武学海

摘要:电子化办公是提高日常工作和管理效率的重要途径,是信息化发展的趋势,Lotus Domino/Notes在开发办公自动化和电子协作平台方面有较强的优势。工作流,企业内部或企业之间协同工作不可或缺的技术,正是Domino技术的长处所在,Domino提供了各种工作流应用所必需的技术。该文介绍了如何利用Domino上的图形化的、专业的工作流开发工具——Domino Workflow开发一个完整的工作流应用,有了它,可以让工作流的开发工作更加简单,功能更为强大,系统的维护变得非常方便和高效。

关键词:Domino Workflow;工作流;图形化;模板

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2018)24-0010-02

1引言

提高日常工作和管理效率,电子化办公是重要的途径,是信息化发展的趋势。大部分的日常和管理工作的开展都离不开业务规则的约束,都须遵循一定的业务流程。传统方式中,一个工作项目很可能由于各种客观因素的影响延长了业务流程时间;除此之外,面对众多的工作项目,需要审阅的大量文件,管理人员将付出很大的精力跟进各种工作流程。采用电子化方式,规范了业务流程步骤,使管理人员能更加有效地跟进工作进度,督促工作完成。各种工作信息的传递更加快捷、准确,缩短了业务流程时间,实现了科学和规范的管理。

Lotus Domino/Notes在开发办公自动化和电子协作平台方面有较强的优势,目前在用的空管协同办公平台OA即采用该系列工具开发。Lotus在Domino之上推出了一个图形化的、专业的工作流开发工具——Domino Workflow[1],采用图形化方式制定流程,并将业务规则整合其中,这对于开发规范的工作流程:如任务管理、人员请销假、项目合同管理、费用管理等是非常方便和高效的。

2 Domino Workflow的优点

通过Domino Workflow可以极大地提高工作流应用的开发效率。通常实现一个复杂的工作流应用需要一个月甚至更多的时间,而有了Domino Workflow,至少可以节约一半以上的时间[2]。

系统的维护是最终用户和开发人员遇到的比较棘手的问题。系统开发工作完成投入运行后,不可避免地会不断进行修改工作。对于工作流类应用的开发,流程的变动经常会涉及程序的修改。有了Domino Workflow后,业务规则的变化只需要通过图形化的界面用鼠标拖拽即可实现,而人员的变动只需要管理员修改配置文件即可。維护工作可以交给最终用户来做。

Domino Workflow自动实现了对时间的限制,对用户活动的跟踪记录,对文档在生命周期内的权限控制等工作。极大地减少了程序开发的工作量,实现了强大的控制功能。

3 利用Domino Workflow进行工作流的开发

安装好Workflow后,在开发平台Lotus Domino Designer中会增加以LWF开头的应用程序模板,主要有LWF App、LWF Orga、LWF Prodef和LWF DesRep等,我们可以利用这些模板开发我们的应用程序。

经过对各种工作流应用的分析和研究,我们可以发现,工作流应用由三个要素构成:人、信息、流程,即参与工作流的人员、流动的内容和流动规则。根据三个要素的不同特性,用最适宜的方法来实现之,然后将其整合在一起,形成一个有机整体,这就是Domino Workflow设计的一个基本思想[2]。

因此,建立一个完整的基于Workflow的应该程序,需要完成:工作流程的制定、工作流程上的组织、角色和人员权限的划分,工作流程使用的文档的编辑。这些工作主要在Lotus Workflow Architect工具和LWF Orga、LWF App模板上完成。

登录Lotus Workflow Architect后,可以根据需求制定规范的工作流程:将左侧图形栏象征活动开始点和结束点的圆形图标拖入到编辑窗口,绿色矩形框表示流程中涉及的活动,可以在属性页中编辑活动的名称、参与者、活动时限、活动涉及的文档等,用带箭头的连线代表活动的走向,可以用条件判断框代表在满足某一特定条件下活动在有多个后续的时选择哪一个为下一步的活动。复杂的流程,通过拖拉摆放,就能很直观地表现出来,通过编辑图形的属性,就能将业务规则整合到流程中,而背后的具体实现已经由框架给我们搭建完成,并不需要知道复杂的实现细节,大大简化了开发过程,提高了开发效率。

在为活动指定参与者时,也就是该活动对应的文档那些人可以操作,那些人可以阅读,这需利用Workflow安装后提供的LWF Orga模板,创建我们的组织数据库,如Organization.nsf,接着,使用Lotus Notes客户端打开组织库Organization.nsf,根据部门的实际情况来输入具体的数据。

首先需要录入该组织中的每个人员信息,包括用户名、用户邮件等基本信息;然后是组织结构信息:有哪些部门、科室、台站,层次结构如何,管理者是谁、有哪些成员等。在组织数据库中, 还可以定义角色和关系:如定义主任、科长、台站长等角色,将具体的人员包含到这些角色中,如果活动的参与者定义成角色,则当角色里面的人员有变动时,无需对流程进行修改,提高了系统的可维护性。关系类似一个计算公式,如“上一级领导关系”,当定义好该关系后,任意给定一个成员,通过该关系一计算就能知道他的上一级领导是谁。这在流程定义中是非常有用的,一个人员完成某个活动后,可能提交到他的上一级领导审批,这样就可以将审批这个活动的参与者指定为通过关系计算出的人员,因为不同的人员可能上一级审批领导是不一样的,无法具体指定某个人或者角色或者组织。

在定义好组织库后,就可以将组织库中的信息利用到流程的定义中,如为某个活动指定一个具体的人或者某个角色、某个组织、某个关系都可以,还可以明确他们是具有执行权限还是查阅权限。这样就将过程、人员结合在了一起。

人员在过程中操作、查阅的文档信息是在以LWF App模板生成的应用程序中开发的。Lotus提供的这种机制,使得开发人员仅需开发一个过程库、一个组织库,多个应用库就可以满足大部分的需求,在过程库中存储了我们通过Workflow的图形界面开发的多个业务流程、一个部门的组织是比较固定的,因此用一个组织库基本就可以满足我们的需求,而应用是多样的和变化的,如可能有请销假管理方面的应用、有任务管理方面的应用、有项目合同方面的应用,可以开发不同的应用库,来利用过程库中的过程和组织库中的人员、组织信息,因此当一个应用出现问题时,不会影响其他应用的使用,组织人员变动,一般仅需修改组织库,不需要对诸多应用做改动或大的调整,整个系统的维护是非常方便和高效的。

在Lotus Domino Designer中用LWF App模板生成我们的应用程序后,就可以定義业务流程中涉及的各种文档,以请销假应用为例,就可以在请销假应用库中定义我们的请假单,制定有哪些需要填写的内容,如休假类别、日期等,定制该请假单在网页上的呈现方式等,根据用户需求来完成。该请假单上具有哪些操作,应用模板已经帮我们生成,如:工作提交、挂起、延期或者重新指派其他人员完成该工作等,非常方便,我们还可以根据实际需求适当做点修改,如网页上操作的外观显示、去掉不必要的操作等,只有较小的工作量就可以定制成我们需要的方式,Workflow的高集成化提供了大量的便利。

以上工作完成后,就可以将应用在架设的Domino服务器上运行起来,任何一个需要请假的人员登录系统后,打开请假单,填写内容,点击提交,就完成了一个请假单的申请,服务器后台会根据流程的设计自动提交到需要审批人员待办工作里,当审批人员登录后就可以看到该请假单,根据实际情况,同意还是不同意此申请,程序会根据审批情况继续将工作流转到下一个环节,申请人员可以随时通过流图查看到该请假单已经走到哪一个步骤,非常直观。如图1所示,一个走完了请销假流程的工作,矩形框白色表示已经完成的活动。

4 结论

Domino Workflow是 Lotus Notes 数据库和 Windows 程序的集合,是专业的工作流开发与管理工具。

Domino的应用以工作流应用为最难,而工作流应用的难点又在于流程的实现和维护[2]。Domino Workflow通过对工作流应用的深入剖析,建立了工作流应用的科学体系结构,并提供了工作流应用所需的各种增强功能,如路由选择控制、时间控制、流程监控等等。通过Domino Workflow,可以极大地简化工作流应用的开发工作。

利用Domino Workflow我们已经实现了除请销假、任务、项目合同管理之外的目前一些工作中经常涉及的工作流程,给大家的工作带来了极大的便利,维护工作的开展也较为容易,Domino Workflow将在以后的工作流开发中继续扮演重要的角色。

参考文献:

[1] 莲花软件有限公司. Domino Workflow实用教程[EB/OL].http://www.lotusfan.com,2010.

[2] 武坤等.中文Lotus Domino/Notes R7应用教程[M].北京:机械工业出版社,2007.

【通联编辑:光文玲】

猜你喜欢
工作流图形化模板
LKJ自动化测试系统图形化技术研究
工作流在电力生产管理信息系统中的设计和应用
铝模板在高层建筑施工中的应用
运用图形化听写式复习,构建高效地理课堂
城市综改 可推广的模板较少
图形化地区电网无功优化软件开发与应用
图形化仪表控制系统上位机软件的设计与开发