Web服务原理和技术-ch-webservice基础

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• Web服务的特性
• Web服务的互操作性
• Web服务与组件的比较
• 服务接口和实现
• 面向服务的体系结构
• Web服务的优与劣
• 小结
Web服务的完整定义
• Web服务是一个平台独立的、松耦合的、自包含的、基于可编程的Web的应 用程序,可使用开放的XML标准描述、发布、发现、协调和配置这些应用程 序,用于开发分布式的互操作的应用程序。
Web服务的典型场景
• 顾客 订购单管理 □订购单管理 信用服务 □订购单管理 库存服务 □订购单管理 账单服务 □订购单管理 运送服务 □更复杂的任务
• 案例研究:订单管理流程
第1章:Web服务基础
• 引言
• “软件即为服务”的理念
• Web服务的技术架构
• 服务质量(QoS)
• 服务接口和相应的实现组件具有很大的互补性 • 服务之间进行交互的唯一方式是通过它们的接口
服务编配接口
• 服务编配接口必须明确地描述组合服务客户端所期望的全 部接口、以及那些组合到服务中的由环境所提供的接口
web服务 Web服务接口 编配接口 导入的 web服务 使用接口
Web服务客户端 服务部署
• Web服务的完整定义
• Web服务的特性
• Web服务的互操作性
• Web服务与组件的比较
• 服务接口和实现
• 面向服务的体系结构
• Web服务的优与劣
• 小结
Web服务于Web网页
• Web网页:提供跨因特网和组织界限访问应用的方式
– 直接面对的是人
• Web服务
– 访问者既可以是人,也可以是自动化的应用程序
Web服务:原理和技术
课程用书
• Web服务:原理和技术
• (荷)Michael P. Papazoglou 著 • 龚玲 张云涛 译 • 机械工业出版社

