Web服务原理和技术-ch-webservice基础_第1页
Web服务原理和技术-ch-webservice基础_第2页
Web服务原理和技术-ch-webservice基础_第3页
Web服务原理和技术-ch-webservice基础_第4页
Web服务原理和技术-ch-webservice基础_第5页
已阅读5页,还剩73页未读 继续免费阅读

下载本文档

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

文档简介

Web服务:原理和技术课程用书Web服务:原理和技术(荷)MichaelP.Papazoglou著龚玲张云涛译机械工业出版社

荷兰提耳堡大学计算机科学系系主任及INFOLAB/CRISM实验室的主任课程内容《Web服务:原理和技术》是有关Web服务认论最详尽的书籍之一。全书涵盖了构建面向服务的体系结构所涉及的方方面面,包括一整套概念体系、原理、支撑技术、必须的基础架构以及相关的标准等。《Web服务:原理和技术》既适用于计算机科学与业的,同时适合其他相关专业。章节安排第一部分:基本原理第二部分:核心基础架构第三部分:核心功能与标准第四部分:事件通知与面向服务的体系结构第五部分:服务组合与服务事务第六部分:服务安全性与策略学习目标Web服务的性质,主要特征和类别与应用服务提供者模型以及基于Web的应用的区别紧耦合vs.松耦合有状态服务vs.无状态服务面向服务的体系结构(SOA)的基本概念以及主要构件功能性服务与非功能性服务的特征以及服务质量第一部分:基本原理第1章:Web服务基础引言“软件即为服务”的理念Web服务的完整定义Web服务的特性服务接口和实现面向服务的体系结构Web服务的技术架构服务质量(QoS)Web服务的互操作性Web服务与组件的比较Web服务的优与劣小结面向服务的计算面向服务的计算是一个新的范式服务作为构件复合应用支持分布式应用的低成本快速开发服务是自包含的模块能够在网络上使用基于XML的技术进行描述、定位、编配和编程“面向服务”的编程方式服务的构建方式通常独立于它们的使用方式服务提供者和服务用户之间是松耦合关系面向服务的计算面向服务的计算不是一个新的技术分布式系统软件工程信息系统计算机语言基于Web的计算和XML技术的融合XML对业界的影响范围至少不逊于面向对象的编程?面向服务的模型服务提供者提供服务的实现、描述以及相关的技术与业务支持服务客户端具体使用服务的终端组织服务聚合者将服务整合成一个新的服务通常称为业务流程服务技术中立——广泛地遵循一些公认标准必须使用要求最低的标准化技术调用服务所采用的调用技术需要得到绝大多数信息技术环境的支持松耦合无须了解客户端和服务端的信息无须了解客户端和服务端的内部结构或内部协议(背景)支持位置透明性无须考虑服务的具体位置,即可定位以及调用这些服务Web服务当服务使用因特网(Internet)作为通信手段以及使用基于因特网的标准时,即为Web服务。交互使用了公开的、不安全的、低保真度的机制Web服务是一个可通过网络使用的自描述、自包含软件模块,这些软件模块可完成任务、解决问题或代表用户、应用程序处理事务。Web服务建立了一个分布式计算的基础架构。这个基础架构由许多不同的、相互之间进行交互的应用模块组成。这些应用模块通过与用网络或公共网络迚行通信,形成一个虚拟的逻辑系统。Web服务Web服务可以是:自包含的业务任务,如提款或取款服务成熟的业务流程,如办公用品的自动采购应用程序,如人保险应用程序、需求预测不库存补给应用程序已启用服务的资源,如访问特定的保存病人病历的后台数据库远期目标实现分布式应用按照不断变化的业务需求动态组配应用程序根据设备、网络和用户访问的情况定制具体的分布式应用Web服务的典型场景案例研究:订单管理流程顾客订购单管理□订购单管理信用服务

□订购单管理库存服务

