(计算机软件与理论专业论文)基于web+service的自主计算实现方法研究.pdf_第1页
(计算机软件与理论专业论文)基于web+service的自主计算实现方法研究.pdf_第2页
(计算机软件与理论专业论文)基于web+service的自主计算实现方法研究.pdf_第3页
(计算机软件与理论专业论文)基于web+service的自主计算实现方法研究.pdf_第4页
(计算机软件与理论专业论文)基于web+service的自主计算实现方法研究.pdf_第5页
已阅读5页,还剩62页未读 继续免费阅读

(计算机软件与理论专业论文)基于web+service的自主计算实现方法研究.pdf.pdf 免费下载

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

文档简介

摘要 自主计算( a u t o n o m i cc o m p u t i n g ) 是近年来逐渐兴起的一个研究领域。最 早由i b m 公司提出,主要是为了解决在i n t e r n e t 与计算机技术高速发展的今天, 由于系统异构化、复杂化引起的人力维护成本过高的问题。参照自主神经系统的 自我调节机制,以现有的理论和技术为基础构建具有自主特性的计算系统,将系 统的复杂程度隐藏于系统内部,实现“技术”管理“技术”,使得信息系统在内 部实现自我管理。自主计算系统的实现方法是自主计算领域的研究重点之一,但 目前的自主计算研究工作主要是从概念模型出发,或者是对单一领域的应用进行 研究,对自主计算通用实现方法还缺乏较为深入的研究。 本文首先介绍了自主计算产生的背景和国内外的研究现状。然后对面向服务 软件体系结构( 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 ) 进行了研究,分析了面向服 务体系结构的特点,以及其系统架构内部的协作关系,同时对其主要实现技术 w e bs e r v i c e 进行了较为具体的阐述。针对面向服务和w e bs e r v i c e 的特性,分 析并评估了其与自主计算领域结合的可能性和可行性。 本文还对自主计算相关知识和设计方法进行了较为详细的研究,从部分到整 体,从自主元素到自主计算系统,介绍了自主计算中的核心部件自主元素的 概念模型,对其工作机制以及核心步骤进行具体分析,并对自我觉察上下文觉 察、决策选择方法等进行了具体的研究。从自主计算系统层面研究了自主元素间 的组织方式、协作关系、行为编排等问题,其中针对行为编排问题,给出了基于 动态规划方法的行为编排算法。 根据对自主计算和w e bs e r v i c e 相关理论的研究,本文提出了一种基于w e b s e r v i c e 的自主计算实现方法。其中,通过改造w e bs e r v i c e 的端点,提出一种 新型的自主元素设计方法。同时,在系统层面上,根据面向服务体系结构的服务 请求模式,本文给出了一种建立在服务工厂、决策中心、服务注册中心基础上的 自主元素组织形式。 最后,依据本文提出的基于w e bs e r v i c e 的自主计算实现方法,进行了实验 系统的开发实现,用于验证该实现方法在现实环境下的可行性。实验系统提供了 自保护和自修复两个特性,并且给出了由于决策引起的资源冲突问题的解决办 法。实验结果表明,可以通过本文提出的基于w e bs e r v i c e 的自主计算实现方法, 建立具有自主特性的计算系统,验证了该方法的有效性。 关键字:自主计算:自主元素:w e bs e r v i c e a b s t r a c t a u t o n o m i cc o m p m i n gi sa ne m e 唱i n gr e s e a r c hh o t s p o tt h e s ey e a r s i ti sb r o u g h t f o r w a r db yi b ma n df o c u so v e r c o m i n gt h eh i g h - c o s tp r o b l e mf o rt h eh e t e r o g e n e o u s a n dc o m p l e xs y s t e mw i t ht h ed e v e l o p m e n to fi n t e m e ta n di n f o r m a t i o nt e c h n o l o g y r e f e r r i n gt ot h ew a yo fa d ju s t i n gi nn e u r a ln e t w o r k ,t h i sr e s e a r c ha i m sa th i d i n gs y s t e m m a n a g e m e n tc o m p l e x i t y f r o mh u m a nu s e r sb ym e a n s o f t e c h n o l o g i e sm a n a g i n g t e c h n o l o g i e s ”,t oe s t a b l i s hg u i d a b l e ,s t a t e - a w a r e ,a n ds e l f - a d a p t i v ec o m p u t e rs y s t e m s h o wt oi m p l e m e n tt h ea u t o n o m i cs y s t e mi so n eo ft h em o s ti m p o r t a n tp r o b l e m s a n d m o s to ft h ew a yt oi m p l e m e n tt h es y s t e mi sl i m i t e di nas c o p e o n eg e n e r a lw a yw h i c hi s a d a p t e dt om o s to f t h es c e n a r i o si sn e e d e d f i r s t ,t h i sp a p e rr e c o u n t st h eh i s t o r yo fa u t o n o m i cc o m p u t i n ga n dt h ec u r r e n c y i nc h i n aa n da b r o a d a n dt h e nt h i sp a p e rs t u d i e st h es 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 ) ,a n a l y s e st h ec h a r a c t e r so fs o aa n dt h ew a yo fc o l l a b o r a t i o ni ns o a a st h e g e n e r a lw a yt oi m p l e m e n ts o h , w e bs e r v i c ei ss e tf o r t hi nt h i sp a p e r b a s e dt h e c h a r a c t e r so fs o aa n dw e bs e r v i c e ,i ti sp o s s i b l ea n df e a s i b l eu s i n gs o aa n dw e b s e r v i c ei na u t o n o m i cc o m p u t i n g i nt h ef o l l o w i n gc h a p t e r , r e s e a r c h e st h ec o n c e p t i o no ft h ea u t o n o m i cc o m p u t i n g i n c l u d i n gt h ec o r ec o m p o n e n ta u t o n o m i ce l e m e n ta n dt h i sa u t o n o m i cs y s t e m a n d a l s oa n a l y s e st h ew o r k i n gm e c h a n i s mf o ra u t o n o m i ce l e m e n ta n dt h es t e p sf o ri t s e x e c u t i o n f o rt h es y s t e ml e v e l ,r e s e a r c h e st h ep m b l e m si n c l u d i n go r g a n i z a t i o n sa n d c o l l a b o r a t i o na m o n gt h e s ee l e m e n t s a n dt h e n , b a s e do nt h er e s e a r c ho fa u t o n o m i cc o m p u t i n ga n ds o a ,an e w w a y t oi m p l e m e n tt h ea u t o n o m i cc o m p u t i n gi s b r o u g h tf o r w a r d w em o d i f i e dt h e e n d - p o i n to fw e bs e r v i c e ,a n dm a k ei tw o r k i n ga s 趾a u t o n o m i ce l e m e n t f o rt h e w h o l es y s t e m ,b a s e do nt h ew a yo ft h es e r v i c er e q u e s ti nt h es o a ,t h i sp a p e ra l s o b r o u g h tf o r w a r dan e w a u t o n o m i cs y s t e ma r c h i t e c t u r e f i n a l l y , b a s e do nt h ew a yo fi m p l e m e n t a t i o n , w ee s t a b l i s hae x p e r i m e n ts y s t e m t ov a l i d a t ei t sf e a s i b i l i t y t h i ss y s t e mp r o v i d e st h ef u n c t i o n si n c l u d i n g s e l f - p r o t e c t e d , s e l f - r e p a i r e d a n dt h er e s u l to ft h ee x p e r i m e n tt e s t i f i e st h a ti t i se f f e c t i v eu s i n gt h e w a yw eb r o u g h tf o r w a r dt oi m p l e m e n ta a u t o n o m i cc o m p u t i n gs y s t e m k e yw o r d s :a u t o n o m i cc o m p u t i n g ,a u t o n o m i ce l e m e n t , w e bs e r v i c e 厦门大学学位论文原创性声明 本人呈交的学位论文是本人在导师指导下,独立完成的研究成 果。本人在论文写作中参考其他个人或集体已经发表的研究成果,均 在文中以适当方式明确标明,并符合法律规范和厦门大学研究生学 术活动规范( 试行) 。 另外,该学位论文为() 课题( 组) 的研究成果,获得() 课题( 组) 经费或实验室的 资助,在() 实验室完成。( 请在以上括号内填写课 题或课题组负责人或实验室名称,未有此项声明内容的,可以不作特 别声明。) 伊? 年 声明人( 签名) : 6 月易日 厦门大学学位论文著作权使用声明 本人同意厦门大学根据中华人民共和国学位条例暂行实施办 法等规定保留和使用此学位论文,并向主管部门或其指定机构送交 学位论文( 包括纸质版和电子版) ,允许学位论文进入厦门大学图书 馆及其数据库被查阅、借阅。本人同意厦门大学将学位论文加入全国 博士、硕士学位论文共建单位数据库进行检索,将学位论文的标题和 摘要汇编出版,采用影印、缩印或者其它方式合理复制学位论文。 本学位论文属于: ( ) 1 经厦门大学保密委员会审查核定的保密学位论文, 于年月日解密,解密后适用上述授权。 ( ) 2 不保密,适用上述授权。 ( 请在以上相应括号内打“”或填上相应内容。保密学位论文 应是已经厦门大学保密委员会审定过的学位论文,未经厦门大学保密 委员会审定的学位论文均为公开学位论文。此声明栏不填写的,默认 为公开学位论文,均适用上述授权。) 吁 9 电 , 儿 日 名 乙 签 了 月 人 明 年 士尸 ,-f 矽 第一章绪论 1 1 自主计算概述 第一章绪论 随着计算机应用和服务技术的快速发展,计算机系统逐渐呈现异构性、分 布性,从而能够更好地实现系统协作、高性能计算等,为用户提供更广泛、更 复杂的服务。但是,规模的不断上升也导致了系统的复杂度的不断增加,使得 操作管理人员逐渐失去对系统的有效管理,并导致管理、维护成本的不断上升, 维护所耗费的资源成本逐渐成为大型计算机系统发展的瓶颈,在某些情况下甚 至超过构建系统的成本。 为了能够解决目前分布式异构系统不断增加的复杂性和不断上升的规模所 造成的管理危机,i b m 公司首先提出了自主计算的概念,将系统的复杂性交由 系统本身处理,实现由技术管理技术。其后,各大i t 公司及科研机构均不断的 投入到自主计算的研究中。自主计算思想来源于人体的生物神经系统,生物神 经系统可在无大脑意识控制的条件下自动地管理人体局部功能。自主计算的目 的在于实现计算机系统的自主管理,减少人为干预,实现系统的自动配置、自 动修复、自动优化和自我保护。 1 2 自主计算的研究现状 1 2 1 国外的研究情况 目前在商业应用领域中,2 0 0 1 年1 0 月1 5 日,t b m 研究院负责人表示,i b m 将设立面向美国大学及政府实验室的研究基金,以进步推动公司用于智能化 计算机产品的自主计算技术。i b m 公司在其很多的产品中都逐渐加入了自主计 算技术,如d b 2 sl e a r n i n go p t i m i z e r 、s t o r a g et a n k 、h e t e r o g e n e o u s w o r k l o a d m a n a g e m e n t 和d y n a m i cr e c o n f i g u r a t i o no ni b mp s e r i e ss e r v e r s 等。 s u n 公司在s o l a r i s1 0 和j a v ae n t e r p r i s es y s t e m 等技术中大量应用了 基于w e bs e r v i c e 的自主计算实现方法研究 自主计算的技术,例如在其存储和数据管理解决方案中提供了数据的备份与恢 复、灾难恢复、数据整合、存储系统优化和经济化等解决方案。在s u n 的j i n i n e t w o r k 中,它能够发现组件的失败,能够在网络中找到带有它所需要的功能 的组件,还能够根据需要重新分配资源n 1 。h p 公司在s u p e r d o m e 中增加了自修 复能力,它可以自动地确定发生问题的处理器,如果该处理器出现的错误较多 则替换之。 在学术领域中,自优化是自主计算系统的自管理特性之一,而资源的优化 分配则是自优化要解决的非常重要的问题。r a j a r s h id a s 的文章中探讨了在不 同环境下的资源分配问题乜1 。自修复和自配置也是自主计算系统的主要能力, m i c h a e lm e s s i g 在其文章中探讨了在w e b 服务资源框架( w s r f ) 环境下的这方 面的问题口1 。 1 2 2 国内的研究情况 中国科学院计算技术研究所智能信息处理重点实验室是我国开展自主计算 研究较早的单位,史忠植教授主持的智能科学课题组在国家8 6 3 计划支持下, 将智能主体和机器学习有机整合,在自主计算研究方面取得了进展。南京大学 许满武教授和南京理工大学刘凤玉教授主持的课题组将自主计算中自恢复、自 优化、自保护的思想引入到软件恢复( s o f t w a r er e j u v e n a t i o n ) 研究课题中, 提出了“软件抗衰”的概念。万群丽等在文献h 1 中利用a g e n t 的自主性等特性 提出了基于a g e n t 的软件抗衰方法,并将其引入到w e b 应用中。 北京大学的焦文品等人将a g e n t 技术和构件技术结合起来,研究基于a g e n t 的自主构件的开发方法和支持技术,试图以a g e n t 技术为基础,研究如何刻画 和构造具有自主性、合作性及演化性的构件,构件如何自主地适应软件体系结 构的动态变化,以及如何在中间件中支持自主构件,并支持异构构件( 普通构 件和自主构件) 之间的互连等。焦文品与梅宏在文献碡1 中从新的观点研究了动 态软件架构,为实现软件系统的自适应而选择了基于自主a g e n t 的方法,将自 主a g e n t 用于为要达到的结构上的目标制定计划。在文献m 1 中,黄罡等提出了 自主计算中间件的基本概念及其三个基本能力:监控、推理和控制,并提出了 基于反射的自主计算中间件方法。 第一章绪论 1 3 本文的研究思路与主要工作 从现有研究成果来看,对自主计算的研究还未形成系统而成熟的理论体系, 各种应用也大多是领域相关的,相对于理论体系的实现方法较少。本文首先从 概念模型出发,将自主计算中的各种概念进行整理分析,以提供较为成熟的理 论体系。 在自主计算系统中,对于自主元素间的组织方式以及实现不同功能的异构 自主元素的协同工作都是研究的重要问题,而w e bs e r v i c e 的通用标准化接口, 以及架构在w e bs e r v i c e 基础上的面向服务的系统,正好能够很好的解决协作 问题,以及各元素组织方式问题。基于这样的思路,本文将面向服务的系统架 构与自主计算理论相结合,通过对w e bs e r v i c e 端点的扩展,提出一种基于w e b s e r v i c e 的自主元素设计方法,并且通过面向服务体系结构与自主计算的结合, 提出了一种新的自主元素的组织形式。最后通过实验系统的建立,验证了本文 中提出的自主计算实现方法的可行性,并且对其部分关键实现技术进行了描述。 本文共分为六章,主要内容包括: 第一章为引论,主要叙述了自主计算在国内外的研究现状,以及本文的研 究思路和主要研究工作。 第二章主要介绍了面向服务的软件体系结构的相关知识,由于本文的论题 为基于w e bs e r v i c e 的自主计算研究,核心是基于对w e bs e r v i c e 的扩展,对 于面向服务必须有较为详细的了解,才能够使用w e bs e r v i c e 技术,通过面向 服务的手段建立自主计算系统。 第三章系统地阐述了自主计算的相关概念,从部分到整体,从自主元素到 自主计算系统,详细介绍了自主元素的概念、工作机制和原理,并对自主元素 的设计思路与方法进行了研究。介绍了自主管理者之间的组织方式、协作关系、 行为编排等问题,其中,针对行为编排问题的特点,提出了一种基于动态规划 的行为编排算法。 第四章通过将面向服务与自主计算有机结合,提出了一种基于w e bs e r v i c e 端点扩展的自主元素设计方法。同时,基于面向服务的服务请求模式,针对自 主计算系统中自主元素的组织形式,提出了一种新的自主元素设计方法。 第五章通过开发小型的实验系统,用于说明第四章中提出的设计方法的可 4基于w e bs e r v i c e 的自主计算实现方法研究 行性,其中着重阐述了实验系统构建的框架和w e bs e r v i c e 的建立方式。同时 对系统实现时采用的一些关键技术,如数据交互、冲突解决等,也进行了描述。 其中针对冲突解决,提出了种基于虚拟资源的冲突处理方法。 第六章对全文的研究内容与成果进行了总结,并展望了未来的发展方向。 第二章面向服务的软件体系结构 2 1 引言 第二章面向服务的软件体系结构 1 9 6 8 年,e wd i j k s r t a 首先提出了软件体系结构( 也就是软件架构) 的 概念。体系结构的方法主要着眼于软件系统的全局组织形式,在更高层次上把 握软件系统各组件之间的内在联系。并从全局的、整体的角度去理解和分析整 个软件系统的行为和特征,有助于解决上世纪6 0 年代的软件危机,以开发复杂 的大型的软件。 与最初的大型中央主机相适应,最初的软件体系结构也是m a i n f r a m e 结构, 在该结构下客户、数据和程序被集中在主机上,通常只有少量的g u i 界面,对 远程数据库的访问比较困难。随着p c 的广泛应用,该结构逐渐在应用中被淘汰。 在上世纪8 0 年代中期出现了c 1 l e n t s e r v e r 分布式计算结构,应用程序的 处理在客户( p c 机) 和服务器( m a i n f r a m e 或s e r v e r ) 之间分担。请求通常被 关系型数据库处理,p c 机在接受到被处理的数据后实现显示和业务逻辑。系统 支持模块化开发,通常有用户界面。c l i e n t s e r v e r 结构因为其灵活性得到了 极其广泛的应用。但对于大型软件系统而言,这种结构在系统的部署和扩展性 方面还是存在着不足。 i n t e r n e t 的发展给传统应用软件的开发带来了深刻的影响。基于i n t e r n e t 和w e b 的软件和应用系统无疑需要更为开放和灵活的体系结构。随着越来越多 的商业系统被搬上i n t e r n e t ,一种新的、更具生命力的体系结构被广泛采用, 这就是为我们所知的“三层多层计算 : ( 1 ) 客户层:用户接口和用户请求的发出地,典型应用是网络浏览器和 胖客户端。 ( 2 ) 服务器层:典型应用是w e b 服务器和运行业务代码的应用程序服务 器。 ( 3 ) 数据层:典型应用是关系型数据库和其他后端( b a c k - e n d ) 数据资 源,如o r a c l e 和s a p 、r 3 等。 上述三层体系结构中,客户( 请求信息) 、程序( 处理请求) 和数据( 被操 6基于w e bs e r v i c e 的自主计算实现方法研究 作) 被物理地隔离。三层结构是个更灵活的体系结构,它把显示逻辑从业务逻 辑中分离出来,这就意味着业务代码是独立的,可以不关心怎样显示和在哪里 显示。业务逻辑层现在处于中间层,不需要关心由哪种类型的客户来显示数据, 也可以与后端系统保持相对独立性,有利于系统扩展。三层结构具有更好的移 植性,可以跨不同类型的平台工作,允许用户请求在多个服务器间进行负载平 衡。三层结构中安全性也更易于实现,因为应用程序已经同客户隔离。 而随着技术的进一步发展,业务逻辑逐渐成熟,软件体系结构逐渐由业务 向服务转化,传统的面向业务建设的体系结构逐渐向面向服务的体系结构过渡, 以服务提供者为核心的面向服务的体系逐渐发展起来。 2 2 面向服务的软件体系结构 面向服务的体系结构( s o a ,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 ) 最初在1 9 9 6 年由g a r t n e r 组织提出,用于从架构设计师的角度构建企业级软件系统。基于 s o a 的系统的组成元素是服务( 可重用的功能单元称为服务) ,面向服务架构的 系统可以方便地进行企业级整合,而且可以快速开发。而随着网络技术的发展, 分布式计算( d i s t r i b u t e dc o m p u t i n g ) 成为影响当今计算机技术发展的关键技 术力量。所谓分布式计算,是指借助计算机网络将分布在不同地点的计算实体 ( 进程、实体或构件等) 组织在一起,通过传递消息来进行通信和协作的一种方 式。面向服务同时作为分布式计算发展的产物也必将具有许多优势。 s o a 是一种用来构建基于服务的分布式整合系统的方法口1 。那些用来构建分 布式系统的业务和基础功能可以当作服务,作为整体或者个体,提供给终端用户 的应用系统或其他服务。 s o a 指定在任何给定的体系结构中,服务间应有一个一致的通信机制。该机 制应该是松耦合的,并且对外提供外部接口。s o a 在企业级整合上带来了松耦合 和封装的优势。它将面向对象开发、基于组件的设计和企业应用整合技术中的 成功概念应用于i t 系统整合的架构方法中。 服务是s o a 的基石,在分布式系统构建的环境以外提供了众多方法的接 口。服务可以被外部或内部服务消费者独立调用以实现简单的功能,或者可以被 串联在一起实现复杂的功能以便更快地设计出新功能。 第二章面向服务的软件体系结构 面向服务的系统体系结构的开发作为一种新型的具有自适应、自我描述、 模块化特点的w e b 应用程序,已经在一些商业系统中运用。国内基于s o a 架构 的w e b 服务目前还是集中在一些企业内部,也有一些有影响的行业用户正在搭 建其核心业务系统。而国外自2 0 0 4 年初推出s o a 后,b e a 、i b m 、o r a c l e 、微软 等纷纷发布自己的s o a 战略,同时s u n 公司的j 2 e e 技术发展壮大和m i c r o s o f t 的n e t 技术的成熟都推动了s o a 技术的发展。随着w e b 服务规范的标准化和s o a 技术的成熟,s o a 技术正逐步的应用于企业级应用中,并使得更多的用户在进 行企业i t 建设时考虑s o a 。s o a 在商业企业的应用可以将物流企业、商业企业、 生产企业、消费者整合在一起,对供应链关联企业、物流企业以及网上支付体 系、安全认证体系等环境建设具有明显的带动作用,从而推动信息化各环节的 全面应用与发展。 2 2 1 面向服务体系结构特征 与传统开发方法相比,s o a 具有松散耦合、基于标准、共享服务和粗粒度 等特点,分析s o a 的概念特点我们可得到以下几个s o a 的主要特征砸9 1 如下: ( 1 ) 服务具有良好定义的接口 良好定义的联络接口是s o a 的一个关键概念。所有的服务都要发布一个联 络接口,这个联络接口封装了服务客户端和服务双方都同意遵守的、彼此相互 理解的通信规则。当服务消费者查找服务时,它想要得到的也就是服务的接口, 接口包含使用服务的所有必要信息。 ( 2 ) 服务是一个业务功能并采用模块化设计 一个服务既可代表业务域,也可以代表技术域。技术功能就是最常见的一 种服务,注册、安全验证和日志记录都是应用中起着重要作用的服务。但s o a 真正强大的地方在于它对已有业务域的建模能力。模块化设计的思想对s o a 来 说很重要,一个模块可以想象成用来执行一个特定功能的软件子单元或者子系 统。一个模块应该彻底地执行一个功能,也就是说,一个模块只包含用来执行 特定功能的所有子单元。 ( 3 ) 服务是松耦合的且可查找 服务消费者和服务提供者之间的关系应该是松耦合,也就是这两者之间不 8基于w e bs e r v i c e 的自主计算实现方法研究 存在静态的关联,依赖服务向外部提供服务,隐藏其功能实现。让服务的使用 者知道服务的实现细节只会产生不必要的依赖性。s o a 的弹性和可重用性的另 一方面体现在支持服务的动态发现( f i n d i n g ) 和绑定( b i n d i n g ) 。 ( 4 ) 服务与传输方式和平台无关 服务消费者使用网络连接来访问和使用服务,s o a 架构要求使用服务时, 无须关注网络连接的类型,也不用关心服务数据的传输机制。这提供了实现的 透明性,并将因为基础设施和实现发生的改变带来的影响降到最低限度。企业 在进行架构重构时,可以选择第三方提供的服务。用户在使用某个服务时,甚 至不知道这个服务的操作可能分散在许多不同服务点。例如,运行在w i n d o w s 平台上的n e t 写的服务,允许运行在任何平台上的用户通过w e bs e r v i c e 访问, 它们之间的通信使用的是s o a p 协议。 ( 5 ) 利用现有的资产同时风险降低 使用这种新的服务只需要知道服务的接口和名称,服务的内部细节以及组 成服务的组件之间的数据复杂性都对外界隐藏了。这种组件的匿名性使组织能 够利用现有的投资,从而通过合并构建在不同的机器上、运行在不同的操作系 统中和用不同的编程语言开发的组件来创建服务。提供了一个更高级抽象层, 通过这个抽象层,可以将业务构造成现有服务的集合。理想情况下,服务的平 台无关性是指服务运行平台的无关性,与机器型号无关,与操作系统无关。 2 2 2 面向服务的协作关系 图2 一l :面向服务体系结构中的协作 第二章面向服务的软件体系结构 9 如图2 - 1 所示,面向服务的体系结构提供了一种方法n 引,通过这种方法,可 以构建分布式系统并将应用程序功能作为服务提供给终端用户应用程序或其他 服务。面向服务的体系结构中的角色包括: ( 1 ) 服务使用者:服务使用者是一个应用程序、一个软件模块或需要一个 服务的另一个服务。它发起对注册中心中的服务的查询,通过传输绑定 服务,并且执行服务功能。服务使用者根据接口契约来执行服务。 ( 2 ) 服务提供者:服务提供者是一个可通过网络寻址的实体,它接受和执行 来自使用者的请求。它将自己的服务和接口契约发布到服务注册中心, 以便服务使用者可以发现和访问该服务。 ( 3 ) 服务注册中心:服务注册中心是服务发现的支持者。它包含一个可用 服务的存储库,并允许感兴趣的服务使用者查找服务提供者接口。 面向服务的体系结构中的每个实体都扮演着服务使用者、服务提供者和服 务注册中心这三种角色中的某一种( 或多种) 。面向服务的体系结构中的操作包 括: ( 1 ) 发布:为了使服务可访问,需要发布服务描述以使服务使用者可以发现 和调用它。 ( 2 ) 查找:服务请求者定位服务,方法是查询服务注册中心来找到满足其标 准的服务。 ( 3 ) 绑定和调用:在检索完服务描述之后,服务使用者继续根据服务描述中 的信息来调用服务。 面向服务的体系结构中的构件包括: ( 1 ) 服务:可以通过已发布接口使用服务,并且允许服务使用者调用服务。 ( 2 ) 服务描述:服务描述指定服务使用者与服务提供者交互的方式。它指 定来自服务的请求和响应的格式。服务描述可以指定一组前提条件、 后置条件和或服务质量( q o s ) 级别。 2 2 3 面向服务的应用构建方法 与传统应用的构建方式不同,s o a 更注重的是一种概念,更加关注通过现 有的服务进行应用整合。那么,要如何实现整合才是面向服务应用构建时需要 l o基于w e bs e r v i c e 的自主计算实现方法研究 注意的问题。面向服务从根本上来说就是要解决两个问题:重用和异构,但是 作为信息化系统建设永远要面对的两个难题,解决的方法却并不简单。针对这 个问题,w e bs e r v i c e 提供了较好的解决方法。 如图2 2 所示,基于w e bs e r v i c e 构建企业服务总线( e s b ,e n t e r p r i s e s e r v i c eb u s ) ,作为应用构建的业务中心支撑点,各种服务通过w e bs e r v i c e 形式进行发布。 图2 - 2 :s o a 服务集成示意图 其中e s b 是传统中间件技术与x m l 、w e bs e r v i c e 等技术结合的产物。e s b 提供了网络中最基本的连接中枢,是构筑企业神经系统的必要元素。 e s b 在系统的构建中提供了五个基本功能: ( 1 ) 服务的元数据管理:在总线范畴内对服务的注册命名及寻址管理功能。 ( 2 ) 传输服务:必须确保通过企业总线互连的业务流程间的消息的正确交 付,传输还包括基于内容的路由功能。 ( 3 ) 中介:提供位置透明性的服务路由和定位服务,提供多种消息传递形 式,并支持广泛使用的传输协议。 ( 4 ) 多种服务集成方式:如j c a 、w e b 服务、m e s s a g i n g 、a d a p t o r 等。 ( 5 ) 服务和事件管理支持:如服务调用的记录、测量和监控数据,提供事 : 展珊艮务 净 展现服务b = = o l , 盎 一明路净 全 服 业务规则服务踣= = 书 l, f 业一爱务净 嚣 业务处理服务路= = 专 层 i 线 lj 黼n 睹 净 第二章面向服务的软件体系结构 件检测、触发和发布功能。 2 3w e bs e r v ic e 2 3 1w e bs e r v i c e 与面向服务 面向服务的实现可以采用的主要思路包括:c o r b a 一基于面向消息的中间 件解决方式;w e bs e r v i c e 的方式基于服务描述w s d l 形式。其中w e bs e r v i c e 是目前应用最为广泛的部署面向服务应用的方式。 在面向服务架构出现之前,为了集成企业的遗留系统和c s 结构的应用系 统,常采用的办法是将这些系统的功能封装进对象,然后发布这些对象的接口。 分布式对象模型c o r b a 中,c o m d c o m 和e j b 各自具有独特的分布式对象访问机 制,因而彼此之间无法互相传递数据,使得分别采用这三种技术开发的应用系 统成为相互封闭的信息孤岛。而企业之间如果无法复用其他公司的服务,进行 再次开发就会造成极大浪费。企业间迫切需要一种简单而又有效的手段和机制 来共享相互的服务。 而w e bs e r v i c e 恰好能够提供这种手段,其提供标准化的描述接口,能够 被任何平台进行调用,同时,其具有良好的被复用能力,能够很好的实现信息 共享。 面向服务是一种架构模式,而w e bs e r v i c e 是利用一组标准实现的服务。 w e bs e r v i c e 是实现面向服务的技术方式之一。用w e bs e r v i c e 来实现面向服 务的好处是可以实现一个中立平台,来获得服务,而且随着越来越多的软件商 支持越来越多的w e bs e r v i c e 规范,可以取得更好的通用性。虽然w e bs e r v i c e 并非是实现面向服务的必须组件,同时部署了w e bs e r v i c e 也并不意味着实现 了面向服务体系结构。但w e bs e r v i c e 规范是当今很适合面向服务的技术规范。 由于整个系统的开发采用x m l 、简单对象访问协议( s o a p ) 、w e bs e r v i c e 描述 语言( w s d l ) 以及通用描述、发现和集成( u d d i ) 的标准化规范n 们,使w e bs e r v i c e 也具备竞争厂商支持的接口规范。这些规范在涉及到操作系统、对象模型和编 程语言的选择时,没有任何倾向,因此将会有很强的生命力。就目前而言,w e b s e r v i c e 标准的成熟和应用的普及为面向服务架构的实现打下了基础。同时, 基于w e bs e r v i c e 的自主计算实现方法研究 由于它所具有的上述优势使其在实现面向服务时具有重要地位,在实践过程中 也大都考虑由w e bs e r v i c e 作为实现面向服务的技术实现手段。 2 3 2w e bs e r vi c e 定义 目前,w e bs e r v i c e s 没有严格的统一的定义。不同的组织和部门对w e b s e r v i c e s 的定义都有些差异。以下是对w e bs e r v i c e s 的一些定义: 国际标准化组织w 3 c ( w o r l dw i d ew e bc o n s o r t i u m ,互联网联合组织) :w e b s e r v i c e 是一个通过u r l 识别的软件应用程序,其界面及绑定能用) ( m l 文档来 定义、描述和发现,使用基于i n t e r n e t 协议上的消息传递方式与其他应用程序 进行直接交互。 m i c r o s o f t 公司:w e bs e r v i c e 是为其他应用提供数据和服务的应用逻辑单 元,应用程序通过标准的w e b 协议和数据格式获得w e bs e r v i c e ,如h t t p 、x m l 和s o a p 等,每个w e bs e r v i c e 的实现是完全独立的。w e bs e r v i c e 具有基于组 件的开发和w e b 开发两者的优点,是m i c r o s o f t 的n e t 程序设计模式的核心。 i b h 公司:w e bs e r v i c e 是一种自包含、自解释、模块化的应用程序,能够 被发布、定位、并且从w e b 上的任何位置进行调用。w e bs e r v i c e 可以执行从 简单的请求到错综复杂的商业处理过程的任何功能。理论上来讲,一旦对w e b s e r v i c e 进行了部署,其他w e bs e r v i c e 应用程序就可以发现并调用已部署的 服务。 s u n 公司:w e bs e r v i c e 是软件构件,这类构件具有被发现、可组合和重组 合的特性,用于解决用户的问题或要求,j a v a 语言和x m l ( e x t e n s i b l em a r k u p l a n g u a g e 可扩展标注语言) 是w e bs e r v i c e 的最重要技术。 2 3 3w e bs e t v i c e 的关键技术 ( 1 ) x m l x m l 是由w 3 c 于1 9 9 8 年2 月发布的i n t e r n e t 数据表示和数据交换的新标 准。x m l 是种元语言,可以用来定义和描述结构化数据,是w e bs e r v i c e 得 以实现的语言基础。w e bs e r v i c e 的其他协议规范都是以x m l 形式来描述和表 达的。自推出以来,) ( m l 迅速得到了软件开发商的支持和程序开发人员的喜爱, 第二章面向服务的软件体系结构1 3 显示出强大的生命力。 ( 2 ) s o a p 协议 s o a p ( s i m p l eo b j e c ta c c e s sp r o t o c 0 1 ) 简单对象访问协议是在分散或分布 式的环境中交换信息并执行远程过程调用的协议,是一个基于x m l 的协议。使 用s o a p ,不用考虑任何特定的传输协议( 最常用的还是h t t p 协议) ,可以允许 任何类型的对象或代码,在任何平台上,以任何一种语言相互通信。这种相互 通信采用的是x m l 格式的信息。s o a p 包括四个部分: ( d s o a p 封装( e n v e l o p ) :封装定义了一个描述消息中的内容是什么,是谁发 送的,谁应当接受并处理它,以及如何处理它的框架; s o a p 编码规则( e n c o d i n gr u l e s ) :用于表示应用程序需要使用的数据类 型的实例; s o a p 远程调用表示( 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 ) :使用底层协议交换信息。 ( 3 ) w s d l 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 ) 是一种x m l 文档语法,用来定 义w e bs e r v i c e 并描述如何访问,支持w e bs e r v i c e 的发布和发现。 w s d l 描述说明的是w e bs e r v i c e 的三个基本属性: 服务做些什么:服务所提供的操作与方法; 如何访问服务:数据的格式以及访问服务操作的必要协议: 服务位于何处:由特定协议决定的网络地址,如u r l 。当利用v i s u a l s t u d i o n e t 开发w e bs e r v i c e 时,将自动生成w s d l 文档。 w s d l 文档把w e bs e r v i c e 定义为一组处理消息的网络端点或端口。在w s d l 中,端点和消息的定义都是抽象的,必须绑定到具体的网络协议和消息格式上 才能定义一个具体的端点。 2 4 小结 本章主要对面向服务的相关概念以及技术手段,尤其是w e bs e r v i c e 技术 进行了研究。面向服务体系结构具有松耦合,服务端点直接具有较好的协作方 1 4基于w e bs e r v i c e 的自主计算实现方法研究 法等特点,适合用于自主计算系统构建。而w e bs e r v i c e 作为标准的应用接口, 其扩展能力强,并且接口标准,能够被外部环境方便访问,能很好解决自主计 算中自主元素之间的信息交互问题。所以,通过对w e bs e r v i c e 的端点的扩展 构建自主元素是可行的。 第三章自主计算系统相关概念与设计方法研究 第三章自主计算系统相关概念与设计方法研究 3 1 引言 “自主计算( a u t o n o m i cc o m p u t i n g ) 又称为“自治计算 。这一新的研究 领域于2 0 0 1 年由i b m 公司发起,旨在参照自主神经系统的自我调节机制,以现 有的理论和技术( 包括面向服务的计算、自适应控制理论、优化理论、基于策 略的管理、多主体技术等) 为基础构建自主计算系统,使得信息系统在“整体 上( h o l i s t i c ) 实现自我管理u 。 根据神经科学理论,自主神经系统是广泛分布于内脏器官的相互连接的神 经元网络。“自主 一词来源于希腊语a u t o n o m i a ,大意是“独立 。自主神经 系统管理人体的内脏机能,包括对内部平滑肌、心肌和腺体的管理。描述其基 本原理的一个典型例子是:当遇到紧急情况时,自主神经系统的交感神经活动 增强,激发一系列生理应答,如加快心律、升高血压、抑制消化功能和动员葡 萄糖储备等,表现为3 个f ,即f i g h t ( 格斗) 、f l i g h t ( 逃避) 、f r i g h t ( 惊恐) ; 另一方面,在放松的情况下,交感神经活动减弱,副交感神

温馨提示

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

评论

0/150

提交评论