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

(计算机科学与技术专业论文)soa服务恢复关键技术的研究与实现.pdf.pdf 免费下载

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

文档简介

国防科学技术大学研究生院硕士学位论文 摘要 近年来,随着w e bs e r v i c e 技术的迅速发展,用户可以方便地使用服务提供商 在网络上发布的服务来组合成各类业务。在这些网络业务中,服务的可靠性和可 恢复性是至关重要的。现有的服务恢复技术大多针对传统的服务概念,不能适应 业务和实现技术的变化。而面向服务的体系结构( s o a ) 概念和标准的提出,使 得应用程序开发经历了一次彻底地改变,它将业务逻辑和具体的实现技术分离开 来,利于复用和集成。s o a 服务具有的粗粒度、松耦合、可重用等特性,为服务 恢复提供了良好的支持。 由于s o a 服务的概念仍在不断发展中,将当前主流服务的特点与服务恢复结 合起来的研究还比较少。因此,本文在s o a 架构的基础上,对传统的服务恢复技 术进行了扩展和完善,探索性地提出了s o a 服务恢复技术。具体的工作包括: ( 1 ) 在熟悉s o a 架构特点和相关规范的基础上,结合传统服务恢复的方法, 并针对更通用的服务恢复的需求,提出了s o a 服务恢复技术框架。 ( 2 ) 将s c a 装配模型中的组件装配方式应用到服务层级,对s o a 服务进行 了面向恢复的封装,定义了可恢复的s o a 服务单元。并通过服务状态监控模块和 服务对等网,采用主动和被动两种方式对s o a 服务的运行状态进行监控。 ( 3 ) 根据s o a 可恢复服务的装配关系和状态,提出了三种服务恢复的方法: 服务迁移、服务重构和服务降级。对它们的实现原理和恢复流程进行了分析,针 对三种恢复方法的特点,分别对它们的关键技术进行了研究和设计,并给出了恢 复算法。 ( 4 ) 根据服务恢复的需要,提出了面向恢复的语义服务发现机制,并且针对 不同的服务失效情况,给出了服务恢复的决策流程,提出了恢复决策模型,从理 论的角度评估了服务恢复的效果。 ( 5 ) 设计了一个s o a 服务恢复系统,并实现了其中的基本功能。通过恢复 过程的测试,验证了恢复方法和策略的正确性和有效性。 主题词:可恢复s o a 服务,服务迁移,服务重构,服务降级,服务发现 第i 页 国防科学技术大学研究生院硕+ 学位论文 a b s t r a c t i nt h er e c e n ty e a r s ,w e bs e r v i c et e c h n o l o g yh a sb e e nd e v e l o p e dr a p i d l y ,p r o v i d e r s p u b l i s ht h e i r ss e r v i c e so n t on e t w o r k ,a n du s e r sc a ne a s i l yp u tt h e s ep u b l i s h e ds e r v i c e s t o g e t h e ri n t ov a r i o u sb u s i n e s s a n dt h er e l i a b i l i t ya n dr e c o v e r a b i l i t yo f t h e s es e r v i c e si s a si m p o r t a n ta sp o s s i b l e a sm o s tc u r r e n ts e r v i c er e c o v e r yt e c h n o l o g i e sf o c u so n t r a d i t i o n a ls e r v i c ei nc o n c e p t ,t h e yc a nn o tm e e tt h ec h a n g e so fb u s i n e s sa n dt e c h n o l o g y h o w e v e r ,s e r v i c e o r i e n t e da r c h i t e c t u r e ( s o a ) c o n c e p ta n ds t a n d a r d sa r er a i s e d ,a n d t h e ym a k e t h ed e v e l o p m e n to fa p p l i c a t i o nu n d e r g oac o m p l e t ec h a n g e s o as e p a r a t e s t h eb u s i n e s sl o g i cf r o mi m p l e m a n t a t i o nt e c h n o l o g y ,s oi ti sb e n e f i tf o rr e u s a b l ea n d i n t e g r a t i o n s o as e r v i c eh a sal o to fc h a r a c t e r ss u c ha sc o a r s e g r a i n e d ,l o o s e l yc o u p l e d a n dr e u s a b l e ,a n dt h e yp r o v i d eag o o ds u p p o r tf o rs e r v i c er e c o v e r y a st h ec o n c e p to fs o as e r v i c ei ss t i l lg r o w i n g ,t h er e s e a r c h e so nr e c o v e r yw i t h c u r r e n tm a i n s t r e a ms e r v i c ea r er e l a t i v e l yl a c k i nt h i st h e s i s ,w ee x t e n da n di m p r o v et h e t r a d i t i o n a ls e r v i c er e c o v e r yt e c h n o l o g yb a s e do nf e a t u r eo fs o a ,a n de x p l o r a t i v e l y p r e s e n tt h es o as e r v i c er e c o v e r yt e c h n o l o g y t h em a i nw o r ka n dc r e a t i v i t i e sa r ea s f o l l o w s ( 1 ) b a s e do nt h ef e a t u r ea n dr e l a t e ds p e c i f i c a t i o n so fs o a ,t h i st h e s i sp r o p o s e da t e c h n o l o g yf r a m e w o r ko fs o as e r v i c er e c o v e r y ,w h i c hc o m b i n e dt h em e t h o d so f t r a d i t i o n a ls e r v i c er e c o v e r y ,a n dm e e tt h em o r eg e n e r a ld e m a n df o rr e c o v e r y ( 2 ) w ee n c a p u l a s et h es o a s e r v i c eo r i e n t e dt or e c o v e r yb yt h ew a yo fc o m p o n e n t a s s e m b l i n gi ns c aa s s e m b l em o d e l ,a n dd e f i n et h er e c o v e r a b l es o as e r v i c eu n i t t h e nam o n i t o rm e c h a n i s mi sb r o u g h tu p i tc a nm o n i t o rt h er u n n i n gs t a t eo fs o a s e r v i c ei n a c t i v ea n dp a s s i v ew a y st h r o u g ht h es e r v i c es t a t em a i n t a n c em o d e la n d s e r v i c ep e e rt op e e rn e t w o r k ( 3 ) a c c o r d i n gt ot h ea s s e m b l er e l a t i o n s h i pa n ds t a t eo fs o a r e c o v e r a b l es e r v i c e , w ep r o p o s et h r e em e t h o d so fs e r v i c er e c o v e r y ,t h e s ea r e s e r v i c em i g r a t i o n ,s e r v i c e r e c o n s t r u c t i o na n ds e r v i c ed e g r a d a t i o n a n dw ea n a l y s i st h ep r i n c i p l e so fr e a l i z a t i o n a n dr e c o v e r yf l o w ,r e s e a r c ha n dd e s i g no nt h ek e yt e c h n o l o g i e so ft h r e em e t h o d sb y t h e i rc h a r a c t e r i s t i c s ,t h e ng i v eo u tt h er e c o v e r ya l g o r i t h m s ( 4 ) w i t ht h en e e d so fs e r v i c er e c o v e r y ,w ep r o p s et h er e c o v e r y - o r i e n t e ds e m a n t i c s e r v i c ed i s c o v e r ym e c h a n i s m ,a n dg i v eo u tt h er e c o v e r ys t r a t e g yp r o c e s si nd i f f e r e n t c o n d i t i o n so fs e r v i c ef a i l u r e t h e np u tf o r w a r df ld e c i s i o n - m a k i n gm o d e lo fr e c o v e r y , a n dt h e o r e t i c a l l ye v a l u t et h ee f f e c ta n dq u a l i t yo fs e r v i c er e c o v e r y ( 5 ) d e s i g nas o as e r v i c er e c o v e r ys y s t e mi nt h i st h e s i s ,a n da c h i e v et h eb a s i c f u n c t i o no fs y s t e m w et e s tt h ep r o c e s so fr e c o v e r yi ns o as e r v i c er e c o v e r ys y s t e m , v e r i f a c a t e dt h ec o r r e c t n e s sa n de f f e c t i v e n e s so fr e c o v e r ym e t h o d sa n ds t r a t e g y 第i i 页 国防科学技术大学研究生院硕士学位论文 第i i i 页 国防科学技术大学研究生院硕士学位论文 表目录 表2 1 传统的服务发现技术性能比较1 2 表3 1 服务运行状态表一2 0 表3 2 服务关键程度等级表2 l 表4 1服务迁移的伪代码算法。3 0 表4 2 从服务选举的伪代码算法3 0 表4 3 搜索失效服务算法的伪代码一3 3 表4 4 服务重构算法的伪代码3 4 表4 5 服务降级算法的伪代码3 5 表4 6 失效断点与应用级状态记录情况3 7 表4 7 服务属性匹配分级函数一3 9 表4 8 面向恢复的语义服务发现算法4 0 表4 9 匹配服务对i 0 属性的函数4 1 表4 1 0 三种恢复方法对应的影响系数厂。4 6 表5 1一个从服务情况下的迁移响应时间5 7 第l i i 页 国防科学技术大学研究生院硕+ 学位论文 图目录 图2 1s o a 基本交互模型6 图2 2o s o a 规范构成8 图2 3c o m p o n e n t 结构示意图9 图2 4 c o m p o s i t e 结构示意图1 0 图2 5o w l s 结构顶级图1 3 图3 1s o a 服务恢复技术框架的总体结构1 5 图3 2 可恢复的s o a 服务单元1 6 图3 3 组合服务的内部关系1 8 图3 4 服务关键程度描述树2 1 图3 5 服务状态主动监控2 2 图3 6 服务状态被动监控2 2 图3 7 服务迁移示意图2 4 图3 8 基于子服务迁移的重构2 5 图3 9 查找功能匹配服务的重构。2 6 图3 1 0 服务降级示意图2 7 图4 1服务状态转换图2 9 图4 2服务装配有向树( s a d t ) 3 2 图4 3 通过查找匹配服务进行重构的s a d t 变化3 3 图4 4 服务降级恢复前后的s a d t 3 5 图4 5o w l s 到u d d i 的映射关系【4 0 】4 2 图4 6 语义扩展u d d i 的服务发布和发现过程。4 3 图4 7 服务恢复的基本决策流程图4 5 图4 8 服务a 的全局视图4 6 图4 9 服务功能恢复度4 7 图5 1s o a 服务恢复系统模块结构4 9 图5 2 服务a d d s e r v i c e c o m p o s i t e 配置文件5 0 图5 3 服务恢复支持扩展体的主要i a v a 类图。5 2 图5 4j u d d i 注册中心控制台5 3 图5 5 表示服务的实体类和它们的关系。5 4 图5 6 g r a p h x m l 文件格式5 4 图5 7 服务启动的各模块交互图5 5 图5 8 服务迁移交互图5 6 第1 v 页 国防科学技术大学研究生院硕士学位论文 图5 9 监控客户端的w e bs e r v i c e 页面5 7 图5 1 0 服务迁移响应时间折线图一5 8 第v 页 独创性声明 本人声明所呈交的学位论文是我本人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特另0 加以标注和致谢的地方外,论文中不包含其他人已 经发表和撰写过的研究成果,也不包含为获得国防科学技术大学或其它教育机构的学 位或证书而使用过的材料与我一同工作的同志对本研究所做的任何贡献均已在论文 中作了明确的说明并表示谢意 学位论文题目:q 叁退叠迭复差缝拉苤鲍盟究生塞理 学位论文作者签名: 融:堕塾 日期:硝年i 二月2 , 0 日 学位论文版权使用授权书 本人完全了解国防科学技术大学有关保留、使用学位论文的规定。本人授权国 防科学技术大学可以保留并向国家有关部门或机构送交论文的复印件和电子文档,允 许论文被查阅和借阅;可以将学位论文的全部或部分内容编入有关数据库进行检索, 可以采用影印、缩印或扫描等复制手段保存、汇编学位论文 ( 保密学位论文在解密后适用本授权书) 学位论文题目:q 避尧迭复差链盐苤的班究生塞理 学位论文作者签名: 匹造兰塞 日期:如鼋年l 工月即日 作者指导教师签名: 豆肇日期:砂形年f r 瑚沙日 国防科学技术大学研究生院硕士学位论文 第一章绪论 i n t e m e t 技术已经在当前社会中扮演越来越重要的角色,大量的w e b 服务随着 互联网的开发完善而快速出现,并且正发展成为一个集成信息资源的分布式的计 算环境i l j ,现代企业经营、商业运作、日常管理等也越来越多地依赖基于w e bs e r v i c e 的企业信息系统和电子商务系统。然而随着用户需求的不断增加以及条件的复杂 化,单独的w e b 服务已经很难满足用户的需求【2 】,导致了动态服务组合、服务发 现等技术的日益完善。 近年来,s o a 成为了当前网络技术界最热门的话题,它提出了以服务为导向 的软件开发思想。它本质的市场需求就是实现服务和技术的完全分离,从而在最 大程度上实现服务的集成重组。这样能使企业以最快、最灵活、最节省成本的方 式来满足当然瞬息万变的市场需求。由于w e b 服务的地位日益提升,用户对服务 的可靠性要求也越来越高,然而当前技术在保证服务的可靠性方面善不完善。本 文旨在结合s o a 架构,进一步研究服务恢复关键技术,为完善网络以及服务的可 靠性方面提供更有效的支持。 1 1 研究背景 w e bs e r v i c e 是微软提出的基于互联网的开发模型,其主要思想是用户可以使 用服务提供商在网络上发布的服务,组合成自己需要的应用程序。根据w e bs e r v i c e 的基本概念,任何东西都可以被认为是服务,无论是硬件的移动设备还是软件的 应用程序。这些服务封装了具体的实现细节,仅仅发布一个a p i 供用户或其他服 务使用【3 1 。 传统的w e b ( h t m l h t t p ) 技术有效的解决了人与信息系统的交互和沟通问 题,极大的促进了b 2 c 模式的发展。w e bs e r v i c e ( l s o a p w s d l ) 技术则是 要有效的解决信息系统之间的交互和沟通问题,促进b 2 b e a i c b 2 c 的发展。但 s o a 则是采用面向服务的商业建模技术和w e bs e r v i c e 技术,实现系统之间的松耦 合,实现系统之间的整合与协同。w e bs e r v i c e 和s o a 的本质思路在于使得信息系 统个体在能够沟通的基础上形成协同工作。 s o a 架构的提出使得应用程序开发经历了一次彻底地改变,这种架构合并了 基于x m l 的标准,例如:w s d l 、简单对象访问协议、统一描述、发现和集成。 w e bs e r v i c e 不是s o a 的核心,它只是s o a 的一种较好的实现方式。并且在s o a 环境中所谈到的服务要比开发人员用来支持组织机构的互操作要求的某个接口标 准具有更高的抽象级别,很多这样的服务是w e bs e r v i c e ,但是很多并不是。w e b 第1 页 国防科学技术大学研究生院硕十学位论文 s e r v i c e 在将s o a 引到日仃台中发挥了关键的作用,即使s o a 现在已经超出了w e b s e r v i c e 可提供的范畴。 近年来,由于w e bs e r v i c e 的发展使得电子商务、网上交易等成为了人们生活 中不可缺少的部分。而在这些网络活动中,信息和数据的可靠性是至关重要的, 如何保证提供服务的网络具有可生存性,成为了越来越多的用户关注的焦点。 可生存性【4 】是计算机网络系统所应具有的一种能力,即系统在处于损伤状态时 依然能够提供必要的服务并满足临界条件的业务要求。在理想状态下,还应该能 够在可确定的时间内自动恢复所有由于损伤而暂停的服务,它最关心的是系统在 受到损伤后该如何处理而不是系统造成损伤的具体原因。其研究范围包括安全性、 可靠性、重用性、失败冗余、性能、认证、测试等,也涉及到系统的动态适应、 多样化、信任维护策略等其它方面的内容。 网络可生存性是指即使在攻击、故障或者事故存在的情况下,分布式的网络 仍然能够提供基本服务的能力。这些服务应该具有一定的分布式特性,不依赖于 某个特殊的系统组件或者节点。为了满足该要求,分布式网络中的服务中一般采 用冗余和多样性等技术,使得系统在遭受恶意攻击或发生故障的情况下能够进行 白适应和重配置。 服务恢复技术就是在这样的条件下,对网络中服务进行分析、监控和恢复的 技术,它是可生存性技术在特定网络条件下的体现,具有重要的作用和较好的研 究前景。 1 2 国内外研究现状 服务恢复技术是应急响应恢复技术体系的重要组成部分。从国外研究情况看, 自1 9 8 8 年美国计算机事件响应协调中心c e r t c c 和计算机安全事件咨询小组 c i a c 成立以来,世界各地成立了众多应急响应组,在应对网络安全事件的过程中 发挥了重要作用,得到了广泛认可。这些研究机构将应急响应作为p d r 安全模型 的重要一环,主要技术包括入侵追踪、陷阱、联动、可信恢复、灾难控制、自适 应响应等内容;美国c e r t c c 还将网络生存能力技术作为一个重要的研究方向, 主要思想是攻击识别、攻击容忍、攻击响应和系统恢复。 关于服务恢复技术,已有研究主要还只是针对传统的服务概念( 即特定的网 络服务或者应用业务) 开展,如网络环境下关于负载均衡与连接切换的研究,特 别是为了解决生存性问题而提出的i p 重定向技术、动态d n s 技术、t c p 迁移技 术和后备系统切入技术等;研究人员提出了基于门限密码秘密共享的系统服务切 换防护,如c a 、认证服务、密钥交换服务、文件服务、d n s 服务、路由服务与重 要数据保护服务等的服务切换保护;使用监控、接受测试以及冗余等容错手段, 第2 页 国防科学技术大学研究生院硕十学位论文 实现基于c o t s 构建的服务恢复应用系统,如w e b 服务器系统和数据库系统等等。 随着s o a 和s o c 概念和标准化技术体系的推出,2 0 0 2 年出现的开放网格服 务体系结构【5 j ( o g s a :o p e ng r i ds e r v i c e sa r c h i t e c t u r e ) 目前也得到了较广泛的认 同,国外相关的代表性研究项目有美国d a r p a 的o a s i s 计划、n s f 计划以及欧 盟m a f t i a 计划等,栅格化和服务化也成为了军事信息系统的发展趋势,如美军 g i g 计划中的n c e s 就是采用面向服务的开放体系结构来设计的。新的服务概念 的出现必然将导致新的服务恢复技术的研究,但这方面的成果还很少。 我国的应急响应工作起步虽晚,但发展迅速:国家计算机网络与信息安全管 理中心成立了中国计算机安全事件应急响应小组协调办公室( c n c e r t c c ) ,负 责国内各部门、行业等应急响应小组的协调工作;中国教育与科研计算机网络 ( c e r n e t ) 于1 9 9 9 年在清华大学成立了c e r n e t 应急响应组( c c e r t ) ,为 中国教育和科研行业的用户提供应急响应服务;在c n c e r t c c 的协调组织下, 中国网通、中国移动等各大电信运营商都纷纷成立了自己的应急响应队伍,国家 相关部门均在考虑建设自己的应急处理机构;许多公司也已经开展网络安全救援 相关服务。 在服务恢复技术方面,生存性技术被深入研究。当前国防科技大学、武汉大 学和相关部门及公司为代表的研究机构对此给予了极大的关注,在服务的连续性、 异化识别以及灾难的恢复等方面都有较为深入的研究。生存性研究主要集中在信 息基础设施的保障技术、分布式数据动态备份和恢复技术、多样化动态迁移技术 等。与国外研究情况类似,服务的概念还大多局限于传统的应用业务上,由于s o a 体系的服务概念仍在不断发展当中,将当前主流服务的特点与服务恢复结合起来 的研究在国内也比较少见,当前的相关研究通常针对很具体的应用开展,具有较 大的局限性。 1 3 论文的主要工作和创新 目前对s o a 服务的研究日趋增加, 对服务恢复的研究相对比较少。因此, 作具有一定的探索性和远见性。 但是大部分基于商业运作和软件开发,针 本文涉及这个尚待开发的领域,所做的工 l 、理论上,本文对s o a 服务的特点进行了分析,将s o a 基本交互模型和传 统的恢复技术相结合,并且在面向服务的构架层面对服务恢复的方法和技术进行 扩展,构建了一个可恢复的服务恢复框架,对其中的关键技术进行了研究,进而 实现了一个s o a 服务恢复系统。具体的工作以及创新性体现在: ( 1 ) 在阅读了大量s o a 和恢复技术的文献的基础上,对s o a 规范以及典型 第3 页 国防科学技术大学研究生院硕士学位论文 应用模式进行了分析,指出其中适合通用恢复的特性,引入服务对等网,构建了 一个s o a 服务恢复技术框架。 ( 2 ) 综合相对成熟的w e bs e r v i c e 技术,提取了s o a 的优良特性,对s o a 服务进行描述级的定义和面向恢复的封装,设计了可恢复的s o a 服务单元,并对 其中的重要属性进行了描述和定义。 ( 3 ) 针对s o a 服务的松耦合、复合性和可重用性,对服务可能失效的状态 进行分析,利用注册中心和服务对等网的支持,提出了三种服务恢复的方法,并 描述了它们的基本恢复原理和实现技术。 ( 4 ) 熟悉和了解了服务发现的过程,结合实际的应用讨论了语义服务发现的 必要性。并结合s o a 服务恢复需求,提出了面向恢复的语义服务发现机制。 ( 5 ) 对服务的状态以及其他属性进行综合分析,比较了三种恢复方法的适用 性,并给出了一个服务恢复决策模型,从理论的角度分析了服务恢复策略及其恢 复质量。 2 、实践上,根据理论研究的成果,根据s o a 服务恢复技术框架,采用j a v a 平台编程,设计实现了一个s o a 服务恢复系统。对特定的s o a 服务运行周期进 行了分析和演示,并对简单服务迁移需要的恢复时间进行采集,给出了系统的功 能性评估。 另外,将以上的研究内容和成果进行整理,以第一作者的身份在国际会议上 发表了相关学术论文l 篇( 见本文附录) 。 1 4 论文的组织 本文一共分为六章,各章的组织结构如下: 第一章主要介绍课题的立题背景和意义,对当前s o a 的发展趋势作了一个 简要分析,概述了国内外对s o a 服务恢复的研究现状,并且指出了本课题主要工 作和创新点。 第二章对s o a 服务和服务发现进行了研究。介绍了s o a 的体系结构及其特 点,在学习了s o a 基本交互模型和相关规范的基础上,主要研究了s o a 服务典 型应用模式,对s c a 装配模型中的基本元素进行了分析。并且概要地介绍了传统 的服务发现和基于语义的服务发现,特别介绍了语义的相关概念。 第三章在s o a 基本交互模型的基础上提出了s o a 服务恢复技术框架。根据 s c a 装配模型,给出了可恢复s o a 服务的定义,并对服务关系、服务状态、关键 程度等属性进行了定义和介绍。提出了服务的状态监控机制以及三种恢复方法的 原理。 第四章对s o a 服务恢复中的相关关键技术进行了研究。主要研究设计了服 第4 页 国防科学技术大学研究生院硕士学位论文 务恢复的实现技术和动态性要求。并根据恢复技术需要解决的问题,以服务恢复 为前提,扩展了语义服务发现技术,使得其能够更加满足服务发现的需求。提出 了服务恢复决策模型,对不同情况下实施的恢复方法进行决策,对恢复后的质量 进行了定性的分析。 第五章设计实现了一个s o a 服务恢复系统。从实现的角度描述了s o a 恢复 系统的总体结构,给出了主要模块的交互情况和部分功能接口。并且针对给定的 服务,对其启动、迁移过程等进行了分析演示。最后通过一个简单的迁移实例, 对系统的功能和性能进行了一个大体的评估。 结束语总结了本文的研究成果,给出了工作的评价和对未来研究的展望。 第5 页 国防科学技术大学研究生院硕十学位论文 第二章s o a 服务和服务发现技术相关研究 2 1 面向服务的体系结构概述 面向服务的体系结构1 6 j ( s e r v i c e o r i e n t e da r c h i t e c t u r e ,s o a ) 是一种分析、设 计和实现企业应用的方法,它提供了分布式的应用架构,服务是其最基本的可重 用单元,封装了业务逻辑。s o a 是一种追求敏捷性的体系结构,它把业务逻辑和 具体的实现技术分离开来,因此遵循该体系结构构造出来的应用系统能适应业务 和实现技术的不断变化。此外,遵循s o a 还有利于软件复用和系统集成【7 1 。 根据一般的共识,s o a 应具备以下特剧8 j : 松耦合。即服务之间的依赖度较小,更通俗一点说,s o a 架构里的服务a 不需要调用服务b 来完成自己本身的服务;一旦服务b 停止了,服务a 还能继续工作。 基于契约的。应用由服务之间定义良好的接口和契约来联系起来。 自治的。服务提供商完全控制其所提供的业务逻辑。 抽象的。s o a 架构中所有服务的具体实现、位置、传输协议对调用来说 都是透明的,用户调用服务时不需要知道服务具体的业务逻辑实现。 可重用。将业务逻辑划分为多个可重用的服务。 复合的。通过服务的复合来完成特定的业务功能。 可发现的。服务是自描述的,基于服务描述去发现和访问服务。 2 1 1s o a 基本交互模型 s o a 基本交互模型【9 1 定义了三种角色,如图2 1 : 图2 1 s o a 基本交互模型 第6 页 国防科学技术大学研究生院硕士学位论文 服务代理( s e r v i c er e g i s t r y ) :即服务注册中心,它是服务发现的支持者, 包含一个可用服务的存储库,并允许感兴趣的服务请求者查找服务提供者 接口。 服务提供者( s e r v i c ep r o v i d e r ) :它将自己的服务和接口契约发布到服务 代理,以便服务请求者可以发现和访问该服务。 服务请求者( s e r v i c ec o n s u m e r ) :通常也称为客户端,它发起对服务代 理的查询,通过传输绑定服务,并且执行服务功能。服务请求者根据接口 契约来执行服务。 这些角色之间相互合作完成三种操作: 发布( p u b l i s h ) :服务提供者将服务的描述信息登记到服务代理,发布服 务描述是为了让服务请求者可以查找它。也可以称作服务注册。 查找( f i n d ) :服务请求者直接检索服务描述或者在服务注册中心查询所 要求的服务。从更高级的匹配角度来说,也可以叫做服务发现。 绑定( b i n d ) :服务请求者使用从注册中心获得的服务描述中的绑定细节 来定位、连接和调用服务。 w e bs e r v i c e 技术用标准的i n t e r n e t 协议实现s o a 方法,w e bs e r v i c e 中的消息 传递一般使用s o a p ,服务接口描述一般采用w d s l ,服务注册采用u d d i 机制。 2 1 2s o a 相关规范 o s o a ( o p e ns o ac o l l a b o r a t i o n ) 是开放s o a 合作组织,它是一个s o a 规范 组织。规范并不是标准,它们是由厂商或厂商联盟制定发布的。但是一般来说, 这些厂商拥有强大的市场地位,他们定的规范往往会成为事实上的标准。o s o a 厂商联盟使得各厂商能够共同开发一个语言中立的编程模型。o s o a 不是一个标 准化组织,但由于有i b m 、b e a 等厂商的支持,它制定的规范很可能会成为事实 上的标准。因此,它可以被看作一个准标准化组织。o s o a 成立了两个项目组, 分别负责制定s c a 和s d o 规范。目前,s o a 的规范如图2 2 所示: o s o a 规范【i o l 主要由s c a 、s d o 还有未来可能出台的d a s 规范三部分组成。 s c a ( s e r v i c ec o m p o n e n ta r c h i t e c t u r e ) 、s d o ( s e r v i c ed a t ao b j e c t s ) 、d a s ( d a t a a c c e s ss e r v i c e ) 。它们三个有个上下级的关系,其实这是一个使用的关系。即s c a 可以使用s d o 作为数据传输的协议,而s d o 又可以使用d a s 作为数据持久化的 协议。 s c a 其实是一组规范,其中最主要的是两个子规范是a s s e m b l ym o d e l ( 组装 模型) 和c l i e n tm o d e l ( 客户端模型) 。前者约定了如何将异种组件( j a v a 类,b p e l , w e bs e r v i c e ) 组装并发布成s o a 服务,是s c a 最大的特点和最核心的概念;后 第7 页 国防科学技术大学研究生院硕十学位论文 者则约定了如何在异种语言环境中调用s o a 服务。那么,通过这两部分的规范, 就可以解决服务从服务端到客户端的跨语言问题。 o s o a 规范构成 c o m p o s i t i o n v i s u a l i z a t i o na n dm a n a g e m e n t o p e r a t i o n s 一_ a r c h i t e c t u r a ld e s i g n 叫卜d e v e l o p m e n t s c a 厶s e n i b l vm o d e l 。) ,1 ,2 一,f ,j ,i ,z ,。,i y ,1 0 。0 。0 。0 1 i , n t m 。0 + 0 j 0 + j 。气 、? 、。j l j ? 17 一j ,? ? ?。一,| i ,i ,。 b i n d i n g q o sc o n t a i n e r w e bs e r r i e d if 7 e b 习 阻ais p r i n g b p e llc 坩7 窿i 一面c o b o l j b 一一j一山j 医lj m s ,习m l j c a 一习 s d o e s b 臣s e c u r i t yl 7p o l i c y 圈圈 乏蝥嫩,jl t r a n s a c t i o njd a s 图2 2o s o a 规范构成 s c a 目前包括了j a v a ,c + + ,b p e l 和s p r i n g 的子规范,解释了在具体的语言 环境下服务的调用和绑定方式。当然,这只是规范解释了的部分语言,不排除在 某些s o a 容器实现中可以提供其他语言的支持( 例如p h p ) 。 s c a 的服务运行于q o s 容器中。所谓q o s 容器指的是s o a 容器不仅把s o a 发布完就了事了,也要负责服务的质量、调度、调控、检测等涵盖服务整个生命 周期的管理。而这些都是目前轻量级容器( 如s p r i n g ,p i c o c o n t a i n e r ) 所不能提供 的。这就是了一套包括s e c u r i t y 、p o l i c y 、m e s s a g i n g 、t r a n s a c t i o n 的p o l i c yf r a m e w o r k 。 s d o 规范则负责解决如何在异种服务间交换数据。它定义了一套中立的数据 结构,目前有j a v a 和c + + 的具体语言规范,j a v a 规范解决了j a v ab e a n 和s d o 的映射,c + + 规范解决了c + + 类、结构体和s d 0 的映射。 d a s 规范则定义了s d o 对象如何持久化到异构的数据结构,目前刚刚启动。 在整个规范之上,承载的是s o a 的思想和方法论,它更强调服务的组装而不 是服务的开发。在方法论上面,就是服务的组装、可视化和管理,即规范的应用 层,比如s o a 的i d e ,这也是s o a 容器之外各个i s v 厂商可以提供附加价值的 地方。 2 2 s o a 服务典型应用模式 服务是一个自包含的、无状态( s t a t e l e s s ) 的实体,可以由多个组件组成。它 通过事先定义的界面响应服务请求,也可以执行诸如编辑和处理事务( t r a n s a c t i o n ) 等离散性任务。服务本身并不依赖于其他函数和过程的状态,用什么技术实现服 第8 页 国防科学技术大学研究生院硕士学位论文 务,并不在其定义中加以限制。 s o a 服务的典型应用模式可以通过已经定义的规范来描述。在s c a 的 a s s e m b l e 模型中,c o m p o n e n t 是s c a 规范中最基本的元素,是粒度最小的执行单 元或者实现单元,而c o m p o s i t e 组件是部署的最基本单位【1 1 1 。如图2 3 所示: 图2 3c o m p o n e n t 结构示意图 p r o p e r t y :它用来设定一个c o m p o n e n t 的配置项,这确保了一个c o m p o n e n t 的外部可配置性和可复用性。 s e r v i c e :提供的服务。当然,一个c o m p o n e n t 也可以不提供任何服务。 r e f e r e n c e :c o m p o n e n t 所引用的东西。有点类似j p t v a 里的i m p o r t 或c 中 的u s i n g 概念。c o m p o n e n t 虽然是粒度最小的单元,但是并不意味着它是 孤立的,它可以指定所依赖的其他部件。 在s c a 的模型中用户一般看到的都是s e r v i c e 。只有在这个粒度上,s c a 服务 才具体到实现层面,通过 元素跟具体的实现绑定起来,成为一个 可以对外提供功能的服务。 而c o m p o n e n t 作为最小粒度的构件,本身是无法被访问到的,通过组合( 即 w i r e ) 可以上升一个层次,形成更大粒度的构件,即c o m p o s i t e 。一个c o m p o s i t e 包括零个或者多个p r o p e r t y 、s e r v i c e 、c o m p o n e n t 、r e f e r e n c e 、w i r e 和递归包含的 c o m p o s i t e 。如图2 4 所示: c o m p o s i t e 有一个不同,那就是它有一个b i n d i n g s ,它是服务的访问方式。同 一个服务,可以通过w e bs e r v i c e 发布,可以用j m s 发布,也可以通过e j b 发布。 b i n d i n g s 隔离了用户端实现和客户端实现的差异。 第9 页 国防科学技术大学研究生院硕士学位论文 ,、 鸵们辟c o ;p 嚣2 摹,- d 1 z 矿_ 年s c a 叫。翼 概念化( c o n c e p t u a l i z a t i o n ) :客观世界的现象的抽象模型; 明确( e x p l i c i t ) :概念及它们之间的联系都被精确定义; 形式化( f o r m a l ) :精确的数学描述; 共享( s h a r e ) :本体中反映的知识是其使用者所共同认同的。 本体论在w e b 上的应用才有了语义w e b 的出现。语义( s e m a n t i c ) 是指机器 可处理的,而不是自然语言语义和人的推理等目前计算机所不能处理的信息,而 语义w e b 的目标则是使

温馨提示

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

评论

0/150

提交评论