LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

基于Web技术的工作流管理系统设计

admin
2012年4月12日 22:5 本文热度 3088
2012-04-12 10:04:40 中国论文下载中心 陈克玲 陈彦德





文章简介:本文研究了工作流技术和WEB技术在电话网管理系统中的应用,采用了跨平台的JSP技术开发,模块化设计,实现了流程自定义和部门功能自定义,并且支持大型数据库。

随着社会生产的流程化,工作流起着越来越重要的作用。根据工作流管理联盟WfMC(Workflow Management Coalition)的定义,工作流(Workflow)就是自动运作的业务过程部分或整体,表现为参与者对文件、信息或任务按照规程采取行动,并令其在参与者之间传递。本文详细介绍了电话业务系统中工作流管理系统的分析和建模过程。


1 工作流技术概述


工作流的概念产生自传统制造业的生产组织。“流”反映了一种变化以及变化的过程,是一个较为抽象的概念。针对日常工作中一系列具有相对固定顺序的业务流程,把这些流程分解成多个任务、角色,按照一定的规则来执行和监控的任务序列,以达到提高企业经营效率,降低成本,提高管理水平的目的。


不同的研究者和工作流产品的供应商从不同的角度给出了工作流的定义,工作流管理联盟WFMC(成立于1993年8月)为了实现不同的工作流产品的互操作,对工作流的相关概念制定了一系列标准。WFMC给出的工作流定义是:工作流是一类能够完全或者部分自动执行的经营过程,它根据一系列过程规则、文档、信息或任务,能够在不同的执行者之间进行传递与执行。该定义强调了工作流的执行可以“完全自动或者部分自动”,即:工作流反映企业的经营过程,它的执行应该受到计算机系统的支持。同时需要经营过程本身任务间的执行条件、先后顺序、逻辑结构、交互信息、人员角色以及需要使用的应用程序等要素。


工作流中两个最基本的元素是活动和活动之间的连接关系。活动对应于企业经营过程中的任务,主要是反映经营过程中的执行动作或者操作。活动之间的连接关系代表了经营过程的规则和业务流程。一个工作流就是一个用一组连接关系组合起来的一组活动所组成的一个反映企业业务过程的模型。执行活动和活动之间的连接关系说明了如何完成企业的经营过程,包括完成经营过程需要完成哪些任务和采用的步骤。


2 基于WEB工作流的提出及其优点


WEB的成功和普及以及各种相关技术的出现,使许多应用被移植到WEB平台上。自从1995年起,工作流产品供应商和相关的研究人员开始将工作流管理系统转移到WEB平台上。相对于其他的工作流系统(如:基于文件、基于消息等的工作流系统)来说,基于WEB的工作流管理系统具有以下几个优点:


系统维护简单


未来的计算模式,浏览器就是桌面,客户端都是WEB-enabled的。基于WEB的工作流系统中客户端只需要一个浏览器,浏览器通过HTTP协议从WEB服务器下载客户端程序到本地执行,这样大大简化了系统的维护工作。


利用现有的网络设施


只要能访问WEB就能加入系统参与工作。无须在单独投资建立通信支持网络。非常方便分散的成员参与到系统中来。


更好的用户界面


由于WEB浏览器普遍存在的特性使得基于WEB的工作流系统有一个更好的用户界面。WEB浏览器允许用户利用任何流行的计算平台参与工作流过程而无需任何特定的硬件要求。很多不是很熟悉计算机的用户已经习惯于浏览器的简单易用的界面,他们把浏览器当作一种简单可行的工具来参与工作流过程。因此,相比于其他的工作流技术来说,基于WEB的工作流凭借它的浏览器界面接口具有很大的优势。


较好的解决服务器的瓶颈问题


基于WEB的工作流系统可以将服务分散到WEB服务器和各应用服务器,这样可以较好的实现负载均衡和协同开发。


可以充分利用现有的或将来的技术


WEB技术是当前最热门的技术之一,新的技术层出不穷,一些原有的技术也被整合到WEB技术中来。


3 系统分析与总体设计


随着计算机技术的飞速发展,信息化管理已经渗透到各行各业,电信局作为国家通信部门,其信息化成为一种必然的趋势。尤其在Java逐渐成熟成为一种跨平台的开发语言后,用Java开发跨平台的软件系统是首选,再以Struts结构将JSP与Java代码有效的分开,使开发更加方便。还有由于通信业务的特殊性,将工作流技术应用到系统的开发中。这些技术的应用将是一个十分有意义的课题。本文以某电信局的电话业务管理系统为背景。


3.1 系统组织结构


通信要素实行扁平化管理,通信处下设若干个职能部门,主要有8个通信要素,它们是:通信处、市话办、测量台、程控机房、电缆维护队、单机组、查号台、计费中心。其中通信处负责监视所有业务的处理,市话办负责监视与管理所有业务的处理,负责整个工作流程的创建、监视、中断。


3.2系统的功能模块划分


某电信局电话业务管理系统(CSMS)共分为五个功能模块:


