搜索
您的当前位置:首页正文

基于webservices的文档协同管理系统的设计

来源:小奈知识网


学校代码: 10246 学 号: 093053194

硕 士 学 位 论 文

(专 业 学 位)

基于Web services的文档协同管理系统的设计

院 系: 专 业: 姓 名: 指 导 教 师: 完 成 日 期:

软件学院 软件工程 周新刚 戴开宇 2010/9/20

基于Web services的文档协同管理系统的设计 目 录

目 录

摘 要........................................................III ABSTRACT.......................................................IV 第一章 引 言....................................................1

1.1 本文选题背景和意义...................................... 1 1.2 国内外研究现状和发展.................................... 2 1.3 本文的主要内容.......................................... 4 1.4 本文的篇章结构.......................................... 5 第二章 文档协同管理和Web services概述..........................6

2.1 Web services技术 ....................................... 6

2.1.1 Web services的概念 ............................... 6 2.1.2 Web services的体系结构 ........................... 6 2.1.3 Web services相关技术和标准 ....................... 8 2.2 文档协同管理概述....................................... 10

2.2.1 CSCW............................................. 10 2.2.2 全文检索技术..................................... 11 2.2.3 工作流技术....................................... 12 2.3 Web services在文档协同管理系统中的应用 ................ 13 第三章 文档协同管理系统的需求分析与总体设计....................14

3.1 系统功能目标........................................... 14 3.2 系统需求分析........................................... 15

3.2.1 系统核心功能分析................................. 15 3.2.2 系统核心流程分析................................. 21 3.2.3 系统集成服务的需求............................... 26 3.3 系统总体设计........................................... 27

3.3.1 系统网络拓扑结构部署............................. 27 3.3.2 系统总体结构设计................................. 28 3.3.3 系统数据库设计................................... 31

第四章 文档协同管理系统的详细设计与实现........................34

4.1 系统开发平台与运行环境................................. 34 4.2 系统功能结构........................................... 34

I

基于Web services的文档协同管理系统的设计 目 录

4.3 Web 服务设计........................................... 35 4.4 Web服务与数据库的操作 ................................. 36 4.4 系统功能模块的实现..................................... 38

4.4.1 分布式文档查询的实现............................. 38 4.4.2 新建文档的实现................................... 40 4.5 系统安全性设计......................................... 40

4.5.1 系统内安全控制................................... 41 4.5.2 网络安全控制..................................... 44

第五章 总结与展望..............................................45

5.1 总结................................................... 45 5.2 展望................................................... 46 参考文献.......................................................47 致 谢.........................................................50

II

基于Web services的文档协同管理系统的设计 摘 要

摘 要

文档是制造型企业储存、传递产品数据信息的直接载体,是企业赖以生存的根本。传统的文档管理系统由于系统架构及其实现技术等方面的原因,它们在分布式文档查询、文档业务协同处理、文档多版本有效管理等方面存在缺陷。同时,基于多版本文档的企业知识积累与文档快速查询的实现也给文档管理带来了难题。因此,在市场竞争和客户个性化需求的双重压力下,为了加快产品上市时间,提高其核心竞争力,企业急需要一种文档协同管理系统,它不仅支持多角色参与的跨系统的文档业务协同处理,而且还支持分布式的客户对异构文档的快速查询。

Web services技术的发展为企业实现异地数据信息跨平台的传递、集合和共享提供了技术保证,而工作流使能技术保证了文档业务在规范化、标准化的工作流程支持下的自动执行。

论文根据我国制造企业管理软件系统的特点,对Web services在分布式文档协同管理系统的应用进行了研究,并具体介绍了基于Web services的文档协同管理系统的开发。具体的说,论文的工作和贡献如下:

1.论文首先介绍了课题选题背景和意义,分析了文档管理和Web services应用方面的国内外研究现状及发展趋势,提出了本文的研究内容,明确了基于Web services的文档协同管理系统开发的必要性,并讨论了Web services和文档协同管理方面的知识。

2.论文对文档协同管理系统的功能需求进行具体分析,阐述了系统的功能目标,分析了系统的核心功能和核心流程,并设计了系统的总体逻辑架构和数据库。

3.基于以上分析,论文确定了开发策略,并进一步给出了系统的详细设计和实现。论文分别设计了系统Web服务功能,并以分布式文档查询、新建文档功能模块为例,利用模块化方法设计系统,阐述了系统的详细设计过程。

最后论文对基于Web services的文档协同管理系统进行了总结并提出了展望。将Web services和工作流使能技术应用于文档协同管理系统中,不仅实现了企业对各种文档业务进行跨平台的协同处理,而且满足了异地客户通过Web客户端实现对文档的快速分类查询与搜索,大大提高了工作效率,加快了基于文档的产品数据信息间的共享、交换,为企业提高其核心竞争力提供了基础保障。

关键词 文档,Web Services,协同管理,分布式文档查询,工作流

III

基于Web services的文档协同管理系统的设计 ABSTRACT

ABSTRACT

Document is a direct carrier to save and pass product data, so it is the basic key for enterprise to survival. Since the system architecture and implementation techniques and other reasons, traditional document management system has many shortages, such as distributed document search, document business collaboration, document versions management. At the same, it is difficult for document management to achieve enterprise knowledge accumulation based multi-version and document quick query. Document management has a direct impact on product quality, data accuracy and the overall efficiency of enterprise staff. Therefore, under the dual pressure of market competition and customer personalized demand, enterprise should construct a kind of document collaborative management system to accelerate the time to market and enhance its core competitiveness. The system not only supports multiple roles to involve in a cross-system document collaboration processing, but also supports user to query the distributed document quickly.

Web services technology provides the assurance for enterprise to achieve the remote information transferring, collecting and sharing through cross-platform. Workflow technology ensures document business to be processed automatically by the supporting of standardized work processes.

The thesis analyzed the feature of manufacturing enterprise management software applications, and discussed the use of Web services in document collaborative management system. Specially, the thesis studied the development of Web services-based document collaborative management system. Concretely, the thesis discussed:

1. The thesis introduced the background and significance of the research topics, analyzed the research status of document management and Web services, proposed the study content of the thesis, ensured document collaborative management system based on Web services development, and

IV

基于Web services的文档协同管理系统的设计 ABSTRACT

discussed the architecture principles of Web services and document collaborative management.

2. The thesis analyzed requirements of document collaborative management system, decided the function rule of the system, analyzed the core functions and core business processes in the system, and designed the system outline framework and database.

3. Based the above analysis, the thesis ensured the development rules. The system detail design is researched, including the design of system web service model, as the examples, distributed document query and new document are designed in detail by using modular design method.

Finally the thesis summarized and out looked document collaborative management system based Web services. By using Web services in the document management system, the system can meets the document collaborative processing of enterprise, and it can ensure remote user to query document quickly through Web client. These abilities improve the user’s work efficiency, speed up the sharing and exchanging of product data based on the document, provide the basic protection for enterprise to improve its core competitiveness.

Keywords

Document,Web services,Collaborative Management,

Distribute Document Query,Workflow

V

基于Web services的文档协同管理系统的设计 第一章 引 言

第一章 引 言

文档管理是伴随着我国企业信息化建设的不断推进而快速发展的。它经历了静态文档管理、动态文档管理及面向产品全生命周期的分布式文档管理三个阶段。由于文档是企业立足的根本,是产品数据在产品生命周期各阶段传递过程中的主要载体,所以文档管理是各中小大型企业,特别是制造企业重点关注的关键所在。当前,信息技术的广泛使用导致了企业的信息资源呈现出异构、分布、松散耦合、数量巨大等特点,这使分布式的文档信息资源共享及相互关联的协同工作流程能够高效运转并接受有效监控成为一种主流趋势。

1.1 本文选题背景和意义

文档是制造型企业储存、传递产品数据信息的直接载体,是企业赖以生存的根本。文档管理系统在提高企业的工作效率方面的效果是有目共睹的,因此,这些年一直都是国内外研究的热点。从文档管理方面的技术文献、市场上的专业软件及其企业的实际需求等方面来综合评价,当前企业文档管理存在着以下不足:

1)传统的文档管理系统管理的内容不够,大部分仅管理了图文档。但是,企业的文档内容与格式类型是繁多的,不但有标准规格样式的图文档,也有大量非标准格式的文档信息,而且后者数量巨大。

2)管理信息明显不足,版本控制不够,一般只记录了文件的正式修改,对非正式修改则没有记录,不能反映文件的全生命周期变化过程。

3)驱动文档审批归档的流程缺失,文件的审批是一个需要多部门、甚至跨企业跨地域的多人参与的过程,必须有专业化、标准化的工作流程来支持,需要设计专门的审批流程支持功能。

4)访问控制不合理,权限不明,缺少与状态挂钩的访问控制,导致系统在文档隐私安全存在着泄密隐患。

5)传统文档管理系统一般都是采用集中式的架构来管理文档,缺乏对分布式的支持,不能够满足跨地域企业对文档管理的需要。

6)跨地域的文档工作流的协作、监控和追踪能力较差。文档的共享、传递范围较为狭窄,电子文档共享与传递的范围主要集中在本部门内部或是在本地域。

7)缺乏对于文档的检索手段,不能有效利用跨地域的文档的内容。文档处

1

基于Web services的文档协同管理系统的设计 第一章 引 言

理工作重复性劳动太多,缺乏文档一致性和版本控制的规范和技术手段。

8)没有基于知识的文档库,缺乏归档管理,容易造成文档混杂,降低了管理和使用的效率。不注重对历史文档的积累,文档易丢失。

本文课题来源于江苏某医药机械制造企业的实际需求,该公司近几年公司无论是在硬件设备上、企业业务规模上及信息化推进方面都发展迅速。在信息化建设方面,该公司一直都比较积极,目前为止,公司及其子公司的业务活动基本上实现了计算机化管理。但是,随着公司业务活动不断向其产品供应链延伸,它在文档管理方面面临以下问题:

1)从研发部门内部看,电子文件即存在于公司公共服务器文件目录下,通过光盘备份和共享。这些数据不断在更新、复制和改版,存在很多重复和冗余的数据,更改难以追溯,安全性差,查找困难。在研发部门、生产、质管、采购使用及技术文件时有发生使用或者发给供应商的文件为过期文件,缺乏保证文档版本唯一性的技术手段。

2)图纸的安全问题,没有统一的权限管理机制,导致图文档的权限失控,谁都可以浏览、修改、删除图文档。

3)公司技术部门及其合作伙伴中同时共存多种CAD软件,这些异构文档数据难以实现数据共享。

4)从公司及其合作伙伴实现的供应链来看,由于没有专业软件支持文档信息在供应链中快速传递,所以异地合作伙伴无法与公司实现协同工作,也不能即时进行分布式文档信息查询。

为了解决上述难题,该公司需要一个功能通用的、有效的文档管理工具,能够结合最新的数据库技术、网络技术和计算机编程技术的适合企业的需求、贴切企业的管理习惯、符合ISO9000管理要求的分布式文档管理系统,能够作为一个支持产品设计过程和产品数据管理的集成平台,是企业整个信息化系统的管理工具,可安全方便地管理分布于全企业范围的各种文档和文档产生的过程、变迁历史。能够使企业及其合作伙伴实现供应链内的高效协同工作,并使企业及其合作伙伴的文档管理更加规范,同时采用计算机技术来提升企业管理水平,提高产品设计效率,降低新产品开发成本。

基于企业文档管理面临的难题以及Web services技术的优点,本文构建了基于Web services的文档协同管理系统,以解决上述企业文档管理问题。

1.2 国内外研究现状和发展

文档管理一直都是企业关注的重点,从手工管理到计算机化管理,文档管理

2

基于Web services的文档协同管理系统的设计 第一章 引 言

无论是从管理手段、管理内容、管理系统的体系架构等都经历了快速发展。

从管理手段来说,文档管理由手工作业向计算机管理的转变,是企业信息化建设的结果,也是企业实施知识管理的基础。文档管理经历了集中式管理、分散式管理、分布式管理三个阶段[1],即文档管理从最初的单用户文档管理系统,到后来的多用户文档管理系统,从办公自动化系统中对公文流转管理的集成到专业的文档管理系统,各种各样的文档管理系统相继出现,来满足对文档管理的需求。当前,文档管理系统已被各领域广泛使用,包括电子政务,项目文档管理,建筑工程,水利工程,核工业等[2-4]。

从管理的内容来说,文档管理经历了静态式管理、动态式管理及设计文档管理三个阶段。静态文档管理系统主要是为了管理和控制绘图所产生的电子文件,将工程师从查询文件的费时工作中解脱出来,并提高企业的档案管理水平。目前,市场上比较成熟的电子档案管理系统主要应用在纸质图纸的扫描输入、处理和存储,档案管理体系的建立、工程图档的归档、借阅等静态图档管理的问题[5-7]。动态的文档管理面向设计过程,对文档全生命周期实施有效的管理。通过文档管理、面向文档的过程年、并行任务控制、信息的快速相应、透明的信息访问机制、严密的权限控制,保证共享环境下信息的安全性、一致性[8]。设计信息管理系统以档案管理系统作为起点,增加了面向文档的过程管理之后,进入动态文档管理系统的阶段;随后又在动态文档管理系统中增加以产品结构为核心的构型控制及 其相关技术,演变为设计信息管理系统。

