计算机学院科学与工程学院1主要内容分布式系统概述WebSerivces介绍面向服务的体系结构SOA的功能描述与质量属性SOA的基本特性SOA的优势与挑战计算机学院科学与工程学院2分布式系统定义:分布式系统属组件分布在网络计算机上且通过消息传递进行通信和动作协调的系统。分布式系统特征:并发性、缺乏全局时钟、故障独立性。构造和使用分布式系统的主要动力来源是资源共享。计算机学院科学与工程学院3分布式系统特征并发性:在一个计算机网络中,程序并发执行,在需要时共享资源,系统处理共享资源的能力应该随着网络资源的增加而增加;如何协调并发执行的共享资源的企业程序是一个重要问题。缺乏全局时钟:因为网络上计算机同步时钟的准确性受到限制,所以程序需要协调时仅能通过交换消息来协调它们的动作;通过网络发送消息作为唯一通信方式的直接结果,同步是重要的问题故障独立性:所有计算机都可能发生故障;网络故障导致与之互联的计算机的隔离。计算机中程序无法检测网络时出现了故障还是网络运行的比通常慢;计算机的故障或系统中程序的一场终止并不能立即被与之通信的组件感知,系统中每个组件对单独地出现故障,而其他组建还在运行。计算机学院科学与工程学院4分布式系统实例因特网是一个巨大的多种类型计算机网络的互连集合。因特网上计算机程序通过传递消息交互,采用了一种公共通信手段。因特网协议是一项重大的技术成果,它使得一个在运行的程序能给在任何地方的程序发送消息。企业内部网是因特网的一个部分,实现独立管理,具有边界,通过配置能够执行本地安全策略。防火墙作用是防止未授权消息的发出和进入来保护企业内部网,防护墙是通过过滤进出消息实现其功能。移动计算[Kleinrock1997]是指用户在移动中执行计算任务的能力或访问他们所处环境以外的位置的能力。普适计算[Weiser]1993是指对多种在用户的物理环境中存在的小型的、便宜的计算设备的控制。它们的计算行为将紧密地、透明地捆绑到它们的物理功能上。计算机学院科学与工程学院5名词组件化:利用标准化的应用程序和资源服务接口互操作:实现应用程序和/或资源之间的轻松信息交换模块化:混合搭配、添加删除、业务流程与基础设施可伸缩:从现有资源起步,随需添加其他资源计算机学院科学与工程学院6连接:确保不同应用程序和系统之间可靠而灵活的信息流。整合:整合框架支持异构环境中的互操作性--扫除摆在web服务和非web服务方法所支持的整合架构前的障碍。自动化:编排业务和IT流程,使IT和业务目标保持一致,增加收入,控制成本。优化:一种整体方法,它通过使战略和运营目标与业务活动保持协调统一。计算机学院科学与工程学院72.WebSerivces介绍What’sWebServicesWebServices应用-互连设备WebServices应用-整合应用计算机学院科学与工程学院8What’sWebServicesWebservices是什么Anywhere、Anytime、AnyDevice能够在一个分布式的计算环境中动态地描述、发布、发现和调用服务Web上的对象访问技术………..WhyWeNeedWebservices软件变服务整合孤立的数据孤岛互连设备与异构系统EAI/B2B应用……………完全基于XML以及其他相关的Internet标准计算机学院科学与工程学院9Webservices应用-互连设备计算机学院科学与工程学院10Webservices应用-整合应用ApplicationApplicationApplicationXMLXML计算机学院科学与工程学院11Webservices的优点主流分布式应用技术的缺点WebServices的优点计算机学院科学与工程学院12主流分布式应用技术的缺点目前的分布式对象技术各自为政互操作性差紧密耦合局限在Intranet的应用DCOMCORBARPCIIOPNDRCDRIDLOMGIDLRPC通讯协议消息格式描述语言WindowsRegistryNamingService探索机制JavaRMIIIOPorJRMPJavaSer.FormatJavaRMIRegistryorJNDI计算机学院科学与工程学院13WebServices的优点业界接受的标准跨不同语言跨异构应用跨异构平台跨Internet的互操作技术“软件变服务“远景的支撑技术计算机学院科学与工程学院14Webservices业界组织超过160家公司加入的联盟达成异构平台、异构应用、不同语言间的互操作规范通过Webservices推动产业发展的新一波浪潮那给我用用吧(SOAP)WebServices工作流程Design-TimeorDynamicRuntime你都有什么服务啊?(WSDL)描述客户端UDDI查找服务定义:Web服务是一种接口,它描述了一组操作,可以使用标准的XML消息传递技术,经由网络访问这些操作。Web服务可完成指定的任务或任务组。Web服务采用标准的、形式化的XML概念进行描述,称之为服务描述。服务描述提供了与该服务进行交互所必须的所有细节,包括消息格式(即操作的细节)、传输协议和位置。接口的实质是隐去了服务的实现细节,以致于它的使用可以独立于实现他的硬件或软件平台,独立于用来编写它的编程语言。允许并促进了基于Web服务的应用成为松散耦合的、面向构件的、跨技术的实现。Web服务可以单独使用,也可以与其他Web服务协作执行一个复杂的任务集或商业事务。计算机学院科学与工程学院18Web服务Microsoft定义:Web服务是一个向其他应用提供数据和服务的应用逻辑单元。应用程序通过无处不在的Web协议和数据格式访问Web服务,如HTTP、XML和SOAP,而无需关心每个Web服务是如何实现的。SUN定义:Web服务是软件构件.这类构件具有被发现、可组合和重组合的特性,用于解决用户的问题或要求,Java语言和XML是Web服务的最重要技术。计算机学院科学与工程学院19从业务、商务、技术视角看业务视角:Web服务就是关于集成的技术,即:集成同一机构内的应用功能,或集成商务伙伴之间的应用。商务视角:Web服务是一商务过程或是商务过程中的步骤。内部的或外部的商务伙伴都可经由网络使用这项服务,以达到某种业务目标。技术视角:Web服务只是一个或多个相关操作的集合,这些操作可以由网络访问,并可以用服务描述来描述。计算机学院科学与工程学院20面向服务TCP/IP作为网络开放平台能够支持诸如客户/服务器计算的体系结构;因特网基于HTML和HTTP,它提供了第一个真正全球开放的、可移植的用户界面;Java实现开放和可移植的编程;XML实现开放和可移植的数据交换;web服务实现基于开放式标准的广泛集成。计算机学院科学与工程学院21服务WEBRPC单机面向服务软件应用形态定制计算机学院科学与工程学院22商品消费—软件服务服务注册中心服务提供者服务消费者使用服务商品消费中心商品提供者商品消费者计算机学院科学与工程学院233.面向服务体系架构(ServiceOrientedArchitecture)服务提供者:一个可通过网络寻址的实体,它接受和执行来自使用者的请求。它将自己的服务和接口契约发布到服务注册中心,以便服务使用者可以发现和访问该服务。服务使用者:一个应用程序、一个软件模块或需要一个服务的另一个服务。它发起对注册中心中的服务的查询,通过传输绑定服务,并且执行服务功能。服务使用者根据接口契约来执行服务。服务注册中心:服务发现的支持者;它包含一个可用服务的存储库,并允许感兴趣的服务使用者查找服务提供者接口。计算机学院科学与工程学院24面向服务体系架构面向服务的体系结构中的每个实体都扮演着服务提供者、使用者和注册中心这三种角色中的某一种(或多种)。面向服务的体系结构中的操作包括:发布(Publish):为了使服务可访问,需要发布服务描述以使服务使用者可以发现它。发现(Find):服务请求者定位服务,方法是查询服务注册中心来找到满足其标准的服务。绑定(Bind)和调用(invoke):在检索到服务描述之后,服务使用者继续根据服务描述中的信息来调用服务。计算机学院科学与工程学院25面向服务架构SOA一种体系结构风格,它将应用程序的不同功能单元—服务(service),通过服务间定义良好的接口和契约(contract)联系起来。接口采用中立的方式定义,独立于具体实现服务的硬件平台、操作系统和编程语言,使得构建的系统中的服务可以使用统一和标准的方式进行通信。这种具有中立的接口定义的特征称为服务之间的松耦合。计算机学院科学与工程学院26面向服务架构SOASOA(ServiceOrientedArchitecture)的体系架构指导描述了体系结构的式样、要素和关系,以及在整个开发生命周期中他们是如何被识别、指定和管理的。通常体系结构的目标,特别是体系结构建模,提供了一个适当的抽象级别,在此级别上,可以容易地识别体系结构的要素,并且对要素进行控制。WebServices的目标是即时装配、松散耦合以及自动集成。计算机学院科学与工程学院27服务(service)是整个SOA实现的核心。SOA的基本元素是服务,SOA指定一组实体:服务提供者、服务消费者、服务注册表、服务条款、服务代理和服务契约这些实体详细说明了如何提供和消费服务。这些服务是可互操作的、独立的、模块化的、位置明确的、松耦合的并且可以通过网络查找其地址。计算机学院科学与工程学院28服务规范服务规范有三个规范要素,根据服务的建模类型可对它们进行选择:结构规范定义了可以调用的操作和由这些操作销毁或创造出的消息。行为规范表示服务客户和所指定服务之间的任意预期的有意义的协议或会话。策略规范表示服务的策略主张和约束。策略主张可能包括安全性、可管理性等等。计算机学院科学与工程学院29SOA协议栈计算机学院科学与工程学院30功能性方面—服务传输协议:用于将来自服务使用者的服务请求传送给服务提供者,并且将来自服务提供者的响应传送给服务使用者。通信协议:一种经过协商的机制,通过这种机制,服务提供者和服务使用者可以就将要请求的内容和将要返回的内容进行沟通。服务描述:一种经过协商的模式,用于描述服务是什么、应该如何调用服务以及成功地调用服务需要什么数据。服务:描述供使用的操作。计算机学院科学与工程学院31功能性方面—流程业务流程一个服务的集合,可以按照特定的顺序并使用一组特定的规则进行调用,以满足业务要求;业务流程本身也看作是服务,这样就产生了业务流程可以由不同粒度的服务组成的观念。计算机学院科学与工程学院32功能性方面—服务注册中心服务注册中心一个服务和数据描述的存储库;服务提供者可以通过服务注册中心发布它们的服务,而服务使用者可以通过服务注册中心发现或查找可用的服务;服务注册中心可以给需要集中式存储库的服务提供其他的功能。计算机学院科学与工程学院33服务质量方面策略是规则集在这些条件和规则之下,服务提供者可以使服务可用于使用者。策略既有功能性方面,也有与服务质量有关的方面;因此,在功能和服务质量两个部分中都有策略功能。安全性是规则集应用于调用服务的服务使用者的身份验证、授权和访问控制。事务是属性集应用于一组服务,以提供一致的结果。如果要使用一组服务来完成一项业务功能,则所有的服务必须都完成,或者没有一个完成。管理是属性集应用于