□订购单管理账单服务 □订购单管理运送服务 □更复杂的任务第1章:Web服务基础引言“软件即为服务”的理念Web服务的完整定义Web服务的特性服务接口和实现面向服务的体系结构Web服务的技术架构服务质量(QoS)Web服务的互操作性Web服务与组件的比较Web服务的优与劣小结Web服务于Web网页Web网页:提供跨因特网和组织界限访问应用的方式直接面对的是人Web服务访问者既可以是人,也可以是自动化的应用程序软件即为服务这一概念首先产生于应用服务提供商软件模型中应用服务提供商(ASP):将软件、基础设施要素、业务以及与业的服务迚行打包的公司,创建完整的解决方案,幵将其作为订阅的服务给用户推荐ASP的基本出发点:向用户出租应用程序另一种方式:提供软件模块,用户根据自身的需要将软件模块下载缺点:紧耦合(体系结构单一、脆弱、不可复用)无法开发高度交互的应用,无法提供完全定制的应用,无法整合各种应用软件即为服务松耦合异步交互基于XML标准,更容易访问因特网上的应用程序,更容易通信Web服务将复杂的业务流程和事务也规为服务ASP变得更类似于Web服务提供者Web服务和基于Web的应用程序Web服务可以调用其他的Web服务高度的灵活性和适应性Web服务时模块化的、自感知和自描述的应用程序功能性和非功能性属性Web服务比基于Web的应用程序更容易被监控和管理可以对Web服务进行评估和拍卖第1章:Web服务基础引言“软件即为服务”的理念Web服务的完整定义Web服务的特性服务接口和实现面向服务的体系结构Web服务的技术架构服务质量(QoS)Web服务的互操作性Web服务与组件的比较Web服务的优与劣小结Web服务的完整定义

Web服务是一个平台独立的、松耦合的、自包含的、基于可编程的Web的应用程序,可使用开放的XML标准描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。松耦合:Web服务协议、接口和注册服务可以使用松耦合的方式协同工作Web服务语义封装各个独立的功能:是一个完成单个任务的自包含的软件模块编程式访问Web服务:可将Web服务嵌入到进程的应用中可动态发现Web服务并将其添加到应用中可使用标准的描述语言来描述Web服务:Web服务描述语言WSDL可在整个因特网上发布Web服务:使用通用的因特网协议第1章:Web服务基础引言“软件即为服务”的理念Web服务的完整定义Web服务的特性服务接口和实现面向服务的体系结构Web服务的技术架构服务质量(QoS)Web服务的互操作性Web服务与组件的比较Web服务的优与劣小结Web服务的类型按照拓扑结构信息型仅支持简单的请求/响应操作

复合型在进入操作和离开操作之间进行了一定形式的协调简单服务或信息型服务信息型服务:比较简单,可对一些内容进行访问,最终用户通过请求/响应序列对这些内容进行交互编程式服务:Web服务暴露应用程序的业务功能给其他应用程序按照所解决的业务类型不同分类纯内容服务:访问天气预报信息简单的交易服务信息联合服务:增值信息Web服务标准支持:通信协议、服务描述、服务发布和发现标准支持:通信协议、服务描述、服务发布和发现复合服务或业务流程当企业需要将几个服务组合在一起创建一个业务流程,诸如定制订单、客户支持、采购和物流支持等,企业则需要 使用复合的Web服务按照组成简单服务的方式分类构成编程式Web服务库存检查服务构成交互式Web服务复合服务的功能是粗粒度的,并且复合服务是有状态的功能属性和非功能属性功能性描述:详述了操作特性操作特性定义了服务的整个行为主要关于消息的语法规则、以及如何配置发送消息的网络协议非功能性描述主要关于服务质量属性服务计量和代价、性能度量主要关于服务请求者的运行环境状态属性Web服务既可以是无状态的、也可以是有状态的无状态:服务可以被重复调用,且无须维持上下文或状态信息型天气预报服务有状态:需要维持不同操作调用之间的状态无论这些操作调用是由Web服务的同一个客户端发出,还是由不同的客户端发出订单管理应用中松耦合耦合:系统之间彼此相互依赖的程度紧耦合松耦合交互模式同步异步消息类型RPC类型文档类型消息路径硬编码路由化底层平台同构异构绑定协议静态动态-延迟绑定目的复用灵活性、广泛的适用性RPC:进程过程调用服务粒度简单请求通常是细粒度的通常不可再分复合服务通常是粗粒度的意味着更大型、更丰富的数据结构使松耦合成为可能松耦合又使得异步通信成为可能同步同步或进程过程调用(RPC)方式同步的客户端将请求表示为带变量的方法调用,方法返回一个包含返回值的响应客户端发送请求消息,首先等待响应消息,然后才会继续吐下运行整个调用丌是完全成功就是完全失败当应用程序具有下列特性时,通常将用到RPC类型的Web服务调用服务的客户端需要一个立即的响应客户端和服务以反复对话的方式迚行协作同步异步或消息(文档)方式是文档类型的服务或消息驱动类型的服务客户端调用消息类型的服务,通常发送整个文档,而非单独发送参数服务收到整个文档,处理它,然后返回(也可能不返回)一个消息结果客户端在继续运行应用程序的其他部分之前,并不需要等待响应当应用程序具有下列特性时,通常需要使用文档类型的Web服务客户端不需要(不期待)立即的响应服务是面向文档的良定义服务间的交互必须是良定义的应用程序使用WSDL,吐其他的应用程序描述连接和交互的规则对于抽象服务接口及支持服务的具体的协议绑定,WSDL提供描述的统一机制服务请求者绑定到服务提供者需要描述一些细节,基于WSDL服务描述主要是关于操作如何不服务进行交互、消息如何调用操作、构建这些消息的详细信息、以及在哪里发送消息等WSDL并不包括Web服务实现的任何技术细节服务的使用环境从Web服务请求者的角度可替代的服务多个提供者都可提供的服务租车服务关键任务服务很可能只被一个特定的服务者提供的服务第1章:Web服务基础引言“软件即为服务”的理念Web服务的完整定义Web服务的特性服务接口和实现面向服务的体系结构Web服务的技术架构服务质量(QoS)Web服务的互操作性Web服务与组件的比较Web服务的优与劣小结服务:对接口和实现具有明显的区分服务接口外部世界可以看到的服务功能,提供访问这些功能的方式服务描述了它自身的接口特性,操作的可用性、参数、数据类型及访问协议服务客户端使用服务接口描述绑定到服务提供者,并调用服务所提供的功能服务实现实现了具体的服务接口对于服务用户,服务的实现细节是隐藏的不同的服务提供者可以选择任何编程语言来实现同一个接口服务的实现既可以直接提供服务功能,也可以通过组合其他服务来提供相同的功能组件组件是系统中的一个独立封装的模块,具有明确定义的功能和作用范围服务实现可包含服务接口规范以及具体组件(业务对象)的实现服务接口和相应的实现组件具有很大的互补性服务之间进行交互的唯一方式是通过它们的接口服务编配接口服务编配接口必须明确地描述组合服务客户端所期望的全部接口、以及那些组合到服务中的由环境所提供的接口

