2023年11月30日发(作者:)

电子发烧友 电子技术论坛

WebDAV技术在办公自动化系统中的应用

吕果,朱爱红,付振龙

摘要:本文简要介绍了WebDAV协议,讨论了WebDAV技术的优势,在分析了办公自动化

系统中在线处理OFFICE文档各种处理方法基础上,给出一种利用WebDAV协议的实现方

案。

中图分类号:TP317.1 文献标识码:B

关键词:WebDAVOA系统,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: WebDAVOA SystemsB/S

引言

随着Web应用领域的不断拓展,Web交互式应用技术已成为Web的一个关键技术。基于

浏览器的办公自动化(Web OA)系统也是OA系统的发展方向。在这种B/S模式中,如何对

各类电子文档进行在线处理,已经成为一个难题。

以前一般采用将文档保存到服务器的某个目录下,用户在使用时首先将文档手工下载到

本地,然后编辑保存,最后还要把编辑好的文档再上传到服务器上去,采用这种方法存在显著

缺点:安全性差,客户端操作复杂。

较好的方法就是将电子文档保存到数据库中,HTTP协议下利用ActiveX

术实现Word文档与浏览器的集成控制,实现在线编辑。这种方法使得文档的控制方便,用户

操作简洁。但是,HTTP 存在一些明显的缺点,从而限制了它作为综合的 Internet 通讯协

议而被采用:它非常适合用于查看的静态文档,但不能提供以足够复杂(以便向客户端提供

丰富的创作功能)的方式来处理文档的方法。

例如,当两个作者在未进行交流的情况下同时对一个文档进行更改时,就会出现更新

丢失的问题。 只有由最后一个作者完成、并将修改后的文档重新上载到服务器的修改才会

保留下来,另一个作者进行的更改将丢失。

基于 HTTP 1.1协议的一种扩展通信协议WebDAVWeb-based Distributed Authoring and

Versioning提供了一种新的实现办法。WebDAV协议解决了HTTP协议中一个问题:HTTP

无法实现版本和单访问控制。因此这种实现方式与以往在HTTP中的实现方式相比有着显著

的优越性。

1 WebDAV协议

一种基于 HTTP 1.1协议的通信协议。它扩展了HTTP 1.1,在GETPOSTHEAD

几个HTTP标准方法以外添加了一些新的方法,使应用程序可直接对Web Server直接读写,

并支持写文件锁定(Locking)及解锁(Unlock),还可以支持文件的版本控制。

WebDAV 已与 Windows XP IIS 集成,因此它具有这两者所提供的安全特性。其中

包括 Internet 信息服务管理单元中指定的 IIS 权限和 NTFS 文件系统中的自由选择访问

控制列表 (DACL)

WebDAV 可以完成的工作包括:

特性(元数据)处理。您可以使用 WebDAV 方法 PROPFIND PROPPATCH 创建、

删除和查询有关 Web 页面的信息,例如作者和创建日期。

集合和资源管理。您可以使用 WebDAV 方法 GETPUTDELETE 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架构的新型办公自动化系统设计,微计算机信息,20078-3

280-282

2 张南平,李 磊;B/S模式下的痕迹保留;计算机应用;200412月第24

3 纪燕燕, 聂承启;WebDAV及其应用;计算机与现代化; 200711

4 简清明;WebDAV及其在Web群件系统中的应用;安庆师范学院学报;200404

作者简介:吕果,男(1985-,安徽池州人,海军航空工程学院硕士研究生,研究方向:

电子政务,信息作战与信息安全。

,江苏镇江人,海军航空工程学院硕士生导师,副教授,研究方向:1968 -

朱爱红,女(

军队信息化,信息作战与信息安全。

Biography: Lv Guo (1985 -), male, Anhui, Naval Aviation Engineering CollegeMasterthe

direction of research: E-government, Information operations and information security

Ai-Hong Zhu1962-, female, Jiangsu Naval Aviation Engineering College Master's

mentorassociate professor, the direction of research: the military information technology,

Information operations and information security