从功能上来看,文档管理系统最重要的功能是[9]:直接操作文档,检索和存储文档,文档交流,文档合作,模式化和自动的文档工作流。当前已经存在大量的研究来将工作流和文档管理结合起来:文献[10]提出了一个形式化的计算机公文流通管理系统:文献[11]针对如何控制文档流程和动态管理系统需求的问题,提出了建立应用工作流技术的文档管理系统的方法。文献[12]提出了基于CORBA的分布式文档工作流管理系统的体系结构,并阐述了文档工作流管理的具体实现。

从系统的体系架构来说,文档管理系统从最初的主机/分时系统、C/S结构、B/S结构到现在的Web分层体系结构。文档管理系统体系结构的转变,不但使系统更加灵活的支持企业对文档的存储、访问等,而且适应了企业数字化、协同化的办公发展趋势。

文档管理系统中的安全控制是文档管理系统的关键部分。一个好的安全控制 机制才能保证文档系统的安全使用[13]。现有安全控制的方法主要是通过分层次的方式来实现的。在系统层次上,通过定义用户和口令来保证登录系统的用户的可靠性;在文档层次上,一般采用访问控制列表的方法[14]和基于角色访问控制(RBAC)

3

基于Web services的文档协同管理系统的设计 第一章 引 言

的方法

[16]

[15]

。ACL的基本思想是使用列表来表示对象和用户之间的访问控制信息

,即通过建立访问控制列表来实现权限控制。RBAC的基本思想是把整个访问

控制过程分成两步[17],访问权限与角色相关联,角色再与用户关联,从而实现了用户与访问权限的逻辑分离。

从国内外研究现状及发展趋势,以及企业当前的信息化建设需求来看,分布式文档管理系统一直是业内研究的热点,这种系统与传统的文档系统相比,具有高兼容性、平台独立性、语言独立性、易扩展、易集成的特点。而Web services技术具有开放的标准、平台的独立性、语言独立性、松耦合性并能穿越防火墙等优点。而且Web services的技术与标准已被计算机业界各类大公司所采用。因此,Web services技术把企业文档管理系统带入了一个全新的阶段,使得人们可以对分散的企业文档资源进行分布式管理,并对文档业务工作流从更深更广的层次进行了研究。基于Web services的分布式文档管理系统能够实现异构异地环境下的文档业务流程的协同处理。同时,Web services便于与其它系统实现无缝集成和功能扩展。因此,基于Web services的分布式文档协同管理系统将成为企业文档管理系统构建的趋势。

1.3 本文的主要内容

论文首先对文档管理的发展与现状进行了综述,然后介绍了江苏某医药机械企业在文档管理方面面临的主要问题,并从多方面分析了企业在文档管理方面面临的不足,阐述了文档版本控制、分布式文档查询及基于工作流的文档归档入库的重要性,决定了基于Web services的文档协同管理系统的定位,即充分利用Web services在分布式文档管理方面的优势,以及企业对分布式文档协同管理的实际需求,构建了基于Web services的文档协同管理系统。论文详细分析了该公司对系统的功能需求,并根据具体的需求,比较了现有各种技术的优劣势,决定了系统所采用的具体技术和系统模式。

基于Web services的文档协同管理系统综合了现有各种管理系统和专业的文档管理系统,以及前人对分布式文档管理系统的研究,在技术选型上综合考虑了性能、开发难度、适用性等多方面的技术,最后决定采用基于Web services的多层架构,探讨和论证了XML和Web services用于文档协同管理系统开发的可行性。数据库管理方面则根据系统的功能需求采用稳定性好、导入数据功能强大的Oracle10g数据库。在功能方面,系统着眼于文档版本控制、分布式文档查询、文档访问控制以及文档归档如何在系统中的实现,以满足企业实现其内部及其与合作伙伴之间的文档信息资源的快速共享与协同工作。论文详细阐述了文档

4

基于Web services的文档协同管理系统的设计 第一章 引 言

分类管理、文档版本管理、分布式文档查询、文档知识库的实现方法。另外还重点分析了系统的集成方式。

1.4 本文的篇章结构

本文共分五章,首先简要介绍了论文的背景情况,引出了本文所作的主要工作内容。然后简要介绍了文档管理系统的发展与现状,以及实施企业当前在文档管理方面的现状和面临的问题。在此基础上,详细分析基于Web services的文档协同管理系统需求,并对系统的实现进行了详细分析。最后分析了系统的特色与不足之处。本文的篇章结构具体安排如下:

第一章介绍了文档管理系统的现状,具体分析了江苏某医药机械企业当前在文档管理方面的现状及存在的问题,决定了基于Web services的文档协同管理系统的开发重点,突出了本文的现实意义。

第二章介绍了Web services理论和技术,这是构建整个Web services的文档协同管理系统的技术基础。

第三章在第二章的基础上,先对基于Web services的文档协同管理系统的定位进行了研究,然后针对江苏某医药机械企业当前需求和长期发展目标,对系统的核心功能和流程进行了详细的分析,论述了该系统的功能需求。

第四章是论文的主要部分。首先阐述了基于Web services的文档协同管理系统的系统结构设计。然后分析了几个主要子系统的开发,如文档分类管理,文档归档发布、文档知识库等,并重点讨论了文档协同管理系统与其它系统的集成和实现。此外还讨论了本系统在企业的应用效果。

第五章对基于Web services的文档协同管理系统与同类系统作比较,列出了本系统的特色,并总结了系统的不足之处,最后指出了系统的进一步发展的要点。

5

基于Web services的文档协同管理系统的设计 第二章 文档协同管理和Web services概述

第二章 文档协同管理和Web services概述

作为一种新的网络服务概念,Web services能够规范应用程序实现在web上的互操作性。利用该服务技术,可以开发一个强健、稳固、可扩充性好的分布式文档协同管理系统。本章首先介绍了Web serivices技术的相关知识,然后概括了文档协同管理系统的相关知识,最后分析该Web services在分布式文档协同管理系统中的应用。

2.1 Web services技术

本节从Web services的概念、体系结构、支撑Web services的相关技术规范和标准几个方面来综合论文Web Services技术相关知识。

2.1.1 Web services的概念

Web services通过标准的XML消息机制在网络中进行存取,描述了一个面向服务的、基于组件的应用体系结构。它借助于开放的标准协议,将处于无序状态各种组织、应用程序、服务及数据链接起来,实现跨平台数据和服务的共享。Web services技术是基于Web services标准的,人们从多个角度对其进行定义:

从技术角度来讲,一个Web services是可以被URI识别的应用软件,其接口和绑定是被XML描述和发现的,同时它也可与其他基于XML消息的应用程序进行交互。

从功能角度的来讲,Web services是一种快速发展起来的新型Web应用程序,具有自包含、自描述以及模块化的显著特点,并能通过Web发布、查找和调用。

当前Web services还没有一个统一的定义,W3C对其进行了如下定义:Web services是由URI标识的软件应用程序,其接口和绑定可以通过XML构件进行定义、描述和发现,Web services支持通过基于因特网协议,使用基于XML的消息和其他软件应用程序直接交互。

2.1.2 Web services的体系结构

Web services定义了一组在Internet环境下能够被调用的相关的商业逻

6

基于Web services的文档协同管理系统的设计 第二章 文档协同管理和Web services概述

辑,以使企业将其各种应用程序的功能以公开的、统一的方式提供给它的合作伙伴。Web services体系结构是面向对象分析与设计(OOAD)的一种合理发展。同时也是面向体系结构、设计、实现与部署而采用的组件化的合理发展,图2.1是Web services的体系结构[18],它有三种基本元素、三个基本操作和两个构件组成。

1.基本元素

从图2.1可以看出,Web services体系结构的三个基本元素如下: 1)Service Provider

Service Provider,服务提供者,既是提供服务的实体,也是容纳被访问服务的平台。他们发布自己的服务,并响应使用自身服务的请求。

对企业来说,Service Provider是服务的所有者,而从整个体系的角度来说,它则是容纳服务的平台。

2)Service Registry

Service Registry,服务注册处,既是服务提供者发布其服务描述的地方,也是服务请求者发现服务并得到保定信息的所在之处。这种绑定包括静态的绑定和动态的绑定。当静态绑定时,由于服务提供者能够将相关的服务描述直接送到服务请求处,所以此时的服务注册处在整体的结构体系中是一个可选的角色。同样,服务请求者也可以从本地文件、FTP站点、Web站点等地方得到服务描述。

3)Service Requester

Service Requester,服务请求者,为 Service Registry查找所需的服务。Service Requester可以是浏览器,由人来控制,也可以是一个没有用户界面的Web应用程序来实现。

对于企业来说,它是一个寻求服务功能的请求者,而对于整个体系来说,它是一个寻找和调用服务的应用程序。

Service RegistryPuFindDescriptionishblService RequesterClientBindServiceService Provider图2.1 Web services的体系结构

2.基本操作

7

基于Web services的文档协同管理系统的设计 第二章 文档协同管理和Web services概述

Web services体系结构包括如下三个基本操作:

1)Publish,即发布操作,通过它的服务描述来实现服务的可访问性,以让服务请求者能够查找到。

2)Find,即查找操作,服务请求者通过它能够搜索到其所需的服务描述。服务请求者使用该操作的阶段是程序设计和运行两个阶段。在程序设计阶段,服务请求者通过它获得服务的接口描述,而在运行阶段,则是利用查找操作来检索服务的绑定和位置信息。

3)Bind,即绑定操作,它使服务请求者能够真正使用服务提供者。通过它,服务请求者能够实现定位、连接和调用Web服务,从而调用或启动与服务的交互。

3.构件

Web services体系中包括两个构件,即Service和Service Description。 Service是一个由服务描述语言描述的接口,是服务描述的实现。它是一个软件模块,部署在由Service Provider提供的可以通过网络访问的平台上。Service的作用就是要被Service Requester调用或者与其进行交互。而且,如果服务的实现中用到了其它的Web服务时,那么Service此时却可以作为请求者。

Service Description包括Service的接口和实现的细节,即包括Service的数据类型、操作、绑定信息和位置。它能够被发布到Service Requester或UDII注册中心。

2.1.3 Web services相关技术和标准

Web services平台需要一套协议来实现分布式应用程序的创建。本节简单介绍Web services的技术和相关标准。Web services的概念性协议栈如图2.2所示[19]。

1.XML

XML,可扩展的标记语言,是一种严格定义的结构化数据。作为Web services平台中表示数据的基本格式,它可以用来定义和描述数据[21]。XML的优越性不仅在于它能表现和描述数据,而更在于它采用文本标记的形式定义各种可交换数据结构,并且可以利用标准的网络协议进行传输。实际上,XML代表了平台中性和进行网络计算的趋势。Web services所依赖的其他协议规范部是以XML为标准来描述和表达的[20]。

2.SOAP

SOAP,简单对象访问协议,它提供了标准的远程过程调用方法来调用Web services。它作为一种消息传递协议,为在不同系统之间实施平台无关的交互定

8

基于Web services的文档协同管理系统的设计 第二章 文档协同管理和Web services概述

BPELService FlowService Discovery、PublicationService DiscriptionUDDIWSDLSOAPHTTP,FTP,email,etc.XML-Based MessagingNetwork

图2.2 Web services概念性协议栈

义了一套基本的元规则和跨平台消息机制。它规定了Web services之间传递消息的规则,并规定了传递消息的格式为XML[20]。SOAP是Web services体系中的服务交互基础架构。

SOAP是基于XML和XML Schema的,SOAP规范由信封、编码和RPC表示三部分组成。信封定义了整体SOAP消息的表示框架,例如表示消息中的内容是什么,发送者是谁,接收者和处理者是谁等。编码规则定义了数据的编码机制,通过它来定义应用程序中需要使用的数据类型,并可用来交换由此而衍生的实例。RPC定义了一个能够表示远程调用和响应的约定,比如,如何实现用HTTP或SMTP协议与SOAP绑定,如何传输过程调用等。这三部分在功能上是相互交叉又彼此独立的[21]。

3.WSDL[19][22]

WSDL,即Web services描述语言,是一个基于XML的,用于描述Web services及其函数、参数和返回值。WSDL能被人和机器阅读。这种阅读特性让新的开发工具可以根据开发者的Web services生成WSDL文档,而且又能导入这种文档,以生成调用相应的Web services代码。这种特性为复杂系统间的集成提供无限的可能。因此,它既是Web services的定义语言,也是Web services接口界面的跨平台描述工具。

依靠WSDL,Web services的交互界面就能被系统自动处理。WSDL文档将服务定义为一个网络端点的集合。在WSDL里,端点及消息的抽象定义与它们具体的网络实现和数据格式绑定是分离的,以方便这些抽象定义被重用。针对一个特