电话管理功能模块:该功能模块主要是通过采用工作流自动处理技术,保证了通信管理部门的业务处理终端在各种业务流程的处理过程中能自动地完成工作状态的切换,并且根据各个终端当前的工作状态自动提示相关业务的具体内容,并在用户完成必要的操作输入后自动完成相关设备的配置和资料的整理。根据业务类型的不同,该模块中还包含针对不同业务处理流程的功能子模块。


通信业务资料查询管理功能模块:该模块向各个通信要素提供相关通信设备资料和电话用户资料的管理和查询功能,并且根据每个通信要素的管理权限限制用户管理和查询资料的范围,从而保证用户能够利用本系统安全、方便、有效地完成对各种通信设备资源与电话用户资料的管理。


业务量统计查询功能模块:流量、电话号码使用情况等,并能对每天、周、月、年的工作量进行统计汇总,而且还可以直接计算出这一段时间内处理成功业务的比例,从而为通信管理部门及时掌握业务处理部门的工作情况提供了有效的工具。指挥管理终端可通过调阅各要素表报资料和业务量登记情况来检查各要素值勤情况系统使用说明。


消息通知及语音提示功能模块:为了保证各种电话业务流程能够在工作流周转过程中实现快速有效地处理,系统还提供了消息通知及语音提示功能功能,即在每个业务流程到达处理岗位的同时,弹出消息对话框提示用户及时地进行业务的处理,而且还能够伴随着语音信息的输出,从而保证了值勤人员不管是否在系统终端前进行操作都能够及时地接收到业务消息的通知,保障了业务受理部门能够及时地进行电话业务的处理。


通信值勤监管功能模块:该模块向各个业务处理要素提供了值班日记登记的功能,各个通信要素的值班人员可在交接班的时候利用系统提供的值班日记登记、管理功能填写交接班记录,在值班的过程中填写值班记录。


点击放大图片


图1 系统结构图


采用工作流技术,将以上各个子系统整合到一起,以便将各环节纵横交错的信息有效地集成在一起,使一个环节产生的结果能自动传递到下一个环节,为下一环节所利用,以保证通信部门及时、准确的做出决策,同时,反映到用户操作上,每个用户所有需要完成的工作反映在一个统一的界面中,用户根据轻重缓急有选择的进行业务处理。工作流服务器具有流程监控功能,如果监控系统发现在接近预定时间内任务还没有完成或发现任务已经拖延,可以向有关的业务处理人员发出催办通知,甚至可以通知该部门的主管,要求予以督促。


3.3 工作流状态引擎


由于各个岗位在业务处理的过程中会不断的改变状态,所以系统需要有一种状态通知、调整的机制,来执行实时传递与接收业务流程管理信息以及变换各个岗位在不同业务流程中多个流程实例所处状态的功能并调整对应的操作。


因此,我们专门在系统中设计了“状态引擎”模块来完成以上功能。其中业务流程管理信息的实时传送与接收可以通过网络通信来完成,因此在工作流“状态引擎”中需要设计一个实时通信子模块。为了对工作流状态进行操作,“状态引擎”中需要设计一个状态操作子模块。


某个岗位完成对某个流程实例的操作后,“状态引擎”的状态操作子模块修改本岗位有关状态,然后实时通信子模块发送信息;接收岗位的“状态引擎”的实时通信子模块接收信息,状态操作子模块根据接收的信息来调整本岗位当前的状态并提示用户进行相应操作。


3.4 工作流引擎选择


本工作流系统应用采用Java网站中著名的“Open For Business“开源项目作为工作流引擎,此工作流引擎具有稳定、高效率、占用资源小等特性,并且完全按照WMFC的工作流标准接口开发,后期维护简易,可扩展性好等特点。采用此系统可以方便地对业务流程进行维护,用户只要懂得XPDL(XML过程定义语言)并且熟悉系统对用户和表单的配置,即可根据业务需要自己制定业务流程。


OFBIZ工作流主要用到Xml文件进行定义:


services_ FormName.xml:定义了本应用中用到的service,每一个实现工作流的表单定义一个xml文件,运行一个独立的服务。


controller.xml: OFBIZ ControlServlet的配置文件,我们主要在其中配置request-map, view-map.FormNameXPDL.xml:工作流流程定义文件。


entitymodel_FormName.xml:实体定义文件,每一个表单需要一个定义,在本工作流中关联到一个数据库表。具体需要定义表名和字段名、字段类型和约束条件等。


entitygroup.xml: OFBIZ的entitygroup定义文件,Entity可以分Group,在实体引擎的配置文件中可以为不同的Group指定不同的数据源。


4 工作流模块实现的关键技术


分布式数据库技术是实现工作流的常用方法,也是系统中实现业务工作流运转的基础。我们利用SQLSERVER数据库,在JBUILDER集成开发环境上实现了系统中通信业务的工作流处理,系统中数据库连接采用了JDBC技术,其主要工作包括以下几个方面:


4.1 JSP和Servlet技术


