第二十二章Web服务讲解材料

上传人:yuzo****123 文档编号:137411080 上传时间:2020-07-08 格式:PPT 页数:154 大小:1.75MB
返回 下载 相关 举报
第二十二章Web服务讲解材料_第1页
第1页 / 共154页
第二十二章Web服务讲解材料_第2页
第2页 / 共154页
第二十二章Web服务讲解材料_第3页
第3页 / 共154页
第二十二章Web服务讲解材料_第4页
第4页 / 共154页
第二十二章Web服务讲解材料_第5页
第5页 / 共154页
点击查看更多>>
资源描述

《第二十二章Web服务讲解材料》由会员分享,可在线阅读,更多相关《第二十二章Web服务讲解材料(154页珍藏版)》请在金锄头文库上搜索。

1、第二十二章 Web 服务,本章的学习内容包括六个方面: 1理解什么是 Web 服务 2理解 Web 服务的构成元素,例如 “服务说明” 和 “发现文件” 3学会创建 Web 服务 4学会创建使用 Web 服务的客户端 5理解 Web 服务中的会话跟踪 6学会在 Web 服务和 Web 客户端之间传递用户自定义数据类型,22.1概述 通过创建 “动态链接库”(DLL)来改善软件重用及模块化能 力,是良好的面向对象编程的根基之一。但若没有远程访问技 术提供辅助,例如 “分布式组件对象模型”(Distributed Component Object Model, DCOM)、“远程过程调用”(Rem

2、ote Procedure Call, RPC)以及 .NET Remoting 等等,则 DLL 的用途就非常有限的, 因为 DLL 和使用它的程序必须在同一台计算机上。 本章介绍如何使用 Web 服务(也称为 XML Web 服务)增强分 布式系统中的软件重用性。使分布式系统,应用程序可以在网 络上的多台机器中执行。,Web 服务是一种特殊应用程序,它允许一台机器利用通用的 数据格式和协议(比如使用 XML 描述的调用请求、数据)来调 用其他机器上的方法,从而实现分布式计算。 .NET 通过 “简单对象访问协议”( Simple Object Access Protocol, SOAP)来

3、实现这种这种方法调用。SOAP 是一种基于 XML 的协 议,它描述了怎样对方法的请求和响应进行标记,使其能通过 HTTP 等协议来传输。使用 SOAP,应用程序可采取一种标准格 式(即 XML 描述格式)来表示数据和转换数据。Web 服务的底 层实现与使用 Web 服务的客户端无关。,22.2HTTP 请求类型 HTTP 定义了几种请求类型(也称为 “请求方法”),它们指定 了一个客户端怎样从服务器请求信息。两种最常见的 HTTP 请求 类型是 get 和 post,它们获取客户表单数据,并将其发送给 Web 服务器。表单是一种 HTML 元素,其中可以包含文本域、单选 钮、复选框以及其他

4、GUI 组件。这些组件允许用户在一个网页 中输入信息。表单也可以包含隐藏的域,它们不作为 GUI 组件 在屏幕上显示。get 请求将表单数据作为 URL 的一部分发送(如 query = userquery)。在这个虚拟 的请求中,问号 ? 之后的信息(也就是 query = userquery)代表 用户的输入,例如,用户要搜索 “Massachusetts”,,URL 的最后一部分就应该是 query = Massachusetts。在 get 请求 中,查询字符串的长度是有限的,而且不同服务器具有不同的 限制。如果查询字符串的长度超出限制,就必须使用 post 请求。 post 请求中的

5、数据不是 URL 的一部分,用户看不见它们。如果 表单包含许多字段,通常要由 post 请求来提交。一些敏感的表 单字段,比如密码,也通常要用 post 请求来发送。) HTTP 请求通常要将数据发给一个服务器端,例如,用户在填 好一个网上调查表之后,表单中填写的数据要作为请求的一部 分发送给 Web 服务器,并由服务器上运行的一个表单处理程序 来处理。,浏览器通常会 “缓存” 服务器对 get 请求的响应网页(将网页 暂存到本地磁盘),以加快重载速度,减少浏览器的数据下载 量。例如,一个像课程提纲那样的静态网页就会被缓存起来, 以便满足用户的重复请求。 然而,浏览器通常不缓存服务器对 pos