Web服务接口编配接口使用接口Web服务客户端服务部署

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------服务实现

构建/购买/复用Web服务实现(内部/外包)导入的web服务web服务服务的部署和服务的实现服务的实现涉及服务的许许多多不同选择服务可能有不同的组合方式由企业内部设计和实现服务购买/租凭/支付服务外包服务的设计不实现使用包装器和/或适配器对遗留系统的功能进行转换,封装遗留系统的内部组件,并将其不最新的应用进行融合第1章:Web服务基础引言“软件即为服务”的理念Web服务的完整定义Web服务的特性服务接口和实现面向服务的体系结构Web服务的技术架构服务质量(QoS)Web服务的互操作性Web服务与组件的比较Web服务的优与劣小结面向服务的体系结构(SOA)SOA是一种设计软件的逻辑方法,可通过发布或发现的接口向终端用户应用或网络上的其他服务提供服务将企业中先前相互独立的软件应用和支撑基础架构进行重新组织,变为互联的服务集合通过接口和消息协议,可发现和访问服务集合中的每个服务一旦SOA的所有要素都准备就绪后,已有的或将要开发的应用程序就可根据需要,访问基于SOA的服务当一些应用程序使用不同的技术且在不同的平台上运行时,若它们之间需要相互通信,则采用SOA方式尤其合适SOA的目的使得已有的技术间具有通用的互操作性,幵使得未来的应用和体系结构具有可扩展性孤立的静态系统模块化的、灵活的组件SOA能够利用基于一些标准的功能性服务SOA是一种体系结构类型,使用面向服务的方式进行计算,从而增强了互操作性SOA是一种设计理念,独立于任何具体的技术并不一定要使用Web服务才能实现SOASOA中进行交互的角色SOA中的三个主要角色服务提供者提供服务的软件代理负责发布服务的描述,将服务描述提供给服务注册机构服务注册(或称服务注册中心、服务注册机构等)服务请求者(或称客户端)请求执行服务的软件代理Web服务提供者从业务角度看,Web服务提供者是拥有Web服务的组织,并实现了通过服务体现出来的业务逻辑从体系结构角度看,Web服务提供者是一个平台,驻留和控制对服务的访问Web服务提供者负责发布Web服务服务注册机构驻留于服务发现机构,可提供Web服务的发布信息Web服务请求者从业务角度看,Web服务请求者是需要满足一定功能的企业从体系结构角度看,是搜索并调用服务的应用为了找到所需的Web服务,Web服务请求者将搜索服务注册机构Web服务请求者可分两类最终用户驱动的浏觅器另一个Web服务Web服务注册机构Web服务注册机构是一个可供搜索的目录,可在该目录中发布和搜索服务描述服务请求者可在注册机构中发布发现服务描述,并能获取服务的绑定信息服务请求者使用这些绑定信息即可联系服务提供者或绑定到服务提供者,从而利用所提供的服务SOA中的操作当应用程序利用Web服务在三个角色之间进行交互时,必然涉及三个主要操作发布服务描述发现服务描述基于服务描述绑定或调用服务发布操作Web服务只有在发布之后,其他用户或应用才能发现这个Web服务一个操作是对Web服务本身的描述业务信息:有关Web服务提供者或服务实现的信息服务信息:Web服务的特征信息技术信息:有关Web服务的实现细节及调用方法的信息另一个操作是对Web服务的注册需要将Web服务描述信息至少发布到一个发现机构中查找操作在发现机构的注册中心中搜索服务查询包含一些搜索条件,诸如服务类型、首选价格等根据请求者的不同,发现操作有两类静态指定动态指定从搜索结果中选择所需的Web服务手工选择自动选择绑定操作服务请求者使用绑定信息定位并联系服务,从而调用或者初始化一个运行时交互一类是Web服务请求者使用服务描述中的技术信息直接调用Web服务另一类是在调用Web服务时,有发现机构中转Web服务请求者和Web服务提供者之间,将通过发现机构中的Web服务注册机构进行所有的通信SOA:一个涉及综合服务的样例一个制造企业提交的订购单处理的业务流程为例库存服务和送货服务