荷兰提耳堡大学计算机科学系系主任 及INFOLAB/CRISM实验室的主任
课程内容
《Web服务:原理和技术》是有关Web服务认论最详 尽的书籍之一。全书涵盖了构建面向服务的体系结构 所涉及的方方面面,包括一整套概念体系、原理、支 撑技术、必须的基础架构以及相关的标准等。
• Web服务是一个可通过网络使用的自描述、自包含软件模 块,这些软件模块可完成任务、解决问题或代表用户、应 用程序处理事务。 • Web服务建立了一个分布式计算的基础架构。这个基础架 构由许多不同的、相互之间进行交互的应用模块组成。这 些应用模块通过与用网络或公共网络迚行通信,形成一个 虚拟的逻辑系统。
使用复合的Web服务
– 按照组成简单服务的方式分类
• 构成编程式Web服务
– 库存检查服务
• 构成交互式Web服务 • 复合服务的功能是粗粒度的,并且复合服务是有状态的
功能属性和非功能属性
• 功能性描述:详述了操作特性
– 操作特性定义了服务的整个行为 – 主要关于消息的语法规则、以及如何配置发送消息的网络协议
• 对业界的影响范围至少不逊于面向对象的编程?
面向服务的模型
• 服务提供者
• 提供服务的实现、描述以及相关的技术与业务支持
• 服务客户端
• 具体使用服务的终端组织
• 服务聚合者
• 将服务整合成一个新的服务 • 通常称为业务流程
服务
• 技术中立——广泛地遵循一些公认标准
• 必须使用要求最低的标准化技术调用服务 • 所采用的调用技术需要得到绝大多数信息技术环境的支持
– 可在整个因特网上发布Web服务:使用通用的因特网协议
第1章:Web服务基础
• 引言
• “软件即为服务”的理念
• Web服务的技术架构
• 服务质量(QoS)
• Web服务的完整定义
• Web服务的特性
• Web服务的互操作性
• Web服务与组件的比较
• 服务接口和实现
• 面向服务的体系结构
• Web服务的优与劣
• 松耦合
• 无须了解客户端和服务端的信息 • 无须了解客户端和服务端的内部结构或内部协议(背景)
• 支持位置透明性
• 无须考虑服务的具体位置,即可定位以及调用这些服务
Web服务
• 当服务使用因特网(Internet)作为通信手段以及使用基于 因特网的标准时,即为Web服务。
• 交互使用了公开的、不安全的、低保真度的机制
Web服务
• Web服务可以是:
• • • • 自包含的业务任务,如提款或取款服务 成熟的业务流程,如办公用品的自动采购 应用程序,如人保险应用程序、需求预测不库存补给应用程序 已启用服务的资源,如访问特定的保存病人病历的后台数据库
• 远期目标
• 实现分布式应用 • 按照不断变化的业务需求动态组配应用程序 • 根据设备、网络和用户访问的情况定制具体的分布式应用
– 意味着更大型、更丰富的数据结构 – 使松耦合成为可能
• 松耦合又使得异步通信成为可能
同步
• 同步或进程过程调用(RPC)方式
– 同步的客户端将请求表示为带变量的方法调用,方法返回一个包 含返回值的响应
• 客户端发送请求消息,首先等待响应消息,然后才会继续吐下运行
– 整个调用丌是完全成功就是完全失败
《Web服务:原理和技术》既适用于计算机科学与业 的,同时适合其他相关专业。
章节安排
• 第一部分:基本原理 • 第二部分:核心基础架构 • 第三部分:核心功能与标准 • 第四部分:事件通知与面向服务的体系结构
• 第五部分:服务组合与服务事务
• 第六部分:服务安全性与策略
学习目标
• Web服务的性质,主要特征和类别
– 对于服务用户,服务的实现 细节是隐藏的
– 不同的服务提供者可以选择 任何编程语言来实现同一个 接口 – 服务的实现既可以直接提供 服务功能,也可以通过组合 其他服务来提供相同的功能
组件
• 组件是系统中的一个独立封装的模块,具有明确定义的功 能和作用范围 • 服务实现可包含服务接口规范以及具体组件(业务对象) 的实现
– 当应用程序具有下列特性时,通常将用到RPC类型的Web服务
• 调用服务的客户端需要一个立即的响应 • 客户端和服务以反复对话的方式迚行协作
同步
• 异步或消息(文档)方式
– 是文档类型的服务或消息驱动类型的服务
• 客户端调用消息类型的服务,通常发送整个文档,而非单独发送参数 • 服务收到整个文档,处理它,然后返回(也可能不返回)一个消息结 果 • 客户端在继续运行应用程序的其他部分之前,并不需要等待响应
• 与应用服务提供者模型以及基于Web的应用的区别
• 紧耦合 vs. 松耦合 • 有状态服务 vs. 无状态服务 • 面向服务的体系结构(SOA)的基本概念以及主要构件 • 功能性服务与非功能性服务的特征以及服务质量
第一部分:基本原理
第1章:Web服务基础
• 引言 • Web服务的技术架构
• “软件即为服务”的理念
• 小结
服务:对接口和实现具有明显的区分
• 服务接口
– 外部世界可以看到的服务功 能,提供访问这些功能的方 式 – 服务描述了它自身的接口特 性,操作的可用性、参数、 数据类型及访问协议 – 服务客户端使用服务接口描 述绑定到服务提供者,并调 用服务所提供的功能
• 服务实现
– 实现了具体的服务接口
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
– 无法开发高度交互的应用,无法提供完全定制的应用,无法整合各种应 用
软件即为服务
• 松耦合
– 异步交互 • 基于XML标准,更容易访问因特网上的应用程序,更容易通 信
• Web服务
– 将复杂的业务流程和事务也规为服务 – ASP变得更类似于Web服务提供者
Web服务和基于Web的应用程序
• Web服务可以调用其他的Web服务
• 非功能性描述
– 主要关于服务质量属性
• 服务计量和代价、性能度量
– 主要关于服务请求者的运行环境
状态属性
• Web服务既可以是无状态的、也可以是有状态的
– 无状态:服务可以被重复调用,且无须维持上下文或状态
• 信息型天气预报服务
– 有状态:需要维持不同操作调用之间的状态
• 无论这些操作调用是由Web服务的同一个客户端发出,还是由不同 的客户端发出 • 订单管理应用中
• 小结
Web服务的类型
• 按照拓扑结构
– 信息型 • 仅支持简单的请求/响应操作 – 复合型 • 在进入操作和离开操作之间进行了一定形式的协调
简单服务或信息型服务
• 信息型服务:比较简单,可对一些内容进行访问,最终用 户通过请求/响应序列对这些内容进行交互
– 编程式服务:Web服务暴露应用程序的业务功能给其他应用程序
软件即为服务
• 这一概念首先产生于应用服务提供商软件模型中
– 应用服务提供商(ASP):将软件、基础设施要素、业务以及与 业的服务迚行打包的公司,创建完整的解决方案,幵将其作为订 阅的服务给用户推荐
• ASP的基本出发点:向用户出租应用程序 • 另一种方式:提供软件模块,用户根据自身的需要将软件模块下载 • 缺点:紧耦合(体系结构单一、脆弱、不可复用)
松耦合
• 耦合:系统之间彼此相互依赖的程度
紧耦合 交互模式 消息类型 消息路径 底层平台 绑定协议 目的 同步
RPC类型
松耦合 异步 文档类型 路由化 异构 动态-延迟绑定 灵活性、广泛的适用性
硬编码 同构 静态 复用
RPC:进程过程调用
服务粒度
• 简单请求通常是细粒度的
– 通常不可再分
• 复合服务通常是粗粒度的
– 按照所解决的业务类型不同分类
• • • • 纯内容服务:访问天气预报信息 简单的交易服务 信息联合服务:增值信息Web服务 标准支持:通信协议、服务描述、服务发布和发现
– 标准支持:通信协议、服务描述、服务发布和发现
复合服务或业务流程
• 当企业需要将几个服务组合在一起创建一个业务流程,诸 如定制订单、客户支持、采购和物流支持等,企业则需要
– 当应用程序具有下列特性时,通常需要使用文档类型的Web服务 • 客户端不需要(不期待)立即的响应 • 服务是面向文档的
良定义
• 服务间的交互必须是良定义的
– 应用程序使用WSDL,吐其他的应用程序描述连接和交互的规则 – 对于抽象服务接口及支持服务的具体的协议绑定,WSDL提供描 述的统一机制
• 服务是自包含的模块
• 能够在网络上使用基于XML的技术进行描述、定位、编配和编程 • “面向服务”的编程方式 • 服务的构建方式通常独立于它们的使用方式 • 服务提供者和服务用户之间是松耦合关系
面向服务的计算
• 面向服务的计算不是一个新的技术
• • • • • • 分布式系统 软件工程 信息系统 计算机语言 基于Web的计算和XML技术的融合 XML
• Web服务的完整定义 • Web服务的特性 • 服务接口和实现 • 面向服务的体系结构
• 服务质量(QoS)
• Web服务的互操作性 • Web服务与组件的比较 • Web服务的优与劣 • 小结
面向服务的计算
• 面向服务的计算是一个新的范式
• 服务作为构件 复合应用 • 支持分布式应用的低成本快速开发
– 租车服务
– 关键任务服务
• 很可能只被一个特定的服务者提供的服务
第1章:Web服务基础
•引言
•“软件即为服务”的理念
• Web服务的技术架构
• 服务质量(QoS)
•Web服务的完整定义
•Web服务的特性
• Web服务的互操作性
• Web服务与组件的比较
•服务接口和实现
•面向服务的体系结构
• Web服务的优与劣
– 松耦合:Web服务协议、接口和注册服务可以使用松耦合的方式协同工作 – Web服务语义封装各个独立的功能:是一个完成单个任务的自包含的软件模块 – 编程式访问Web服务:可将Web服务嵌入到进程的应用中 – 可动态发现Web服务并将其添加到应用中 – 可使用标准的描述语言来描述Web服务:Web服务描述语言WSDL
• 服务请求者绑定到服务提供者需要描述一些细节,基于 WSDL
– 服务描述主要是关于操作如何不服务进行交互、消息如何调用操 作、构建这些消息的详细信息、以及在哪里发送消息等 – WSDL并不包括Web服务实现的任何技术细节
服务的使用环境
• 从Web服务请求者的角度
– 可替代的服务
• 多个提供者都可提供的服务
– 高度的灵活性和适应性
• Web服务时模块化的、自感知和自描述的应用程序
– 功能性和非功能性属性
• Web服务比基于Web的应用程序更容易被监控和管理 • 可以对Web服务进行评估和拍卖
第1章:Web服务基础
• 引言
• “软件即为服务”的理念
Leabharlann Baidu
• Web服务的技术架构
• 服务质量(QoS)
• Web服务的完整定义
相关文档
最新文档