9

基于Web services的文档协同管理系统的设计 第二章 文档协同管理和Web services概述

定端口类型的具体协议和数据格式规范构成一个可重用的绑定。一个端口定义成网络地址和可重用的绑定的联接。端口的集合定义为服务。

4.UDDI[19][23]

UDDI,即通用描述、发现和集成,用于集中存放和查找WSDL描述文件,起着目录服务器的作用。它提供了一种让客户端动态发布和查找Web services的机制。核心组件是UDDI商业注册,使用XML文档来描述企业及其Web services。UDDI规范在XM L和SOAP的基础之上定义了新的一层,方便不同企业可以用相同的方法描述自己所能提供的,并能查询对方所能提供的服务。

5.BPEL[24]

BPEL是基于Web services的商业流程执行语言,用户建模两种类型的流程,可执行业务流程和抽象流程。抽象业务流程是业务协议的抽象,说明了业务双方消息交换的方式,并且没有泄露双方内部的行为。可执行业务流程说明了活动执行顺序、涉及的伙伴、伙伴间的交互信息及错误和例外处理机制。

2.2 文档协同管理概述

文档协同管理能够很好的组织分分散的企业文档的产生、管理文档的存取访问、控制文档的分发、监控文档的流转过程、实施文档分布式的远程快速检索,提高文档的处理和利用能力,实现文档业务流程的自动化、标准化和科学化。因此,文档协同管理系统涉及到的相关理论和技术主要包括计算机支持的协同工作(CSCW)、分布式全文检索、工作流技术。

2.2.1 CSCW

“协同学”基本理论和观点是由德国斯图加特大学理论物理学教授Hermann Haken在上世纪60年代提出的,并在1977年发表的《Snynergetic – An Introduction》一书中正式建立了协同学的理论框架[25]。同时,计算机网络技术的发展,给协同科学的研究和应用提供了强有力的支持。随后,1984美国MIT的Irene Grief和DEC的Paul Cashman在描述有关如何用计算机支持交叉学科的人们共同工作的课题时提出了“计算机支持的协同工作”的概念。1986年,美国ACM在Texas组织了第一次国际CSCW学术会议,正式提出了将计算机科学、通信技术、心理学、认知科学、社会学、组织管理等多个学科综合在一起的新的研究领域—CSCW。

随着计算机技术的迅猛发展,CSCW的研究已成为国内外学者及工业界研究的热点。针对CSCW的系统结构、协商机制、冲突与协调、公用语言、人与人交

10

基于Web services的文档协同管理系统的设计 第二章 文档协同管理和Web services概述

互界面等方面学者们进行了深入细致的研究。当前CSCW的研究主要集中在以下几个方面[25-27]:

1) 群体工作理论 研究群体工作的本质和特点,及提高群体工作绩效的策略、方法。管理学把角色划分、管理机制和有效的协调看成群体工作的三要素,而分布式人工智能则将群体工作系统看成智能体的集合,研究合作和竞争环境下如何协调各智能体的行为,达到全局协同、通信顺畅和知识分布。

2) 协调机制 协调指对个人的工作进行调整和集成,以完成群体目标。它能使人们和谐地共同工作,避免冲突和重复性、破坏性的行为。有关协调机制的研究主要分为两个层次,一是针对协同工作共享对象的协调方法,如并发控制、事务处理、加锁等;另一个是针对协同工作参与人员的协调方法,如发言权限控制、令牌控制、过程管理等。

3) 多用户界面 CSCW系统的界面应具备协同感知的特性。多用户界面是要建立和维持一个公共上下文(common context),允许一个用户的活动能反映在其他用户的屏幕上。这个公共上下文通过共享应用的信息来实现,对共享信息实时地表达和操作是协同多用户界面的主要功能。

4) 应用研究 由于系统问题普遍存在于各种应用领域,因此以CSCW原理为基础,研究如何将它们应用于特定问题域一直是学术界和产业界关心的重点。当前,随着计算机网络技术的发展,CSCW系统的研究和开发正逐渐从早期的支持工作组级的小规模协作向支持跨企业、全球范围的大规模协作方向发展。CSCW的应用领域也从桌面会议、协同编辑、应用共享等扩展到电子商务、敏捷制造、协同产品开发、远程教育和医疗、协作科研项目(地理、物理、数学等)领域。

2.2.2 全文检索技术

当前,发展比较成熟的全文检索技术有两种,即关系数据库中的全文检索功能组件和全文检索引擎工具。

1.关系数据库中的全文检索功能组件

比较典型的有Oracle9.0以上版本中提供的Oracle Text全文检索组件以及Microsoft SQLServer2000以上版本提供的MicrosoftSearch全文检索功能组件。

2.全文检索引擎工具包

全文检索引擎工具包具有较强的扩展性,比较典型的有Apache Jalkarta 的Lucene引擎工具包。Luncene是一个开放源代码的全文检索引擎工具包,但它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎。Lucene全文检索引擎架构的实际应用已经越来越广泛[28]。

这两种成熟的全文检索技术各有优势。基于关系数据库的全文检索功能组件

11

基于Web services的文档协同管理系统的设计 第二章 文档协同管理和Web services概述

的优势在于它实现全文检索的同时,还能够利用关系数据库的完备功能,比如触发器、事务等,但是关系数据库的完备功能将导致它的执行效率低下。而Lucene则缺乏关系数据库的事务支持等功能。

另外,在索引的建立方面,数据库索引的设计不是为全文检索设计,而是针对少数字段信息建立的索引,因此利用数据的索引仅能根据已建立索引字段进行检索,无法实现全文检索[29]。同时数据库的索引也不支持模糊查询。利用数据库索引得到的检索结果不能进行相似度排序,从而不便于对检索得到的相关重要文档的信息提取。相反,Lucene则在上述方面都提供了相应的功能,从而使得基于Lucene的检索具有更强大的功能。

2.2.3 工作流技术

工作流技术[30][31]起源于上世纪80年代初期的生产组织和办公自动化领域,是针对日常工作中具有固定程序的活动而提出的一个概念。工作流技术的目的是通过将工作分解成定义良好的任务、角色、规则和过程来执行并对它们进行监控,以提高工作效率,降低企业生产成本,最终提高企业生产组织管理水平和企业竞争力。

20世纪80年代,File Net和View Star等公司率先开拓了工作流产品市场,他们把图像扫描、复合文档、结构化路由、实例跟踪、关键字索引以及光盘存储等功能结合在一起,形成了一种全过程支持企业某些业务流程的集成化软件,即早期的工作流管理系统。比较典型的产品有File Net在1984年推出的WorkFlow Business System,View Star于1988年推出的View Star。从工作流管理系统相关产品的诞生可以看出,工作流存在的目的就是作为一种面向过程的系统集成技术而出现的,但由于当时计算机发展水平较低,它所集成的功能较为简单。

随着IT技术的发展,在全球化竞争环境下,现代企业的信息资源越来越表现出一种异构、分布、松散耦合的特点。企业组织结构的分布性、企业决策制定的分布性、企业业务活动详尽描述的需求,以及B/S体系结构、分布式处理技术的日益成熟,都说明了集中式信息处理的时代已经远去。而大规模的异构分布式协同执行环境,使得相互关联的任务能够高效运转并接受密切监控已成为一种发展趋势。在这种技术背景下,工作流管理系统也发展到一个层次更深、领域更广的阶段。

目前,在全球范围内,更多更新的及时被集成到工作流管理系统中来,文件管理系统、数据库、电子邮件、移动式计算等都容纳了工作流管理技术。不同的研究者和工作流产品供应商从不同的角度 给出了工作流的定义[32]:

工作流管理联盟给出的定义:工作流是一类能够完全或者部分自动化执行的

12

基于Web services的文档协同管理系统的设计 第二章 文档协同管理和Web services概述

经营过程,它根据一系列过程规则、文档、信息,使任务能够在不同的执行者之间进行传递和执行。

Georgakopoulos给出的定义:工作流是将一组任务组织起来完成某个经营过程。在工作流中定义了任务的触发顺序和触发条件。每个任务可以由一个或多个软件系统完成,也可以由一个或一组人完成,还可以由一个人或多个人与软件系统协作完成。任务的触发顺序和触发条件用来定义并实现任务的触发、任务的同步和信息流的传递。

清华大学教授范玉顺在《工作流管理技术基础》一书中也给出了工作流的定义:工作流是一种反映业务流程的计算机化的模型,是为了在先进计算机环境支持下实现经营过程集成与经营过程自动化而建立的可由工作流管理系统执行的业务模型。

2.3 Web services在文档协同管理系统中的应用

从技术方面看,Web services解决了CORBA和DCOM遇到的问题,例如如何通过防火墙,协议的复杂性,异构平台的集成等。

从分布式文档协同管理系统的实现来看,本系统采用JAVA平台,使用Web services相关技术开发,实现了对系统功能模块的开放与封装。这充分利用了Web services的简单性、跨防火墙、松耦合性、语言独立性、跨平台性等优点。

从构建分布式应用而言,Web services能够响应来自任何支持HTTP、XML、SOAP协议的平台请求,实现异构系统、跨平台系统的集成,并且使系统易于部署。另外,文档的分布式检索是利用Web services的SOAP和WSDL技术来实现的,并使用了Web services目录服务器,减少了客户访问的复杂性。

工作流管理是分布式文档协同管理的核心部分,它是实现企业异构异地文档协同工作的驱动力。Web services技术不受系统架构、地域和技术方案的限制和约束,并快捷、灵活和方便地集成现有网络资源:以工作流的方式对业务流程建模,实现业务流程处理的自动化,是很合理的方式。本系统中的协同工作流是基于Web services的,通过采用AXML作为其过程模型形式化的描述语言,实现对互联网上的Web services资源的有效整合、组织,以完成一定的任务。

因此,基于Web services技术的面向服务架构非常适合于本文所构建的文档协同管理系统。它可以利用Web services来发布其业务应用或需要,提供一种在线的服务模式,而其合作伙伴则可以通过Internet来使用这项在线服务。服务的内部实现细节则被封装在通过SOAP/WSDL传递的信息流中,可以解决公司合作伙伴架构相异的问题以及平台间的信息交换和系统集成应用。

13

基于Web services的文档协同管理系统的设计 第三章 文档协同管理系统的需求分析与总体设计

第三章 文档协同管理系统的需求分析与总体设计

从当前企业文档管理现状来说,在管理内容、系统架构、底层流程支持等方面还存在着很多问题,尤其是没有有效管理文档多版本信息、文档安全访问控制、文档知识库的建立以及分布式智能化查询。这些阻碍了我国制造企业间基于标准化流程的文档信息共享与协同工作。由于不同的功能定位会给系统提出不同的需求,因此在进行具体的系统需求分析之前,必须先分析该系统的功能定位。

3.1 系统功能目标

企业信息化的建设在带动企业快速发展的同时,也为企业带来了很多困扰,最主要的表现在每种企业应用程序都不断地“制造”出海量的产品数据及其相关信息。企业如何管理及有效利用这些数据信息直接决定着企业员工的工作效率、产品的研发周期、产品的准确率,最终严重影响着企业的经济效益。面对这一难题,很多企业,尤其是制造型企业,大都实施了专业的图文档管理信息及其相类似的软件系统。但是从实施效果来看,由于市场上主流的文档管理专业化产品在管理内容上,仅管理比如产品设计图的图文档信息,或者是有标准格式的文档信息,而对非标准格式的文档信息则无能为力。从管理手段上,仅是将企业员工的各种文档信息集中管理在一台计算机上,由于没有标准的工作流程的底层支持,这些文档信息不但无法实现在业务活动过程中共享,而且也不利于企业对已有产品知识信息的积累及沉淀。

针对江苏南京某医药机械公司的需求,及其现有文档管理系统在文档多版本管理、分布式文档查询、文档知识管理等方面的不足,本系统的定位是为该公司提供一个分布式文档协同信息化管理平台,能够汇聚多个系统数据源提供的数据信息,并将它们集中管理在该系统平台上;在底层标准化工作流管理技术的支持下,满足企业对这些异构数据信息的处理;该系统利用web服务方式提供多个应用程序接口,满足分布式的企业合作伙伴对系统的访问与安全操作。同时,本系统在管理内容上扩展了“图文档”的狭隘含义,管理所有与产品数据有关的各种格式的文档信息,在系统架构上,通过构建的底层文档知识库保存的各种知识数据,既方便企业实现专业知识的积累,又通过web分层服务使公司及其处于不同地域的合作伙伴紧密联系在一起,实现基于文档信息共享的协同研发工作。

作为一个信息化、集成化的文档信息共享交流平台,本系统的使用对象可以

14

基于Web services的文档协同管理系统的设计 第三章 文档协同管理系统的需求分析与总体设计

是该公司的任意员工及其上下游合作伙伴,具体如下:

1.该公司的各类合作伙伴以web方式登录本系统,自动完成他们与该公司相互协作的业务活动。