|库存(提供者A)订购单流程提供者|请求者|

|送货(提供者B)

聚合器SOA中的层次SOA是一个灵活的体系结构,提供了一个集成框架可以使用可复用的功能单元(服务)集和良定义的接口融合成一个逻辑流,构建整个应用SOA可以进行多对多的集成根据使用SOA的企业需求和业务重点的不同实现企业服务编配提供给整个企业的服务实现端到端协作型业务流程实现企业服务编配基本的SOA入口点,是在部门内部或者在少量的部门和企业资产之间的一种典型的实现方式将企业资产和应用程序转换为SOA实现使用Web服务技术创建服务来使用已有的一些单个应用,或者使用Web服务技术直接创建应用将已经服务化的应用以及新创建的服务应用进行服务编配将多个服务集成到一个完成特定业务任务的流程中提供给整个企业的服务在SOA入口点层次,下一阶段将是企业寻找一些基于SOA组件的通用服务实现企业级集成,通常需要基于一些公告的标准,从而服务在跨部门时依然具有一致性配置的一致性,提供了企业和它的客户的一个统一视图,也确保了遵循规则及业务策略的需求实现端到端协作型业务流程成功地集成了不同企业的自动化业务流程和信息系统在这个阶段,组织将进入SOA实现的最高战略层次,服务的部署将无处不在,联合服务跨企业进行协作,从而创建更复杂的产品和服务SOA分层域-销售业务流程-采购、订单管理、库存业务服务-创建、修改、挂起、订单……基础架构服务基于组件的服务实现运营系统-CRM、ERP、数据库……

