姜 峰,刘伟卓
(1.黑龙江省科学院,哈尔滨 150001;2.黑龙江省科技成果转化中心,哈尔滨 150028)
基于工作流的管理系统关键技术的研究
姜峰1,刘伟卓2
(1.黑龙江省科学院,哈尔滨 150001;2.黑龙江省科技成果转化中心,哈尔滨 150028)
摘要:工作流技术是具体行业相关业务领域的执行流程,主要描述了业务执行过程中各个要素及要素之间的关系,是构建流程应用和办公自动化管理的基础平台,工作流技术可以有效应用于公文流转、行政审批等电子政务系统中,提升政务办公系统的运行效率和竞争力。本文详细介绍了系统设计过程中所应用到的各项技术,包括工作流技术、J2EE技术及MVC开发架构。
关键词:工作流技术;J2EE技术;MVC开发架构
什么是工作流呢?工作流管理联盟WFMC给出了定义:全部或者部分,由计算机支持或自动处理的业务过程。它根据一系列过程规则,文档、信息或任务能够在不同的执行者之间进行传递与执行[1-2]。
所谓基于工作流的管理系统实际属于一个软件系统,需要完成工作流的定义和管理,同时在计算机中预先定义完善的工作流逻辑机制,以此推动整体工作流程应用实例的执行。
工作流管理联盟(WFMC)早在1995年就提出了工作流技术开展的依据参考体系结构模型(Workflow reference model)。工作流参考模型主要功能是标识了软件系统的基本组件和交互接口。通过定义各组件间的交互接口,实现不同业务之间的参数调用。参考模型中的组件主要包含工作流执行服务、工作流引擎、流程定义工具、客户端应用、调用应用、管理监控工具。此外,还包含相对的五个交互接口。可以说工作流参考模型对于后来人们对工作流技术的学习和讨论起到了很大的影响作用。
因为有了工作流参考模型的引用,使得工作流技术在研讨和应用过程中有了一个规范的术语用表。为依托于工作流技术下开发的软件系统提供了有效的参照,同时对工作流管理系统的关键系统软件部件提供了准确的功能描述,定义交互接口,且描述具有较强的个体性,独立于特定产口、特定技术而实现,大大推动了信息流程在交换过程中的标准化,使得不同产品之间相互的业务操作成为可能[3]。
工作流参考模型中,核心组件是工作流执行服务,用来提供流程实例的运行环境,一般情况下,由一个或多个工作流引擎组成,作用是解释分析流程定义、构建流程、管理流程定义,以及创建、管理和执行流程应用实例等。而工作流引擎主要是为流程应用实例的有效开展提供良好的运行环境,并对流程应用实例的软件服务进行解释[4]。
流程定义工具的作用主要是与工作流执行服务间进行交互。通过管理流程定义工具,可以方便用户利用图形化的表示方法把复杂的流程定义加以显示,从而进行相关的操作。
管理监控工具可以有效提高工作流执行的安全性。对工作流在组织机构中使用的相关数据和流程执行的过程进行安全监控,防止非授权操作或误操作的发生。
客户端应用主要作用是通过发出请求与工作流执行服务开展有效的应用交互。其实际目的就是调用工作流执行服务。而工作流引擎组件以任务列表的方式进行规范。客户端应用为了完成一个流程应用实例的执行,会在不同的工作流执行服务间交互作用。
各组件之间的调用需要提供相应的接口信息。以下是对参考模型中各接口含义的解释:
接口1:表示工作流程定义工具与工作流服务之间的接口。主要作用是定义交互的工作流,规范数据的表示格式和API定义。
接口2:表示工作流服务和客户应用程序之间的接口。制定了所有客户端应用和工作流服务之间的调用形式,规范具体访问流程,提供工作流客户端应用对工作流引擎和工作列表的访问途径。
接口3:主要功能是提供不同应用程序和工作流引擎之间的调用接口。
接口4:主要功能是对不同工作流管理系统之间的相互调用操作提供有效的接口信息。
接口5:主要作用是提高工作流程安全性,为管理监控工作流程的执行提供有效的监控管理机制。
电子商务和电子信息技术迅猛发展,广泛应用于当今社会,各行各业都在努力为自己的企业寻找一种低成本、低风险、高效率、高收益率的信息技术产物,以为企业的日常生产经营创造利益。J2EE就是技术发展下的一个很好的平台,它应用其自身的应用组件及运行环境构造了一种可伸缩的企业应用模式,应用更加灵活方便,可变化性、适应性强,从而大大节约了成本。
J2EE是基于Java2平台对企业解决方案中存在的开发、实施和管理等体系结构问题进行简化。此技术的宗旨在于最大程度地降低企业开发者投放市场时间的体系结构,它以Java平台或Java2平台标准版为技术核心,延续了上述两个平台已有的优点,如:“编写一次、随处运行”的特性,方便存取数据库的JDBC API、CORBA技术及能够在Internet应用中保护数据的安全模式等,在此基础之上进行分析,找到不足之处,加以提高[5]。
为了满足低投入、高可靠性、高灵活性、高延展性的特点,J2EE体系结构通过提供中间层集成框架来解决。它提供一个统一的开发平台,以此降低开发多层应用的费用和复杂性,对现有应用程序提供强大支持,并支持Enterprise JavaBeans,有良好的向导支持打包和部署应用,添加目录支持,增强了安全机制,提高了性能。
J2EE使用多层的分布式应用模型,应用逻辑按功能划分为组件,各个应用组件根据它们所在的层分布在不同的机器上,解决两层模式(client/server)的弊端,更加方便了业务逻辑和界面逻辑。
J2EE具有很强的环境适应及变化能力,因为基于此平台的产品都支持本平台的服务,所以公司仅设计一套编码良好、符合J2EE要求的程序,随后在最终部署实施的时候,按照应用环境的需求做出正确的决策。这样一来,当最后一层平台的功能性、伸缩性或可用性不能满足市场需求时,用户可以做出其他选择。如果J2EE应用程序设计良好,能够符合标准,随着时间的推移,可以更换最底层组件、中间件、操作系统或硬件进行改进,而不需要改变复杂的应用程序,大大缩短了时间,提高了效率。
通过结构图可以看出,整体平台分成两部分客户端和服务器端。在客户端的机器上,主要就是浏览器客户端。在服务器端有Web层组件及业务层组件,还有企业信息系统层的具体应用软件。
采用这种结构使程序开发的过程更加方便简单。将业务逻辑都封装成可以重复调用的组件,采用服务器技术将所有组件集成在后台的服务中,这样就减少了在系统开发上所消耗的财力和人力,提高了业务需求在开发过程中的执行效率。
另一个开发工具是JBuilder,它是Borland公司开发的一个功能强大的可视化Java开发工具。它的服务对象是使用Java进行程序开发的程序员。它将Java程序员从烦琐复杂的界面设计和代码录入中解脱出来,快速、高效地建立各种Java应用程序,包括小应用程序、需要与网络数据库连接的应用程序、Web应用程序及企业级分布式应用程序等。JSP开发语言的诞生使动态的Web应用程序与Java程序在与服务器端进行数据交互时更加方便快捷,可以通过Servlet打开整体的界面环境,实现Java Sevlet的重新编译,利用JSP技术可以很好地解决这个问题。
可以说,原Sun公司开发出来的这种JSP语言程序很好地与Java开发环境进行了对接。利用这种方法实现了基于Web页面的应用程序开发方式,提供了丰富的开发资源。对网络应用服务的开发者来说,无疑是一种强有力的支持和推动。
MVC全称Model-View-Controller的缩写,意思是模型/视图/控制器,采用一个三层的结构按照输入、处理、输出流程方式进行分离处理。MVC的模式起源于Smalltalk的软件设计模式,在当今的软件行业市场已经得到了很广泛的应用。这种分层开发的模式优点就是降低了软件在开发过程中的复杂性,通过模型、视图、控制器三个类别来处理软件开发过程中某一层次中所遇到的问题。人们已经把MVC这种架构看成一种典范,采用这种设计结构,更加明确系统开发过程中各部分的主要功能,从而提高开发效率。
模型(Model)模块主要负责数据业务和数据信息的执行处理。其中包括业务数据存储和读取、加工和综合处理等。
视图(View)模块主要是指软件开发过程中对于操作界面的设计,也是用户与数据交互的接口。
控制器(Controller)模块主要负责模型和视图间的操作管理,实现数据流程的控制,完成双向的执行动作。其中一个动作是将用户在界面上的操作过程具体映射到模型上,从而实现数据业务在逻辑层面上的交互。另外一个动作则是将模型模块处理完成的数据快速返回到用户界面进行输出。控制器模块也可以看成是Model和View的中间桥梁。
MVC的开始模型使开发应用程序的结构更加明确,三层模型的架构同时也强化了代码的稳定性。代码可以按照逻辑部分、界面操作部分和应用数据的过程控制进行分隔处理。这种类似于分布式开发程序的过程更加提高了软件的开发效率,按照不同的工作人员化分,视图一般都是前台开发人员来完成的。而模型的定义、业务流程都是由逻辑程序开发人员完成的。控制器是由负责整体数据流控制的软件开发程序员实现的。在软件开发的过程中,一般会采用一种架构,具体针对于不同的应用系统和不同的用户需求,调整模型和视图的变化。这种方法使用代码在编写的过程中更加规范,不易产生混乱。
笔者毕业设计项目的开始也是基于这种MVC的架构,系统在设计开发过程中可以独立进行各模块的设计,加速项目的开发进度。三层结构分别面向系统的表示层、逻辑业务层和数据接口层。政务部门公文流转系统的开发与设计就是其中一项。在逻辑层面上相互分离,同时对编写的代码也具有很好的重用性。
主要介绍了系统在开发过程主要采用的开发平台和技术架构。描述了软件开发过程中工作流技术的应用和相关定义规范。对于J2EE开发平台做了详细的阐述,也论述了本系统在开发过程中所利用到的开发模型MVC架构,充分展现了系统开发的技术可行性。
参考文献:
[1]胡惠明.南昌民营科技电子政务系统的设计与实现[D].昆明:云南大学,2009.
[2]汤晓莉.办公自动化及电子政务理论论析[J].电脑知识与技术,2011,7 (32):122-123.
[3]黄伟斌,朱小远.基于AOP的工作在信息管理系统中的应用[J].计算机与数字工程,2012,40(2):87-89.
[4]吴昊,谭长庚.工作流管理系统及其建模研究[J].现代计算机,2011,20 (2):23-29.
[5]林强东.基于JBPM的工作技术在银行票据交换系统中的应用[J].中国金融电脑,2011,(11) :63-65.
中图分类号:TP315
文献标志码:A
文章编号:1674-8646(2016)10-0035-03
收稿日期:2016-04-26
Research on management system key technologiesbased onworkflow
JIANG Feng1, LIU Wei-zhuo2
(1. Heilongjiang Academy of Sciences, Harbin 150001, China;2. Heilongjiang the Center of Scientific and Technological Achievements, Harbin 150028, China)
Abstract:Workflow technology is theexecution flow of specific industry-related business areas, mainly describes the relationship between the various elements,it is the foundation platformto build process application and office automation management,workflow technology can be effectively applied to e-government system like document transmission,administrative examination and approval,and improve operational efficiency and competitiveness of the government administration system.This paper describes various technologies in the process of system design,including workflow technology, J2EE technology and MVC development framework.
Key words:Workflow technology; J2EE technology; MVC development framework