(计算机软件与理论专业论文)科技奖励信息统一检索研究与设计.pdf_第1页
(计算机软件与理论专业论文)科技奖励信息统一检索研究与设计.pdf_第2页
(计算机软件与理论专业论文)科技奖励信息统一检索研究与设计.pdf_第3页
(计算机软件与理论专业论文)科技奖励信息统一检索研究与设计.pdf_第4页
(计算机软件与理论专业论文)科技奖励信息统一检索研究与设计.pdf_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

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

文档简介

摘要 随着国家科技奖励评审的信息化和网络化,不同科技奖励部门奖 励信息表示的异构以及信息的异地分布存储,需要构建一个统一的检 索系统,能够整合不同类型、不同结构、不同环境中的各种奖励信息, 使用户能够进行统一高效的检索。 在对科技奖励网络评审领域的资源信息特点以及网络拓扑结构 分析的基础上,针对科技奖励评审领域,设计了基于n e tr e m o t i n g $ 1 w e bs e r v i c e s 技术相结合的统一检索系统体系结构,并对系统结构 层次及其功能模块进行了详细的分析。检索系统既能充分利用n e t r e m o t i n g 技术在解决内网分布式应用程序方面的良好性能以及灵活 快速的开发能力,又能利用w e bs e r v i c e s 高效的集成性能保持系统之 间的松散耦合,以及能够从根本上解决广域网上系统异构和防火墙拦 截等问题;接着论文给出了广域网和局域网两个层面的系统组织结 构。 为了提高统一检索系统的检索效率,论文选取了基于区域划分的 两级索引机制,上级索引用于发现资源存放的节点,下级索引用于查 找节点中的资源,并且论文描述了根据该索引机制的检索流程;然后 论文讨论了系统的全局数据模式及其转换问题;接着论文设计了统一 检索结果记录模型以及基于该模型的结果汇总策略;再接着论文引入 了系统的若干优化措施;最后是检索系统部分模块的实现。 关键词科技奖励,w e bs e r v i c e s ,n e tr e m o t i n g ,统一检索, 网络评审 a b s t r a c t w i t ht h el n f o r m a t i o n i z a t i o na n dn e t w o r k i n go ft h en a t i o n a ls c i e n c e a n d t e c h n o l o g y a w a r d sa sw e l l a si t sd i f f e r e n t d e p a r t m e n t s h e t e r o g e n e o u s a n dd i s t r i b u t e ds t o r e d a w a r d i n gi n f o r m a t i o n ,i t i s n e c e s s a r yt ob u i l dau n i f i e ds e a r c h i n gs y s t e mi nw h i c hv a r i a n tr e s o u r c e s o fd i f f e r e n tt y p e sa n ds t r u c t u r e si nd i f f e r e n te n v i r o n m e n t sc a nb e i n t e g r a t e d t h e n i ta l l o w su s e r st os e a r c hi n f o r m a t i o no f g r e a t c o n v e n i e n c ea n dh i g he f f i c i e n c y o nt h eb a s eo fa n a l y z i n gf e a t u r e so ft h er e s o u r c e si ns c i e n c ea n d t e c h n o l o g ya w a r d sa n d n e t w o r k t o p o l o g i c a ls t r u c t u r e ,a u n i f i e d s e a r c h i n gs y s t e ma r c h i t e c t u r e ,b a s e d o n n e tr e m o t i n ga n dw e b s e r v i c e st e c h n o l o g y , i sp r o p o s e df o rs c i e n c ea n dt e c h n o l o g ya w a r d s a n di t a n a l y z e si t ss t r u c t u r ea n df u n c t i o nm o d u l e si nd e t a i l i tc a nn o t o n l ym a k ea d v a n t a g eo f n e tr e m o t i n gt e c h n o l o g y sg o o dp e r f o r m a n c e i n r e s o l v i n gt h e i n t r a n e t sd i s t r i b u t e d a p p l i c a t i o n a n d c a p a b i l i t y o f f l e x i b l ea n df a s td e v e l o p m e n t ,b u ta l s oa s s u r et h el o o s e nc o u p l i n go f t h e s ec o m p o n e n t sw i t hw e bs e r v i c e se f f i c i e n ti n t e g r a t i o n ,a n de v e n t u a l l y r e s o l v et h ep r o b l e m so fs y s t e mh e t e r o g e n e o u s n e s sa n df i r e w a l li ni n t e r n e t t h e nt h eo r g a n i z a t i o n a ls t r u c t u r eo fi n t r a n e ta n di n t e m e ta r ep r o v i d e di n t h ep a p e r i no r d e rt oe n h a n c et h ee f f i c i e n c yo ft h i su n i f i e ds e a r c h i n gs y s t e m , t h ep a p e rf i r s tp r o p o s e sat w o t i e rm o d e li n d e xm e c h a n i s mb a s e do n r e g i o n a ld i v i s i o n ,i nw h i c ht h eu p p e ri n d e xi su s e dt of i n dn o d e ss t o r i n g r e s o u r c e sw h i l et h el o w e ri n d e xi su s e dt os e a r c ht h er e s o u r c e si nt h e n o d e s ,a n d d e s c r i b e st h e s e a r c h i n gp r o c e s s b a s e do nt h i si n d e x m e c h a n i s m ;t h e ni td i s c u s s e st h es y s t e m sg l o b a ld a t am o d e la n di t s c o n v e r s i o n ,f o l l o w e db yau n i f i e ds e a r c h i n gr e s u l t sr e c o r dm o d e la n d r e s u l t sc o l l e c t i o ns t r a t e g yb a s e do nt h em o d e l ;a n dt h e nt h ep a p e r i n t r o d u c e ss o m eo p t i m i z a t i o nm e a s u r e so ft h es y s t e m ;f i n a l l y , t h e r ei st h e i m p l e m e n t a t i o no fs o m em o d u l e so ft h es e a r c h i n gs y s t e m k e yw o r d ss c i e n c ea n dt e c h n o l o g ya w a r d s ,w e bs e r v i c e s ,n e t r e m o t i n g ,u n i f i e ds e a r c h ,n e t w o r ke v a l u a t i o n 原创性声明 本人声明,所呈交的学位论文是本人在导师指导下进行的研究 工作及取得的研究成果。尽我所知,除了论文中特别加以标注和致谢 的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不 包含为获得中南大学或其他单位的学位或证书而使用过的材料。与我 共同工作的同志对本研究所作的贡献均已在论文中作了明确的说明。 作者签名:幺墓翌日期:狸8 年月上! 日 学位论文版权使用授权书 本人了解中南大学有关保留、使用学位论文的规定,即:学校 有权保留学位论文并根据国家或湖南省有关部门规定送交学位论文, 允许学位论文被查阅和借阅;学校可以公布学位论文的全部或部分内 容,可以采用复印、缩印或其它手段保存学位论文。同时授权中国科 学技术信息研究所将本学位论文收录到中国学位论文全文数据库, 并通过网络向社会公众提供信息服务。 作者签名:型墓兰导师签名z 釜笙日期:堕年上月三日 硕士学位论文第一章绪论 1 1 引言 第一章绪论 政府的信息化建设是国民经济信息化建设的重要组成部分。2 0 世纪9 0 年代 以来,随着技术进步的加快,尤其是互联网络的出现和迅速发展,全球性的信息 化、网络化进程正在改变着人们生活方式,电子商务的爆炸性增长在工作、娱乐 乃至日常生活的各个层面带来了深刻的影响。各级政府机构作为经济、文化和社 会活动的参与者、管理者和服务者,直接面临着这些快速的变化,推进政府部门 的办公自动化、网络化、无纸化,已是大势所趋,电子政务r 益成为提高政府行 政效能的有效手段。 目前,提高国家科技奖励信息化管理水平,充分运用信息、网络等现代化技 术,整合全国科技奖励信息,实现全国科技奖励信息资源的共享,充分利用信息 资源为面向管理人员、面向社会、面向广大科技人员的服务,做好对内、对外服 务工作,是国家科学技术奖励工作办公室正努力追寻的目标。因此,不断完善国 家科技奖励综合业务处理平台对科技奖励评审有着十分重要的意义。 1 2 研究背景及意义 国家科学技术奖励评审办公平台将国家科学技术奖励工作中的项目申报、评 审以及评审专家的申报、遴选工作计算机网络化。在此平台基础之上,有效整合 资源,建立一套分布式、网络化、信息化的科技奖励办公平台。不仅实现奖励办 各部门之间工作协调合作和相关资源共享,极大简化工作业务,提高了工作效率, 降低了政府运作成本,而且给全国各级科学技术行政管理部门协作提供了多种跨 平台的服务接口,向科技工作者和公众提供简便快捷的多元化服务,并实现了公 平、公正、公开的科技奖励监督机制,提高了办公效率和服务管理质量。对于网 络评审子系统,主要是为参加科技项目评审的专家提供了一个便利的评审平台, 专家通过网络即可参与项目评审,节约了大量的评审费用和评审时间。目前,该 系统已经在国家奖励办、教育部科技发展中心、上海科技厅、湖南省科技厅、吉 林省科技厅、内蒙古科技厅、甘肃省科技厅等实施应用f 1 叫。 作者在攻读硕士研究生期间参与了“科技奖励网络评审系统和“科技项目 协同管理系统等多个项目的设计和实现,这些项目均需涉及到针对多个数据源 的检索,特别是在网络评审过程中,奖励管理部门以及专家均需对当年或者历年 硕士学位论文第一章绪论 的信息进行查询和检索,但是由于奖励信息众多,而且保存的格式也不尽相同, 有数据库系统( 如s q ls e r v e r 、o r a c l e 等) 和文件系统( 如p d f 、w o r d 、t x t 文档 等) ,如果手工去检索不仅需要大量的人力物力,而且很难全面和准确的检索到 相应的结果,因此对奖励评审的效率有一定的影响,以及也有可能间接的影响到 评审的客观公平公正性。总之,对分布在全国各部委和省市科技奖励评审单位的 科技奖励项目信息以及专家信息等,目前还没有统一的检索系统,因此迫切需要 构建一个针对科技奖励信息的统一高效的检索系统。 1 j3 论文主要内容 分析我国目前科技奖励系统的应用现状,科技奖励还没有实现一个有效的能 够针对全国科技奖励评审相关信息的统一检索系统,无法统一检索这些历年的科 技奖励评审信息,对科技奖励评审工作带来一定的影响。 论文主要研究内容包括分析和比较n e tr e m o t i n g 和w e bs e r v i c e s 两种分布 式对象技术以及适应解决的问题,在对科技奖励网络评审领域的资源信息特点以 及网络拓扑结构分析的基础上,针对科技奖励评审领域,设计了基于n e t r e m o t i n g 和w e bs e r v i c e s 技术相结合的统一检索系统体系结构,并对系统结构层 次及其功能模块进行了详细的分析。为了提高统一检索系统的检索效率,论文给 出了两种索引机制,并选取了基于区域划分的两级索引机制,上级索引用于发现 资源存放的节点,下级索引用于查找节点中的资源,并且论文描述了根据该索引 机制的检索流程;然后论文讨论了系统的全局数据模式及其转换问题;接着论文 设计了统一的结果记录模型以及基于该模型的结果汇总策略;再接着论文引入了 检索系统的若干优化措施;最后是系统部分模块的实现。 1 4 论文组织安排 论文的全文组织结构如下: 第一章绪论部分,首先介绍我国当前科技奖励的应用现状,以及当前迫切需 要解决的问题。最后提出课题研究的主要目标和所要做的主要工作。 第二章主要介绍统一检索系统的相关技术背景。分别详细介绍了n e t r e m o t i n g 和w e b s e r v i c e s 技术两种主流分布式对象技术;接着详细介绍了本系统 中采用的用来对文件系统进行全文检索的开源开发工具包l u c e n e 。 第三章主要是设计了统一检索的体系结构,首先对国家科技奖励评审系统的 应用提出了需要解决的问题,并对国家科技奖励评审单位的网络拓扑结构进行了 描述;提出了基于n e tr e m o t i n g 技术和w 曲s e r v i c e s 技术相结合解决办法构建 硕士学位论文第一章绪论 统一检索系统的系统架构,其中在局域网和广域网中分别采用n e rr e m o t i n g 和 w e bs e r v i c e s 技术用于系统模块间的集成;最后对系统层次和功能模块进行详细 分析。 第四章主要对统一检索系统的相关技术问题进行了研究设计和探讨,针对检 索系统采用了基于区域划分的两层索引机制为资源建立索引;讨论科技奖励信息 统一检索系统中遇到的数据库模式异构的问题,以及建立全局数据库模式及其映 射关系;提出结果记录统一模型以及结果的汇总策略;最后引入的了若干检索的 优化策略。 第五章主要是系统的部分实现,采用n e tr e m o t i n g 技术实现对底层数据源 的访问;采用l u c e n e 对文档资源信息进行索引和检索,并将其封装成w e b 服务; 设计与实现w e b 服务注册中心模块。 第六章对论文工作进行总结,并指出进一步需要解决的问题和今后的研究方 向。 硕士学位论文第二章相关技术背景 第二章相关技术背景 本章将对科技奖励统一检索系统的研究中涉及到的两种主要分布式对象技 术以及统一检索中的对文档资源进行全文检索部分用到的开源软件工具包进行 详细的介绍。 2 1 n e tr e m o tin g 技术 n e tr e m o t i n g 3 1 是一个丰富的、可扩展的框架,它使得处于不同应用程序 域、不同过程和不同机器上的对象可以实现无缝通信。n e tr e m o t i n g 提供的编 程模型和运行时支持功能强大而又易于使用,能够实现透明的交互操作。允许在 使用不同传输协议和序列化格式的对象间进行通信。它支持二进制、s o a p 、自 定义格式以及t c p 、h ”m 和自定义协议。 2 1 1 n e tr e m o t i n g 概述 n e tr e m o t i n g 是微软公司推出的n e t 框架下的替代分布式组件对象模型 d c o m ( d i s t r i b u t e dc o n p o n 锄to b j e c tm o d e sd c o m ) 的分布式远程处理技术,这种框架 提供了多种服务,包括激活和生存期支持,以及负责与远程应用程序进行消息传 输的通讯通道。格式化程序用于在消息通过通道传输之前,对其进行编码和解码。 应用程序可以在注重性能的场合使用二进制编码,在需要与其他远程处理框架进 行交互的场合使用x m l 编码。在从一个应用程序域向另一个应用程序域传输 消息时,所有的x m l 编码都使用s o a p 协议。出于安全性方面的考虑,远程 处理提供了大量挂钩,使得在消息流通过通道进行传输之前,安全接收器能够访 问消息和序列化流【j 。 2 1 2 n e tr e m o t i n g 架构 1 n e t r e m o t i n g 边界 由于公共语言运行时都要确定所管理的代码类型安全,还要证实这段代码有 没有访问无效的存储单元,运行时可以在单个进程中运行多个应用程序,而且还 要提供与未管理的“每个进程一个应用程序 模型相同的隔离有点。公共语言运 行时为,n e t 应用程序定义两个逻辑子部分:应用程序域以及上下文。 ( 1 ) 应用程序域 可以把应用程序域当作一个逻辑进程。因为单个的w i n 3 2 进程可以容纳多 硕士学位论文 第二章相关技术背景 个应用程序域。在某一应用程序域执行的代码和对象不能直接访问另一应用域中 执行的代码和对象。这样就提供了某种程度的保护,因为发生在某一应用程序域 中的错误不会影响进程域中的其他应用域。两个应用程序域之间的分界线就构成 了一个n e tr e m o t i n g 边界。 ( 2 ) 上下文 公共语言运行时把应用程序域进一步细分为上下文,上下文确保一套常用的 约束和使用语法负责管理其中的所有对象访问。例如,同步上下文可以每次只允 许一个线程在这个上下文中执行,也即,这个同步上下文中的对象不必提供额外 的同步代码来处理并发问题。每个应用程序域至少一个上下文,即所谓默认上下 文。除非某个对象明确的要求一个专门的上下文,否则运行时将在默认上下文中 创建那个对象。 2 远程对象 n e tr e m o t i n g 基础设施把对象分成两类:不可远程的与可远程的。 ( 1 ) 不可远程化类型 不是每个类型都是可远程化的。不可远程化的类型其实例不能越过n e t r e m o t i n g 边界。如果试图向另一应用程序域或上下文传递一个不可远程化类型 的实例,n e tr e m o t i n g 基础设施会抛出一个异常。 ( 2 ) 可远程化类型 远程化类型可以越过n e tr e m o t i n g 边界,或者通过n e tr e m o t i n g 边界被 访问。n e tr e m o t i n g 定义了三种可远程化的类型:按值列集、按引用列集以及 上下文绑定。 按值列集 按值列集类型的实例可以通过一个名为序列化( s e r i a l i z a t i o n ) 的进程穿 越n e tr e m o t i n g 边界。序列化就是将对象的当前状态编码为位列序。一旦对象 被序列化,n e tr e m o t i n g 的基础设施就越过n e tr e m o t i n g 边界将这个位序列 传递到另一应用程序域或上下文,在那里基础设施就会把这个位序列逆序列化为 包含此状态原样副本的类型实例。如图2 1 所示。 按引用列集 对按值列集的类型的实例的访问是对远程对象的一个副本身上,而不是远程 对象实例身上。例如,一个对象实例可能需要仅对特定机器上执行的对象实例可 用的资源。在这种情况下,这样的类型就是指按引用列集的类型,因为n e t r e m o t i n g 基础设施会列集这个对象的实例的引用而不是序列化这个对象的实例 的副本。如图2 2 所示。 硕士学位论文第二章相关技术背景 包 l 。嚣& , 序出为流 ,n 基e t 础r e 设m o 施t i n g 包含序列化对象b 的流 、 n e tr e m o t i n g 基础设施 0 化 应用程序域1 应用程序域2 图2 1 按值列集 毋问一 间接访问在应用程 n e tr e m o t i n g 基础设施 一一壬一 n e tr e m o t i n g 基础设施 害 对象c ( 按引用列集) 图2 2 按引用列集 应用程序域1 应用程序域2 3 对象激活 在n e tr e m o t i n g 技术中,对远程对象的激活有两种方式,其中一种是服务 6 硕士学位论文第二章相关技术背景 器端的激活,另外一种就是客户端的激活。 ( 1 ) 服务器端激活: n e t r e m o t i n g 基础设置将服务器端激活类型称为众所周知( w e u - k n o w ) 的对 象类型,因为服务器应用程序在激活对象实例之前会在一个众所周知的统一资源 标识符( u r i ) 上发布这个类型。拥有这个远程类型的服务器进程负责将此类型配 置为一个众所周知的对象,并在一个特定的都知道的端点或者地址处发布该对 象,以及仅在必要的时候激活该类型的实例。n e tr e m o t i n g 把服务器端激活分 为两种模式,提供不同的激活语法:s i n g l e t o n 模式和s i n g l e c a l l 模式。 0 ) s i n g l e t o n 模式 任何时候只有一个s i n g l e t o n 模式配置的类型实例处于活动状态。如果没有其 他实例,客户端首次访问某实例时激活该实例。处于活动状态时,s i n g l e t o n 实例 会处理所有后来的客户端访问请求,不管是同一客户端还是其他客户端。 s i n g l e t o n 实例可以在方法调用中维持状态。如图2 3 所示。 应用程序域i 应用程序域2 图2 - 3s i n g l e t o n s i n g l e t c a l l 要更好的支持无状态编程模型,服务器端激活支持另一种激活模式: s i n g l e c a l l 。把类型配置成s i n g l e c a l l 的时候,n e tr e m o t i n g 的基础设置会为客 户端生成的每个方法调用激活该类型的一个新实例。方法调用返回之后,n e t r e m o t i n g 基础设施会让那个远程对象实例在下次垃圾回收的时候可再次循环使 用。如图2 4 所示。 硕士学位论文第二章相关技术背景 图2 _ 4s i n g l e c a l l ( 2 ) 客户端激活 有些情况要求对远程对象实例的每个客户端引用都是清楚明确的。n e t r e m o t i n g 为此提供了客户端激活。与如何处理熟知的服务器端激活类型相 比,n e tr e m o t i n g 基础设施激活每个对象实例的时候会给每个客户端激活的类 型指派一个u r i 。 客户端激活类型的实例可以在方法调用中保持活动状态,并参与到与 s i n g l e t o n 相同的生存期管理方案中,但是,对于服务于所有客户端请求的类型, 每个客户端的引用都是映射到该远程类型的个别实例,而不是单一实例。如图 2 5 所示。 甲 创建妻宝量激活 激活请求被转 应用程序域 的对象 发到远程应用 。” 图2 5 客户端激活 4 通道 通道用于在远程对象之间传输消息。当客户端调用某个远程对象上的方法 硕士学位论文 第二章相关技术背景 时,与该调用相关的参数以及其他详细信息会通过通道传输到远程对象。调用的 任何结果都会以同样的方式返回给客户端。客户端可以选择“服务器”中注册的任 一通道,以实现与远程对象之间的通讯,因此开发人员可以自由选择最适合需要 的通道。当然,也可以自定义任何现有的通道或创建使用其他通讯协议的新通 道。n e tr e m o t i n g 提供了两种类型的通道,可以用于分布式应用程序提供传 输机制:t c p 和h 订p 。 【1 ) t c p 通道 t c p 通道使用二进制格式化程序将所有的消息序列化为二进制流,并使用 t c p 协议将其传输到目标u r i 。 ( 2 ) h 盯四通道 h t t p 通道使用s o a p 协议与远程对象传输消息。所有的消息流过s o a p 格式化程序时都被转换为x m l 格式且被序列化,所需的s o a p 头也会被添加 到该流中。也可以指定能够生成二进制数据流的二进制格式化程序。然后,数据 流会使用h t r p 协议传输到目标u r i 。 5 对象的生存周期期 基于租用的生存期管理系统使用的是租用、发起者以及一个租用管理器的联 合。n e t r e m o t i n g 使用一种分布式垃圾回收的基于租用的形式来管理远程对象 的生存期,每个应用程序域都包含一个用于管理其租用情况的租用管理器。所有 的租用都会被定期检查,以确定租用是否已过期。如果租用过期,则会调用该租 用的一个或多个发起者,使它们有机会更新租用。如果所有的发起者都不准备更 新租用,则租用管理器会删除该租用并将该对象作为垃圾回收。租用管理器按照 剩余租用时间的顺序维护租用列表。剩余时间最短的租用排在列表的顶端。 ( 1 ) 租用 租用是个封装了t i m e s p a n 值得对象,n e tr e m o t i n g 的基础设施用以管理远 程对象的生存期。n e tr e m o t i n g 的基础设施提供了定义此功能的i l e a s e 接口。 当运行时激活公认的s i n g l e t o n 或客户端激活的远程对象的一个实例时,它调用 对象从s y s t e m m a r s h a l b y r e l o b j e c t 继承的i n i t i a l i z e l i f e t i m e s e r v i c e s 方法,向对象 请求一个租用。 ( 2 ) 租用管理器 每个应用程序域都有一个租用管理器,管理驻留在应用程序域中的可远程化 的对象类型实例的租用。当n e tr e m o t i n g 基础设施激活一个远程对象的时候, 会为该对象向这个应用程序域的租用管理器注册一个租用。租用管理器维持着一 个s y s t e m h a s h t a b l e 成员,它把租用映射为s y s t e m d a t e t i m e 实例表示每个租用 何时应过期。租用管理器定期列举它当前管理的所有租用以确定当前的时间是否 硕士学位论文 第二章相关技术背景 大于租用的过期期问。默认情况下,租用管理器每1 0 秒钟唤醒一次,检查每个 租用是否过期,但是这个轮询的问隔是可以配置的。 租用管理器通知每个过去的租用它已经过期了,此时租用要开始要求它的发 起者进行更新了。如果该租用没有任何的发起者,或者所有发起者都不能更新这 个租用,它就会执行如下操作取消自己: 将其状态设为s y s t e m r u n t i m e r e r n o t i n g l i f e t i m e l e a s e s t a t e e x p i r e d 通知租用管理器应当从租用表中删除这个租用 断开该远程对象与n e tr e m o t i n g 基础设施的连接 断开该租用对象与n e tr e m o t i n g 基础设施的连接 此时,n e t r e m o t i n g 的基础设施将不再引用该远程对象或其租用,两者都 将被垃圾回收器清理掉。 2 2w e bs e r vic e s 技术 简单的说,w e bs e r v i c e s 就是一种可以通过u r l 地址来访问的网络资源。 具体地说,w e b s e r v i c e s 是一种完全建立子在x m l 等i n t e m e t 标准协议或规范上 的应用程序,客户程序可以通过h 1 限和s o a p 等标准协议来访问它1 6 。 2 2 1w e bs e r v i c e s 体系结构 w e bs e r v i c e s 是一种新的面向服务的体系结构,它建立在h t t p x m l 和 s o a p 等开发标准协议基础之上,用于接口定义、方法调用、基于i n t e r n e t 的构 件注册以及各种应用的实现。w e b 服务以消息的形式提供服务,它使用基于x m l 标准的消息作为数据交互的基本方法,这使得w e b 服务完全实现了与编程语言、 系统平台和对象模型的无关性。w e b 服务可以使用任何编程语言和对象模型在任 何平台上实现,并且任意的应用程序都可以使用w e b 服务。 以x m l 为基础的w e bs e r v i c e s 的主要目标就是在现有的各种异构平台的基 础上构筑一个通用的与平台无关、与语言无关的技术层,各种不同平台之上的应 用依靠这个技术层来实现彼此的连接和集成。为了实现其目标,w e bs e r v i c e s 以 x m l 作为数据描述和交换的标准,以w s d l 刀( w e bs e r v i c e sd e s c r i p t i o n l a n g u a g e ) 作为服务的描述语言,以u d d i t 8 1 ( u n i v e r s a ld e s c r i p t i o nd i s c o v e r ya n d i n t e g r a t i o n ) 作为服务的注册和发现机制,以s o a p 9 ( s i m p l eo b j e c ta c c e s s p r o t o c 0 1 ) 作为交换信息的协议。w e bs e r v i c e s 为i n t e m e t 带来了灵活的、基于开 放标准的分布式计算。 从功能的角度看,w e bs e r v i c e s 的体系架构是基于w e b 服务提供者、w e b 硕士学位论文第二章相关技术背景 服务请求者、w e b 服务代理之间的相互操作而建立的。以角色来表示的w e b s e r v i c e s 体系结构如图2 - 6 所示【l 。 面向服务的w e bs e r v i c e s 体系架构中共有三种角色: ( 1 ) 服务提供者( s e r v i c ep r o v i d e r ) :w e b 服务提供者就是w e b 服务的拥有者, 它为其他服务和用户提供服务。 ( 2 ) 服务请求者( s e r v i c er e q u e s t e r ) :w 曲服务请求者就是w 曲服务的使用者, 它可以利用w e b 服务注册代理查找所需的服务,并且向w e b 服务提供者发送请 求以获得服务。 ( 3 ) 服务代理( s e r v i c eb r o k e r ) :w e b 服务代理的作用是把服务请求者与合适 的服务提供者绑定在一起。w e b 服务代理能够注册已发布服务的服务提供者及其 提供的服务并提供服务的检索。 图2 - 6w e bs e r v i c e s 体系结构 w e bs e r v i c e s 体系中的组件必须具有以上一种或多种角色,这些角色间通过 发布、查找和绑定三种操作提供完整的w e b 服务功能。 ( 1 ) 发布:服务提供者通过发布操作,向服务注册代理注册自己的功能和访 问接口,以便用户或其它服务知道其所提供的w e b 服务的相关信息。 ( 2 ) 查找:服务请求者通过查找操作向服务注册代理查找特定的服务。 ( 3 ) 绑定:服务请求者在找到特定服务后,通过绑定操作调用服务提供者所 提供的服务,绑定操作在服务提供者与服务请求者之间建立联系。 2 2 2w e bs e r v i c e s 协议栈 为实现w e bs e r v i c e s 体系架构中不同的操作和交互,需要一系列分层的协议 和规范提供实现。w e bs e r v i c e s 协议栈充分体现开放和标准的原则,使用通用的 标准和技术开发实现与平台和编程语言无关的w e b 服务,充分利用已有资源实 现分布式开发及系统重用。图2 7 列出了w e bs e r v i c e s 协议栈的结构。 在图2 7 中,高层次协议建立在低层协议提供的服务基础之上。协议共分五 硕士学位论文 第二章相关技术背景 层:底层传输层包括了已定义并广泛使用的传输层和网络层标准,如h 1 曙、f t p 、 s m t p 等;之上的四层是开发w e bs e r v i c e s 的相关标准协议,包括服务调用协议 s o a p ,服务描述协议w s d l 和服务发现、集成协议u d d i ,服务工作流描述语 言w s f l 等。 w s f l s t a t i c u d d i d i r e c t - u d d i w s d l s o a p h i t p , f f p , e t c s e r v i c ef l o w s e r v i c ed i s c o v e r y3 王 量 s e r v i c ep u b l i c a t i o n = 窖 j = 品 嗑 j 。 s e r v i c ed e s c r i p t i o n 乏 暑 里 x m l - b a s e dm e s s a g i n g _ n e t w o r k 图2 - 7w e bs e r v i c e s 协议栈 传输层是w e b 协议栈的基础,w e bs e r v i c e s 必须可以被服务请求者通过网络 进行调用。由于h r r p 的普遍性,使其成为i n t e m e t 环境中w e bs e r v i c e s 使用的 通用标准网络协议。w e bs e r v i c e s 还支持s m t p 和f t p 等i n t e m e t 协议。 第二层是基于x m l 的消息。在这一层中,将x m l 作为消息的数据格式, 将s o a p 作为消息协议。 第三层是业务描述层。业务描述层是描述文档( w s d l 文档) 的协议栈。 w s d l 是基于x m l 的业务描述统一标准,它是支持可交互的w e bs e r v i c e s 的最 小标准业务描述。w s d l 定义了业务交互的接口和机制。 w s d l 文档能够与其它的补充业务描述文档合作,以描述w e bs e r v i c e s 的更 高层。例如w s d l 文档和u d d i 数据结构合作可用于描述业务上下文。 2 2 3w e bs e r v i c e s 技术标准 w e bs e r v i c e s 协议栈中用来定义和描述数据、消息、服务和注册库的标准及 技术涉及到x m l ( t h ee x t e n s i b l em a r k u pl a n g u a g e ,可扩展标识语言) 、w s d l ( w e bs e r v i c ed e s c r i p t i o nl a n g u a g e ,w e b 服务器描述语言) 、u d d i ( u n i v e r s a l d e s c r i p t i o n , d i s c o v e r ya n di n t e g r a t i o n ,统一描述、发现和集成协议) 、s o a p ( s i m p l e o b j e c ta c c e s sp r o t o c o l ,简单对象访问协议) 等。其中x m l 用来描述不同层次的 数据,使得不同平台、不同环境中的数据和消息得以互通;u d d i 提供了统一 的框架和编程接口,提供服务发布和服务发现的能力;s o a p 协议用来交换x m l 消息;w s d l 用来统一描述w e b 服务。 1 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 l ,简单对象访问协议) 是一个基于x m l 的用来在分散分布的环境中交换信息的简单协议【i l 】。s o a p 使用基于t c p i p 的 应用层协议,使其具有很好的开放性和可扩展性,能最大程度的兼容现有通信技 术。s o a p 为使用x m l 在松散、分布的环境中对等交换信息提供了一个简单的 机制。它本身并不定义任何应用语义,只定义一种简单的机制,通过一个模块化 的包装模型和对模块中特定格式编码数据的重编码机制来表示应用语义。这使得 s o a p 可被用于许多系统中从消息机制到r p c 机制的延伸。 s o a p 协议包括四部分:一是封皮,定义了描述消息和如何处理消息的框架; 二是表达应用程序定义的数据类型实例的编码规贝l j ( s o a p 编码规则) ;三是s o a p r p c 表示,定义远程过程调用和应答的协议;四是s o a p 绑定,定义如何使用 底层传输协议进行s o a p 消息的交换。s o a p 被设计为可以与各种其他协议结合 使用,如f t p 、s m t p 和h t t p 等。通常将s o a p 绑定到h t t p 是一种极为自 然的方式,因为s o a p 自然地遵循h t t p 请求应答的消息模型:通过h t r p 请 求发送s o a p 请求,在通过h t r p 应答来返回s o a p 应答。 s o a p 采用x m l 格式进行消息编码。x m l 提供了跨平台的数据编码和组织 方法,s o a p 建立在x m l 之上,定义了一种跨系统平台的简单的信息交换包装 方法。s o a p 可以跨平台、跨操作系统进程远程过程调用,实现编程语言和系统 平台的无关性。x m l 和s o a p 大大简化了不同企业系统之间的交互问题。 2 w e bs e r v i c e s 描述语言 w s d l ( w e bs e r v i c ed e s c r i p t i o nl a n g u a g e ,w e b 服务描述语言) 是w e b s e r v i c e s 的定义语言【1 2 】。w s d l 描述了w e bs e r v i c e s 编程接口,这些描述包括了 诸如数据类型定义、支持的服务、i o 消息格式、网络地址协议绑定等信息。w s d l 将w e bs e r v i c e s 描述为能够进行消息交换的服务访问点的集合。客户端可以通过 w s d l 定义的服务访问点对服务进行访问。w s d l 规范是建立于x m l 基础之上 的。 w s d l 用来描述网络服务或端点,用于定义w e b 服务及其调用方式。w s d l 文档可用于动态发布w e bs e r v i c e s 、查找已发布的w e bs e r v i c e s 及绑定w e b s e r v i c e s 。在w s d l 中端口和消息的抽象定义与具体的网络分布状况和数据格式 绑定是相互分离的,这样就可以抽象出端口和消息的定义,实现重用。 在w s d l 中包含了使用s o a p 协议及简单h t r pg e t p o s t 请求交互的服 务描述的绑定。w s d l 将w e b 服务定义成一系列的端口,每个端口用来表示从 抽象端口类型到用于调用w e b 服务的具体通信协议的映射。端口类型由一组可 与服务提供者交换信息的操作组成,支持对包含消息的数据类型的定义。 3 通用描述、发现和集成 硕士学位论文第二章相关技术背景 u d d i ( u n i v e r s i a ld e s c r i p t i o n , d i s c o v e r ya n di n t e g r a t i o n ,通用描述、发现和集成) 规范定义了一个发布和发现有关w e bs e r v i c e s 服务信息和标准方法,它为服务提 供了一整套标准的方法去注册自己的相关信息和检索其他服务实体,使注册的服 务能分布式、全球化地共享这些信剧”】。u d d i 本身是一种基于x m l 和s o a p 的元服务,w e bs e r v i c e s 可以通过若干预先定义的s o a p 接口与u d d i 进行交互。 在u d d i 中主要注册两类信息:m o d e l 和b u s i n e s se n t i t y 。m o d e l 表示技术模型, 是描述特定的w e bs e r v i c e s 行为的抽象服务协议;b u s i n e s se n t i t y 表示服务实现, 指向多个m o d e l 并提供模型的行为描述。u d d i 具有技术上的简单性,为w e b 服 务在技术层次上提供了三个重要的支持:标准化的、透明的、专门描述w e b 服务的机制;调用w e b 服务的简单机制;可访问的w e b 服务注册中心。 2 3l u c e n e l u c e i l e 【1 4 1 是一个基于j a v a 的全文检索工具包,是著名的a p a c h ej a k a r t a

温馨提示

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

评论

0/150

提交评论