*每一个层次都使用它的下一层的功能,再加上一些新的功能第1章:Web服务基础引言“软件即为服务”的理念Web服务的完整定义Web服务的特性服务接口和实现面向服务的体系结构Web服务的技术架构服务质量(QoS)Web服务的互操作性Web服务与组件的比较Web服务的优与劣小结Web服务的技术架构Web服务范式对基础架构的要求并不高,其目的就是确保在任何技术和编程语言都可以实现和访问Web服务Web服务的实现方式并不是唯一的,而是代表了几类相关的技术使用标准技术传输层:HTTP;其他任何层:XML核心服务标准信息交换:SOAP;服务描述:WSDL;服务发布:UDDI服务的组合不协作标准IBM:WebSphere、微软:.NET框架、BEA:WebLogic服务的组合与协作标准服务组合业务流程执行语言:BPEL服务协作Web服务编排描述语言:WS-CDL协调/事务标准协调/事务标准Web服务协调:WS-Coordination;Web服务事务:WS-Transaction增值标准WS-Security、WS-Policy、WS-Management第1章:Web服务基础引言“软件即为服务”的理念Web服务的完整定义Web服务的特性服务接口和实现面向服务的体系结构Web服务的技术架构服务质量(QoS)Web服务的互操作性Web服务与组件的比较Web服务的优与劣小结服务质量(QoS)基于SOA的应用程序必须可靠地运行,并需要能够提供多种级别的一致服务不仅重视服务的功能属性,而且致力于描述驻留Web服务的环境QoS指的是Web服务的一种能力,它能响应预期的请求,并能以一定的服务质量完成相关的任务,并且所提供的服务质量符合服务提供者不客户的预期如何在因特网上保证QoS是一个非常大的挑战!流量模式的变化、关键业务的安全传输、基础设施失效的影响QoS的度量根据重要的功能性和非功能性的服务质量属性、以及其他重要的服务特性可用性:服务正常运转的概率、修复时间(TTR)可访问性:请求能够被服务的程度、在一个时间点上服务能够成功地实例化的比率符合标准:Web服务遵循标准的情况完整性:Web服务按照它的WSDL描述及服务等级协议(SLA)完成任务的情情况性能:吞吐量和等待时间可靠性:每月或每年的事务故障数可伸缩性:伴随服务请求的需求量发生变化,服务能力也能进行相应的变化安全性:认证、授权、消息完整性、机密性等事务性:Web服务所需的事务行为和上下文传播有几类不同的情况服务等级协议(SLA)SLA基本上是一个服务质量保证,通常通过逆向计费或其他的一些机制来支持服务质量保证。SLA是维护服务提供的一种重要的、广泛使用的手段目的:创建这个SLA的原因;各方:SLA中涉及的各方以及他们各自的角色有效期:SLA的起始点时间、结束时间;范围:协议所涉及的服务限制:一些必须的步骤,用于得到所请求的服务等级服务等级目标:服务请求者和服务的用户之间相关协定的服务等级惩罚:一些制裁措施可选服务:在一些例外情况下可能请求的服务豁免条框:一些在SLA中没有涉及的内容管理:描述了流程及SLA中的可度量的目标,并定义了管理服务的企业权责Web服务的QoS要素分类性能和能力事务量、吞吐率、系统规模、利用水平、底层系统是否设计为可满足最大负荷测试,以及请求/响应时间的重要性可用性整个系统或其中的部件能够正常运行的平均时间、灾难恢复机制、恢复的平均耗时、能否容忍故障以及最大可容忍的故障时间、是否具有冗余安全性/隐私对系统入侵的应对、隐私顾虑、所提供的认证/授权机制第1章:Web服务基础引言“软件即为服务”的理念Web服务的完整定义Web服务的特性服务接口和实现面向服务的体系结构Web服务的技术架构服务质量(QoS)Web服务的互操作性Web服务与组件的比较Web服务的优与劣小结Web服务的互操作性问题许多相关的规范都有不同的版本产品支持何种Web服务规范变成一个非常困难的问题产品实现规范的版本不一,阻碍了产品间的完全的互操作性每个企业对于规范的使用都要提供各自的说明,导致Web服务应用间的相互隔离,使得这些Web服务应用仅能在一个局限的范围内使用,从而严重阻碍了Web服务的互操作性对于标准的解释的歧义问题,对不同规范间交互的理解不够Web服务互操作组织Web服务互操作组织(WS-I)是一个开放的产业联盟,工作横跨产业界和标准组织宗旨是促进跨平台、操作系统和编程语言的Web服务的可操作性向开发者提供开发指南、最佳实践及一些资源,用于Web服务互操作解决方案的开发最主要的工作成就是测试工具WS-I互操作性概要(profile)标识目标Web服务技术,并澄清Web服务单独使用或联合使用的使用方法 BasicProfile1.0:为Web服务统一标准打下了坚实的技术基础第1章:Web服务基础引言“软件即为服务”的理念Web服务的完整定义Web服务的特性服务接口和实现面向服务的体系结构Web服务的技术架构服务质量(QoS)Web服务的互操作性Web服务与组件的比较Web服务的优与劣小结Web服务与组件的比较Web服务和组件所支持的集成方案的主要需求是实现多层

温馨提示

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

评论

0/150

提交评论