找论文网 > 计算机论文 > 计算机应用 >

基于Web的工作流管理系统的设计分析(2)

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
  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数据库作为后台支撑。系统具有运行效率高,操作简单、方便、安全性好、可靠性高等特点,并已得到实际应用。
 
 
参考文献
[1] Mohan C.Recent Trendsin Workflow Management Products,Standards, and Research
[2] 邵 雷,李毓伟 . 基于工作流技术和B/S结构的办公自动化系统研究 浙江科技学院学报 2003年第15卷第2期
[3] 栾虹, 胡静,靳云姝. 基于WEB的办公自动化系统设计
[4] 李寿兵,张佑生,刘立华 . 工作流管理技术
[5] 崔永圣. 基于Web的工作流管理系统的设计与实现  ,  2003-5-12
[6] JSP WEB编程指南, 电子工业出版社

共2页: 上一页 [1] 2


一种MPEG-2基本流合成节目流的算法
基于Web Service的交互式工作流管理系统的设计
工商管理 | 工科论文 | 财务管理 | 管理学 | 公共管理 | 财政税收 | 证券金融 | 会计审计 | 计算机 | 法律论文 | 医药学 | 汉语言文学
社会论文 | 工科论文 | 理科论文 | 文化论文 | 艺术论文 | 文学论文 | 哲学论文 | 政治论文 | 英语论文 | 写作指导 | 计算机应用
www.zlunwen.com 找论文网 ® 版权所有 网站地图