(2009-03-19) 面向服务的软件体系结构.ppt_第1页
(2009-03-19) 面向服务的软件体系结构.ppt_第2页
(2009-03-19) 面向服务的软件体系结构.ppt_第3页
(2009-03-19) 面向服务的软件体系结构.ppt_第4页
(2009-03-19) 面向服务的软件体系结构.ppt_第5页
免费预览已结束,剩余95页可下载查看

下载本文档

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

文档简介

1,面向服务的软件体系结构,2009-03-19,应时武汉大学软件工程国家重点实验室,yingshi,2,目录,SOA概述面向服务的软件范型面向服务的软件体系结构(SOSA)我们开展的研究工作,3,一、SOA概述,4,1.1SOA是热点,SOA相关的国际会议IEEEInternationalConferenceonWebServices(ICWS)IEEEInternationalConferenceonServiceOrientedComputing(ICSOC)IEEEInternationalConferenceonServicesComputing(SCC)IEEEInternationalConferenceonService-OrientedComputingandApplications(SOCA)IEEEInternationalSymposiumonService-OrientedSystemEngineering(SOSE)InternationalWorkshoponService-OrientedComputing:Agents,Semantics,andEngineering(SOCASE),5,SOA相关的国际期刊ServiceOrientedComputingandApplications(Springer)WebSemantics:Science,ServicesandAgentsontheWorldWideWeb(Elsevier)计算机学报组织了三期SOA相关的专辑2005年第4期2006年第7期面向服务的计算专辑2008年服务计算专辑(待出)软件学报组织了两期SOA相关的专刊2007年第8期面向互联网资源共享的虚拟计算环境专刊2007年第12期面向服务的计算专刊,1.1SOA是热点,6,SOA的专著,1.1SOA是热点,7,组织W3C、CBDI等IT企业“我们的产品是SOA架构的”企业“我们的业务是在基于SOA架构的IT设施上进行的”,1.1SOA是热点,8,1.2SOA定义(1),W3C定义:SOA是一组能够被调用的组件,其接口描述可以被发布和发现。W3C:Asetofcomponentswhichcanbeinvoked,andwhoseinterfacedescriptionscanbepublishedanddiscovered.,9,1.2SOA定义(2),Gartner定义:SOA是一种客户端/服务器软件的设计方法,SOA应用程序由软件服务和软件服务使用者组成,SOA与更为通用的客户机/服务器模型不同,其明确强调软件组件间的松散耦合及对独立接口的使用。Gartner:Service-orientedarchitectureisaclient/serversoftwaredesignapproachinwhichanapplicationconsistsofsoftwareservicesandsoftwareserviceconsumers(alsoknownasclientsorservicerequesters).SOAdiffersfromthemoregeneralclient/servermodelinitsdefinitiveemphasisonloosecouplingbetweensoftwarecomponents,andinitsuseofseparatelystandinginterfaces.,10,1.2SOA定义(3),CBDI定义:是一组策略、实践和框架。它支持将应用程序功能作为一组服务提供,这组服务以能够被使用者调用、发布和发现的粒度进行发布;这组服务是使用单一的、基于标准接口的形式从实现中抽象出来的。CBDI:Thepolicies,practices,frameworksthatenableapplicationfunctionalitytobeprovidedandconsumedassetsofservicespublishedatagranularityrelevanttotheserviceconsumerthatcanbeinvoked,publishedanddiscovered,whichareabstractedawayfromtheimplementationusingasingle,standardsbasedformofinterface.,11,1.2SOA定义(4),IBM定义:SOA是一种用于根据需要对资源进行关联的企业级IT体系结构。这些资源被表示为与业务一致的服务,这些服务可以参与和包含到价值网、企业或业务线中,以满足业务需求。SOA应用程序的主要结构化元素是服务,而不是子系统、系统或组件。IBM根据不同角度,引入了三个不同的定义来分别从业务、体系结构和实现的角度对此进行讨论。,12,1.2SOA定义(5),开发人员,相关人员,IBM认为针对不同的相关人员,SOA有不同的解释,一种体系结构风格:该风格包含服务提供者、服务请求者和服务注册中心;,体系结构设计人员,一组服务:业务希望向其客户及其合作伙伴或组织公开的一组服务;,业务人员,一种编程模型:一种包括诸如Web服务等标准、工具、方法和技术的编程模型;,一组体系结构原则和模式:一组体系结构原则、模式和标准,以处理如成熟度、封装、松散耦合、关注点分离、重用、可组合性、单一实现等各种特征;,13,1.2SOA定义(6),目前SOA没有确切的定义,不同的团队、软件供应商和业务分析人员提出多个不同的定义。,SOA的三种不同的含义一种技术体系一种软件开发范型一种软件体系结构风格和设计方案,SOA的相关人员业务分析师软件体系结构设计师设计人员管理人员编码人员,14,1.3SOA作为一种技术体系,Web服务技术XML、SOAP、WSDL、UDDISOA技术架构SOA中的角色:服务提供者、服务消费者、服务注册库SOA中的操作:发布、发现、绑定与调用SOA中的制品:服务、服务描述,15,1.3SOA作为一种技术体系,Web服务协议(1),16,1.3SOA作为一种技术体系,高级的Web服务协议WS-Security通过消息集成、消息加密和消息认证等机制增强SOAP消息的安全属性;WS-ReliableMesssage确保在不可靠的通信网络上Web服务消息的传递;WS-Addressing以传输中立的方式实现消息的网络传送;WS-CDL从全局的角度,通过定义参与协作的各方公共的、互相可观察的行为来描述点对点的协作;通过有序的消息交换实现公共的业务目标;WS-Policy提供一种多用途的模型和相应的语法来描述和传递Web服务的策略;WS-RescourseFramework描述了有状态的资源和Web服务之间的关系;,17,Web服务是是一种能力一组基于XML的协议其行为由Web服务协议描述通过Web服务协议与之进行交互,1.3SOA作为一种技术体系,18,服务是请求者需要服务提供的一种能力将做什么和怎么做与谁来做进行了分离通过策略和契约进行管理和控制通过消息进行通信在设计时和运行时可以被发现,1.3SOA作为一种技术体系,19,二、面向服务的软件范型,二、面向服务的软件范型,2.1分布式对象范型的特点(缺陷)分布式对象粒度过小导致性能不高SOA采用粗粒度模式,减少客户端与服务器之间的交互次数分布式对象粒度过小导致交互模式复杂SOA增大粒度,并采用松耦合,二、面向服务的软件范型,编程语言、分布式技术和业务计算的进步促成服务概念的形成,2.2面向服务的软件范型,面向过程的方法(process-orientedapproach)对应业务(空间)基于服务面向过程关注业务服务,而不是技术服务面向业务的服务一般针对业务的一个重要方面,如业务实体、业务功能和业务过程关注功能基础结构,而不是技术基础结构,服务是这种范型中最基本的概念对应业务概念或实体粗粒度面向过程松耦合,2.2面向服务的软件范型,EnterpriseSOAService-OrientedArchitectureBestPractices,2.2面向服务的软件范型,核心:基于服务,定义业务的基础结构。将业务应用程序从技术服务中分离出来,使企业独立于特定技术实现或技术基础结构。业务服务:提供业务操作技术服务:提供一致性服务、事务服务等要义:不让技术影响应用程序环境的高级结构,也不让其元素之间有太多的依赖关系。应用程序环境指由企业所有应用程序所构成的资产集站在企业全局的角度,把握所有的应用程序及其元素,2.2面向服务的软件范型,26,面向服务建模和分析:角色与活动,2.2面向服务的软件范型,27,SOA和传统方法学IBM提出的面向服务的建模和分析贯穿项目周期的三个阶段和IT系统的三个域,并与其他方法学紧密相联。,Service-OrientedModeling第二类是基于调查问卷、场景分析、检查表等手段,侧重得出关于软件体系结构可维护性、可演化性、可重用性等难以量化的质量属性。,3.4SOSA的分析方法,第一类分析方法,典型的方法是基于进程代数、CHAM(chemicalabstractionmachine)、有穷状态自动机、LTS(labeledtransitionsystems)等形式化工具对体系结构模型进行分析。该类分析在SOSA中的重点内容是:服务行为和体系结构过程流正确性的分析分析是否其具有可终止性、无死锁性、状态可达性等服务组合方案正确性的分析分析服务模型的接口是否兼容,分析组合的方案是否满足要求系统演化方案正确性的分析,3.4SOSA的分析方法,第二类方法更强调体系结构的各类相关人员的参与,往往是手工完成的。典型的有体系结构权衡分析方法ATAM、基于场景的体系结构分析方法SAAM、以及体系结构评估模型SAEM等。这些方法是工程化方法,在产业界的应用更为广泛。采用面向服务的体系结构,对系统的系统的互操作性、可扩展性和可修改性产生了正面的影响,而对系统的安全性、性能、可测试性等产生负面的影响。因此,对于SOSA来说,该类分析的重点是这些SOSA产生了负面影响的质量属性。,3.5SOSA的研究现状,目前已经有不少关于面向服务的软件体系结构建模和分析的工作。但大部分的工作倾向于使用UML或者其他半形式化(或者形式化)的建模语言对面向服务的系统进行建模和分析,明确地针对SOSA的体系结构描述语言的研究相对较少。,74,四、我们开展的研究工作,75,四、我们开展的研究工作,4.1研究动机4.2SOADL语言和SOA描述方法4.3SOADL的语义和SOA形式化分析方法4.4SOADL的支撑工具,76,4.1研究动机,4.1研究动机(1)面向服务软件体系结构的特点:,77,4.1研究动机,(2)设计面向服务软件体系结构时面临的问题问题1:如何描述服务的消息交换接口以及粗粒度的消息?问题2:如何描述服务的外部行为契约,以及系统全局行为?问题3:如何描述服务间的动态绑定和基于消息的松耦合通信?问题4:如何描述开放的动态适应性体系结构?问题5:如何对服务组合模型和系统演化模型的正确性进行分析?,78,4.1研究动机,(3)研究思路针对问题1(服务的消息交换接口)提出基于消息的服务接口模型针对问题2(服务行为和系统全局行为)提出服务行为描述模型和全局行为描述方法针对问题3(动态绑定和基于消息的通信)提出具有动态语义的绑定关系在服务行为中描述动态获取交互通道,并在通道上进行消息交换的过程。,79,4.1研究动机,针对问题4(开放性、动态适应性)提出面向服务动态适应性体系结构的模型:该模型由应用系统、配置器、发现代理三部分构成。使用配置器的配置行为,描述应用系统配置的变化。针对问题5(组合和演化模型的分析),基于Pi演算,定义SOADL的形式化语义。接口兼容性、组合正确性、服务可替换性、系统演化的外部行为不变性的分析。,80,4.2SOADL语言和SOA描述方法,4.2基于SOADL的SOA描述方法(1)SOADL语言概述设计原则:体现面向服务的特点、符合ADL的设计要求、支持形式化分析、易用性概念模型:,81,4.2SOADL语言和SOA描述方法,基本语法结构:端口部分?行为部分?(子)体系结构?约束部分?+应用系统本身也使用service描述,subArchitecture部分就是系统的总体体系结构。,82,4.2SOADL语言和SOA描述方法,(2)服务端口(接口)特点:显式的消息描述、支持粗粒度消息的定义,83,4.2SOADL语言和SOA描述方法,xs:anyType*?*+*,接口描述的语法,84,4.2SOADL语言和SOA描述方法,接口描述的图形表示法,85,4.2SOADL语言和SOA描述方法,(3)系统配置面向服务的适应性体系结构的抽象模型应用系统(ApplicationSystem)建模系统的业务逻辑设计人员设计的主要对象配置器(Configuror)创建或者修改应用系统的配置服务发现代理(Broker)配置器与之交互,完成服务发现,86,4.2SOADL语言和SOA描述方法,SOADL的配置描述模型,87,4.2SOADL语言和SOA描述方法,系统配置的描述使用配置器行为来描述应用系统拓扑结构的动态变化特点:(1)事件驱动;(2)系统初始化和演化的统一表述;(3)配置动作中可以支持服务的绑定、转接以及服务动态发现的描述。,configAction*configAction*,4.2SOADL语言和SOA描述方法,配置动作的语法,89,此处省略,示例:供应链管理系统,系统(描述为复合服务SCMSystem)的外部端口定义,系统所使用的服务类型定义,系统的初始配置,当生产厂商服务不可用时,系统的配置,90,4.2SOADL语言和SOA描述方法,(4)行为的描述服务行为描述模型从服务的外部视角,描述该服务如何与外部交互。特点:1)描述外部行为契约而非计算行为;2)面向消息,91,4.2SOADL语言和SOA描述方法,服务行为的描述方法,action*,4.2SOADL语言和SOA描述方法,示例:warehouseService的行为,在sgPort上为shipGoods操作初始化一个发货通道sgCh,在订货通道sgCh上接收发货请求:首先接收一个请求消息sgReq,然后返回一个响应消息sgResp。,根据仓库服务的内部情况进行选择。或者执行一个向厂家订购产品的动作序列,或者什么都不做。,93,4.2SOADL语言和SOA描述方法,系统全局行为的描述从全局角度描述了系统中各个服务的交互,建模了体系结构层的过程流。在subArchitecture元素的子元素globalbehavior处描述。全局行为的描述中的动作沿用了服务行为中的动作,但进行了扩展以适应全局视角的描述方式。,示例:系统全局行为的描述片段,*,initChannel动作为零售商服务r的请求端口sgPort和仓库服务w的提供端口sgPort初始化一个发货通道shipGoodsCh,该通道的具体定义在这两个端口的绑定动作中完成,

温馨提示

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

评论

0/150

提交评论