6、t 请求的响应,因为后 续的 post 请求可能包含不同的信息。例如,参加网上调查的几 个用户可能请求相同的网页。每个用户的响应都可能改变总体 调查结果,从而改变 Web 服务器上的数据。所以每个请求所获 得的响应(调查结果)网页将显示不同的信息。,22.3多层体系结构 Web 服务器是 “多层应用程序” 的一部分。多层应用程序使用 独立的 “层”(也就是逻辑性的功能分组)来分解应用程序的总 体功能。不同的层可以在同一台计算机上,也可以在网络中的 多台计算机上。下图展示了一个 3 层应用程序的基本结构。,其中,“信息层”(也称为 “数据层” 或 “底层”)维护着应用程 序所需的数据。这个层通常

7、将数据存储到一个 “关系数据库管理 系统”(Relational Database Management System, RDBMS)中。 “中间层” 实现了业务逻辑(Business Logic)功能和表示逻辑 (Presentation Logic)功能,宗旨是控制客户层和数据的交互。 中间层相当于信息层上的数据与客户端之间的一个中间人。它 的控制逻辑处理来自客户层的请求,并从信息层的数据库中获 取数据。它的表示逻辑处理来自信息层的数据,并将内容呈现 给客户层。在基于 Web 的应用程序中,中间层的表示逻辑通常 以 HTML 文档的形式来呈现内容。,中间层上的业务逻辑用于强制 “业务规则”

8、,首先确保数据是 可靠的,然后才实际地更新数据库或者向用户呈现数据。业务 规则限制了客户端怎样访问应用程序数据,不能访问哪些数 据,以及应用程序怎样处理数据。 “客户层”(顶层)是应用程序的用户界面。使用者通过用户 界面直接与应用程序交互。客户层则与中间层交互,以便发出 请求,并从信息层检索数据。最后,客户层将从中间层获取的 数据呈现给用户。,22.4访问 Web 服务器 为了从 Web 服务器请求文档,用户必须知道文档的 URL。 URL 包含 Web 服务器所在的那台机器的名称(称为 “主机名”)。 用户既可以从 “本地 Web 服务器” 请求文档,也可以从 “远程 Web 服务器” 请求

9、文档,前者是在用户自己机器上运行的 Web 服务器,后者则是在网络中其他机器上运行的 Web 服务器。 访问本地 Web 服务器可通过两种方式:通过机器名,或者通 过 localhost(引用本地机器的一个主机名)。在 Windows XP 中,可右击 我的电脑,从弹出菜单中选择 属性,打开 系统 属性 对话框。在这个对话框单击 计算机名 选项卡后,在 “完 整的计算机名称:” 区域就显示了本地机器的计算机名。,域名代表 Internet 上的一组主机;它与主机名(比如 www 是 Web 服务器使用的一个常见的主机名)和顶级域名(Top-Level Domain, TLD)合并,构成一个 “

10、完全合格的主机名”。这样一 来,就可以采用一种对用户友好的方式来标识 Internet 上的站 点。在完全合格的主机名中,TLD 通常描述拥有域名的组织类 型。例如,com 通常代表商业组织,而 org 通常代表非赢利组织。 此外,每个国家都有自己的 TLD,比如 cn 代表中国,et 代表埃 塞俄比亚,om 代表阿曼,us 而代表美国。 每个完全合格的主机名都要和一个不重复的数值地址匹配, 这种地址称为 “ IP 地址”,计算机根据 IP 地址来定位 Internet 上 的其他计算机。,DNS(Domain Name System)服务器是维护着一个大型数据库 的计算机,数据库中存储着主机

11、名及其相应的 IP 地址。这个转 换称为 “ DNS 查找”。例如,为了访问 Deitel 网站,只需在 Web 浏览器中输入主机名()。随即,DNS 服务器会 将 转换成 Deitel 网站的 Web 服务器的 IP 地址 (63.110.43.82)。注意,本地机器名 localhost 对应的 IP 地址是 127.0.0.1。,22.5简单 HTTP 事务处理 探索基于 Web 的应用程序开发之前,有必要对网络技术以及 www 有一个基本理解。 本节将讨论超文本传输协议(HTTP)的内部工作原理,并讨 论当浏览器显示网页时,幕后发生的事情。HTTP 指定一系列 “方法”(Method)

