复旦大学高级web技术课件2web服务与云计算

上传人:东*** 文档编号:270893627 上传时间:2022-03-27 格式:PDF 页数:56 大小:2.91MB
返回 下载 相关 举报
复旦大学高级web技术课件2web服务与云计算_第1页
第1页 / 共56页
复旦大学高级web技术课件2web服务与云计算_第2页
第2页 / 共56页
复旦大学高级web技术课件2web服务与云计算_第3页
第3页 / 共56页
复旦大学高级web技术课件2web服务与云计算_第4页
第4页 / 共56页
复旦大学高级web技术课件2web服务与云计算_第5页
第5页 / 共56页
点击查看更多>>
资源描述

《复旦大学高级web技术课件2web服务与云计算》由会员分享,可在线阅读,更多相关《复旦大学高级web技术课件2web服务与云计算(56页珍藏版)》请在金锄头文库上搜索。

1、deeper Advanced web technology Web高级开发与应用技术高级开发与应用技术 服务web与云计算概述 Web Technology Fudan course, by Dai kaiyu 服务概念的提出服务概念的提出 SaaS Web Technology Fudan course, by Dai kaiyu 将软件与服务分离将软件与服务分离 Web Technology Fudan course, by Dai kaiyu SOA是什么是什么? W3C : A set of components which can be invoked, and whose int

2、erface descriptions can be published and discovered. Web Technology Fudan course, by Dai kaiyu 5 一个组件模型一个组件模型 将应用程序的不同功能单元(将应用程序的不同功能单元(服务服务)通过)通过这些服务之间定义良好的接口和契约联系这些服务之间定义良好的接口和契约联系起来。起来。 接口是采用中立的方式进行定义的,它应接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统该独立于实现服务的硬件平台、操作系统和编程语言。和编程语言。 构建在各种这样的系统中的服务可以以一构建在各种这样的

3、系统中的服务可以以一种统一和通用的方式进行交互。种统一和通用的方式进行交互。 什么是什么是面向服务的体系架构? ? Web Technology Fudan course, by Dai kaiyu 面向服务的集成示例面向服务的集成示例 传统传统3层层架构架构 Web Technology Fudan course, by Dai kaiyu Web Services的产生的产生 1999年,年,HP(惠普)公司成(惠普)公司成为为了第一个引入了第一个引入Web服服务务概念的概念的软软件供件供应应商。商。 2000年年6月月Microsoft提出了提出了“ “Web服服务务” ”这这个个术语术

4、语,并把,并把Web服服务务作作为为了它的了它的.NET计计划划的一个重要的一个重要组组件件 Web Technology Fudan course, by Dai kaiyu Web Services Web Services的发展原动力的发展原动力 -电子商务和企业应用集成的发展,日趋基于电子商务和企业应用集成的发展,日趋基于Web应用:应用: 从局部化发展到全球化从局部化发展到全球化 从从B2C(Bussiness-to-Costumer)发展到)发展到B2B(Bussiness-to-Bussiness) 从集中式发展到分布式从集中式发展到分布式 -需要解决需要解决语言差异、平台差异、

5、协议差异、数据差异语言差异、平台差异、协议差异、数据差异所带来的高代价的所带来的高代价的系统集成系统集成 Web Technology Fudan course, by Dai kaiyu Web Services Web Service概述概述 -Web Services是一个崭新的分布式计算模型是一个崭新的分布式计算模型 -Web Services是一系列标准的集合是一系列标准的集合 SOAP WSDL UDDI WSFL -Web Services架构提供一个松散耦合的分布式计算环境架构提供一个松散耦合的分布式计算环境 Web Technology Fudan course, by Da

6、i kaiyu web services Web Services Definition by W3C A Web service is a software application identified by a URI, whose interfaces and binding are capable of being defined, described and discovered by XML artifacts and supports direct interactions with other software applications using XML based mess

7、ages via internet-based protocols Web Technology Fudan course, by Dai kaiyu web services W3C2004 年2 月发布的面向服务架构规范中定义 单个的单个的Web 服务,就是一个支持机器之间通过网络进行服务,就是一个支持机器之间通过网络进行交互的软件系统。交互的软件系统。Web 服务使用机器可以处理的格式服务使用机器可以处理的格式(特别是(特别是WSDL)来描述自己的接口。其他系统则依据)来描述自己的接口。其他系统则依据该接口描述,使用该接口描述,使用SOAP 报文格式与报文格式与Web 服务通信。典服务通

8、信。典型的型的SOAP 报文是一个利用报文是一个利用HTTP 传输的传输的XML 序列,在序列,在传输中通常与其他传输中通常与其他Web 相关的标准结合相关的标准结合 Web Technology Fudan course, by Dai kaiyu Service Web Web services架构架构 Web Technology Fudan course, by Dai kaiyu Web Service架构架构 Web Technology Fudan course, by Dai kaiyu Web Service架构架构 Web 服务协议栈服务协议栈 now BEPL Web T

