- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种基于WSS的公文审批系统的设计和实
2007年6月
第23卷第2期
陕西理工学院
JoumalofShaanxiUniversityofTechnology
June.2oo7
Vol.23No.2
[文章编号]1673—2944(2007)02—0033—05
■■ ■
种基于WSS的公文审批系统的设计和实现
王新房,王福环,
(1 ?西安理工大学自动化与信息工程学院,陕西西安71004
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.1 InfoPath辅助数据源的开发
如图2的InfoPath模板的下拉列表控件显示WSS站点所有用户的 用户名?为了实现该功能,模板
在发布到WSS站点前,下拉列表控件要绑定到一个的辅助数据源. 这个辅助数据源可以是WSS后台
数据库的用户信息表,也可以是一个返回用户信息的Web服务?出于 系统安全等多方面因素的考虑,
InfoPath模板不宜直接连接到WSS的数据库?本系统利用WSS提供 的应用程序接口开发一个Web服
务作为InfoPath模板的辅助数据源?这个Web服务只有一个 UserName函数来返回所有用户的用户名.
收稿日期:2006—11—24
作者简介:王新房(1962 一),男,陕西蒲城人,西安理工大学教授,博士, 主要研究方向为计算机网络jeb服务,智能信息
控制.
陕西理工学院第23卷
图1工作流模型
2.2WSS文档事件
图2InfoPath表单模板界面
目前,WSS版本的文档库的服务器端事件有签人,签出,取?肖签出,插 入,复制,重命名,更新,删除
等?开发一个用户的事件处理类,又叫做事件池,处理这些服务器端事 件,事件发生时,通知它执行相应
的处理?这个事件池用来处理指定文档库的事件?事件池和文档库是 一对多的关系,可以有多个WSS
文档库被指定为同一个事件池的事件产生者?一个文档库仅有一个 事件处理池.这种一对多的关系意
味着所有的对文档库事件处理逻辑必须封装在一个单独的事件池 里.
为了保证工作流的正确流向,事件池处理文档的更新,删除等事件?文 档更新时,通过判断进行更
新操作的用户是否是原文档下步递交给下拉列表的值,如果是,允许 更新并保存;否则,不保存更新痕
迹?删除文档时,首先判断进行删除操作的用户是否是文档的作者,是, 则删除之;否,则不响应需求.
但是,由于事件是异步执行的,文档只有被删除或修改后,事件池才能 被通知执行相应的处理操作.
这时,文件的相关信息已经在后台数据库中被删除或修改,导致文档 不能拒绝非法用户的修改和删除.
为了解决上述问题,本文提供的解决方案
是创建一个文档库的镜像库,如图3所示,用来
存贮文档库所有文档的副本.当在文档库中插
入文件时,事件池对象会把文件复制到镜像文
件库
原创力文档


文档评论(0)