2.该公司的管理人员通过本系统,进行文档信息监控、文档知识查询,方便了解公司有关产品的进度,为其制定或调整工作计划作为主要的信息参考依据并在工作流程的支持下处理公司各类文档归档发布的相关审批操作。同时,通过本系统的协同交流平台,该公司与各合作伙伴实现跨平台的基于文档数据信息的异地异构协同工作。

3.在该公司内部,不同部门的用户通过各自的登录权限,在不同的业务模块上进行操作,并在工作流的支持下,处理相关文档业务活动。该公司的文档数据信息可以在系统内实现交换与共享。

4.系统管理员负责管理系统的正常运行工作,并负责对用户、权限、内容进行全面监控,以保证系统内的数据安全,当系统出现异常时,及时通知系统维护人员。

下面针对本系统的定位,在研究江苏某医药机械公司的主要业务活动的基础上分析该系统的核心功能需求及主要操作流程,然后根据各技术的优势和开发成本以及便利性的权衡,决定该系统采用的具体模式和实现技术。

3.2 系统需求分析

3.2.1 系统核心功能分析

从管理的内容来说,本系统在分类管理了企业异构环境下生成的各种格式(包括标准格式和非标准格式)的海量文档信息的同时,又实现了对企业文档知识的积累,防止因人才流失而带来的知识丢失和断层;从系统集成角度来说,本系统作为一个通用的信息共享集成平台,能够对该公司及其合作伙伴的各类信息化管理系统进行有效地整合与集成,进而实现产品数据在系统间的交换与传递。从当前基于供应链的企业产品协同开发来说,本系统在标准化、专业化的工作流程支持下,能够实现产品文档数据在企业及其合作伙伴间的及时传递,实现信息共享及协同工作。

当前,江苏某医药机械公司已实施了ERP、OA等管理系统,本着物尽其用、降低投资费用的原则,本系统作为分布式文档协同管理系统,在该医药机械公司现有管理系统的基础上,需要提供的主要功能包括:文档分类管理、文档多版本管理、智能化文档查询、文档知识库、文档归档发布管理、权限管理等功能。本节仅对该系统的几个核心功能进行分析。

15

基于Web services的文档协同管理系统的设计 第三章 文档协同管理系统的需求分析与总体设计

1.文档分类管理

文档分类管理是企业实施文档管理系统的重要内容。当前,该医药机械公司由于没有实现文档的分类管理,造成工作人员文档的动态重复使用率低下,而且查找困难,严重影响其工作效率。随着信息化建设在该公司的进一步完善,该公司面临的文档遍布产品的整个生命周期过程。从文档信息产生的环境角度,在产品的整个生命过程中,主要包括六种类型:

1.图文档。图文档是由设计部门使用各种CAD系统所产生的产品数据信息。图文档信息是描述产品几何图形的文件,具有标准的格式。其格式是由具体的CAD系统来决定的。

2.数据文件。数据文件是指为了优化产品零部件的设计,企业相关人员需要对其进行各种有限元分析、机构运动模拟、实验测试等业务活动,伴随着这些业务活动而产生的数据信息。

3.文本文件。是指用来描述产品或零部件性能的文件。

4.表格文件。是指用来描述产品或零部件的产品定义信息和结构关联信息。其中,产品定义信息包括基本属性和特征参数;结构关联信息描述了零件、部件、产品之间的关联信息。

5.多媒体文件。是用来描述产品及产品各部位的真实形象。

6.订单类文件。订单类文件是企业进行业务活动的主要依据,因此是一种重要的企业文档信息。它贯穿于企业供应链的上下端,既包括与供应链上端的供应商与下端的分销商之间的各种合作文档,也包括供应链末端的客户反馈文档。

从文档信息所反映的学科领域来说,文档信息包含机械、控制、电子、材料、热力、液压、光、计算机、通信等学科的信息,这些信息的最终体现为众多的异质、异构文档。对于这些不同类型的文件格式,如何有效地统一组织管理,是快速实现文档版本控制、分布式文档查询、文档知识管理的基础。

针对传统的文档管理系统不能很好的实现文档的分类管理,本系统通过产品结构树进行分类管理,实现对企业大量文件、资料的规范管理。

从公司对文档分类管理功能需求及实施目的可以看出,文档分类管理应包括文档类型管理和文档分类管理两个模块。其中文档分类管理可以按照公司所需管理的文档类型,由企业自行设定便于管理的分类管理模块,图3.1显示的是该公司按照上述六种文档类型进行分类管理,如图文档管理、数据文件管理、订单类管理等。为了便于文档进一步的细分管理,文档管理采用树状的组织模型,即在一级分类管理的基础上,还可以根据企业所需要的管理文档粒度,再进行适当的细分,如图文档管理包括设计图文档、仿真文档,而设计图文档还可以进一步根据具体的生成软件再次细分,如设计图文档包括二维CAD图文档、三维CAD图文

16

基于Web services的文档协同管理系统的设计 第三章 文档协同管理系统的需求分析与总体设计

档。三维CAD图文档又细分为Solidworks文档、Pro/E文档、UG文档等。

文档分类管理表格文件管理数据文件管理文本文件管理工艺图文档三维CAD图文档管理多媒体文件管理订单文件管理设计文档仿真文档总装图二维CADSolidworksPro/E图文档图文档UG图文档

图3.1 基于文档类型的文档分类管理功能结构图

2.文档多版本管理

产品的研发过程是一个反复迭代、多学科相互交叉的复杂过程。整个产品研发过程实际上是基于客户需求的信息流、物质流和能量流的生成、转化和传递的过程,其中信息流是最活跃的,它在整个产品研发过程中将处于不断聚合和裂变的动态变化中,这导致了同一个文档具有多个版本的事实。

在对文档多版本管理方面,该背景企业也面临着如同其它制造型企业一样的问题:

1.不能有效控制版本的一致性问题。由于同一个文件会出现多个版本,因此当新版本文档创建或变更发发布前,相关工作人员无法定位该文件其它旧版本,无法确定是报废还是回收,这将直接导致在产品的研发过程中,有一部分人员使用新版本的文档信息,而另外一部分用户却依然在使用旧版本文档。这不但会造成信息使用的不一致,导致文档信息在产品研发过程中的共享失败,同时,企业

17

基于Web services的文档协同管理系统的设计 第三章 文档协同管理系统的需求分析与总体设计

也无法完整保留同一文档的各种版本,导致追溯产品演变历史困难。

2.文档版本信息统计困难。随着产品研发过程的逐渐推进,文档版本信息不断被更新,如何有效的管理与统计各版本之间存在的差异或者变更内容,如何有效地把文档版本的变化信息通知相关部门、用户,这些都是现有文档版本管理的缺口。

3.文档版本粒度划分不清。在产品研发过程中,文档版本不断更新,但由于这些版本有些是静态更新,有些是动态更新。所谓静态更新,就是没有经过文档变更审批流程的文档版本更新。而动态更新是指经过企业业务流程的审批而产生的文档版本更新。这两种更新方式是有区别的,且对企业的意义是不同的。如何有效区分他们的不同,关键在于文档版本粒度的划分。但是,传统的文档管理系统没有涉及到这方面的内容。

基于企业业务需求,该公司对文档多版本管理的功能需求如图3.2所示,包括文档版本信息管理、文档版本控制管理。其中文档版本信息管理主要包括版本的标识信息、版本的基本信息、版本的状态信息、版本的有效条件信息以及版本的存储信息等。由于文档新版本的生成可能还存在继承、引用其它版本的情况,因此还应包括继承或引用版本的版本号。文档版本控制管理包括文档版本的操作主要包括版本的建立、修改、版本的追踪以及版本的删除等。

文档多版本管理文档版本信息管理文档版本控制管理版本标识版本基本信息版本的状态信息版本的有效条件版本的存储信息版本的继承信息版本的引用信息版本的引用信息版本的引用信息版本的引用信息版本的引用信息 图3.2 文档多版本管理功能结构图

3.文档归档发布

18

基于Web services的文档协同管理系统的设计 第三章 文档协同管理系统的需求分析与总体设计

虽然企业拥有数量巨大、格式繁多的文档数据信息,但这些信息由于其所处状态不同,而需要有不同的管理方式及访问权限。从文档状态的角度来说,实施企业的文档分为新建、未提交、待审批、已发布、归档五个状态。这五个状态的变迁是由文档工作流程来驱动的。在状态变迁过程中,不同状态的文档应有不同的用户群,以保护企业的知识泄密及文档数据的准确性、完整性、一致性。

为了满足企业的需求,本系统中的文档归档发布功能应满足以下条件: (1)新建文档的管理

一般来说,任何用户都有新建文档的权限。并且文档的发布者系统默认为是文档的创建用户。文档创建完毕后,当选择保存时,该文档就成为未提交文档,当选择提交文档时,该文档则成为待审批文档。

(2)未提交文档的管理

未提交状态的文档由于没有启动流程模板,所以仍创建用户仍能够独自对其进行修改、提交或是删除操作。当用户选择提交该文档时,文档变成待审批文档。

(3)待审批文档的管理

文档被提交后,由于它处于审批流程中,文档提交者只能对其进行查看操作,而不能再做其他修改操作。如果文档顺利通过审批,则它成为已发布生效的文档。如果没有被顺利通过审批,则文档将被自动退还给文档发布者。

(4)已发布文档的管理 (5)版本升版

具有文档版本升版的权限用户可以对一个已发布生效的文档进行升版,当新版本文档经过审批,原已发布的文档成为已归档文档。

(6)已归档文档的管理

归档文档指的是已发布的文档或已升版的文档被系统管理员完成归档操作后,被保存在文档库中的文档。系统用户只有查看、浏览的权限,不能再对其进行编辑修改。

(7)已作废文档的管理

当权限用户需要作废已发布或已归档的文档时,同样需要走相关工作流程,流程顺利走完后,该文档成为已作废文档。

4.文档智能化查询

由于产品的研发过程是一个反复迭代的复杂过程,企业大量的文档信息资源在不断增多的同时也都在被关键用户检索查询引用。而且,从企业的实际业务活动状况来说,企业内部各部门之间,尤其是企业及其合作伙伴之间在地里位置上处于分布式状态。为了有效利用分散在各成员单位站点上的文档数据信息,催进各成员单位的数据信息共享和交流,也便于保持产品研发活动的一致性,本系统

19

基于Web services的文档协同管理系统的设计 第三章 文档协同管理系统的需求分析与总体设计

必须满足分布式检索的需求,同时,为了提高检索效率和检索的方便性,文档检索功能还必须包含多种检索方式。

基于此,本系统的文档查询功能借助于web服务技术,为企业用户提供了以下三种web服务:

1)查询选择服务

用户向系统提交查询请求,搜索文档服务注册中心找到文档检索服务的地址。如用户需要从A部门和B部门查询文档数据,该服务就找到A部门和B部门的检索服务地址,把检索数据传到A部门和B部门的“文档检索服务”。

2)文档检索服务

文档检索服务是指用户从本地数据库中直接检索文档,并把检索结果返回到“结果合并”服务。

文档检索的方式包括两类:一类检索途径是属性检索法,即直接通过输入文档的属性特征,精确或模糊查询一种或数种文档。常用的属性项包括:创建者、创建时间、文档名称、文档号等。这类查找方法可以查出特定文档和缩小查找范围。但需要预先知道文档的确切属性,同时不能扩大对相关文档的查找。另一类检索方法则是文档全文检索方法,它根据文档的主题内容,结合数据库的索引和全文检索技术实现文档主体的快速检索。

全文检索技术在第二章已经作了介绍了。基于Luncene的优点,本系统的全文检索技术采用了Luncene工具包。

5.文档库

文档库是用来存放已发布的文档的仓库。用户不能直接创建和修改文档库中的文档,这些工作只能在协同工作区中完成,然后申请发布至文档库。而要修改文档库中的文档,必须通过工程变更来完成。

各种类型的应用程序生成的文档种类、数量繁多。因此,这些文档归档后,必须有组织的进行分类管理、以方便用户使用。系统提供了文档库管理功能,该功能将归档的文档按目录组织的方式分类管理。文档归档后,可按照文件夹目录组织的方式分类保存在文档库中

文档库的主要功能包括:

1) 文档录入,包括批量或单个将电子文件录入到文档库中。 2)添加下级文档,将系统中的文档添加到对应的文件夹下。

3)打开文档及其文档相关属性,包括打开文档、打开历史版本、文档预览、文档输出等功能。

20

基于Web services的文档协同管理系统的设计 第三章 文档协同管理系统的需求分析与总体设计

3.2.2 系统核心流程分析

基于系统的定位和核心功能需求分析,为了满足该实施公司的需求,本系统采用面向对象技术,建立了如图3.3所示的文档对象管理模型图。该模型的核心是文档,文档对象可以有多个文档版本,每个文档版本关联了具体属性集值及电子文件,电子文件被存放在电子数据仓中。为了分类管理文档,建立了文档类型对象。每个文档都属于一种文档类型。通过文档类型定义了该类文档都具有的扩展属性集及生命周期形式。其中文档的生命周期形式定义了该类文档可能的生命周期状态以及生命周期状态的跃迁流程模板。

