(计算机软件与理论专业论文)基于web技术的协同办公系统设计.pdf_第1页
(计算机软件与理论专业论文)基于web技术的协同办公系统设计.pdf_第2页
(计算机软件与理论专业论文)基于web技术的协同办公系统设计.pdf_第3页
(计算机软件与理论专业论文)基于web技术的协同办公系统设计.pdf_第4页
(计算机软件与理论专业论文)基于web技术的协同办公系统设计.pdf_第5页
已阅读5页,还剩67页未读 继续免费阅读

(计算机软件与理论专业论文)基于web技术的协同办公系统设计.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

论文题目:基于w e b 技术的协同办公系统设计 导师:陈景春 研究生姓名:叶嵩 学号:0 2 s 0 8 1 0 9 3 中文摘要 计算机和网络技术的不断发展,要求多个计算机的协同工作,而用户的也列 基于协同工作的p 2 p 方式产生了需求。与此同时出现了w e b 服务等新技术,我们 结合当前用户的需求和实际环境,运用p 2 p 技术和w e b 服务技术,丌发能够更 好的满足用户需要的办公协同系统即讯为i i 办公协同系统。 w e b 服务通过网络,依靠相关的发现方式和服务描述绑定一一个软件模j ;- 央( w e b 服务的实现) ,然后调用方通过s o a p 协议或h t t p 协议,调用w e b 服务中的操 作。我们采用的w e b 服务技术是基于n e t 平台的,采用a s r n e t 和i i s 实现 的x m lw e b 服务。n e tf r m n e w o r k 在w i n d o w s 操作系统上对w e b 服务技术提 供了良好的支持,比j 2 e e 技术性能更好,而且具有简洁高效的编程接口和跨语 言特性。 n e t f r a m e w o r k 采用应用程序域方式管理程序集执行时内存管理。应用程 序域提供了一个更安全的处理单元,公共语言运行库可使用该单元提供应用程序 之间的隔离。您可以在单个进程中运行几个应用程序域,而不会造成进程问调用 或进程间切换等方面的额外开销。在一个进程内运行多个应用程序的能力显著增 强了服务器的服务能力。以此为基础,a s r n e t 和i i s 组成了一个高效而灵活的 架构,来处理w e b 请求。 但是a s r n e t 的缺省进程方式在实琢运用中并非令人满意,我们建立了独 立于i i s 的服务进程。该进程作为一个服务容器,加载应用程序集。h t t p 消息 通过一种特殊的方式由i i s 路由到容器服务进程。对应于p 2 p 应用方式,我们构 建了四层应用架构模型,即能够保持传统的三层架构的优点,又能满足多种客户 端方式,并讨论了客户端( c o n s u m e r ) 与服务端( p r o v i d e r ) 的交互方式。我们 以在线讨论应用实例演示了办公仂同系统的实现过程。 论文最后总结了我们项目的特点,并讨论了我们应陔继续进行的工作。 关键字:w e b 服务,n e t ,应用程序域,p 2 p ,协同 基于w e b 技术的协j 司办公系统设计 a b s t r a c t w i t ht h ed e v e l o p m e n to fc o m p u t e ra n dn e t w o r k ,i ti sr e q u i r e dt h a tm u l t i - c o m p u t e r s w o r kc o l l a b o r a t i r e l y ,a n du s e r sa l s o i n t e n dt ou s es y s t e m sw i t hp 2 pb a s e do n c o l l a b o r a t i o n a tt h es a m et i m e ,s o m en e wt e c h n o l o g i e ss u c ha sw e bs e r v i c eh a v e b e e ng e n e r a t e d w ec o m b i n e dw e bs e r v i c ea n dp 2 pw i t ho u ru s e r s r e q u i r e m e n tt o d e v e l o pan e wc o l l a b o r e r i r ew o r ks y s t e mt h a tc a nm e e tw i t ho u ru s e r s ,t h ex u n w e 1 ic 0 1 1 a b o r a t i v ew o r k s y s t e m w e bs e r v i c eh i n d sas o f t w a r em o d u l e ,t h eb o d yo faw e bs e e r i c e ,b yt h ew a yt o d i s c o v e rw e bs e r v i c ea n ds e r v i c ed e s c r i p t i o nt h r o u g hn e t w o r k a n dt h e nt h ec l i e n t c a l l sm e t h o d so ft h ew e bs e r v i c et h r o u g hh t t pp r o t o c o la n ds o a pp r o t o c 0 1 w em a k e u s eo fw e bs e r v i c e t e c h n o l o g y o nt h eb a s i so f n e tf r a m e w o r k n e tf r a m e w o r k i m p l e m e n t sx m lw e bs e r v i c et h r o u g ha s p n e ta n di i s n e tf r a m e w o r kp r o v i d e s e x c e l l e n ts u p p o r tt ow e bs e r v i c e ,b e t t e rt h a nj 2 e ep a t f o r m ,a n dm o r es i m p l ea n d e f f i c i e n ta p p i c a t i o np r o g r a mi n t e r f a c e s i na d d i t i o n ,i ti s l a n g u a g ec r o s s i n g , n e tf r a m e w o r ku s et h ea p p l i c a t i o nd o m a i nt om a n a g em e m o r yw h i l ea s s e m b yi s e x e c u t i n g t h ea p p l i c a t i o nd o m a i np r o v i d eam o r es a f em e m o r yu n i tw h i c hs e p a r a t e s t h ea s s e m b l yf r o mo t h e r s b yt h ec o m m o nl a n g u a g er u n t i m e1 i b r a r y y o uc a nr u n s e v e r a l a p p l i c a t i o nd o m a i n sw i t h i nas i n g l ep r o c e s s ,b u td on o ts p e n dt o om u c h e x p e n s eo ft h es w i t c ho fi n t e r p r o c e s s e so rc a l l i n go fp r o c e s s t h ep r e f o r m a n e e o fs e r v e rc a nb e r e m a r k a b l yi m p r o v e s db ye x e c u t i n gm u l t i p r o g r a mi ns i n g l ep r o c e s s t h e r e f o r e ,a s p n e ta n di i sc o n s t r u c tak i n do fa r c h i t e e t u r et oo p e r a t ew e b r e q u e s t s w i t hh i g he f f i c i e n c ya n df l e x i b i l i t y y e ti t i sn o ts a t i s f i e dt h a tt h ed e f a u l t p r o c e s sm o d eo fa s p n e tw o r k s i n p r a t t i c e w ec r e a t eas e r v i c ep r o c e s sd e p e n d e n to fi i s ,w h i c hi sac o n t a i n e rt h a t l o a d sa nr u n sa s s e m b l i e s t h eh t t pm e s s a g eisr o u t e df r o mi i st ot h ec o n t a i n e t t h r o u g has p e c i a lm e t h o d w i t ht h er e s p e c to fp 2 pa p p l i e a t i o n ,w eb u i l df o u rt i e r s a r c h i t e c t u r et h a ti sa b l et o k e e pa 1 1a d v a n t a g e so ft r a d i t i o n a t h r e et i e r s a r c hj t e c t u r ea n d f i t sd i v e r s ec l i e n tm o d e s a n dw e s t u d y t h ei n t e r a c t i o nm o d e b e t w e e nc l i e n t ( c o n s u m e r ) a n ds e r v e r ( p r o v j d e r ) w ed e m o n s t r a t et h ei m p l e m e n to f c o l l a b o r a t i v ew o r ks y s t e mf o rt h ee x a m p eo fd i s c u s s i o no n l i n e f i n a l t y ,w es u m m a r i z eo u rc h a r a c t e r so fp r o j e c ta n dd e s i s n a r en e x to b j e c tt h a t w ew i l lp 】a nt oa c h i e v e k e y :w e bs e r v ic e ,n e t ,a p p d o m a i n ,p 2 p ,c o l l a b o r a t i v e i j 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 签名: 吐老一日期:m 厂年,月汐日 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名: 吐盘: 导师签名: 日期: 盘缘 年月日 基于w e b 技术的协同办公系统设计 1 1 研究背景 第一章引言 随着互联网( i n t e r n e t ) 的迅速发展,我们越来越多的人利用计算设备在通过网络进行 工作和学习。许多行业都开始利用完成其传统方式来完成的业务,如客户服务,报表分析, 数据采集,和消息传递等等。我们通过计算机网络进行信息的收集,存储,转发和分析, 网络中的数据和呈指数级的增长,而对于计算机的处理能力的要求越来越高。而单个计算 机的处理能力是有限的,这就要求多个计算机的协同工作,通过某种组织方式来合理分配 计算能力,发挥多个计算机的计算能力,完成一些单个计算机不易完成的工作。另一方面, 我们从更高层次来看,我们的用户本身也是一种协作方式来进行工作的,一个人的工作结 果或部分结果可能是其他人的工作开始的条件,同时一个人的工作的开始条件也来自于用 户把这种自然的协作方式也带到了对计算机的使用中,从而也促使我们对网络中的计算机 的协同工作进行更多的研究。同时对在计算机协作工作的一些问题展开针对性的研究。 与此同时,随着计算机技术的不断进步,出现了一系列新的技术成就。在协同计算领 域上,一般采用p 2 p 的方式来对网络中的计算机进行组织,它符合人们对计算机的理解和 最自然的使用方式。事实上,p c 出现的早期,最流行的网络模式就是对等网方式。对于 p 2 p 的技术本身而言,并不复杂,但是随着计算机和网络应用的不断深入,用户需求的不 断增长,应用系统的功能不断丰富,对p 2 p 的进一步研究和改进也不可避免的提到日程上 来。在最近几年,网格技术迅速发展起来,一些的新的技术和理念也随之出现。网格的本 质特征与p 2 p 是一致的,都是充分发挥计算机网络的计算潜力,实现资源最大共享,尽管 其商业模式和经典定义有所区别。w e bs e r v i c e 这种新型的组件技术也随着互连网技术的发 展而流行起来,它的一些新的技术特性是传统分布式组件技术所不具各的,它可以和现有 的网络模型相结合,以更实际有效的方式发挥作用。 上面提到的新的技术为我们设计更为实用和合理的办公协同系统提供了条件。我们完 全可以结合当前用户的需求和实际环境,运用p 2 p 技术和w e b 服务技术的有益的成果,开 发新型的能够更好的满足用户需要的办公协同系统。 1 2 课题研究的意义和价值 讯为i i 办公协同系统是在原来的讯为办公系统应用基础上,结合以上最新的网络和计 算技术,和用户的实际需求,进行较大的升级。它的设计目的旨在设计一种具有更好的分 基于w e b 技术的协同办公系统设计 布性,健壮性和可伸索性的网络信息化系统的支撑技术,而不是仅仅在具体的应用上。其 应用涉及企业综合信息管理,数据的统计和分析,文档存储和交换等等。系统不但可以完 成传统模式下的应用功能,而且还可以利用其分布式特征完成一些比较新的功能,如数据 挖掘和分布式搜索等用户潜在的需求提供技术支持。这些功能所采用的算法相对来说运算 量较大,不借助于功能强大的计算设备通常无法完成。但对于一般用户而言这是不现实的。 我们完全可以充分利用网络中一般的计算设备如p c 机,实现协同计算,来共同完成这些 运算量较大的任务。这样,一方面充分利用了用户的现有投资,减少了设备的无形损耗。 另一方面,丰富了应用功能,提高了用户的工作效率。从而提高了企业生产效率,促进我 们国家的经济发展。 1 3 本文的结构 本文一共分六章。第一章是前言,第二章是对w 曲服务的相关综述,第三章是对p 2 p 技术的相关综述,第四章讯为i i 办公协同系统的设计模型进行了详细的介绍。第五章对 全文进行了总结,并提出了下一步做的工作。 2 1 w e b 服务概述 2 1 1 信息系统的发展演变 第二章w e b 服务技术 在计算机时代的早期,查询系统均属于单机上的、零散的、孤立的系统。无论是用户 界面、查询程序和数据库系统都在同一台机器中。在查询程序的用户界面中,用户输入要 查询的条件,程序在数据库中按顺序进行检索,找出符合条件的结果,将结果返回给用户。 这种方法很简单易用,也比手工做同样的工作快得多。但随着时间推移,山于人们输 入的信息越来越多,电子表格越来越庞大,结果,用户的要求开始有所转变了,用户需要 更强的计算能力共享和存储共享来应对日益复杂的事务要求。于是出现了几种新的系统模 式。 1 ) c s 模式 p c 机快速普及,多媒体技术迅猛发展,处理得信息量越来越大,然而用户仍希望使用 数据查询系统来查询数据,使用管理软件来分析信息,但他们不再愿意手工输入所有的信 基于w e b 技术的协同办公系统设计 息。为什么不能直接从大型机获得信息并生成基于最新数据的分析结果呢? 为什么一份结果 不能立即被组织中的其他用户共享,使他们能无须重新输入任何信息就能根据这些数据再 加工呢? 人们希望他们桌上的计算机能成为全世界的入口,希望通过许多信息源迅速而方面 的掌握数据。为了这些要求的满足和发展,c s 模式的信息查询系统应运而生。 在c s 模式的信息查询系统中,信息系统被分成两部分:客户端应用程序和服务器端应 用程序。存储了大量重要数据的数据库被放嚣在j 性能稳定的服务器上,客户机上也有一 定量的数据。用户在客户端程序中发出查询请求,接着请求被客户端程序发送到服务器端。 服务器端的程序根据收到的请求信息,在数据库中进行查找,并将符合条件的结果返回客 户端程序;最后客户端程序将结果显示在输出设备上,供用户查阅。c s 查询模式如图2 1 所示: 图2 - 1c s 模式示意图 通过这种方式,节省了信息资源,多个用户可以共享一台服务器上的数据。但随着使 用的深入,人们发现在c s 模式的信息、查询系统中,需要在所有使用该系统的机器上安 装并配置客户端程序,这比较复杂并难于维护,而且当需要升级时,必须对每台客户机进 行改变。同时操作系统和安装在客户机上的其他软件的版本变化,d l l 都会频繁地与客户 端程序发生冲突。 2 ) b s 模式 随着计算机的广泛应用和网络技术的飞速发展,很多企业都组建了企业内部网 i n t r a n e t 。这些内部网一般采用t c p i p 作为通信协议,也有利用i p x 和n w l i n k 等子网内部 协议,将客户端、数据服务器、w e b 服务器分开以b r o w s e r s e r v e r 模式运行,这是查询系 统由传统的模式向网络应用模式的转化。对内,客户端通过网络来访问w e b 服务器,以实 现企业内部信息的共享。对外,设立防火墙将内部网和外部网隔离开来,避免一些重要的 内部信息外泄及外部危险信息的渗入。 所谓b r o w s e r s e r v e r 模式,事实上是客户端n 务器端模式的种延伸。客户端只需安 装浏览器,如i e 或n a v i g a t o r ,即可访问相关资源,减轻了以往客户端程序的开发及安装、 配置的复杂度。而作为数据服务器主要是用来存储各种数据。w e b 服务器则用来向客户端 提供访问界面,并通过该界面实现对数据的访问。这样各部分分工明确,维护起来方便简 单。当数据库中的数据发生变化时,客户端的环境无须做任何改动即可实现数据的更新, 同时也隔断了客户端与数据库的直接联系,增强了数据的安全性。编程人员只需集中精力 进行网络编程,有利于系统的维护。同时系统客户端的部署也变得简单。具体访问过程如 基于w e b 技术的协同办公系统设计 图2 2 所示 3 ) 三层架构 随着w e b 技术的不断发展,w e b 应用的复杂度在不断提高,由w e bs e r v e r 和d a t a b a s e s e r v e r 组成的两层模式已经无法满足大用户量下的复杂应用的要求了。为了提高系统的吞 吐率和应用的实现效率,系统架构师们在以上两层模式的基础上设计了三层模式。在w e b s e r v e r 与d a t a b a s es e r v e r 之间加入逻辑层如a p p l i c a t i o ns e r v e r 专门用于事务过程的处理。 w e b s e r v e r , a p p l i c a t i o ns e r v e r 和d a t a b a s es e r v e r 组成的三层架构有效地解决了原有的两层 架构在面对复杂w e b 应用时的不足。这样一方面可以有效地降低数据库服务器的负荷,也 极大地提高了应用的灵活性。 图2 - 3 三层架构示意图 4 ) 四层架构 在许多情况下,三层架构无法满足异构终端和操作系统的特性,而且浏览器的功能毕 竟有限,这样在实践中出现了多类型用户端的需求。从另一方面来说,也是本文的一个重 点问题,即客户端究竟向哪一个客户端提出请求,或服务端以某种组合策略来为客户端提 供服务,需要一个专门的逻辑层来提供,我们把这称为调度层,即在中间件服务器和客户 机( b s 方式下为w e bs e r v e r ) 之间有一个进行终端请求抽象成通用模式,并确定访问服 务方式的处理组件,可以宿主于单独的计算机上或客户机或w e bs e r v e r 上。具体方式详见 第四章。 2 1 2 引入w e b 服务的原因 首先,w e b 应用虽然在许多方面方便了我们的应用,但人们发现在w e b 应用和传统 桌面应用( 比如企业内部管理系统、办公自动化系统等) 之间存在着连接的鸿沟,人们不得 4 基于w e b 揎术的协同办公系统设计 不重复地将数据从w e b 应用迁移到传统桌面,从传统桌面应用将数据迁移到w e b 应用, 这成为了一个巨大的障碍。计算机的应用是要满足自动化,在自动化流程之间的人工流程 会在不同程度上降低人们的积极性。 其次,目前大多数基于w e b 技术的商务系统在处理购买者、供应商、交易市场和服 务提供者之问的联系方式上各有不同。如何将这些应用方便且低代价地连接在一起,从而 实现大范围的跨实体的系统对接,是摆在开发人员面前的大问题。不同的应用开发语言 不同、部署平台不同、通信一协议有可能不同,对外交换的数据格式也有着很大的差异。 如何解决语言差异、平台差异、协议差异、数据差异所带来的高代价的系统集成,是问题 的关键。 最后,现今基于w e b 应用的信息查询程序通常是人机交互的,结果多用于浏览,往往 难于现w e b 程序的重用和扩展。将面向对象的组件技术引入到w e b 中,充分利用h a t e m e t 的开放性,节约编程资源是我们追求的发展方向。近期出现的w e b 服务技术正是对这些问 题的一种较佳的解决方案。w e b 服务技术是一种基于标准的w e b 协议的可编程组件,它的 主要目标就是在现有的各种异种平台的基础上构筑一个通用的平台无关、语言无关的技术 层,各种不同平台之上的应用依靠这个技术层来实麓彼此的连接和集成。 w e b 服务可以被自由地部署在i n t e m e t 上,而服务器、p c 或是移动计算设备上的各种 程序,包括w e b 应用程序,w i n d o w s 应用程序或是其他支持w e b 服务的任何类型的程序都 可以在任何时候、任何地方通过i n t e m e i 对其进行方便的调用,同样调用它的也可以是另 一个w e b 服务。 第一,各种类型的应用程序可以在任何时候、任何地点通过i n t e m e t 对其进行方便的调 用,使资源得到最大的利用,充分发挥了i n t e r n e t 的开放性。以股票查询系统为例,只要 证券中心将股票查询系统开发为w e b 服务,那么需要此功能的其他单位或个人在获得证券 中心的许可之后,就可以直接通过i n t e m e t 进;厅调用,并对结果进行处理。 第二,使用w e b 服务技术的信息查询系统能够与其他应用程序方便地集成在一起。例 如新开发了商品查询系统,现在利用w e b 服务技术,就可以简单地将它同已有的商品买卖 系统进行集成。这样最大限度地利用了己有资源,减少了重新编写代码的工作。 第三,由于w e b 服务技术使用的是通用的语言、传输协议、标准等,所以基于它开发 的信息查询系统,可以被异构平台上以异种语言编写的程序进行调用,真正实现了跨平台、 跨语言特性。 因此,在信息系统中融入w e b 服务技术代表了未来信息系统的发展方向,应用它可以 使信息处理系统达到从未有过的开放性、通用性、可重用性和可扩展性。 2 1 3 引入w e b 服务与分布式计算 w e b 服务是一种比较优秀的分布式计算技术。分布式计算是将应用程序逻辑分布到网 基于w e b 技术的协同办公系统设计 络上的两台或多台计算机上,在物理上分离的单元中。分布式计算的思想由来已久,已经 发明出许多计算技术来支持分布和可重用应用程序逻辑。 分布应用程序产生的原因: 1 ) 分布式计算使得链接不同的机构或团体成为可能: 2 ) 分布式应用程序逻辑在多个应用程序间可重用。升级分布式应用程序块是不必升级 整个应用程序。 3 ) 通过分布应用程序逻辑,使得负载分摊到不同的计算机,从而提供了潜在的性能优 化。 4 ) 当新的需要产生时,应用程序逻辑可以重新分布或重新连接。 i n t e r n e t 增强了分布式计算的重要性和适用性。i n t e m e t 的简单易用和使用的广泛性使得 分布式计算作为分布式应用的骨干成为必然的选择。 如今较流行的分布式计算对象模型是对象管理组o m g ( o b j e c tm a n a g e m e n t g r o u p ) 的 c o r b a ( c o m m o no b j e c tr e q u e s tb r o k e ra r c h i t e c t u r e 。通用对象请求代理体系结 构) ,m i c r o s o f t 的d c o m ( d i s t r i b u t e dc o m p o n e n to b j e c tm o d e l ,分布式组件对象模型) 和s u n 的 r m i ( r e m o t em e t h o di n v o k e ,远程方法调用) 。通过使用这种基本结构,开发人员仍可拥有 使用本地模型所提供的丰富资源和精确性,并可将服务置于远程系统中。 但这些模型都仅仅是本地或本网计算的模型,它们有一个共同的缺陷,就是无法扩展到 互联网上:它们要求客户端和系统提供的服务本身之间必须进行紧密藕合,即要求一个同 构。这样的系统往往比较脆弱,如果一端的执行机制发生变化,那么另一端便会失败。例 如,如果服务器应用程序的接口发生更改,那么客户端便会失败。 而现在w e b 服务技术把分布在互联网上的各种资源有效地通过编程手段整合在特分的 应用界面中。下面是几种分布式对象模型的比较: 表2 一l几种分布式对象模型的比较 特征 c o w l ,d c o mc o r b aw e bs e r v i c e r p c分布式环境的远程调用l n l e r n e ti n t e m a l 0 r b ( d e c r p c )协议 超文本传输协议h t t p 编码网络数据表示( n d r )通只j 数据表示( c d r )扩展标记语言x m l 接【j 描述接l 定义语言( i d l )接口定义语言( 1 d l )w e b 服务描述语言w s d l 通用服务发现,描述与集成机 发现注册库命名服务与交易服务 制 防火封盘友好性否 否 是 协议的复杂性 局低 跨平台性否部分是 基于w e b 技术的协同办公系统设计 2 1 4w e b 服务的概念 w e b 服务目前定义一般定义为:w e b 服务是由u r i ( u n i f o r m r e s o u r c e i d e n t i f i e r ,统一资 源标识符1 标识的软件应用程序,其接口和绑定可以通过x m l 构件进行定义、描述和发现, w e b 服务支持通过基于因特网的协议使用基于x m l 的消息与其他软件应用程序直接交互。 简单来说,w e b 服务是松散藕合的、可重用的软件模块,从语义上看,它封装了离散 的功能,在i n t e r n e t 上发布后能通过标准的 n t e r n e t 协议在程序中访问。 第一,w e b 服务是可重用的软件模块,w e b 服务是对软件开发中面向对象设计的发展 和升华。基于组件的模型允许开发者复用他人创建的代码模块,组成或扩展它们,形成新 的软件。 第二,这些软件模块是松散祸合的。传统的应用软件设计模式要求各个单元之间紧密 连接,这种连接形成的复杂性要求开发者必须对连接的两端元素有完全的了解和控制能力。 而且,这种连接一旦建立后,很难从中把一个元素抽出,用另外一个元素代替。相反,松 散藕合的系统,只需要很简单的协调,并允许作自由的配置。 第三,从语义上看,w e b 服务封装了离散的功能。一个w e b 服务就是一个自包含的“小 程序”,完成单个的任务。w e b 服务的模块使用其他软件可以理解的方式描述输入和输出, 其他软件知道它能做什么,如何调用它的功能以及返回什么样的结果。 第四,w e b 服务可以在程序中访问。和w e b 网站或桌面程序不同,w e b 服务不是为直 接与人类交互设计的,它们不需要有图形化的用户界面。w e b 服务是在代码级工作的,它 们被其他软件调用,并与其他软件交换数据。不过w e b 服务最终的目的还是形成一个能够 与用户交互的应用软件。 最后,w e b 服务是在i n t e m e t 上发布的。、w e b 服务使用现有的并广泛使用的传输协议, 比如h t t p 。使用与传输w e b 内容相同的并广泛使用的协议,不需要调整现有的i n t e m e t 架构,w e b 服务就可以通过防火墙进行通信。 由于w e b 服务是一种部署在w e b 上的对象( w e bo b j e c t ) ,因此具有对象技术所承诺的 所有优点:同时,w e b 服务的是以x m l 为基的,开放的w e b 规范技术,因此具有比任何的 对象更好的开放性。 2 1 5w e b 服务的体系架构和实现模型 w e b 服务的实现模型是:服务的提供者拥有一个可以通过网络访问的软件模块( w e b 服 务的实现) ,它为这个w e b 服务定义服务说明,并把它发布给服务的请求者或服务的注册 处。服务的请求者使用查找操作从本地或服务的注册处得到服务说明,并使用服务说明中 的信息与服务的提供者实现绑定,然后与w e b 服务交互,调用其中的操作。这种实现模式 基于w e b 技术的协同办公系统设计 可以从图3 1 中看出。 在w e b 服务体系中,所有的应用实体都被抽象成服务。其中包括三种角色、三种操作 和两种构件。 1 1 服务体系架构中的三种角色是: 服务的提供者:从商业的涌度看,这是服务的拥有者;从w e b 服务的架构看,这是 拥有服务的平台。 服务的请求者:从商业的角度看,这是需要某种功能的商业机构;从w e b 服务的架 构看,这是查找、调用服务的应用程序。服务请求可以使用浏览器完成,也可以 是没有用户界面的应用程序发出。 服务的注册处:这是可搜索的服务描述注册中心,服务的提供者向这里发布他们 的服务说明,而服务的请求者在这里找到服务,并得到与服务绑定的信息,在开 发时刻实现静态绑定或在运行时刻实现动态绑定。对于静态绑定的服务请求者, 服务注册处是体系结构中的可选角色,因为服务提供者可以把描述直接发送给服 务请求者。同样,服务请求者可以从服务注册处以外的其它来源得到服务描述, 例如本地文件、f t p 站点、w e b 站点、广告或发现w e b 服务( d i s c o v e r yo fw e b s e r v i c e s ,d i s c o ) 。 2 ) w e b 服务体系架构中的三种操作是: 发布:服务提供者需要首先将服务进行一定描述并发布到注册服务器上,服务的 请求者才能够找到它。在发布操作中,服务提供者需要通过注册服务器的身份验 证,才能对服务描述信息进行发布和修改。到底把服务说明发布到哪里,或者以 什么方式发布,这是由应用程序的具体要求决定的。 查找:在查找中,服务的请求者可能会直接得到服务说明,也可能会向服务的注册 处查询服务说明的位置。对于服务请求者,可能会在两个不同的生命周期阶段中 牵涉到查找操作:在设计时为了程序开发而检索服务的接口描述,而在运行时为了 调用而检索服务的绑定和位置描述。在查找操作中,一般包含两种查找模式:种 是浏览模式( b r o w s ep a t t e r n ) ,即服务请求方可以根据通用的分类标准来浏览或者通 过一些关键字来搜索,并逐步缩小查找的范围,直到找到满足需要的服务,查找 结果是一系列服务的集合;另一种是直接获取模式( d r i l ld o w np a t t e r n ) ,即通过唯一 的关键字直接得到特定服务的描述信息,其查找结果是唯一的。 绑定:在绑定操作中,服务的请求者在运行时刻使用服务说明中的绑定信息,包括 服务的访问路径、服务调用的参数、返回结果、传输协议、安全要求等来定位、连 接和调用服务,启动与服务的交互,调用w e b 服务的方法。 3 ) w e b 服务体系架构中的两种构件是: 服务:w e b 服务是由服务说明定义的接口,而这个接口的实现就是服务本身。 基于w e b 技术的协同办公系统设计 服务是服务提供者在网络上发布可供不同平台使用的软件模块。服务的请求者可以 调用它,或者与之交互。服务本身也可以是请求者,在它的实现过程中使用其他的 w e b 服务。 服务说明:包含服务接口和实现的详细细节,包括数据类型、操作绑定信息和网络 位置等。也可能包括分类和其他元数据信息,这些信息通常是为了协助服务请求者 发现和使用服务。服务的提供者可以把服务说明直接发送给服务的请求者,也可以 发送到服务的注册处。 4 ) w e b 服务的s o a p 协议 s o a p ( s i m p l eo b j e c t a c c e s sp r o t o c o ) 简单对象访问协议是在分散或分布式 的环境中交换信息的简单的协议,是一个基于x m l 的协议,它包括四个部分:s o a p 封装( e n v e l o p ) ,封装描述了消息中的内容是什么,是谁发送的,谁应当接受并处理 它以及如何处理它们的框架;s o a p 编码规贝j j ( e n c o d i n gr u l e s ) ,用于表示应用程序 需要使用的数据类型的实例;s o a pr p c 表示( r p cr e p r e s e n t a t i o n ) ,表示远程过程 调用和应答的协定;s o a p 绑定( b i n d i n g ) ,使用底层协议交换信息。 s o a p 一般使用h t t p 传送订l ,尽管h t t p 不是有效率的通讯协议,而且x m l 还需要额外的文件解析( p a r s e ) ,两者使得交易的速度大大低于其它方案。但是x m l 是 一个开放、健全、有语义的讯患机制,而h t t p 是一个广泛又能避免许多关于防火墙 的问题,从而使s o a p 得到了广泛的应用。但是如果效率很重要,那么应该多考虑其 它的方式,而不要用s o a p 。不过所幸的是,现在宽带网接入技术的迅速发展,已经 在很大程度上使其不在成为问题。 s o a p 消息是由一个强制的s o a pe n v e l o p e 、一个可选的s o a ph e a d e r 和一个 强制的s o a p b o d y 组成的x m l 文档和若于个可选的附件( 图2 1 ) s o a p 消息应当包含 以下部分: s o a pe n v e l o p e g n v e l o p e 是表示该消息的x m l 文档的顶级元素。 s o a ph e a d e r h e a d e r 则是为了支持在松散环境下在通信方( 可能是s o a p 发送 者、s o a p 接收者或者是一个或多个s o a p 的传输中介) 之间尚未预先达成一致的 情况下,为s o a p 消息增加特性的通用机制。s o a p 定义了很少的一些属性来用 于指明谁可以处理该特性以及它是可选的还是强制的。 s o a pb o d y b o d y 为该消息的最终接受者所想要得到的那些强制信息提供一个 容器。此为,s o a p 定义了b o d y 的一个子元素f a u l t 用于报告错误若干个附件。 s o a p 消息有时需要与不同类型的附件( 一些非x m l 文档,比如图片,当然也可 以包含x m l 文档) 一同传输。 基于w e b 技术的协同办公系统设计 s o a p e n v e l o p s o a ph e a d e r s o a pb 1 0 c k s o a pb l o c k s o a p b o d y j s o a pb 1 。c k i s o a pb 1 0 c k a t t a c h m e n t a t t a c h m e r i t 图2 - 4 消息层次结构 s o a p 消息采用所谓的“消息路径”发送,使在终结点之外的中间节点可以处理消息。 一个接受s o a p 消息的s o a p 应用程序必须按顺序执行以下动作来处理消息:识别应用程序 想要的s o a p 消息的所有部分,检验应用程序是否支持第步中所有必需部分并处理它。 如果不支持,则丢弃消息。在不影响处理结果的情况下,处理器可能忽略第一步中识别出 的可选部分。如果这个s o a p 应用程序不是这个消息的最终目的地,则在转发消息之前删 除第步中识别出来的所有部分。为了正确处理一条消息或消息的一部分,s o a p 处理器 需要理解所用的交换方式( 单向、请求问答、多路专发等) ,在这种方式下接受者的任务, r p c 机制( 如果有的话) 的使用方式,数据的表现方法或编码,还有其它必需的语义。 2 2 m i c r o s o f t n e t 下的w e b 服务 2 ,2 ,1 ,n e t 概述 n e t 平台作为支持w e b 服务的新一代平台,相对于基于j a v a 和p y t h o n 技术的w e b 服务平台具有较强的优势。v i s u a ls t u d i o n e t 和n e tf r a m e w o r k 是微软用于方便地创建、 构建和部署x m lw e b 服务而专门开发的强大的应用程序开发工具和平台。x m lw e b 服务 为企业提供了一种将互联网作为开发平台进行部署的全新方式,使企业能够跨独立系统和 基于w e b 技术的协同办公系统设计 平台无缝地进行交互操作。这些产品支持2 0 多种编程语言,它们使开发人员可以现有技巧 进行扩展以容纳新的x m l w e b 服务。因此在:这里我们选择n e t 作为w e b 服务的开发平台, 并在此平台上进行一个人员信息的w e b 服务的开发。n e t 是一令革命性的新平台,建立 在开放的i n t e m e t 协议和标准之上,通过工具和服务将计算机通讯以崭新的方式融合在一 起。实际上n e t 是个开发和运行软件的新环境,便于开发基于w e b 的服务,拥有丰富 的运行库服务以支持用多种语言编写的组件,具有跨语言和跨平台的互操作能力。 除了全面支持w e b 技术以外,n e t 还对当今软件工业中的以下新技术提供了良好的 支持。 分布计算 简化了客户机n 务器应用程序的开发。当前的分布技术要求w e b 厂商问的高度合作, 而n e t 提供了一个远程体系结构,它采用了开放的i m t e m e t 标准,包括超文本传输协议 ( h t t p ) 、可扩展标志语言( x m l ) 和简单对象存取协议( s o a p ) 。 组件化 简化了由不同软件厂商开发的软件组件之间的集成。组件对象模型( c o m ) 已经实现了 软件的即插即用,但c o m 组件的开发和配置过于复杂,n e t 提供了一个更简单的方法来 建立和配置组件。一个显著的特征是n e t 组件不再依赖注册表。 企业服务 允许开发可升级的企业应用程序,不必写代码来管理事务、安全和共享。n e t 继续支 持企业服务,因为这些服务在建立大规模应用程序时大大地减少了开发时间和精力。 w e b 开发规范的转变 简化了w e b 应用程序的开发。在过去的几年中,w e b 应用程序开发从连接层面( t c p 1 p ) 变化到应用描述层面( h t m l ) ,再到可编程性( x m l 和s o a p ) 。,n e t 的下一个主要目标是 使软件能够成为服务在i n t e r n e t 上被出售及分布。 成熟因素 软件工业从开发大规模企业和w e b 应用程序中得到了经验。一个商业w e b 应用程序 必须支持互操作性、可衡量性、可用性和易管理性。而,n e t 可以达到所有这些目标。 2 2 2 n e t 的组成 n e t 从直观上看,可以被看作是一个巨大的软件平台,该平台封装了硬件和操作系 统接口,并直接提供对应用程序的接口支持。它由五个主要组件构成: 1 1 在最底层的是操作系统( o s ) ,可以是不同的w i n d o w s 平台之一,包括w i n d o w sx p , w i n d o w s2 0 0 0 ,w i n d o w sm e 和w i n d o w sc e 。作为n e t 战略的一部分,微软保证发布 更多的n e t 设备。 基于w e b 技术的协同办公系统设计 2 ) 在操作系统之上的是一系列n e t 企业服务器产品,它们简化并缩短了开发及管理大规 模商业系统的时间,这些产品包括a p p l i c a t i o nc e n t e r2 0 0 0 ,c o m m e r c es e r v e r2 0 0 2 、 e x c h a n g es e r v e r2 0 0 3 、h o s ti n t e g r a t i o ns e r v e r2 0 0 4 ,a c c e l e r a t i o n

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论