一种基于WebServices的文档协作编辑系统的开发

(整期优先)网络出版时间:2017-12-22
/ 1

一种基于WebServices的文档协作编辑系统的开发

郭德孺

(广东电网有限责任公司惠州供电局516000)

摘要:现今,OfficeWord文档已成为文档编辑的主流形式。然而,在跨专业、部门以及需多人合作的文档编辑任务中,主要以串行方式进行,存在耗时长、效率低、协作性差的问题。本文介绍一种基于WEB的文档协作编辑系统,系统能够支持任意范围内的工作组进行文档的协同编辑和发布,提高文档编辑管理效能。

1背景和意义

工作中充斥着各中月报、总结、汇报、专题、申报书等文档工作,尤其随机构、专业细化,文档极少由单人完成,而是需同部门或跨部门多人协作。目前的编制方式,一是串行操作,即一人完成所属部分后交下一个同事编辑。二是通过OA发送文档,多人并行编辑,虽效率有所提高,但汇总时需完成材料核对、内容合并及格式调整等工作。两种方式存在耗时长、效率低、协作性差的缺点,特别是应急响应、事故处理等情景,需短时完成多个、十多项的信息汇总,缺点被放大化。

现有的OA对文档分工协作的机制支持不足。而市面上的协作软件,如SkyDrive、GoogleDocs、有道云、一起写等,也未能满足本地应用需求。表现为:大多采用独占式文档维护方式,其他用户需要等待;或是虽可多用户同时编辑,但无法自动合并不同章节,需另外核对;数据存放外网后台,显然对包含内部数据的电网文档编辑工作而言不合适。

针对上述不足,亟需开发独立协同编辑系统,支持任意范围内的工作组进行文档的协同编辑和发布,提高文档编辑管理效能。

2技术原理

2.1CSCW

CSCW,(计算机支持的协同工作,ComputerSupportedCooperativeWork),指某群体中的人们,在计算机的帮助下,执行某项共同的任务,并为他们提供一个共享环境的界面。其关键技术有CSCW的系统结构、冲突与协调、公用语言、人与人的交互界面等四个方面。

2.2HTML

HTML,(超文本置标语言,HypertextMarkupLanguage),在文档编辑领域,存在如下不足:第一,无法表达层次链接关系,缺少对连贯一致的超文本结构的支持;第二,WEB文档对全局结构的WEB文档的组织和浏览的支持较差,导致使用者难以清楚把握文档全局信息,阅览效率较低;第三,WEB屏蔽了不同HTML文档节点位置信息,也屏蔽了HTML文档节点上语义上的区别,使用者难以分辨HTML文档在逻辑和语义差别。

2.3WebServices技术

WebServices是一种新的web应用程序分支,他们是自包含、自描述、模块化的应用,可以发布、定位、通过web调用。WebServices在封装、继承、开放性方面具有众多优点:封装性良好,对使用者,仅关注服务描述和接口调用信息;集成能力高,WebServices采取标准Web协议描述组件和协作方式,支持包括CORBA、EJB等软件平台;开放性:WebServices可运行于Windows、Linux等平台,它具有语言和平台无关性,并支持多种组件标准和通讯协议。

3技术关键点

3.1软件开发及集成环境:系统总体采用B/S架构,C#4.0高级程序设计语言,采用面向对象开发主体功能;采用.NET开发,后端使用C#4.0进行开发,前端采用HTML,Javascript,css进行开发;使用内置Sharding功能的mongodb数据库。

3.2软件主题结构:采用MVC模式,主要根据功能划分成M(实体层),V(视图层),C(控制层)。其中M(实体层)定义了软件中各个实体信息;V(视图层)用于展示数据;C(控制层)用于处理业务,控制访问流程。

3.3用户权限管理方式实现:采用.NET自带的Authenticate模块实现权限管理。

3.4WEB文档编辑方式实现:后端结合wordplungin(word插件)实现word格式文档的生成。

3.5文档操作的并发控制:多人同时编辑访问时会引起冲突,导致文档数据的不一致性,对另一用户编辑或文档整体编辑产生不合理影响,软件采用文档大纲路径锁定的方式控制多用户同编辑数据异步的问题,采用随机数解决多用户同保存编辑数据的问题。程序上,通过在后端使用乐观锁(OptimisticLock)方式对文档进行加锁,防止文档统一部分被多人修改。

3.6交互页面实现方式:前端采用Bootstrap,Jquery等完成前端展示,开发响应式布局特性的页面。

4、协同编辑方式

1、登录:通过浏览器登陆,服务端通过Authenticate模块对用户进行身份认证。

5、文档存储与输出:后台通过Authenticate模块对操作进行权限校验,然后再通过wordplungin,dbplungin对文档进行处理和进行数据存储;系统支持PDF和WORD两种格式的输出。

5结语

本文介绍了一种基于WebServices的文档协同编辑软件,实现了:编辑任务可定制;编辑过程实时协作;多用户管理,子任务分发;在线编辑或导入功能;内容自动合并汇总输出等功能。满足了文档编辑、协作工作中的具体需要,可显著提高文档编辑的效率。