文档生命周期状态的改变,需要工作流程来驱动完成。为了方便用户使用的方便性及灵活性。系统需要抽象并优化公司的业务流程,制定出标准化的工作流程模板。因此,在制定流程模板之前,必须分析公司主要的业务活动过程。本节仅针对几个核心的流程进行分析,包括文档归档发布流程、文档版本变更流程、文档访问控制流程。

生命周期状态文档生命周期工作流程属性集定义文档类型文档属性项定义文件文档版本枚举词汇定义电子数据仓图3.3 文档管理对象模型图

扩展属性集

1.文档归档发布流程

企业在产品研发过程中,如果仅将各种文档数据管理起来,则起到数据保护的作用,但是无法达到快速研发的效果,而企业业务自动化、信息化流转则是本系统设计的根本目的。企业业务过程的自动化需要系统提供相关工作流程来支持,而文档归档发布流程则是企业的主要业务流程之一。实施公司文档发布的简化流程如图3.4所示。文档创建者创建文档,然后经过相关人员的校对、审核、

21

基于Web services的文档协同管理系统的设计 第三章 文档协同管理系统的需求分析与总体设计

工艺会签、档案处查看并提交给相关领导进行审批、批准。文档被同意批准后,才能归档入库,同时档案处工作人员签发入库通知单到各流程节点的用户。值得注意的是,上述流程节点中,如果一个流程节点不能通过,那么该发布流程将无

返回至文档创建者处,重新修改文档新建文档校对文档审核文档工艺会签控制通知相关用户工艺子流程1工艺子流程1...工艺子流程n文档归档入库领导批准文档领导审批文档档案处查看图3.4 企业文档发布流程示意图

法进行下去,必须返回到文档创建者处,重新修改文档,然后重新启动发布流程。

本系统提供的文档归档发布流程的工作模型如图3.5所示。整个文档归档发布流程是遵循以下顺序的:

1.归档发布流程建模人员利用可视化建模工具,根据业务逻辑过程按需求完成应用系统的建模,即文档归档发布流程的定义。建模结果以BLOB形式保存在数据库服务器中,并可以根据需求反复修改。

2.文档发布者、审批者等用户可以通过客户端程序启动新流程实例、处理 提交、审批圈阅任务等。在每个工作流程节点都有需要有关用户参与发布的文档文件,用户可通过统一集成的圈阅平台对这些文档文件进行审批圈阅并签署审批意见。在此过程中还与数据库系统进行实时交互,查询、处理数据库中的有关信息。当用户处理完一个流程节点后,发布流程引擎将根据预先制定好兵保存在数据库中的相关信息将文档处理业务自动传递到下一个工作节点,并通知相关用户进行处理,直到整个流程结束。

3.流程管理人员使用工作流程监视器对该流程的运行实例的运行情况进行监控和管理,如挂起、重启动、终止某个流程实例以及查看流程进度。

从上述工作流程可以看出,文档归档发布流程功能模块主要由可视化流建模、工作流引擎、工作流监视器、客户端应用程序、后台应用等组成。其中工作流监视器是用来对流程实例的状态进行监控和管理,客户端应用程序主要是为最终用户提供的一个用于处理流程实例运行过程中需要人工干预的任务的操作平台,后台应用主要是指在系统运行过程中需要与后台数据库进行通信所用到其它

22

基于Web services的文档协同管理系统的设计 第三章 文档协同管理系统的需求分析与总体设计

程序(如对Oracle的PL/SQL的过程调用)。另外可视化工作流建模、工作流引擎技术和发布过程监视是本系统在实现工作流管理时需要考虑的重点。

流程设计与定义流程可视化建模文档发布模型分析与评估建立阶段文档发布模型结构化分析流程实例化与控制被解释流程模型库工作流引擎维护控制模型库引用运行阶段用户机构库任务库信息交互用户A文档协同平台用户B图3.5 文档归档发布工作流程模型

2.文档版本变更流程

产品在研发过程中,要经过不断的修改与变更。对于文档数据信息来说,每一次修改必将产生一个新版本,但是这些版本的地位并不一样,有的版本更改是比较大的文档对象内容变更,必须经过变更审批流程才能确定新的版本生效,而有点版本更改是不经过变更流程的,这类版本变更一般是文档创建者本身对所创建文档的多次修改保存,为了方便这些小更改数据信息的追踪及引用,但是它们不必要提交到变更流程中。

由于文档版本变更的复杂性,根据实施公司的需求,本系统提出的文档版本是由文档大版本(需经过文档变更流程审批的)和文档小版本(每一次文档的签入签出)组成。本系统中,文档版本更新变更流程控制包括提交和更新文档新版本、冲突解决,如图3.6至图3.8。该文档大版本控制流程简要介绍如下:

1)新创建的文档分配一个初始版本号; 2)创建者启动文档流程对文档版本进行提交;

23

基于Web services的文档协同管理系统的设计 第三章 文档协同管理系统的需求分析与总体设计

3)文档升版审批没有通过,将文档版本退回,创建者根据审批意见对提交文档版本进行签出、修改、签入等操作对文档进行更改,更改后生成新版本再次启动工作流进行提交,如此反复,直至审批通过;

4)多人参与的文档的访问和修改将受到严格控制。具有访问权限的设计人员需要先填写并提交更改申请单送审,更改申请单需对申请更改的文档版本对象及可能影响到的相关文档对象进行详细说明;

5)若更改申请单审批没有通过,用户需要调整申请更改单后重新送审;只 有更改申请单审批通过,系统才会对用户开放修改权限——将申请更改的对象标识为排他性的更改状念,同时生成申请更改的文档版本对象的副本,参与人员对此副本进行签出一修改一签入等操作生成新的版本后,提交更改单进行送审,更改单详细记录更改后的文档版本对象信息;

6)文档新版本归档入库。

从文档流转过程可以看出,流程各任务节点的参与人可以是不同单位不同部门的涉及人员和行业专家,通过给出各自的审批和修改意见为文档版本的创建者提供指导,从而实现跨单位跨部门的协同设计和修改。

开始本地的工作副本设计员修改文档修改完毕启动文档升版流程审批是否通过?是新版本存入文档库否用户获取新版本结束 图3.6 提交和更新文档新版本流程图

24

基于Web services的文档协同管理系统的设计 第三章 文档协同管理系统的需求分析与总体设计

用户A提取文档版本1.0用户A修改文档1.0新版本提交流程启动文档数据库用户B提取文档版本1.0用户B修改文档1.0新版本确认但未提交 图3.7 并发冲突图

文档原始版本用户A提交的版本成为新版本用户B修改的本地版本与该新版本合并用户B的修改在此与用户B的修改合并 图3.8 冲突解决并提交文档新版本

3.文档访问控制流程

该公司产品研制过程中,由于文档信息的保密性要求,只允许特定的用户对特定的文档在特定的时间段内登录特定的电脑进行特定的访问操作。根据系统对文档组织管理方式,分级别的对文档文件进行了操作授权。访问级别从商到低为:项目级,项目子节点级,产品级,产品子结构级,文档级,文件级.。文件操作类别有:读取浏览、修改文件、修改文件版本。另外对于文件操作还进行了锁定读与锁定写机制,锁定读时其它用户不能对该文件进行任何操作,锁定写时其他用户只能读文件不能修改文件内容。文件访问控制流程如图3.9所示。

图中用户访问文档权限检查如下:

1)获取用户、文档、访问权限信息。其中用户对文档的操作权限是根据其所在的机构和该用户被赋予的角色来共同决定的。比如,用户A所在机构对文档S具有读取权限,那么该机构下所有的用户对文档S都具有读取权限。用户A所赋予的角色B对该文档具有修改权限,则用户A对该文档的操作权限是读取+修改权限。

2)检查用户是否有权访问文档对象,如果没有设置相应权限,则返回不能

25

基于Web services的文档协同管理系统的设计 第三章 文档协同管理系统的需求分析与总体设计

访问,结束。

3)检查数据库中是否存在用户可以有权访问文档数据记录,如果存在则返回可以访问,结束。

4)查找用户对应的角色是否有访问文档对象的权限,如果不存在则返回不能访问,结束。如果存在则返回可以访问,结束。

5)查找用户对应的机构是否有访问文档对象的权限,如果不存在则返回不能访问,结束。如果存在则返回可以访问,结束。

开始文档是否已被锁定?是锁定类型?写是加锁人为当前用户否该版本的文档已被其它用户锁定读否用户访问文档加锁人为当前用户否该版本的文档已被其它用户锁定是结束

图3.9 文档访问控制流程

3.2.3 系统集成服务的需求

随着电子协同商务信息的进一步发展,为了将企业产品供应链上下游产品相关数据轻松的融入到企业产品的整个生命周期中,为企业业务协同提供一站式服务,并协同工作中数据交换的需求,迫切的需要文档协同管理系统解决信息孤岛难题,对企业的业务系统进行合理的整合,在不破坏现有系统的情况下,将各种应用系统集成起来,发挥自己的优势,实现这些大量的不同位置、不同格式的数据共享和交换,进而集成相关的业务数据,为企业产品供应链上各系统提供统一和一致的服务。但是在技术上,传统系统的体系结构是把系统内的不同组件组装起来,这些系统由于组件间的耦合程度较高,所以对于变化非常敏感。一个子系统输出的变化可能会引起整个系统的崩溃;一个子系统实现的变化也会引起原来静态协作范围内的异常。因此,文档协同管理系统需要一个更灵活的体系结构来

26

基于Web services的文档协同管理系统的设计 第三章 文档协同管理系统的需求分析与总体设计

取代现有的文档管理系统的设计模型。

3.3 系统总体设计

基于本系统的定位及该医药机械公司的业务需求,系统在设计架构上应具有充分的可扩展性和通用性。本节描述的系统的总体设计内容包括:系统的网络结构部署、系统总体结构设计及系统数据库的总体设计。

3.3.1 系统网络拓扑结构部署

传统的系统网络结构部署包括C/S模式、B/S模式。C/S模式被称为瘦客户端模式,它具有交互性强、安全性高、处理海量数据块等优点,但它的缺点也很明显,具有开发成本高、跨平台性差、信息内容和形式单一、维护复杂等缺点。相对于C/S模式,B/S的优点明显,具有技术平台稳定、客户端简单、用户操作方便缺点在于:不适应企业有序需求的方式,表现层代码难以重用,缺乏对动态