12、和 “标头”(Header),它们允许客户端和服务 器采取统一的、可预测的方式进行交互及交换信息。 网页最简单的形式就是一个 HTML 文档。该文档是纯文本文 件,其中包含 “标记”,向 Web 浏览器描述如何显示和格式化文 档的信息。例如以下 HTML 标记: My Web Page ,向浏览器指出起始标记 和结束标记 之间的文本是 网页 “标题”。HTML 文档还可包含 “超链接”,它允许用户在不同 的网页之间的导航。用户激活一个链接之后(通常就是鼠标单 击它),被请求的网页(包括同一网页的不同部分)会在用户 的浏览器窗口中加载。 可通过 Web 来浏览的任何文档都有一个 “统一资源定位符

13、” (URL),它是指定了资源位置的一个地址。URL 包含的信息将 浏览器定向到用户希望访问的资源文档。运行 “ Web 服务器” 的 计算机负责提供这种资源。用 Visual Studio .NET 来开发 Web 服务 时,使用的 Web 服务器是 Microsoft Internet 信息服务(IIS)器。 下面来看看一个 URL 的组成部分:, 其中,http:/ 指出资源要通过 HTTP 获取。中间的 部分是服务器的完全合格主机名。主机名是资源所在的那台计 算机的名称。通常将这种计算机称为 “主机”,因为它容纳并维 护着资源。主机名 会转换成一个 IP 地址(63.110. 43.8

14、2),它采取与电话号码类似的方式来标记一个服务器。主 机名到 IP 地址的转换通常由 “域名服务器”(DNS)来执行。 DNS 维护着主机名及其对应 IP 地址的一个数据库。这种转换过 程通常称为 “DNS 解析”。 URL 的剩余部分指定要请求的资源(/books/downloads.htm), 这是一个 HTML 文档。,在 URL 的这部分中,包含目标资源的名称(downloads.htm)及 其在 Web 服务器上的路径或位置(/books)。路径可以是 Web 服务器的文件系统上的一个实际目录。但为了安全起见,该路 径通常是一个 “虚拟目录”。在这种系统中,服务器将虚拟目录 转换成服

15、务器(或者服务器的本地网络中的另一台计算机)上 的一个真实位置。这样便隐藏了资源的真实位置。 此外,有的资源是动态创建的,不存在于服务器计算机的任 何地方。在与这种资源对应的 URL 中,主机名指定了正确的服 务器;路径和资源信息则指出负责响应客户请求的哪个动态资 源的位置。,给出一个 URL 后,浏览器要执行简单事务处理来获取并显示 一个网页。下图展示了该事务处理过程,它由 Web 浏览器与 Web 服务器应用程序之间的交互构成。图中,Web 浏览器向服 务器发送了一个 HTTP 请求。例如,本例中给出的这种请求的最 简单形式一个实例: GET /books/downloads.htm HT

16、TP/1.1 其中,GET 是一个 “HTTP 方法”,指出客户端要从服务器请求一 个资源。在请求的剩余部分,指定了资源(一个 HTML 文档 downloads.htm)的路径名称(/books/)以及协议的名称和版本号 (HTTP/1.1)。,理解 HTTP/1.1 协议的服务器会翻译这个请求并进行响应。下 图展示了一次成功请求的结果: 服务器首先发出指定 HTTP 版本的文本,后跟一个数值代码 和短语,描述事务处理的状态。例如:,Internet,HTTP/1.1 200 OK 表明成功,如果本次事务处理的状态为: HTTP/1.1 404 Not Found 表明 Web 服务器找不到请求的资源。,Internet,然后,服务器发出一个或多个 “HTTP 标头”,它们提供了和准 备发送的数据有关的其他信息。在本例中,服务器发送的是一 个 HTML 文档,所以 HTTP 标头是: Content-type: text/html 这个标头提供的信息指定了要发送给浏览器的内容的 MIME(多 用途 Internet 邮件扩展)类型。 MIME 是一个 Internet 标准,规

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

当前位置:首页 > 中学教育 > 教学课件 > 高中课件

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