一种基于WSS的公文审批系统的设计和实现.doc

一种基于WSS的公文审批系统的设计和实现.doc

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一种基于WSS的公文审批系统的设计和实现

一种基于WSS的公文审批系统的设计和实现 2007年6月 第23卷第2期 陕西理工学院 JournalofShaanxiUniversityofTechnology June.2oo7 Vo1.23No.2 [文章编号]1673—2944(2007)02—0033—05 一 种基于WSS的公文审批系统的设计和实现 王新房,王福环, (1.西安理工大学自动化与信息工程学院,陕西西安710048: 2.西安理工大学计算机科学与工程学院,陕西西安710048) [摘要]利用WSS的可扩展性和它提供的服务器端对象模型以及它与InfoPath完全集成 的特性,设计实现了一个公文审批系统,判断文档库的服务器端事件类型,异步处理文档库的 插入,删除和更新事件,确保只有合法的用户才能删除,更新文档,保证工作流的正确流向.系 统实现了基于WSS和InfoPath的公文审批工作流模型,提供一种开发工作流的思想方法. [关键词]WSS;WSS事件;事件池;全局程序集缓存(GAC) [中图分类号]TP311.52[文献标识码]A 随着信息化的发展,各行业对工作流技术和文档协同操作应用的需求变得越来越普遍.很多文献 对工作流的理论和模型进行了研究,各大软件公司也推出了相应的开发工作流应用的平台和工具,其中 微软WindowsServer2003中包含的wSS(WindowsSharePointServices)就是为开发工作流应用和文档 协同操作应用设计的,它提供给开发人员很方便的应用程序接口.使用WSS作为开发平台既可以充分 利用WSS提供的功能简化开发过程,节省开发资金,又可以一定程度上保证系统的性能.本文以WSS 作为开发平台,集成InfoPath,结合一个具体实例,给出一个开发工作流应用的完整过程. 1问题描述 限于篇幅,本文给出一个简化的公文审批流程模型,如图1所示.起草人填写申请,然后提交给领 导A.A如果审批通过则把申请提交给上一级领导B;否则,把申请返还给申请人让他重新修改或删 除.领导B如果审批通过则把公文发送给申请人,通知他申请通过了;否则,返回给下一级领导A,重新 审批. 利用InfoPath制作如图2的公文模板,并将该模板发布为WSS的InfoPath表单库.起草人填写完 申请后要在下一步递交给下拉列表中选择公文的第一个审批人(领导A);领导完成审批后也要在列表 中选择下一个审批人或是起草人,保证工作流的正确流向,驱动工作流的执行. 2解决方案 2.1InfoPath辅助数据源的开发 如图2的InfoPath模板的下拉列表控件显示WSS站点所有用户的用户名.为了实现该功能,模板 在发布到WSS站点前,下拉列表控件要绑定到一个的辅助数据源.这个辅助数据源可以是WSS后台 数据库的用户信息表,也可以是一个返回用户信息的Web服务.出于系统安全等多方面因素的考虑, InfoPath模板不宜直接连接到WSS的数据库.本系统利用WSS提供的应用程序接口开发一个Web服 务作为InfoPath模板的辅助数据源.这个Web服务只有一个UserName函数来返回所有用户的用户名. 收稿日期:2006—11—24 作者简介:王新房(1962一),男,陕西蒲城人,西安理工大学教授,博士,主要研究方向为计算机网络,reb服务,智能信息 控制. 陕西理工学院第23卷 图1工作流模型 2.2WSS文档事件 图2InfoPath表单模板界面 目前,WSS版本的文档库的服务器端事件有签人,签出,取?肖签出,插入,复制,重命名,更新,删除 等.开发一个用户的事件处理类,又叫做事件池,处理这些服务器端事件,事件发生时,通知它执行相应 的处理.这个事件池用来处理指定文档库的事件.事件池和文档库是一对多的关系,可以有多个WSS 文档库被指定为同一个事件池的事件产生者.一个文档库仅有一个事件处理池.这种一对多的关系意 味着所有的对文档库事件处理逻辑必须封装在一个单独的事件池里. 为了保证工作流的正确流向,事件池处理文档的更新,删除等事件.文档更新时,通过判断进行更 新操作的用户是否是原文档下步递交给下拉列表的值,如果是,允许更新并保存;否则,不保存更新痕 迹.删除文档时,首先判断进行删除操作的用户是否是文档的作者,是,则删除之;否,则不响应需求. 但是,由于事件是异步执行的,文档只有被删除或修改后,事件池才能被通知执行相应的处理操作. 这时,文件的相关信息已经在后台数据库中被删除或修改,导致文档不能拒绝非法用户的修改和删除. 为了解决上述问题,本文提供的解决方案 是创建一个文档库的镜像库,如图3所示,用来 存贮文档库所有文档的副本.当在文档库中插 入文件时,事件池对象会把文件复制到镜像文 件库,保持两个文档库的一致性.当一个用户 删除文件时,事件池对象取出用户的身份与

文档评论(0)

zhuwenmeijiale + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:7065136142000003

1亿VIP精品文档

相关文档