数据库服务器文件服务器数据库服务器防火墙文件服务器WWW服务器10M)WWW服务器WEBSERVICES防火墙Internet(子公司2Intern(etM)10数据库服务器总部文件服务器WWW服务器防火墙子公司1 图3.10 系统网络拓扑结构部署图

27

基于Web services的文档协同管理系统的设计 第三章 文档协同管理系统的需求分析与总体设计

页面的支持能力、数据库处理能力低,系统可扩展性差、安全性低等特点。

基于传统的C/S和B/S模式的缺点,针对实施背景企业下属子公司部署在不同地区的现实状况,本系统采用Web services分布式网络架构,支持企业集团系统的分布式部署,网络拓扑结构如图3.10所示。

3.3.2 系统总体结构设计

根据实施公司的需求,本文设计的文档管理系统是一个大型分布式文档协同管理系统,主要包括无流程文档的管理和有流程文档的管理。在该公司分布式工作环境中,通过建立良好的交流环境和应用先进的交流手段实现该公司各部门之间,公司与合作伙伴之间的信息流转,促进部门之间、甚至是企业之间的协作:提供有效的监督手段提高企业各部门对产品项目工作进度、质量和完成情况的了解和监控程度。本系统采用了分布式Web技术减少了www服务器的负担,并使得地理上分布的各个系统的自治性、独立性得到了很大提高。

本文档管理系统是完全基于web服务实现的,特别适合于Intemet这种分布式、异构环境中使用。系统提供了文档类型管理、文档分类管理、文档多版本管理、权限管理、文档库、工作流管理等诸多功能。文档的检索使用了web服务目录服务器,减少了客户访问的复杂性,是解决跨平台、跨环境的复杂网络资源管理的重要手段。另外,整个系统采用了DotNet框架,使用web服务技术开发,充分利用了Web服务的简单性、跨防火墙、松耦合性、语言独立性、跨平台性等优点。系统提供了流程管理功能,具有有效的文档管理控制能力;灵活的工作流配置能力;详细的文档跟踪和审计能力;方便的查询能力。

在传统的文档管理系统中,文档的管理一般都基于文件系统。由于大量文档 具有保密性特点,存储在本地计算机中相对而言具有较大的风险,因此系统采用 数据库系统来对文档进行管理。基于数据库系统管理文件可以消除文档安全性的 风险,但相应的需要解决在线编辑、存取文档、文档分类、文档检索和并发访问等问题。

本文设计的文档协同管理系统的文档编辑功能与Office系列软件、CAD系列软件密切集成,通过在浏览器中嵌入编辑组件,实现在线编辑和文档存取;通过建立文件夹、文件所有者等属性管理文档的分类;通过OracIe数据库的全文检索技术对文档进行有效查询;通过版本控制的签入签出技术实现了并发访问控制;通过文档库把公司及其下属子公司的经验知识文档有效管理起来,有效积累企业的知识经验,避免了因人才流失而造成知识流失。

针对系统实施公司的下属子公司及合作伙伴分布在其它地区多个地点的特点,系统采用了一种分布式公文协同处理技术。这种技术的特点是依靠异步方式

28

基于Web services的文档协同管理系统的设计 第三章 文档协同管理系统的需求分析与总体设计

调用基于SOAP协议的Web services,通过异步技术避免网络拥塞,使用SOAP协议避免防火墙障碍。

文档协同管理系统中web服务技术的应用解决了该实施公司与其下属子公司或合作伙伴的信息协同处理,既提高系统的可靠性,又使得其它文档协同管理系统的自治性和独立性得到很大的提高,减少了网络传输量,分散了信息处理量,提高了整个系统的效能。

经过分析,本文设计的文档协同管理系统采用如图3.11所示的体系结构。从该体系结构中可以看出,每个下级子公司或合作伙伴都有各自的文档管理系统,具有较高的独立性和自治性。他们只能通过Internet相连,由于各机构有大量业务需要进行协同处理,文档工作流需要在这些分布异地的机构之间进行流转,共同完成一个文档流转流程。并且每个机构都有大量的共享文档信息资源,用户可能需要跨地区进行资料检索,为了有效的使用分散存在于各地区的文档资源,减少网络的传输量,分散信息的处理量,我们采用Web 服务技术实现各机构之间的文档数据信息的交互。

合作伙伴1业务层业务管理模块文档分类文档知识库文档版本„„表示层文档浏览器数据访问层文档数据库表示层文档浏览器业务层业务管理模块文档分类文档知识库文档版本„„注册文档服务文档服务注册Web服务服务查找文档服务地址查找数据访问层文档数据库文档文注册档服务Web服务表示层文档浏览器业务层业务管理模块文档分类文档知识库文档版本„„数据访问层文档数据库企业下属子公司地务服找查档文务服址地 江苏南京某企业址Web服务图3.11 基于Web services的文档协同管理系统体系结构

29

文册注档

基于Web services的文档协同管理系统的设计 第三章 文档协同管理系统的需求分析与总体设计

从图3.11可以清楚的看到,每个子公司被看作是一个节点,那么每个子公司都是Web服务提供者,同时也是Web服务消费者。各节点开发自己的web服务,访问本地文档数据库,既有可能是粗粒度Web服务,其内部实现可能是复合许多Web服务的完整的工作系统;也有可能是细粒度的Web服务,小到只是完成一个具体功能的原子服务。各节点把各自发布的Web服务的描述信息注册到文档服务注册中心以供查询;当节点需要请求web服务时,首先通过本地的Web服务代理到文档服务注册中心提供的查询服务,可以根据web服务的功能性描述而准确定位具体的Web服务,再驱动相关Web服务,完成指定的文档检索或业务流程。

在该公司下属子公司的每个文档管理系统中,我们采用经典三层体系结构: 表示层:客户端只要有浏览器就可以使用本系统,操作方便,简单易学,界 面统一,降低了用户学习新知识的难度,用户易于接受,节省了开发时间,也减 少了系统出错的可能性,降低了维护费用;

业务层:是系统业务逻辑的具体实现,允许用户通过将其与设计应用隔离而 共享和控制业务逻辑,包括文档管理组件集、工作流系统组件集,w曲服务和系统配置组件。

数据访问层:是系统的底层,它与上层是隔离的,隐藏在事务层的后面,提供对专门文档数据服务的访问,处理客户端与数据库问的数据流。

基于Web services的文档协同管理系统采用如图3.12所示的逻辑结构:

应用程序客户端浏览器文档管理系统编辑文档新建文档文档查询文档管理系统文档管理系统文档管理系统文档知识库CAD第三方工具Office文档分类流程模板协同交流文档多版本控制文档发布文档库文档检索版本清单流程追踪版本变更文档统计Pro/ECRMERP工作流引擎Web服务安全服务检索服务„„文档数据库知识库 图3.12 基于Web services的文档协同管理系统逻辑架构

30

基于Web services的文档协同管理系统的设计 第三章 文档协同管理系统的需求分析与总体设计

3.3.3 系统数据库设计 1.数据库总体设计

由于该公司及其子公司分布在全省多个地方,所以本系统采用分布式数据库,如图3.13所示。这样每个子公司的文档管理系统采用的数据库在物理上是分散的。并且各子公司的产品数据存储在各自本地数据库服务器上。也就是说,当产品数据更新时,这些物理上分散的数据库是被独立管理的,它们之间不进行数据交换。当企业本不进行文档查询时,由企业本部实施的主Web服务器发出请求,再由各子公司的Web服务器访问它们本地的数据库。如果条件符合则返回查询结果。

与集中式的数据库部署相比,这种分布式数据库的优点在于:

1)分布式数据库解决了企业异地部署的子公司之间数据相互联系的问题。由于子公司常用的文档数据直接存储在本地数据库,降低通信费用的同时又提高了响应速度。

2)负载均衡分担,避免了临界瓶颈的难题。 3)系统可靠性高。

4)结点独立升级,不依靠中心结点。 5)系统可扩展性好。 6)系统灵活性好。

7)系统安全性高。

企业总部数据库服务器Internet/Intranet子公司A数据库服务器子公司B数据库服务器..子公司C数据库服务器子公司N数据库服务器..

图3.13 系统数据库总体结构部署图

2.数据库表设计

系统的正常运行离不开数据库的支持,因为很多数据都需要从数据中读取,

31

基于Web services的文档协同管理系统的设计 第三章 文档协同管理系统的需求分析与总体设计

同时也需要对系统中的数据进行持久化处理,因此数据库的设计是本系统的关键部分之一。本文使用的数据库是Oracle大型数据库,它是目前最流行的C/S体系结构的数据库之一,支持大量多媒体数据,如二进制图形、声音、动画及多位数据结构等。Oracle提供了多个字段来操作文档。本系统数据库主要包括用户信息表、部门信息表、文档信息表、文档类子类表、文档类文档表、工作流信息表等。本节仅列举以下几个信息表来介绍数据库表的设计。

1)用户信息表:主要用来保存本系统用户的信息,系统用户包括系统各级管理员和普通用户,如表3-1所示。

表3-1 用户信息表

列名 UserID Password UserName UserState UserDep Sex Email Tel Address LoginTime 中文描述 用户ID 用户口令 用户姓名 工作状态 所属部门 性别 电子信箱 联系电话 家庭住址 登录时间 主键约束 PK Not null Not null Not null Not null Not null Not null 数据类型 Varchar(16) Varchar(10) Varchar(16) Bit Varchar(30) Bit Varchar(50) Varchar(13) Varchar(60) Varchar(40) 2)部门信息表:记录企业各部门的信息以及部门之间的关系,如表3-2所示。

表3-2 部门信息表 列名 DepartmentID DepartmentName Parent DepartmentID DepartmentType DepartmentTel DepartmentManager DepartmentDescribe 中文描述 部门ID 部门名称 上级部门 部门类型 部门电话 部门负责人 部门描述 主键约束 PK Not null FK Not null Not null Not null 数据类型 Varchar(16) Varchar(80) Varchar(16) Varchar(4) Varchar(16) Varchar(16) Varchar(200) 3)文档信息表:记录具体文档的相关信息,比如标题、类型、关键字等各种属性信息,如表3-3所示。

32

基于Web services的文档协同管理系统的设计 第三章 文档协同管理系统的需求分析与总体设计

表3-3 文档信息表

列名 DocID DocName DocType DocFlag Key DocPath DocClass DocCreator CreatorTime DocVersion LastReviser IsIndex DownLoadTimes 中文描述 文档ID 文档名称 上级部门 文档标识 关键字 存储路径 文档分类 文档创建者 创建时间 文档版本 最后修改者 是否被索引过 下载次数 主键约束 PK Not null FK Not null Not null FK Not null Not null Not null Not null Not null Not null 数据类型 Varchar(16) Varchar(50) Varchar(16) Varchar(12 Varchar(80) Varchar(200) Varchar(16) Varchar(50) Varchar(50) Varchar(4) Varchar(16) Bit Int 4)文档类表:用来记录文档类信息,如表3-4所示。

表3-4 文档类表

列名 DocClassID DocClassName DocClassDescribe 中文描述 文档类ID 文档类名称 文档类描述 主键约束 PK Not null Not null 数据类型 Varchar(16) Varchar(16) Varchar(200) 5)文档类子类表:用来记录某个文档类的子类信息,如二维设计图文档子类信息,如表3-5所示。

表3-5 文档类子类表

列名 DocClassID SubDocClassID 中文描述 文档类ID 文档类子类ID 主键约束 PK FK 数据类型 Varchar(16) Varchar(16) 6)文档类文档表:用来记录某个文档类所包含的文档信息,如表3-6所示。

表3-6 文档类文档表 列名 DocClassID DocID 中文描述 文档类ID 文档ID 33

主键约束 PK FK 数据类型 Varchar(16) Varchar(16) 基于Web services的文档协同管理系统的设计 第四章 文档协同管理系统的详细设计与实现

第四章 文档协同管理系统的详细设计与实现

在第二章和第三章对Web services相关技术和文档协同管理系统的系统需求与总体设计基础上,本章主要研究Web services在该系统中的应用实现及该环境下系统的多维安全控制体系。本系统使用Java开发C/S结构客户端的工作量非常大,但是难度不大。本系统的创新点及难点在于B/S结构Web services的开发。本章将重点讲解Web services的开发过程。

4.1 系统开发平台与运行环境

文档协同管理系统以Web services模式进行开发,采用了基于Java的Web 服务平台Apache Axis,编程语言Java,开发工具是JBuilder9.0,数据库采用oracle10g。

文档协同管理系统可运行于Intranet和Internet的网络环境下,服务器端的软件配置环境为:操作系统Windows2000 Server,Oracle10g数据库,应用服务器为Apusic Appliaction Server5.1TP4。客户端配置环境为:Windows2000/XP/2003等操作系统和IE6.0及其以上版本的浏览器。

4.2 系统功能结构

文档协同管理系统主要由系统管理、企业建模、文档管理、工作流管理、我的工作台五个部分组成。根据第三章的系统需求分析,得到该系统具体的功能结构图如图4.1所示。

分布式文档协同管理系统文档管理企业建模工作流管理系统管理我的工作台编辑文档文档多版本文档审批文文文档档档发查库布询文档属性集文档类型管理电子数据仓参数管理模板定义审批流程管理更改流程管理流程任务管理权限管理日志管理机构管理安全控制个人工作区我的流程任务我的项目任务我的消息图4.1 系统功能结构图

34

基于Web services的文档协同管理系统的设计 第四章 文档协同管理系统的详细设计与实现

可见整个系统分为文档管理、系统管理、工作流管理、企业建模和我的工作台五大部分。文档管理主要是普通用户和文档管理员访问的模块。系统管理、企业建模和工作流管理部分主要是由系统管理员级别的用户访问的模块,我的工作台是每一个普通用户都可以访问的各自独立的模块。用户在我的工作台中的个人工作区中以树状文件夹的形式编辑自己的文档,通过我的项目任务接收和提交自己的项目任务,我的流程任务则是用户用来接受协同的文档审批流程中的指定审批任务,而我的消息则是负责接收系统文档等任务的动态消息。

4.3 Web 服务设计

由于本文设计的分布式文档协同管理系统是一个比较复杂的系统,所以在该系统中的Web服务有很多,如用户身份验证服务、系统基本信息服务、文档编辑服务、文档审批服务、文档发布服务、文档归档服务、文档版本服务、文档查询服务等。这些服务都需要与数据库联系,从数据库中提取相应的数据,以XML的格式、SOAP消息的方式返回给调用该服务的应用程序。由于本系统实行的分布式数据库,所以文档查询服务需要跨越企业本部数据库与其下属子公司的数据库。因此,除了与文档有关的查询服务外,其它web服务的总体设计流程图如图4.2所示。

Web Service请求者SOAP响应身份验证服务文档审批服务文档归档服务SOAP请求文档编辑服务文档版本服务系统信息服务文档发布服务消息服务Web Service提供者„„WSDL 图4.2 Web服务的总体设计流程

本节以查询服务的设计为例,阐述Web服务的实现过程。 1)首先定义查询服务的接口IDocQuery。

2)查询服务接口提供的服务包括用户登录验证、查询用户信息、查询文档、查询文档版本。

35

基于Web services的文档协同管理系统的设计 第四章 文档协同管理系统的详细设计与实现

用户登录验证服务:

Public Userinfo login (string name, string password); Public List getAllUserinfo (); 查询用户信息服务:

Public Baseinfo getBaseinfoByID (int id); Public List getAllBaseinfo (); 查询文档信息服务:

Public List getDocument (int id, string name, string user, Date

time);

Public List getAllDocumentinfo (); 查询文档版本服务:

