(计算机科学与技术专业论文)异步可靠web服务关键技术的研究与实现.pdf_第1页
(计算机科学与技术专业论文)异步可靠web服务关键技术的研究与实现.pdf_第2页
(计算机科学与技术专业论文)异步可靠web服务关键技术的研究与实现.pdf_第3页
(计算机科学与技术专业论文)异步可靠web服务关键技术的研究与实现.pdf_第4页
(计算机科学与技术专业论文)异步可靠web服务关键技术的研究与实现.pdf_第5页
已阅读5页,还剩59页未读 继续免费阅读

(计算机科学与技术专业论文)异步可靠web服务关键技术的研究与实现.pdf.pdf 免费下载

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

文档简介

国 防 科 学 技 术 人 学 研 究 生 院 学 位 论 文 摘要 w e b 服务 ( we b s e r v ic e s ) 作为一种新兴的中间件技术,己 经被广泛应用于各种电子 商务中。就目 前而合 一 ,它仅仅局限于基于同步信息获取的简单应用,而对于以异步传输和 高可靠性为特征的复杂应用的 支持尚不足, 这就大大降低了w e b 服务在诸如信贷业务等一 些大型关键应用领域的竞争力。 随着w e b 服务 应用范围的扩展和研究的不断深入, 灵活的 消息传输机制和可靠的服务质量成为许多研究者关注的热点问题. 但对于w e b 服务中消息 传输机制和可靠性的定义目 前尚未形成统一的标准和规范。 本文以 基于i n t e r n e t 的应用集成为 背景, 以 现有的we b 服务体系结构和规范集合为基 础, 基于消息中间件技术, 研究了we b 服务中的异步消息传递机制和可靠性, 并以此为基 础开发了一个能够提供异步可靠we b 服务的中间件系统。 本文的主要工作包括: 1 .本文基于w e b 服务体系结构研究了w e b 服务的消息机制, 分析了同 步传输与异步 传输两种不同的底层消息传输机制,以 及同步操作与异步操作两种不同的消息模式, 并在 此基础上详细讨论了基于同步传输实现异步we b 服务操作的四种消息模式; 2 .研究了 可靠w e b 服务的参考模型与 特点, 在此基础上分析了 现有w e b 服务规范集 合 对于 可 靠性的 支持, 提出了 基于成熟的m o m ( m e s s a g e o r i e n t e d m i d d l e w a r e ) 技术 保证 服务器端消息的可靠投递与应用的可靠执行。 3 .基于我们研制的w e b 服务部署与管理环境s t a r we b a d a p t o r 设计并实现了支持异步 可靠w e b 服务的s o a p 2 j ms 中n j 件系统。该系统山s e t ( s o a p - j m s i n t e r - t r a n s f o r m e r ) 和a m ( a s y n c h r o n o u s m e s s a g in g ) 组 成, s e t 完 成了s o a p 消 息和j m s 消 息 之间 的 互 译, 并对整个s o a p - j m s 系统进行管理和配置; a m则提供了w e b 服务请求者和提供者之间的 消息传递机制。 本文对we b 服务中异步性和可靠性的探索将对提高we b 服务的效率和服务质量、扩 展w e b 服务的应用领域有着重要的实际意义。 关 键词: w e b 服务, 异 步消 息, 可 靠 性, 面向 消 息的 中 间 件 石 一-一一一、 一 一一一一- 一一一一一一- i 国 防 科 学 技 术 大 学 研 究 生 院 学 位 论 文 abs t ract b e i n g a n e m e r g i n g m i d d l e w a r e , we b s e rv i c e s ( ws ) h a v e b e e n w id e l y a p p l i e d i n a l l k i n d s o f e - c o m m e r c e . p r e s e n t l y t h o s e a p p l i c a t i o n s a r e a l l c o n f i n e d i n t h e s i m p l e b u s i n e s s c o m i n g f r o m t h e s y n c h r o n o u s m e s s a g e a c q u i r e m e n t . h o w e v e r i t i s n o t g o o d f o r t h o s e s o p h i s t i c a t e d b u s i n e s s w h i c h n e e d t h e a s y n c h r o n o u s m e s s a g e t r a n s m i s s i o n a n d h i g h r e l i a b i l i t y . s o it e m b a r r a s s e s ws c o m p e t i t i o n o n t h e l a r g e - s c a l e a n d k e y a p p l i c a t i o n s d o m a i n . wi t h we b s e rv i c e s a p p l i c a t i o n s c o p e e x p a n d i n g a n d f u rt h e r r e s e a r c h i n g , t h e fl e x ib l e m e s s a g e t r a n s m i s s i o n a n d r e l i a b l e q u a l i t y o f s e rv i c e h a v e c o l l e c t e d m a n y a t t e n t i o n s f r o m l o t s o f i n v e s t i g a t o r s . h o w e v e r t h e r e a r e n o t e x i s t i n g u n i f o r m s t a n d a r d s a n d s p e c i f i c a t i o n s d e f i n i n g w h a t m e s s a g e t r a n s m i s s i o n a n d r e l i a b i l it y a r e u n d e r t h e s p e c i f ic we b s e rv i c e s c o n t e x t . t h i s t h e s i s b a s e s o n t h e c u r r e n t we b s e rv i c e s a r c h i t e c t u r e , s p e c i f i c a t i o n s a n d m e s s a g e o r i e n t e d mid d l e w a r e , t a k e s t h e c r e d i t d o m a i n a s t y p ic a l a p p l i c a t i o n s c e n e t o i n v e s t i g a t e t h e a s y n c h r o n o u s m e s s a g e t r a n s m i s s i o n a n d r e l i a b i l i t y . t h e n , o n t h e b a s i s o f o u r s t u d y , w e d e v e l o p a m i d d l e - w a r e s y s t e m f o r s u p p l y i n g as y n c h r o n o u s a n d r e l i a b l e we b s e rv i c e s . t h e p r i m a r y c o n t r ib u t i o n s o f t h i s t h e s i s in c l u d e t h e f o l l o w i n g t h r e e p a rt s . f i r s t l y , b a s e d o n t h e ws c o n c e p t a r c h i t e c t u r e t h i s t h e s i s i n v e s t i g a t e s m e s s a g e m e c h a n i s m , a n a l y z e s t h e u n d e r l y i n g s y n c h r o n o u s / a s y n c h r o n o u s m e s s a g e t r a n s m i s s i o n a n d synchronous/asynchronous m e s s a g e o p e r a t i o n s . ma k i n g t h e f o r m e r r e s e a r c h a s f o u n d a t i o n , t h i s t h e s i s d i s c u s s e s a t l e n g t h f o u r m e s s a g e p a tt e r n s b a s e d o n t h e s y n c h r o n o u s m e s s a g e tr a n s m i s s i o n w h i c h c o u l d c o m p l e t e as y n c h r o n o u s ws o p e r a t io n . s e c o n d l y , w e a d v a n c e t h e r e l i a b l e we b s e rvi c e s r e f e r e n c e m o d e l a n d d i s c u s s i t s c h a r a c t e r i s t i c s . t h e n a ft e r a n a ly z i n g t h e s u p p o rt f r o m t h e e x i s t i n g ws s p e c i f i c a t i o n s , w e p u t f o r w a r d t h e s e rv e r s i d e r e l i a b l e m e s s a g e d e l i v e ry a n d t h e r e l i a b l e i m p l e m e n t o f a p p l i c a t i o n s b a s e d o n t h e a s s u r a n c e f r o m t h e m a t u r e m e s s a g e o r i e n t e d m i d d l e w a r e . l a s t , g r o u n d e d o n o u r d e v e l o p e d ws d e p l o y m e n t a n d c o n f i g u r a t i o n t o o l s t a r w e b a d a p t o r l .0 , w e d e s i g n a n d i m p l e m e n t a s u p p l y i n g a s y n c h r o n o u s r e l i a b l e ws m i d d l e w a r e s y s t e m c a l l e d s o a p - j ms , w h i c h c o n s i s t s o f s e t ( s o a p - j ms i n t e r - t r a n s f o r m e r ) a n d a m ( a s y n c h r o n o u s me s s a g i n g ) . s j i t c o m p le t e s t h e i n t e r - t r a n s l a t io n b e t w e e n s o a p a n d j ms , f u rt h e r m o r e p r o v i d e s t h e m a n a g e m e n t a n d c o n f i g u r a t i o n o f e n t i r e s y s t e m ; a m s u p p l i e s t h e fl e x i b l e m e s s a g e t r a n s m i s s i o n b e t w e e n t h e we b s e rv i c e s p r o v i d e r s a n d r e q u e s t o r s . t h e e x p l o r a t i o n t o t h e a s y n c h r o n i m a n d r e l i a b il it y o f ws h a s t h e s i g n i f i c a n t p r a c t i c e m e a n i n g f o r im p r o v in g t h e p e r f o r m a n c e, q u a l i t y o f s e rv ic e o f ws a n d e x p a n d in g t h e s c o p e o f ws a p p l i c a t i o n s . k e y w o r d s : we b s e rvi c e s , a s y n c h r o n o u s me s s a g e , r e l i a b i l it y , me s s a g e o r i e n t e d mi d d l e wa r e , - 一一 一一一一一一一一_ i t 独创性声明 本人声明 所呈交的学位论文是我本人在导师指导下进行的研究工作及取得 的 研究成果. 尽我 所知, 除了 文中 特别加以 标注和致谢的地方外, 论文中 不包含 其他人已 经发表和撰写过的 研究 成果, 也不包含为获得国防 科学技术大学或其它 教育机构的 学位或证书而 使用过的 材料. 与我一同工作的同志对本研究所做的 任 何贡献均已 在论文中 作了明 确的说明并 表示谢意。 学 位 论 文 题目 :异步 可 靠w e b 服 务 关 键 技 术 的 研究 与 实 现 学 位 论 文 作 者 签 名 : 1 4 翻日 期: 2 0 0 弓年/ 2月 2 0 日 学位论文版权使用授权书 本人完全了 解国防 科学技术大学有关保留、 使用学位论文的 规定. 本人授权 国防 科学技术大学可以 保留 并向国 家有关部门 或机构送交论文的复印 件和电 子 文 档, 允许论文被查阅和借阅; 可以 将学 位论文的 全部或部分内 容编入有关数据 库进 行检索, 可以 采用影印 、 缩印 或扫 描等复制手段 保存、汇 编学 位论文。 保密学位论文在解密 后适用本授权书. ) 学 位 论文 题目 :异步 可 靠w e b 服 务杀 健技 术的 研究 与实 现 学位论文作者签名: 作者指导教师签名: z z4 f ,z 4 日 期 : 加弓 年/ ; 月 沙日 日 期: j , 夕 7年 a月yr 日 国 防 科 学 技 术 大 学 研 究 生 院 学 位 论 文 图 目 录 图 1 . 1 we b服务角色、操作和构件. . . . . . . . . . . . . . . . . . . . . 1 图 1 . 2 w e b 服 务 协 议 栈 , . . . . . . . . . . . . . . , . , . . . . , , 2 图2 . 1 j m s 编 程 模 式. . . . . , . . . . . . . . . . . 。 , , 一 6 图 2 , 2同步模型与延迟同步模型. . . 、 二、 . . . , , . 8 图 2 . 3回调模式 . . . . . . . 、 . , . , , . . . . . . . . . . . , ., 1 0 图 2 . 4轮询模式.“. , , . . . . . , . , .i 1 图 2 . 5典型场景., . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 3 图 2 . 6 p u b / s u b 模式. . . . , . . . . . . . . . . . . . . . . . 1 4 图 2 . 7 p 2 p 模式 . . , . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 4 图 2 . 8 j ms 应用场景 . . . . . . . . . . . . . . . . . . . . 卜. . . . . 1 5 价181919202223别25肪283032323334肪3839394043 图 2 . 9 s o a p / j ms 图 2 . 1 0 mo m作为一种 we b 图 2 . 1 1 mo m调用we b 服务 图2 . 1 2 s o a p / j m s 消息格式 图 2 . 1 3 j m s / s o a p 消息格式 服 i 图 3 . 1 模式一:单向和通知操作. . . . . 图 3 . 2模式二:基于异步传输的异步操作二 , 二 图 3 . 3模式三;基于同步传输的轮询模式 , 图 3 . 4 模式四: 基于同步传输的回调模式, . 图 3 . 5 w e b 服务可 靠消息 模型 . , , , 图 3 . 6可靠消息传递示例. . . . . . . . . . . 图4 . 1 系统总体结构 . . . . . . . . . 图 4 . 2回调时序图 ., . . . . . . . . 图 4 . 3请求/ 应答划分时序图 , . . 图4 . 4 r e p ly h a n d l e r 类图, . 卜 . 图 4 . 5请求/ 应答关联图. . . . . . . . . 图4 . 6 s j i t 系统结构. , . . . . . . 图 4 . 7管理模块. . . . . . . . . . . . . . . . , . 图 4 . 8 s o a p 消息组成 . . . . . . . 图 4 . 9消息类图. . . . . . . . . 卜. . 图 4 . 1 0 s o a p 消息类图. . . . . . , 图4 . 1 1 j n d i 适配模块类图 二, 二 卜 . ,二卜 iv 国 防 科 学 技 术 大 学 研 究 生 院 学 位 论 文 图 5 . 1测试案例图 二, . . . . . . . . . . . . . . . . . . . . , . . , 4 5 图 5 . 2带有s a t的测试案例图. . . . . . . . . . . . . . . . ,. . , . , 4 5 图 5 . 3 m e t e : 的执行主界面. . . . . . . . . . . . . , . . . . . . . . . . . 4 6 图 5 . 4 7 me t e r 执行 s o a p调用的主界面 . . . . , . ,. . . . . . . . 4 7 图 5 . 5同步测试结果图, . . . . . , 二, . , 二, ,二4 8 图 5 . 6异步测试结果图. . . . . . . . . . , , . . . . . . . . . . , 4 8 图 5 . 7同步与异步比较图. , . . . . . . . . . . . . . . , . . . . . 4 9 一一-一一 一- 一一一一 一一一一 . 一. -一一 v 国防科学技术人学研究生院学位论文 第一章绪论 1 1 研究背景 对于什么是w e b 服务,目前存在着很多的定义,我们这里引用w 3 c 组织公布的w e b 服务体系结构( w e bs e r v i c e sa r c h i t e c t u r e ) 中对w e b 服务的定义力图阐述其具有的特点: w e b 服务是描述一些操作( 利用标准化的x m l 消息传递机制可以通过网络访问这 些操作) 的接口。w e b 服务是用标准的、规范的x m l 概念描述的,称为w e b 服务的 服务描述。这一描述囊括了与服务交互需要的全部细节,包括消息格式( 详细描述操作) 、 传输协议和位置。该接口隐藏了实现服务的细节,允许独立于实现服务基于的硬件或软件 平台和编写服务所用的编程语言使用服务。这允许并支持基于w e b 服务的应用程序成为 松散耦合、面向组件和跨技术实现。w e b 服务履行一项特定的任务或一组任务。w e b 服 务可以单独或同其它w e b 服务一起用于实现复杂的聚集或商业交易。 w e b 服务体系结构基于三种角色( 服务提供者、服务注册中心和服务请求者) 之j 瑚的 交互。交互涉及发稚、查找和绑定操作。这些角色和操作一起作用于w e b 服务构件:w c b 服务软件模块及其描述。在典型情况下,服务提供者托管可通过网络访问的软件模块( w e b 服务的一个实现) 。服务提供者定义w e b 服务的服务描述并把它发布到服务请求者或服 务注册中心。服务请求者使用查找操作来从本地或服务注册中心检索服务描述,然后使用 服务描述与服务提供者进行绑定并调用w e b 服务实现或同它交互。服务提供者和服务请 求者角色是逻辑结构,因而服务可以表现两种特性。图1 1 显示了这些操作、提供这些 操作的组件及它们之间的交互。 图1 1w e b 服务角色、操作和构件 作为一个分布式应用的开发环境,w e b 服务必须有一个包含每一层标准的w e b 服务 第1 页 国防科学技术人学研究生院学位论文 协议栈。图1 2 展示了一个概念性w e b 服务协议栈。上面的几层建立在下面几层提供的 功能之上。 w s d l s o a p h t t p j m s s m t p 图1 2w e b 服务协议栈 w e b 服务协议栈的基础是网络层。w e b 服务要被服务请求者调用,就必须是可以通 过网络访问的。因特网上可以公用的w e b 服务使用普遍部署的网络协议。h t t p 凭借其 普遍性,成为了因特网可用的w e b 服务真正的标准网络协诼。w e b 服务还可以支持其它 因特网协议,包括s m t p 和f t p 。 从w e b 服务的体系结构中可以看出,w e b 服务并未限制其使用的应用模式,也并未 将其与底层的传输协议进行绑定,所以,在w e b 服务体系结构和标准规范之内,为应用提 供异步性与可靠性支持是可行的。 i 2 应用背景 今天,处理x m l 编码s o a p 消息、通过h t t p 作为首选的底层传输协议、使用w s d l 描述的w e b 服务已经广泛应用在互联网上。它的使用范围主要集中在应用集成方面:从简 单的,尤其是数据共享的应用到大规模的互联网零售业和现金交易。目前,不断发展的 w e b 服务已经涉足于移动计算、移动设备和网格的应用之中。 作为w e b 服务的突出特点,它提供了在异构的企业计算环境中,分布的软件组件之间 良好的互操作性,而这也总是广大l t 消费者,丌发者以及参与者所面临的棘手问题。h t t p 和s o a p 协议提供了传输和消息一级的互动,w s d l 通过描述了部署的w e b 服务和交换 接口定义以提供分布应用间的互操作。这些基本的规范使得消费者和i t 厂商能够解决许多 重要的实际应用问题,在这些成功的基础之上,开发者正试图利用w e b 服务技术解决更为 复杂的问题和提供更加优秀的功能。利用已经开发处理的w e b 服务工具,开发者希望加强 互操作的功能和质量。而许多商业执行过程也希望中间件提供类似于异步消息、安全、事 务和可靠方面的功能。 为了让我们对异步可靠w e b 服务有一个大致的了解,来看图1 3 ,该图反映了广泛使 用的一种w e b 服务场景,而且也阐明了今天在w e b 服务世界中广泛存在的w e b 服务设计 第2 页 国防科学技术人学研究生院学佗论文 问题。 服务清求肴 服务提供者 图1 3w e b 服务典型应用场景 图中,服务请求者是带有一个基本产品目录的控制系统,该系统负责运行商用处理逻 辑以跟踪并管理所有产品信息的变化。服务提供者是一个带有负责平衡部件的系统,它使 用网络复杂平衡技术将到达的消息分配到各个服务流程。通讯的双方使用异构的体系结构 ( 包括代理和防火墙等) 连接至互联网上提供服务。双方进行交换的信息对于他们的商业 操作来说都是至关重要的。首先,服务流程的处理时间通常较长,往往超过了在个网络 链接超时的时间内返回执行结果:其次,由于客户与业务流程交互过程中,通常传输的数 据都是比较重要的商业数据,对数据传输和执行的可靠性有较高的要求。因此,对异步和 可靠的消息传递机制的要求随之产生。 目前,对消息传输和可靠性主要有以下的解决方案: 消息传输: 试图使基于s o a p 的消息能够运行在除h t t p 之外的其它协议上,如j m s ; _ 试图使s o a p 消息能够用于单向消息传递、双向消息传递和对等会话的工作。 可靠性: 通过标准合作组织制定新的规范; 一通过硬件、操作环境和基础架构供应商改进其产品确保更好的可靠性。 本课题试图在w e b 服务的消息传输和可靠性方面进行一定深度的探索,在消息传输机 制上,设计并实现使s o a p 能够用于异步消息传输的机制,实现双向异步消息的传递;在 可靠性方面,以成熟的消息中间件技术为基础框架,力图在服务提供方内部确保消息和服 务的可靠性。 第3 页 国 防 科 学 技 术 人 学 研 究 生 院 学 位 论 文 1 . 3课题来源 本课题 来源 于 ( no . 2 0 0 2 aa1 1 6 0 4 0 ) 8 6 3 课题 ,基 于 we b s e r v i c e s的应 用 集成 关键 技术研 究 1 . 4课题目标 以 异步性和可靠性为目 的,基于分布式计算平台w e b 服务, 研究w e b 服务提供的消 息机制; 之后研究成熟的消息中间件系统及其对消息可靠性的支持:最后, 研究在关键消 息传递坏境中异步消息通信机制和可靠消息通信制;在上述研究的基础上,基于 s t a r we b a d a p t o : 平台, 设计并实现了s o a p - j ms 桥接系统。 1 . 5论文结构 在绪论之后, 第二章将分别详细介绍异步we b 服务的概念和实现机制, 着重讲述同步 传输、 异步传输、 同步操作和异步操作在w e b 服务环境中的不同含义; 以 及就可靠性展开 讨论, 其中着重讲述we b 服务环境下,mo m技术与we b 服务的关系。 在这两章的研究 基础之上, 在第三章中, 将就we b 服务下, 实 现异步性给出 详细的设计模式, 在可靠性方 面, 给出可靠we b 访问的参考模型, 并讨论它的 特点。 之后的第四 章根据前一章的设计原 理, 进行详细的设计。最后的第五章将对我们实现的系统进行简单的测试,并给出分析结 论。 应该说, 第二章中 研究的重点贯穿了 全文, 并且提供了在第四章中设计和实现的思路。 1 . 6本文的研究成果 本文对we b 服务环境下的异步消息机制和可靠性进行了深入的研究, 在此基础上设计 了 可以 提供异步可靠w e b 的s i l l 系统, 并在s t a r w e b a d a p t o r l .。 平台 上加以 实现。同时, 通过对该系统的测试,验证了它的异步性和可靠性,从而能够有效的提高系统的效率。 在 研究期间,以第一作者在第 2 0届全国数据库学术会议论文集上发表文章一篇 ( 见本文附 录 )。 第 4页 国 防 科 学 技 术 大 学 研 究 生 院 学 位 论 文 第二章 课题关键技术研究 异步性作为一种与时间相关的技术手段,一直以来就广泛存在于计算机世界中,本章 将在w e b 服务的环境中, 详细介绍与异步性相关的 特点, 并从理论的角度着重讲 述四个概 念:同步传输、异步传输、同步操作、异步操作; 之后, 将根据这些概念给出 几种异步服 务的设计模式;最后简要介绍目 前这个领域一些有代表性的研究成果。 2 . 1异步we b 服务关键技术 2 . 1 . 1同步传输 用于交换 we b服务消息的传输可以归为同步和异步两类。其中同步传输包括: .ht t p ; h t t p s ; r mi i i i o p ; s mt p 这里就h t t p的同步传输进行简要的介绍。 h t t p 是一个属于传输层的 协议, 由 于其简捷、 快速的方式, 适用于分布式信息系统。 h t t p 协议的主要特点可概括如下: . 支持客户/ 服务器模式。 . 简单快速:客户向服务器请求服务时,只需传送请求方法和路径。 请求方法常用 的有g e t , h e a d . p o s t 。 每种方法规定了 客户与服务器联系的类型不同。由 于 h t t p 协议简单, 使 得h t t p 服务 器的 程序 规 模小,因 而通信速度很快。 . 灵活: h t t p 允许传输任意类型的数据对象。 正在传输的 类型由c o n t e n t - t y p e 加以 标记。 . 无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请 求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。 . 无状态: h t t p 协议是无状态协 议.无 状态是指协议对于事务处理没有记忆能力。 缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每 次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较 快。 2 . 1 . 2异步传输 传输协议本身就支持响应消息与请求消息的相关性以便应用程序使用,并支持 “ 推” ( p u s h ) 和“ 拉”印 u l l ) 类型消 息交换的 传输 通常 被称为异 步传输。 可以 用于 支持 异步 操 作的传输的示例包括: 第 5页 国 防 科 学 技 术 人 学 研 究 生 院 学 位 论 文 h t t p r; j ms i bm m s m q s e r i e s消息传递 ( i b m m q s e r i e s m e s s a g i n g ) 消 息 传 递( m s m e s s a g i n g ) . 这里对j ms 异步传输机制进行简要的介绍。 图2 . 1 j m s 编程模式 j ms 异步消息传输是在软件组件或应用程序之间进行通信的一种方法。 j ms 系统是一 种对等的消息设施:一个消息传递客户可以向其他任何客户发送消息;或从任何其他客户 接收消息 息的能力 。每个客户连接到一个消息传递代理,该代理提供了 创建、发送、接收和读取消 j m s 异步消息传输应用了 松散祸合的分布式通信. 一个组件把消息发送到目 的地, 接 收者能够从目 的地获取这个消息。但是,消息的发送者和消息的接收者不需要同时活跃才 能进行信息通信。事实上,双方不需要对对方有任何的了解。发送者和接收者只需要使用 相同的消息格式,目的地的位置即可。在这方面, j ms消息传递不同于紧祸合的技术,如 远程方法调用 ( r e m o t e m e t h o d i n v o k e r m i ), 它要求应用程序了 解远程方法接口 的详细 信息。 j m s 消息传递也不同于邮件系统,邮件是人与人之间或人与软件之间进行通信的一 种方法,消息传递用于软件应用或软件组件之间的通信。 不管正用于异步操作的传输机制是否异步,客户机 ( 或者客户机所用的服务代理) 和 服务提供者负责生成一个相关标志,传输在管理请求和响应时可以使用这个相关标志。 通 常情况下, 当商业伙伴利用 w e b服务集成他们的业务流程时, 他们更倾向于 使用 h t t p . h t - f p s和 h t t p r作为传输进行跨i n t e rn e t 通信; 在企业内, 当 存在相似的应用程序平台 第 6页 国 防 科 学 技 术 大 学 研 究 生 院 学 位 论 文 时, 将使用本机传输及接口,比如 j m s , r m i / i i o p和 j c a ( j a v a连接体系架构, j a v a c o n n e c t i o n a r c h i t e c t u r e )。异步传输使客户机能够在请求一个服务调用后继续在自己的执 行线程土处理;它们还提供一些机制使客户机能够确定它的 we b服务请求的状态并能够 检索对那些请求的响应。不提供在另一个执行线程上初始化响应传输能力的 we b服务的 实现将无法用于异步操作。这种实现的示例是那些在前端数据库应用程序中使用的 e j b 或者通过使用本地接口 ( 比如 j c a )提供对企业系统的访问的实现。 2 . 1 .3同步操作 在通常的情况下, 请求与应答作为一个不可分割的事务被视为整体。 为了更好的解释, 我们引入以下的定义: 定义2 . 1 : w e b 服务环境。 是一个四元组 ( p , m t ( m e s s a g e t r a n s m i t t e r ) , o , m) 。 . p 是 客 户 程 序, 它由 一 个 操作 序 列o p i o p 2 0 p 3 o p n 构 成。 其中, 任一 操 作o p i 可以 是 本 地操作,也可以是调用远端服务的操作。 . o是远端服务接口, 接收并执行来自 客户的 请求。 . m t 是p 和。之间的传输渠道. 起着通信中 介的 作用。 . m 是消息集合, 可表示为m二 m i , m 2 ,, in k ,它包括p 和o通过m t 传递的 所有请求和应答。 每个m ; ( m ; g m) 的生命期都是从p 开始, 经mt 到o , 然后再从o 经m t 返回p , 结束。当m ; 从p 经m t 传递给o时, m ; 包含的 是请求消息;当m 从 o经m t返回p 时, m 、 包含的是应答消息。为了 描述一个消息的生命期, p 在发出 每 条消息的时候,都为它们分配了一个标识,我们用下标来表示。消息在传递过程中, 内 容可以由 请求消息转变为应答消息, 但消息的标识是不会改变的。为了 保障标识的 唯一性,也为了便于不同的消息进行比较,消息标识定义为时间的函数,即若p先发 消 息m ; , 后 发 消 息m 1 , 则 一定i 定义 2 . 2 : 若 o p . 是远程 操作,则 o p ; 定义为一个动作序列 a i ( m k 1 ) a 2 ( m k 2 ) . . . a (mk) , ( m k i , 一 m k e m ) 。 其 中 , 动 作a i ( m k i) 表 示 该 动 作 对 标 识 为k , 的 消 息m k , 进 行 处 理 , 且 a j ( m k i) e s ( m k i) , r ( m k i) , 其中s (mk; ) 表示 发 送一 个 标识 为k ; 的 消 息 给m t , r (mk; ) 表示 从mt读取一个标识为k ; 的消息。 定义2 . 3 : 远程操作o p i 属于同 步调 用 模型 2 . 2 ) 当 且仅当o p ; = s ( m k ;) r ( m k ;) i m k ; e m-( 如图 定 义2 . 4 : 远 程 操 作o p . 和o p i ( j 1)属 于 延 迟 同 步 调 用 模型 , 当 且 仅 当o p 、 二 s (mk;) , 且 o p i 二r ( m k ;), m k ; g m-( 如图2 . 2 ) 第 7页 国 防 科 学 技 术 人 学 研 究 生 院 学 位 论 文 cli e 爪 s e r v e rcl i e n t 准备请求 qo nn wa i t yes处 处理应答 图 2 . 2同步模型与延迟同步模型 根据前面的定义,同步模型采用了严格同步的操作处理请求消息和应答消息。如图 2 . 2 , c l i e n t 发出请求后,阻塞等待应答。当应答返回后,c l i e n t 继续执行应答的处理逻辑。 该模型的优点是调用逻辑符合人的自 然思考方式, 编程简单。而缺点是对于单线程。 l i e n t , 当它阻塞等待应答时, 无法处理任何其它工作, 不适于需要充当c l i e n t 角色的s e r v e : 应用。 在实现上,针对同步模型的一个改进是引入多线程机制,即以不同的子线程加载同步 操作,当子线程等待应答消息的时候, 主线程继续处理其它操作, 这在一定程度上可以改 善系统资源利用率。 但是,线程的使用又带来了新问 题。首先,过多线程的使用会降低系 统的可伸缩性。 当同步操作的数目比 较大时, 众多的线程本身将占用系统大量的宝贵资源, 同时线程之间的切换和管理也使系统增加额外的开销, 这些将使系统性能大大降低。 其次, 在目 前的分布对象标准中, 线程属于未被标准化的部分,因此线程的使用还存在可移植性 的问题。 延迟同 步调用模型放松了同步模型的同 步要求 ( 如图2 . 2 ) , c l i e n t 发送请求后, 执行 线程返回, 继续处理其它工作。 随后, c l i e n t 可以在多个不同的时间点向m t查询应答是否 返回。如果应答返回, c l i e n t 从mt提取应答,并执行相应处理。其优点是避免c l i e n t 阻塞 等待,能 够在s e r v e r 调用服务期间,并行地处理一些其它事情, 有利于提高c l i e n t 的资 源 利用率。其缺点是把应用逻辑分割为不同时间点上的离散步骤,当许多调用交叉重叠在一 起时, 编程复杂;有些情况下, s e r v e : 服务于调用的时间可长可短、难以预料,查询应答 的成功率 有时会很低, 随着查询次数的增加, c l i e n t 的 效率越来越低。 o n e w a y 调用模型是 对前述 模型的简 单化, 具有一 定的 异步性, 即 操作向m t 提 交请 求 消 息 后 即 返 回。 但 是, 这种 模型 没 有给 应答 消 息 的 处 理 做出 定 义, 客 户程 序 仅 通 过o n e w a y 调 用模型无法得知请求消息是否被目 标对象服务以 及服务结果如何.因此, 对于许多应用 ( 包 括高 性能 应用) , o n e w a y 调 用模型由 于太简单而不能 胜任。 j t 鱼 鳌 o n e w a y i19 垫 狸 鲤 鲤. 鱼 壁 迪 卫r a o n e w a y 第 8页 的调用模型4 1 ,即。 l ie n t 国 防 科 学 技 术 人 学 研 究 生 院 学 位 论 文 在调用目 标对象的一个 o n e w a y 操作的同时, 传递一个本地对象的对象引用给目 标对象。 然后, 驻留 在s e r v e r 上的目 标对象就可以 利用这个对象引用, 反过来向 最初的c l i e n t 调用 另 一 个o n e w a y 操作。 这种方法的 不足之处是, s e r v e r 方目 标 对象需要提供两套服务 代码. 一套针对普通请求即同 步 t w o - w a y操作和采用动态调用接口 ( d i i )的延迟同步操作, 另 一套专门 针对o n e w a y 操作,这使得s e r v e r 变得冗余且庞大。另外,在每个请求中 增加一 个对象引 用, 使得网络开销明显增加了。 特别是, 这种方法无法处理系统异常。当 请求在 s e r v e r 方被服务期间产生系统异常, 那么这次请求将被流产, 但是。 l i e n t 却无法得知这一情 况。 这是因为。 l i e n t 发出的。 n e w a y 调用本身不支持任何应答( 包括含有异常的 应答) 返回, 而s e r v e r 产生 异常的时候, s e r v e r 也 无法 通过另一个o n e w a y 返回任何信息。 在we b 服务的环境中,s o a p 协议典型的操作方式是同步的r p c方式 ( s o a p / h t t p ), 因 此,以 这种方式开发的we b 服务, 就不可避免的要受到同步操作所带来的种种弊端。 2 . 1 . 4异步操作 然而并不是所有的we b 服务都以同步的方式工作, 在某些情况下,对于we b 服务请 求的 应答并不能够立即产生,而是在请求过程结束之后,并断开链接之后,所有具有这些 特点的 操作称为异步操作。目 前, we b 服务规范和标准集合并没有显示的给出 异步操作的 定 义, 但是, 现有的w e b 服务系统框架和机制完全可以 作为异步操作的实现基础。 从本质上来说,分布式对象间的操作都是异步的,同步

温馨提示

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

评论

0/150

提交评论