2023年11月30日发(作者:)
电子发烧友 电子技术论坛
WebDAV技术在办公自动化系统中的应用
吕果,朱爱红,付振龙
摘要:本文简要介绍了WebDAV协议,讨论了WebDAV技术的优势,在分析了办公自动化
系统中在线处理OFFICE文档各种处理方法基础上,给出一种利用WebDAV协议的实现方
案。
中图分类号:TP317.1 文献标识码:B
关键词:WebDAV,OA系统,B/S
Abstract: This paper introduces the WebDAV protocol, discussed the advantages of the WebDAV
protocol, an analysis of office automation system on-line documentation OFFICE deal with the
various approaches based on a given use of the WebDAV protocol to achieve the program.
Key words: WebDAV,OA Systems,B/S
引言
随着Web应用领域的不断拓展,Web交互式应用技术已成为Web的一个关键技术。基于
浏览器的办公自动化(Web OA)系统也是OA系统的发展方向。在这种B/S模式中,如何对
各类电子文档进行在线处理,已经成为一个难题。
以前一般采用将文档保存到服务器的某个目录下,用户在使用时首先将文档手工下载到
本地,然后编辑保存,最后还要把编辑好的文档再上传到服务器上去,采用这种方法存在显著
缺点:安全性差,客户端操作复杂。
较好的方法就是将电子文档保存到数据库中,在HTTP协议下利用和ActiveX技
术实现Word文档与浏览器的集成控制,实现在线编辑。这种方法使得文档的控制方便,用户
操作简洁。但是,HTTP 存在一些明显的缺点,从而限制了它作为综合的 Internet 通讯协
议而被采用:它非常适合用于查看的静态文档,但不能提供以足够复杂(以便向客户端提供
丰富的创作功能)的方式来处理文档的方法。
例如,当两个作者在未进行交流的情况下同时对一个文档进行更改时,就会出现更新
丢失的问题。 只有由最后一个作者完成、并将修改后的文档重新上载到服务器的修改才会
保留下来,另一个作者进行的更改将丢失。
基于 HTTP 1.1协议的一种扩展通信协议WebDAV(Web-based Distributed Authoring and
Versioning),提供了一种新的实现办法。WebDAV协议解决了HTTP协议中一个问题:HTTP
无法实现版本和单访问控制。因此这种实现方式与以往在HTTP中的实现方式相比有着显著
的优越性。
1 WebDAV协议
一种基于 HTTP 1.1协议的通信协议。它扩展了HTTP 1.1,在GET、POST、HEAD等
几个HTTP标准方法以外添加了一些新的方法,使应用程序可直接对Web Server直接读写,
并支持写文件锁定(Locking)及解锁(Unlock),还可以支持文件的版本控制。
WebDAV 已与 Windows XP 和 IIS 集成,因此它具有这两者所提供的安全特性。其中
包括 Internet 信息服务管理单元中指定的 IIS 权限和 NTFS 文件系统中的自由选择访问
控制列表 (DACL)。
用 WebDAV 可以完成的工作包括:
特性(元数据)处理。您可以使用 WebDAV 方法 PROPFIND 和 PROPPATCH 创建、
删除和查询有关 Web 页面的信息,例如作者和创建日期。
集合和资源管理。您可以使用 WebDAV 方法 GET、PUT、DELETE 和 MKCOL 创建
文档集合并检索分层结构成员列表(类似于文件系统中的目录列表)。
电子发烧友 电子技术论坛
锁定。您可以使用 WebDAV 禁止多人同时对一个文档进行操作。可以通过 WebDAV 方
法 LOCK 和 UNLOCK 使用互斥锁或共享锁,这将有助于防止出现“丢失更新”(更改被覆
盖)的问题。
名称空间操作。您可以使用 WebDAV 方法 COPY 和 MOVE 让服务器复制和删除
Web 资源。
WebDAV各项特征的设计都与现有的工具相适应,使得将基于WebDAV的远程编程工作
整合到这些特征中变得直接了当。WebDAV的名称隔离操作提供了创建、列出、复制和移
动Web资源的能力,因此就支持“打开文件”和“保存文件”这样的用户接口对话框。对所有
Web资源的锁定避免了对所有类型的Web资源(HTML页、GIF图像、字处理文档和源代
码文本文件)的过量写操作,而且事实上,WebDAV的一个设计原则就是对所有的Web资
源类型都同等对待。WebDAV也通过与资源关联的某个属性的表单来提供对元数据
(metadata)存储与检索的支持。WebDAV中属性的名称是URL,在这里作为一个属性的标
识而非定位符,并且这些属性的值都是排列工整的XML,因而也利用了XML在再现结构
化数据和国际化字符串值上的优势。
2 WebDAV的优势
IETF WebDAV 工作组的目标是,设计一个协议,它提供基于标准的论坛中任何分布式
创作工具需要的功能。 当前的 WebDAV 规范解决协作式创作工具的三个主要问题:
改写保护。使用 WebDAV,可以通过多种方式来锁定资源,以便让其他客户端知道您对
所讨论的资源感兴趣,或者防止其他客户端访问该资源。
资源管理。HTTP 只能直接访问单个资源。 WebDAV 提供一种更有效地组织数据的方
法。 WebDAV 引入了可包含资源 的集合
(类似于文件系统文件夹)概念。 通过 WebDAV
进行的资源管理包括如下功能:创建、移动、复制和删除集合,以及集合中的资源或文件。
文档属性。不同类型的数据具有唯一的属性,这有助于描述数据。 例如,在电子邮件中,
这些属性可能是发件人的姓名和接收邮件的时间。 在协作文档中,这些属性可能是文档原
始作者的姓名和最后一个编辑者的姓名。 因为人们使用的文档类型各不相同,所以可能的
属性类型列表也变得无限大。XML 是 WebDAV 所需的一种可扩展通讯工具。
不同的WebDAV服务器实现提供不同层次上的协议支持,下列的特性是最基本的而且可
以使WebDAV区别于FTP:
http-base:允许HTTP的所有优点。(文件权限,快速转换,http支持,等等)
put:可以上传资源到服务器。
lock:可以设置/取消 连接依赖,long-duration exclusive 和共享锁。
Porperties:可以存储资源的任意元数据。
Namespace manipulations:可以移动文件,拷贝文件,创建目录和列表目录。
这些特性允许开发所有不同类别的有趣应用,包括分布web-page authoring/editing 应用,
版本控制应用,邮件服务器,和分布式日历应用,还有很多。当开发者把WebDAV和“一次
编写,到处运行”的java联合时,编写多处理平台的分布客户端应用变得十分简单了。
3 OFFICE文档在线处理的实现方案
这种方案同样将各类OFFICE文档保存到数据库中,以二进制形式保存,然后综合利用
和WebDAV技术实现OFFICE文档与浏览器的集成控制,实现OFFICE文档的在
线编辑。
电子发烧友 电子技术论坛
系统实现思路如下:
实现的关键:模拟IIS,在中自己实现一个WebDAV的服务器端。显然,这要
求我们需要在底层截获HTTP请求,幸运的是中支持这种技术:HttpHandler。它
可以让我们自己的代码来处理HTTP请求。
因此我们要设计一个的HttpHandler类,来实现IHttpHandler接口,它按照客户端的请求
类型,返回符合WebDAV协议的数据。类需要按照不同的WebDAV请求动作,做不同的处理,
那么怎么来实现这个类呢?这里就要用到一个设计模式:命令模式。
首先要在中做如下配置:
这样我们的WebdavProtocolHandler类就可以来处理WebDAV请求。
WebDAV协议在标准的HTTP协议的基础上,扩展了以下请求动作(verb):
PUT:用于客户端推送二进制文件。
LOCK:用户锁定一个资源,保证资源的单访问。
UNLOCK:解锁一个资源。
OPTIONS:获取服务器可以支持的请求类型。
DELETE:删除服务器文件。
PROPFIND:查询文件属性。
在大多数情况下,我们并不需要一个完整的WebDAV支持,故我们只要对这几个关键动
作几个进行实现即可。
其中关键动作PUT实现代码:
class PutHandler : IVerbHandler
{ #region IVerbHandler 成员
public void Process(ntext context)
{ int docId = umentId(context);
Document doc = GetDocFromInput(t);
ntId = docId;
IWebdavDocumentHandler docSvr = new DefaultWebdavDocumentHandler(); //修改此处代码,
实现不同的数据操作逻辑,可引入工厂模式
调用
MSWord
数据库
浏览器
页
面
WebDAV服务
器
电子发烧友 电子技术论坛
DocContent( ntId , t ); }
private Document GetDocFromInput(quest request )
{ Document doc = new Document();//读取文件的数据
t = new byte[ tLength ];
= tLength;
Stream fileDataStream = tream;
( t , 0, );
tType = tType; return doc; }
#endregion
}
最后我们用WebdavProtocolHandler将各命令处理对象整合到一起,就实现了office文档
的在线编辑。本文重点是实现在线编辑,其他方面并没有仔细研究,如数据项标识的传递策
略,单访问控制等。
4结论
B/S模式是OA系统发展趋势,从信息安全角度考虑,各类电子文档处理只能采取服务
器端保存,客户端在线编辑的方式。WebDAV协议是HTTP的扩展,在文件处理上具有先
天的强大优势,本文给出的利用WebDAV实现OFFICE文档在线编辑的方式,相比现有的
实现方式,有重要的实际意义。
5创新点
本文在讨论了办公自动化系统中在线处理OFFICE文档各种原有处理方法基础上,分析了
WebDAV协议的优势,给出一种利用WebDAV技术的实现方案。
参考文献:
1 崔清华,朱连军; 基于B/S架构的新型办公自动化系统设计,微计算机信息,2007,8-3:
280-282
2 张南平,李 磊;B/S模式下的痕迹保留;计算机应用;2004年12月第24卷
3 纪燕燕, 聂承启;WebDAV及其应用;计算机与现代化; 2007年11期
4 简清明;WebDAV及其在Web群件系统中的应用;安庆师范学院学报;2004年04期
作者简介:吕果,男(1985-),安徽池州人,海军航空工程学院硕士研究生,研究方向:
电子政务,信息作战与信息安全。
,江苏镇江人,海军航空工程学院硕士生导师,副教授,研究方向:1968 -)
朱爱红,女(
军队信息化,信息作战与信息安全。
Biography: Lv Guo (1985 -), male, Anhui, Naval Aviation Engineering College,Master,the
direction of research: E-government, Information operations and information security
Ai-Hong Zhu(1962-), female, Jiangsu ,Naval Aviation Engineering College, Master's
mentor,associate professor, the direction of research: the military information technology,
Information operations and information security


发布评论