Public List getDocVer Byid(int id); Public List getAllDocVerinfo ();

3)具体服务的实现。将上面接口中的每一个空方法进行了实现。每一个具体方法的实现又是通过调用相关模块的DAO来操控POJO类,间接的操纵数据库,具体的业务逻辑要在该类中进行实现。

4.4 Web服务与数据库的操作

在本系统中,在基于Web services进行信息查询的模块中,需要实现查询的内容包括用户信息、文档内容、文档版本、文档审批流程状态等,如果每一项查询都直接去操作数据库,那代码肯定是混乱的,不但增加了大量的工作而且还使代码不利于重用。所以需要将代码中不变的部分提出来,做成一个接口,这就引入了Façade外观对象。Facade模式为子系统中的各类(或结构与方法)提供一个简明一致的界面,它能够隐藏子系统的复杂性,使子系统更加容易使用。

通过上述接口,这样所有程序对数据库访问都是使用该接口,降低了系统的复杂性,增加了灵活性。本节以查询服务为例,设计的基于Façade的web服务与数据库操作的设计模式如图4.3所示。

getAllUserinfo() getAllBaseinfo() IDocQuerygetAllDocumentinfo() „„.DOC.POJO数据库getAllDocVerinfo() 图4.3 基于Façade的Web服务与数据库操作的设计模式

与数据库进行操作需要执行SQL语句,本系统是由Java开发的,所以需要一

36

基于Web services的文档协同管理系统的设计 第四章 文档协同管理系统的详细设计与实现

个能够用于执行SQL语句的JavaAPI,这个接口就是JDBC。另外,为了实现对数据库进行访问,还需要使用另一个接口DAO。与数据库的操作分为两部分实现,即数据持久化和数据存取的实现。接下来简述这两部分的设计过程。

1.数据持久化

数据持久化是把程序中的数据以某种形式保存到某存储介质中,以达到持久化的目的,防止系统重启后数据的丢失。在本系统中,数据持久化是通过Hibernate框架来进行实现的,Hibernate是一个开放源代码的对象关系映射框,主要是对数据库底层的ORM映射,方便用户避开关系映射,直接操作对象。这样的操作符合我们的逻辑思维,可以用面向对象的观点来操作数据库中的表,具体步骤如下:

1)配置Hibernate与数据库的连接。该配置文件是XML格式,文件名字默认为hibernatec.fg.xml。

2)开发和数据库中的表对应的持久化类。持久化类的数量必须和数据库中的表数量相同,这样用户就能够通过操作持久化类来操作数据库中的表。持久化类应当满足如下要求:实现java.io.serializable接口;有一个空参数的构造方法:对持久化类中的每一个变量提供相应的setter和getter方法。

3)配置表中字段和持久化类的成员变量之间的映射关系,将数据库中的类型和Java类型之间建立关联,配置文件的名字为持久化类的名字,并且配置文件是XML格式。

2.数据存取的实现

数据存取模块的主要作用就是执行对持久化类的操作,这些操作包括增、删、改、查。在图4.3设计模式中有一个DAO(Data Access Object)层的概念,DAO不但直接作用于持久化(POJO)类,而且间接操作数据库中的数据表。DAO层既与具体的业务逻辑无关,也不必关心业务层的操作和实现方式,仅提供了具体的操作数据库的接口。本系统利用Hibernate实现了数据库信息的持久化。而数据存取模块的实现步骤如下:

1)获取Hibernate与数据库间业务的工具类HibemateSessionFactory。该类的功能是:获得Session的getSession()方法,关闭Session的closeSession()方法,以及获得SessionFactory和获得Session配置的一系列方法。

2)实现具体的每一个模块DAO。比如文档信息的DocumentDao。实现的方法是首先利用工具类的getSession()方法来获得与持久化类以及数据库交互的Session,接着写出具体调用需要实现的增删改查操作的方法,最后利用HQL语言来对POJO类进行操纵。HQL语言操纵的是持久化的对象,且与具体数据库无关的,Hibernate底层将根据HQL并根据配置文件里配置的方言信息来生成相应的数据

37

基于Web services的文档协同管理系统的设计 第四章 文档协同管理系统的详细设计与实现

库查询语言。

4.4 系统功能模块的实现

Web服务的使用过程就是Web服务的使用者与Web服务绑定的实现,并调用其方法的过程。Web service请求者调用Web service的过程,其基本步骤如图4.4所示[33]:

Service RequesterDevelopFindUDDI RegistryRetrieveWSDLWeb ApplicationGenerateInvokeBindJava Client ProxyService Provider图4.4 从服务器上访问Web service

当用户需要跨数据库查询企业下属子公司的文档信息时,他只需要在该地服务器上搜索已有的Web service。用户找到了需要的Web service,下载描述如何绑定Web service以及如何与其交流的WSDL。接着系统将根据这个WSDL生成一个Java客户端代理,它包含了所有需要和该Web service交流的细节,如序列化方法的调用参数,连接Web service,把Java方法调用转换成SOAP消息,以及接收来自Web service的响应。最后,Java客户端代理通过HTTP之上的SOAP来调用Web service里的方法,并把结果返回给请求者一端的Web应用程序。

本节以文档查询服务和新建文档服务为例,阐述客户端程序的调用过程。 4.4.1 分布式文档查询的实现

本系统设计的文档查询功能不但可以查询分布式异地的文档信息,而且可以基于模糊性和多属性的文档查询。也就是说,用户可以把文档中的任何一个文档属性信息作为查询条件。如果查询条件为空的话,则用户能够查询到所有文档的

38

基于Web services的文档协同管理系统的设计 第四章 文档协同管理系统的详细设计与实现

列表信息,如果查询结果多于一页,则会分页显示。

用户在查询文档之前,必须指定数据库。由于文档数据库分别部署在不同的下属子公司和合作伙伴处,彼此独立。因此,用户对文档的查询,是通过各地的Web服务器来对数据库进行查询操作的,因此,必须把各地的Web服务器地址存放在企业总部的数据库上,Web服务器地址列表如图4.5所示。

图4.5 Web服务器地址表

当用户进行查询文档操作时,客户端程序就调用各下属子公司的Web服务器的地址,然后查询到所需的文档信息,如图4.6所示:

图4.6 文档查询界面

当用户进行文档查询操作时,客户端实现调用查询文档信息的Web service部分代码。

Public ArrayList Simpledetail(String sql, String url){ ArrayList doclist = new ArrayList();

String endpoint = url+“/services/docmanage”; Service service = new Service(); Call call = (Call)service.creatCall();

Call.setTargetEndpointAddress (new java.net.URL (endpoint)); Call.setOperationName (new QName (“URL: docmanage”, “Get_detail_doc”));

Doclist.add (call.invoke (new Object []{sql})); Return doclist;

39

基于Web services的文档协同管理系统的设计 第四章 文档协同管理系统的详细设计与实现

}

用户查询的文档信息列表储存在doclist的结果集里面,本地JSP页面调用该集合并把文档列表信息显示出来。如果用户权限允许,那么他可以删除或者修改还未发布的文档信息。

4.4.2 新建文档的实现

新建文档模块主要实现合法用户创建新的文档信息。用户创建新文档的过程如下:

用户登录系统后,通过web层的DMsystem.Web.ManageArea.document- ManageTopPage.Documentaddpage_click()方法,显示出新建文档的界面,如图4.7所示。然后通过DMsystem.Web.manageArea.documentaddpage1.Button_Regi- ster_Click()方法,调用业务层的DMsystem.Business.BFDocument.InsertDocu- ment()方法,业务层再调用数据访问层的DMsystem.DataAccess.DocumentData. InsertDocumentData()方法,在InsertDocumentData方法中,通过使sp_Insert DocumentData存储过程,将新的文档信息存储在数据库中,如果存储成功,则返回布尔型真值,再调用日志设置方法完成日志记录,最后返回到新建文档信息的页面。

图4.7 新建文档信息界面

4.5 系统安全性设计

文档数据安全的管理是该文档协同管理系统研究的重要问题之一。为此,本文设计的文档协同管理系统从三个方面来保证数据对象的安全,即系统内安全问题、网络安全问题、系统外安全问题。

40

基于Web services的文档协同管理系统的设计 第四章 文档协同管理系统的详细设计与实现

系统内安全问题是指在该文档协同管理系统内部,如何确保只有恰当的人在恰当的时间以恰当的权限操作恰当的数据,使得系统内的数据是安全可控的。

网络安全问题是指在文档管理过程中,基于网络环境下进行数据传输的安全性问题,确保传输的数据不能被非法截获而导致数据泄密,或被非法干扰而导致数据错误。

系统外安全问题是指对该系统的文档进行各种操作过程时,因某些原因需要从系统中导出数据到系统环境外进行处理,需要确保这些数据不被别有用心的人外传泄密。目前针对系统外安全的解决方案就是借助于企业数据防扩散软件。因此,接下来仅介绍本系统的系统内安全控制和网络安全控制。

4.5.1 系统内安全控制

基于文档管理的安全需求分析,结合Web services安全技术,文档协同管理系统内的安全架构设计如图4.8所示。

数据发送前,对敏感数据加密,并对整个文档进行XML签名;对收到的数据验证签名,验证完整件,解密,验证ID和密码,确认访问权限数据发送前,对敏感数据加密,并对整个文档进行XML签名;对收到的数据验证签名,验证完整件,解密SOAP安全扩展、XML加密、签名企业请求用户验证企求请提供数用户提供数字证书信息证验业字证书信息提供数字证书信息证书库CA认证中心信息注册中心图4.8 文档协同管理系统安全架构

该模型的实现如下: 1.数字证书的生成

41

基于Web services的文档协同管理系统的设计 第四章 文档协同管理系统的详细设计与实现

证书的生成过程分两步来完成:

首先,在试验环境下生成自己的CA证书,用于给企业,用户和信息注册中心的证书进行签名认证,分成以下三个步骤来实现:

1)生成CA私钥 2)生成待签名证书 3)用CA私钥进行自签名

然后,分别生成企业,用户和信息注册中心的证书,如用户证书的生成步骤如下:

1)生成用户的密钥对 2)生成待签名的证书

3)用前面生成的CA证书对用户证书进行签名

经过上述步骤,证书生成成功,由于用户证书是经过可信任CA签名的,因 此可以保证证书的合法性。通信双方可以在自己的机器中安装对方的证书,用于 以后的SSL通信和数字签名:也可以仅安装可信任CA的证书,在通信过程中用CA证书来验证对方证书的合法性。

2.安全SOAP消息的实现

本系统中的web服务是在Apache的AXIS框架中运行的。AXIS提供了一个消息链处理机制,一个链中包括一个或多个在请求服务之前或之后调用的Handler,每个Handler都能透明地处理消息并把消息转交给链中的下一个Handler处理,它具有很大的灵活性,可以方便地在其中添加新的处理功能。在本系统中,采用Handler来实现加密——签名(Encryption—Signature)和验证——解密(Verification—Decryption)操作[34]。Handler处理步骤如下:

1)在Handler中通过调用MessageContext的getRequestMessage()或getResponseMessage()方法来请求获得SOAP消息。

2)MessageContext实例返回需要处理的SOAP消息。

3)在Handler中对消息进行适当的预处理,将消息转化成DOM的形式以便于操作、获取本地用户的密钥等。

4)调用消息安全处理模块里的相应功能来处理消息,比如加密,数字签名 等。

5)得到消息安全处理模块的返回数据。

6)在Handler中对返回的数据再进行适当的处理,比如根据验证的结果决定是否抛出异常等。

7)使用MessageContext中的setCurrentMessage()方法,更新消息上下文中的SOAP消息,以供链中的下一个Handler访问。

42

基于Web services的文档协同管理系统的设计 第四章 文档协同管理系统的详细设计与实现

在服务器端,加密和数字签名是在处理SOAP响应消息时进行的,而验证签名和解密是在处理SOAP请求消息时进行的。但是,客户端的情况与服务器端则恰恰相反,因此在客户端和服务器端分别部署四个对应的Handler即可。

3.消息加密

用户往系统内录入文档数据时,数据将交给EncryptionHandler处理,该Handler首先获取用户本地的密钥信息、设置加密算法;然后从SOAP内容中,对元素进行加密。加密完成后在SOAP消息头部添加表示安全信息的元素,它包含密钥的信息和对消息体中破加密数据的引用,这样便于消息的处理者找到对应的被加密的数据[35]。从中我们可以看出,元素取代了包含返回内容的元素,前者包含了加密后的内容。此外,还可以看到SOAP消息头中含有元素,它包含了发送者的公钥名称以及用公钥加密过的密钥信息,而元素则通过URI属性指向消息体中的元素。

4.消息签名

文档数据信息录入系统过程中,经过EncryptionHandler处理后,再交给SignatureHandler进行数字签名。它首先获取用户本地的密钥信息、设置签名和摘要算法,然后往SOAP消息头中填充数字签名元素和其它安全信息,最后对整个SOAP消息进行数字签名[36]。

5.实现

本节以文档归档发布为例,详细介绍其在Web services安全性中的进一步实现。当用户发布文档时,系统服务器端需要对用户客户端的身份信息加以验证,并对XML内容作解密操作。具体步骤如下:

1)创建相关密匙库

客户端和服务端都有相关的密匙库,其中:

I.client.keystore:客户端用户自身的身份信息;

II.client.truststore:客户端用户所信任的身份信息,在该例中也包含了服务器的身份信息;

III.server.keystore:服务器自身的身份信息;

IV. Server.truststore:服务器所信任的身份信息,即客户端身份信息。 2) 签名、加密、解密、身份验证的实现

本文在WSSHelper类中实现对SOAP消息的签名、加密、解密和身份验证。 3) 服务器端Handler开发

当文档发布请求到达后,服务器端Handler调用HandleRequst方法,执行如下过程:对请求SOAP消息解密,身份验证,删除WSS元素,把document转换成

43

基于Web services的文档协同管理系统的设计 第四章 文档协同管理系统的详细设计与实现

SOAP消息。

Web服务端点对请求做出响应后,将调用handleResponse方法,执行如 下过程:对响应的SOAP消息进行数字签名,加密,把Document转换成SOAP消息。

4)客户端Handler开发

客户端Handler是JAX-RPC兼容的Handler处理器AXIS Handler实现的,客户端Handler和服务器端Handler原理一样,但处理过程完全相反。

5)部署服务器端Handler

为了使用Handler,需要在企业服务部署描述符中指定接收文档发布时使用此Handler。它包含的初始化参数也在此描述。 6)调用

本文采用代理的方式来调用文档发布服务,首先要编写一个Web服务接口:SOAPDocPubServiceInterface。客户端程序是通过代理的方式来访问文档发布接收服务的。由于要使用Handler,所以在访问前通过registerHandlers()方法注册了WSSecurityClientHandler,并且初始化了它的相关参数。

4.5.2 网络安全控制

本文所研究设计的基于Web services的文档协同管理系统输入典型的基于广域网的多层次分布式应用系统。由于企业集团下属各子公司及其合作伙伴分布在不同的地区,用户访问系统的模式基于C/S+B/S模式,且B/S为主。所以系统网络安全解决方案应结合该系统的特点,将业务的执行闲置在应用服务器层,而客户端只负责数据展现而与数据库访问无关,彻底改变传统的两层系统中应用系统的权限控制与数据库系统的权限控制密切相关的做法。在本系统中,数据库服务器是整个应用数据的核心部分,因此本系统不允许直接访问数据库,而应用服务器虽然不保存数据,但是其安全可靠的运行是必须的。因此采用防火墙隔离,同时增加服务器入侵检测系统。

为了实现在整个系统网内杜绝病毒的感染、传播和发作,系统在整个网络内可能感染和传播病毒的地方都应积极地采取相应的防病毒手段。同时为了有效、快捷地实施和管理整个网络的防病毒体系,实现远程安装、智能升级、远程报警、集中管理、分步查杀病毒、在线杀毒功能等多种功能。

44

基于Web services的文档协同管理系统的设计 第五章 总结与展望

第五章 总结与展望

本课题针对制造型企业信息化发展对文档管理系统提出了新的要求,根据管理软件体系结构发展的新模式,面对江苏南京某医药机械公司的实际需求,研究并开发了基于Web services的文档协同管理系统。

5.1 总结

论文首先介绍了文档管理的国内外现状、企业在文档管理方面存在的问题。其次,对系统开发中所用到的Web services进行全面阐述,包括Web services的概念、优点、体系结构和相关技术,然后对企业选择Web services的原因进行了综合分析。再次,面向实施企业的具体需求,分析了系统的定位,然后介绍了该文档协同管理系统的需求分析,包括系统核心功能分析、系统核心流程分析、系统集成服务的需求和系统可扩展性需求。并基于系统的需求,对系统进行了总体设计。最后,介绍系统的设计与实现,并以文档版本信息和文档查询为例,详细介绍了Web services的开发和调用,并对系统的安全控制体系进行了设计。

基于Web services的文档协同管理系统具有以下一些特点:

1.本系统采用了Web services技术,将服务器端的应用程序开发成基于Web services的分布式组件结构,这样可以对所有组件进行动态管理和维护。本系统基于开放的利用Web services技术实现了关键系统代码的安全性问题和可移植问题。

2.系统功能比较好地满足了实施企业的需求,基于Web services和工作流的文档协同操作对分布式的企业集团进行同类信息化系统的实施具有参考价值。同时实例证明,开发的系统在软件的可重用性和可维护性方面有较好的性能。

3.软件结构设计合理,用户界面简洁、美观,用户操作简单、易学,方便用户数据录入、查询、打印等常用操作。为该项目的后续开发和实际应用打下良好的基础。

4.可视化的工作流模板编辑方便用户对流程模板的定制,同时标准化的审批流程和文档发布流程使异构异地分布的文档协同操作变成了可能。

总之,在本系统的学习、开发和设计过程中,所有的实践和理论都是一次新的探索。对我来说最大的收获不仅仅是掌握了这些新技术,并在实际中得到应用和发挥,更重要的是独立去探索和研究新知识新技术的锻炼。

45

基于Web services的文档协同管理系统的设计 第五章 总结与展望

5.2 展望

随着企业信息化程度的不断推进,企业存在的文档数量也呈爆炸式的增长,同时,分布式文档智能化查询、在Internet环境下的文档协同操作等都对文档管理系统提出了新的要求,因此,研究并设计分布式的文档协同管理系统对于企业的发展具有举足轻重的地位。虽然通过本文的研究,取得了一定的成果,但是还有许多需要改进的地方,以下是下一步的主要目标:

1) 由于企业对文档管理的需求不尽相同,因此本文提出的文档管理的框架可能满足不了所有企业的需求,还需要进一步对这个框架进行完善。

2) 由于时间和篇幅的关系,本文没有提供对所有系统功能基于Web services的实现过程。另外在文档查询方面,在对多个检索结果合并的过程中,如何采取有效的策略来对重要的文档信息赋予更多的权重,从而使得可以被用户更容易发现,这是需要进一步研究的问题。

3) 工作流管理是本系统中很重要的一个管理模块,但由于时间和篇幅的问题,本文在这方面没有提及到。

46

基于Web services的文档协同管理系统的设计 参考文献

参考文献

[1] 曹广通,麦中凡.基于www的文档管理[J]. 北京航空航天大学学报,1997,23(1):117- 121.

[2] 孙玉生.电子政务环境下的电子文档一体化研究[J].情报理论与实践,2007, 30(3):416- 418.

[3] 张晓勇,张璟,李军怀.基于PDF项目文档管理系统的设计与实现[J].西北大学学报,2006,36(1):36- 40.

[4] 高明珠,贾克斌,张立等.基于B/S的建筑工程管理系统平台[J].计算机工程,2006,32(3):257- 258.

[5] 北京清华计算机公司,TH-AMS98— 清华企业档案光盘存储管理系统用户指南.

[6] CIMdata Inc, Product Data Management: The Definition-An Introduction to Concepts, Benefits, and Terminology, 1998, 12. [7] http: //www.cyeo.com. [8] http://www.jetform.eom.

[9] Hind Zantout, Farhi Marir. Document management systems from current capabilities towards intelligent information retrieval. International Journal of Information Management [J]. 1999, 19: 471-484.

[10] 毛根生,毛波影,王丹亚.文档管理系统中的工作流技术[J].浙江大学学报,

2001,34(1):60-64.

[11] 胡杰,党延忠. 基于Web的工作流技术在文档管理系统中的应用[J].计算机工程与应用,2003,39(12):224 - 227.

[12] 王焕卫,朱林,刘清华.基于CORBA的分布式文档工作流管理的实现[J].计

算机工程与应用,2003,39(30):134 - 137.

[13] M Coetzee, J.H.P.Eloff. Towards Web services access control [J].

Computer & Security, 2004, 23(7): 559.

[14] 黄亮.多学科综合设计文档管理关键技术研究及开发[D].长沙:国防科学技

术大学,2003.

[15] 张宗伟.角色访问控制在.NET技术下的实现[J].电子技术,2003,30(10):

38.

[16] 吴鹏.RBAC的Web授权的研究与实现[D].成都:电子科技大学,2003. [17] 张亚鹏.基于ASP.NET的电子商务系统用户权限设计与实现[J].计算机安

47

基于Web services的文档协同管理系统的设计 参考文献

全,2004,9: 33 -35.

[18] 万里平、蔡美玲,高春鸣.基于服务联盟的Web服务组合模型及方法[J].

计算机工程与应用,2007,43( 31):137-140.

[19] (美)H.M.Deitel,P.J.Deitel,B.DuWaldt,L.K.Trees著.Web服务实用技

教程[J].励志等译.北京:机械工业出版社,2004.

[20] W3C Note.Web services Description Language (WSDL) 1.1. Available

at http:// W3C.org, 2001, 3.

[21] Tony Graham,Anish Karmarkar. SOAP Optimized Serialization Use Cases

and Requirements,W3C Working Draft 8. June, 2004.

[22] Web services Description Language (WSDL) 1.1[s],http://www.w3.org/

TR/WSDL/, W3C Note 15 March, 2001.

[23] UDDI Version3.0, published specification [s], http://uddi.org/spec-

ification.html,19 July, 2002.

[24] 李刚.基于BPEL4WS工作流引擎的设计与实现[D].西安:西安电子科技大学,

2005.

[25] 刘立骐,田华,许维胜. 吴启迪. CSCW研究理论及其应用[J]. 信息与控

制,1998,27(3):190-196.

[26] 史美林. CSCW:计算机支持的协同工作[J]. 微小型计算开发与应用,1995,

(4):6-11.

[27] Bajaj C, Zhang P, Chaturvedi A. Brokered Collaborative Infrastructu-

re for CSCW[C]. In: Proceedings of the Fourth IEEE Workshop on Enabling Technologies: Infrastructure for collaborative Enterprises, Berkeley Springs, West Virginia, IEEE computer society press, 1995, 207-214.

[28] 郭一平,向晖,王亮.基于Lucene的Ftp搜索引擎的设计[J].高校图书情

报论坛,2005,4,(4): 7-9.

[29] 李刚.宋伟.邱哲.Ajax+Lucene构建搜索引攀[M].北京:人民邮电出

版,2006.

[30] 左怀玉. 基于Web OA的工作流技术研究与实现[D]. 长沙:国防科学技术大

学,2003.

[31] 罗海滨,范玉顺,吴澄. 工作流技术综述[J]. 软件学报,2000,11(7):

899-907.

48

基于Web services的文档协同管理系统的设计 参考文献

[32] 范玉顺.工作流管理技术基础[M].北京:清华大学出版社;海德堡:施普林格

出版社,2001.

[33] H.M.Deitcl, B.DuWaldt. Web服务实用技术教程[M].北京:机械工业出

版社,2004.

[34] 胡迎松,彭利文,池楚兵.XML Web服务安全问题及其安全技术[J].计算

机应用研究,2003,20(10):101-104.

[35] 杨军云,陈志刚.基于Web Services的解决方案在保险行业中的应用与研

究.计算机应用研究,2003,20(8):99-100.

[36]段智华.浅谈SOAP. http://www-900.ibm.corn/developerWorks/cn/xml/x- sisoap/index.shtml.

49

基于Web services的文档协同管理系统的设计 致 谢

致 谢

在此,首先要衷心感谢我的导师——戴开宇老师。本文的研究工作是在导师的亲切关怀和精心指导下完成的。本文从选题、研究、设计到完稿的整个过程都自始至终得到了导师的悉心指导。戴老师渊博的知识、严谨的治学风范、实事求是的科研作风、勤奋忘我的工作精神一直是我人生的榜样,激励着我在求学的道路上不断进步。戴老师宽厚正直的品格深深地感染了我,使我终身受益。从导师那里,我学到的不仅仅是怎样做学问,更重要的是怎样做人。在论文完成之际,谨向戴老师致以最崇高的敬意和最深的感激!

我还要感谢我的父母、亲人,以及所有教育过我的老师们和所有关心我的朋友和同学,我取得的成绩与他们的关心和支持是分不开的。

衷心地感谢在百忙之中评阅论文和参加答辩的各位专家、教授!

50

论文独创性声明

本论文是我个人在导师指导下进行的研究工作及取得的研究成果。论文中除了特别加以标注和致谢的地方外,不包含其他人或其它机构已经发表或撰写过的研究成果。其他同志对本研究的启发和所做的贡献均已在论文中作了明确的声明并表示了谢意。

作者签名: 周新刚 日期: 2010年9月20日

论文使用授权声明

本人完全了解复旦大学有关保留、使用学位论文的规定,即:学校有权保留送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部或部分内容,可以采用影印、缩印或其它复制手段保存论文。保密的论文在解密后遵守此规定。

作者签名: 周新刚 导师签名: 戴开宇 日期: 2010年9月20日

因篇幅问题不能全部显示,请点此查看更多更全内容

Top