9、echnology Fudan course, by Dai kaiyu Web Service架构架构 可互操作的基础协议栈可互操作的基础协议栈 -简单的协议栈将包括网络层的简单的协议栈将包括网络层的 HTTP、XML 消息传递层的消息传递层的 SOAP 协协议以及服务描述层的议以及服务描述层的 WSDL。 -所有企业间或公用所有企业间或公用 Web 服务都应该支持这种可互操作的基础协议栈服务都应该支持这种可互操作的基础协议栈 Web Technology Fudan course, by Dai kaiyu REST化的化的Web REST是什么是什么 -Representational

10、State Transfer (“表述性状态转移”)(“表述性状态转移”) - Roy Fielding博士论文博士论文Architectural Styles and the Design of Network-based Software Architectures提出的一种提出的一种web架构架构 Web Technology Fudan course, by Dai kaiyu REST化的化的Web 早期的早期的Web架构,是通过客户架构,是通过客户-缓存缓存-无状态无状态-服务器的约束集合来定义的。服务器的约束集合来定义的。 Web Technology Fudan course,

11、 by Dai kaiyu REST化的化的Web 表述性状态转移(表述性状态转移(REST)风格是对分布式超媒体系统中的架构)风格是对分布式超媒体系统中的架构元素的一种抽象。元素的一种抽象。 这个名称“表述性状态转移”是有意唤起人们对于一个良好设计的Web应用如何运转的印象:一个由网页组成的网络(一个虚拟状态机),用户通过选择链接(状态转移)在应用中前进,导致下一个页面(代表应用的下一个状态)被转移给用户,并且呈现给他们,以便他们来使用。 human web和programmable web(基于Http和XML)没有本质区别 万维网是一个简单而灵活的分布式编程环境 Web Technolo

12、gy Fudan course, by Dai kaiyu REST化的化的Web REST是什么是什么 -分布式超媒体系统设计的一种架构风格分布式超媒体系统设计的一种架构风格 网络上的所有事物都被抽象为资源(网络上的所有事物都被抽象为资源(resource);); 每个资源对应一个唯一的资源标识符(每个资源对应一个唯一的资源标识符(resource identifier);); 通过通用的连接器接口(通过通用的连接器接口(generic connector interface)对资)对资源进行操作;源进行操作; 对资源的各种操作不会改变资源标识符;对资源的各种操作不会改变资源标识符; 所有的

13、操作都是无状态的(所有的操作都是无状态的(stateless)。)。 基于基于Http协议的,任何对资源的操作行为都是通过协议的,任何对资源的操作行为都是通过Http协议来协议来实现实现 Web Technology Fudan course, by Dai kaiyu REST化的化的Web 数据对象操作 HTTP方法 对应关系说明 CREATE POST 资源的创建 RETRIEVE(SELECT) HEAD、GET 资源的查询、读取 UPDATE PUT 资源的更新 DELETE DELETE 资源的删除 数据对象和数据对象和HTTP方法的对应关系方法的对应关系 Web Technolo

14、gy Fudan course, by Dai kaiyu RESTful Web Services REST关键原则关键原则 -为所有“事物”定义为所有“事物”定义ID 使用URI (依靠某个已被定义,在全球范围中几乎完美运行,并且能被绝大多数人所理解的规则)标识所有值得标识的事物,特别是应用中提供的所有“高级”资源,无论这些资源代表单一数据项、数据项集合、虚拟亦或实际的对象还是计算结果等。 使用唯一、全局统一的命名规则的好处,既适用于浏览器中的Web应用,也适用于机对机(machine-to-machine,m2m)通信。 REST定义了应该如何正确地使用(这和大多数人的实际使用方式有很大

15、不同)Web标准,例如HTTP和URI。如果你在设计应用程序时能坚持REST原则,那就预示着你将会得到一个使用了优质Web架构(这将让你受益)的系统。 深入浅出深入浅出REST by Stefan Tilkov Web Technology Fudan course, by Dai kaiyu RESTful Web Services REST关键原则关键原则 -将所有事物链接在一起将所有事物链接在一起 超媒体被当作应用状态引擎超媒体被当作应用状态引擎 实际上服务器端为客户端(服务消费者)提供一组链接,使客户端能通过实际上服务器端为客户端(服务消费者)提供一组链接,使客户端能通过链接将应用从一

16、个状态改变为另一个状态。链接将应用从一个状态改变为另一个状态。 -使用标准方法使用标准方法 使用使用Http操作操作 GET方法具有幂等性方法具有幂等性指多个相同请求返回相同的结果指多个相同请求返回相同的结果 所有理解所有理解HTTP应用协议的组件能与你的应用交互应用协议的组件能与你的应用交互 深入浅出深入浅出REST by Stefan Tilkov Web Technology Fudan course, by Dai kaiyu RESTful Web Services REST关键原则关键原则 -资源多重表述资源多重表述 如果客户程序知道如何处理一种特定的数据格式,那就可以与所有提如果客户程序知道如何处理一种特定的数据格式,那就可以与所有提供这种表述格式的资源交互供这种表述格式的资源交互 同一个资源的不同表述,可以有利于不同的客户端。同一个资源的不同表述,可以有利于不同的客户端。 资源不仅可以被你的应用所用,还可以被任意标准资源不仅可以被你的应用所用,还可以被任意标准Web浏览器所用浏览器所用 GET /customers/1234 HTTP/1.1 Host: Accept

展开阅读全文
相关资源
相关搜索

当前位置:首页 > IT计算机/网络 > 网络与通信

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号