JSP技术能让Web开发员和网页设计员快速地开发容易维护的动态Web主页。 用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。


JSP有2种结构,本系统采用Model2即MVC结构如图2。MVC是模型、视图、控制的缩写,也就是说在使用jsp时,有相应的文件去实现相应的操作通常jsp只负责显示页面。业务逻辑等由javabean去实现。


点击放大图片


图2 MVC结构图


Servlet技术是JSP技术的前身, JSP技术其实就是Servlet技术的一个高层封装。实际上JSP引擎要把JSP标签、JSP页中的Java代码甚至连同静态HTML内容都转换为大块的Java代码。这些代码块被JSP引擎组织到用户看不到的Java Servlet中去,然后Servlet自动把它们编译成Java字节码。这样,当网站的访问者请求一个JSP页时,在他不知道的情况下,一个已经生成的、预编译过的Servlet实际上将完成所有的工作。非常隐蔽而且高效。因为Servlet是编译过的,所以网页中的JSP代码不需要在每次请求该页时被解释一遍。JSP引擎只需在Servlet代码最后被修改后编译一次,然后这个编译过的Servlet就可以被执行了。由于是JSP引擎自动生成并编译Servlet,不用程序员动手编译代码,所以JSP能带给你高效的性能和快速的灵活性。


4.2 数据库连接技术


4.2.1 JDBC技术


JDBC是对各种各样的关系型或对象—关系型数据库进行访问的最主要的API之一,是一个使JAVA程序能与数据库服务器通信的JAVA应用程序接口,它不针对任何特定的数据库。JDBC技术由两大部分组成,一部分是访问数据库的高级接口,即通常所说的JDBC API,包括核心API与扩展API;另一部分是一些由数据库厂家提供的使JAVA程序能够与数据库连接通信的驱动程序,JDBC数据库驱动程序必须针对特定的数据库系统实现JDBC API中定义的方法。使用JDBC API编写访问数据库的JSP程序时,调用的方法实际上是由JDBC数据库驱动程序实现的。JDBC API大部分都是一些JAVA接口,仅仅定义了方法的名字,没有定义方法的实体。高性能的JDBC数据库驱动程序实现了真正接口,在JAVA应用程序与数据库服务器之间搭起了一座桥梁,使得它们之间可以迅捷地交换数据,提供服务或者享受服务。


4.2.2 JDBC数据库连接方式


常用的2种数据库连接方式:JDBC driver和JDBC-ODBC bridge,本系统采用JDBC driver。首先,在服务器上安装driver,大多数数据库都有JDBC driver;然后和数据库建立连接。必须创建一个Connection class的实例,其中包括数据库的信息。


对于一个简单的数据库应用,对数据库的访问不是很频繁。这时可以简单地在需要访问数据库时,就新创建一个连接,用完后就关闭它。但是对于一个复杂的数据库应用,频繁的建立、关闭连接,会极大的减低系统的性能,因此对于连接的使用成了系统性能的瓶颈。


本系统给出的方法可以有效的解决这个问题。在本方法中提出了一个合理、有效的连接管理策略,避免了对于连接的随意、无规则的使用。该策略的核心思想是:连接复用。通过建立一个数据库连接池以及一套连接使用管理策略,使得一个数据库连接可以得到高效、安全的复用,避免了数据库连接频繁建立、关闭的开销。另外,由于对JDBC中的原始连接进行了封装,从而方便了数据库应用对于连接的使用(特别是对于事务处理),提高了开发效率,也正是因为这个封装层的存在,隔离了应用的本身的处理逻辑和具体数据库访问逻辑,使应用本身的复用成为可能。


本系统的数据库连接池包括一个管理类DBConnectionManager,负责提供与多个连接池对象(DBConnectionPool类)之间的接口。每一个连接池对象管理一组JDBC连接对象,每一个连接对象可以被任意数量的Servlet共享。


类DBConnectionPool提供以下功能:


1) 从连接池获取(或创建)可用连接。


2) 把连接返回给连接池。


3) 在系统关闭时释放所有资源,关闭所有连接。


此外, DBConnectionPool类还能够处理无效连接(原来登记为可用的连接,由于某种原因不再可用,如超时,通讯问题),并能够限制连接池中的连接总数不超过某个预定值。


管理类DBConnectionManager用于管理多个连接池对象,它提供以下功能:


1) 装载和注册JDBC驱动程序。


2) 根据在属性文件中定义的属性创建连接池对象。


3) 实现连接池名字与其实例之间的映射。


4) 跟踪客户程序对连接池的引用,保证在最后一个客户程序结束时安全地关闭所有连接池。


5 结束语


本系统研究了基于工作流管理技术的电话业务系统,能够将诸多项工作集成在一起,通过Intranet进行电话业务处理。采用跨平台的JSP技术开发,具有模块化设计、实现工作流程自定义、部门功能自定义、采用SQLServer 2000数据库作为后台支撑。系统具有运行效率高,操作简单、方便、安全性好、可靠性高等特点,并已得到实际应用。


该文章在 2012/4/12 22:05:16 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved