22
第6第 Web 第第第第第第第第 信信信信信信

第 6 章 Web 应用程序开发技术

Embed Size (px)

DESCRIPTION

第 6 章 Web 应用程序开发技术. 信息科技学院. 学习要点:. 1 .掌握 Web Service的基础知识 2 .掌握如何 创建Web Service 3 .掌握如何 运用Web Service 4 . 简单的案例说明. Web Service 概述. - PowerPoint PPT Presentation

Citation preview

Page 1: 第 6 章   Web 应用程序开发技术

第 6 章 Web 应用程序开发技术

信息科技学院

Page 2: 第 6 章   Web 应用程序开发技术

学习要点:

1 .掌握 Web Service 的基础知识 2 .掌握如何创建 Web Service 3 .掌握如何运用 Web Service 4 .简单的案例说明

Page 3: 第 6 章   Web 应用程序开发技术

Web Service 概述

Web 服务 (Web Services) 是近两年来发展的一项技术。它以“软件就是服务”为理想目标,使得在系统架构以及软件开发等领域都发生了深刻的变化。 Web 服务是微软 .NET 策略计划的基础。一个 Web Service 就是一个应用 Web 协议的可编程的应用程序逻辑。其中最重要的协议是简单对象访问协议 SOAP(Simple Object Access Protocol) 。

Page 4: 第 6 章   Web 应用程序开发技术

XML 、 SOAP 与 Web Service

Web Service 是一种应用程序,使用标准的互联网协议,在网上提供函数接口,这就是说,你能够用编程的方法通过 Web 来调用这个应用程序。

我们可以把 Web 服务想象为通过因特网或企业内部网连接调用其方法的组件,或者把它想象为通过 Web 提供其接口的组件。

Page 5: 第 6 章   Web 应用程序开发技术

XML 、 SOAP 与 Web Service

Web 服务建立在对开放标准 XML 广泛接受的基础上, Web 服务使用 XML 序列化其客户端收发的数据。即使客户端和 Web 服务主机使用不同的操作系统,或者应用程序使用不同的程序语言开发,只要客户端程序可以解析 XML ,那么它就可以使用 Web 服务返回的数据。

Page 6: 第 6 章   Web 应用程序开发技术

XML 技术

XML 实际上是 Web 上表示结构化信息的一种标准文本格式,它没有复杂的语法和包罗万象的数据定义。 Web 服务要以一种可靠的自动的方式操作数据, HTML 不能满足要求, XML 允许使用者创建和使用他们自己的标记而不是 HTML 的有限词汇表。这一点至关重要,企业可以用 XML 为电子商务和供应链集成等应用定义自己的标记语言,甚至特定行业一起来定义该领域的特殊标记语言,作为该领域信息共享与数据交换的基础。

Page 7: 第 6 章   Web 应用程序开发技术

1 XML 技术

XML 提供了一种结构化的数据表示方式,使得用户界面分离于结构化数据。所以, Web 用户所追求的许多先进功能在 XML 环境下更容易实现。 XML 文档通常包含一个文档类型声明,因而 XML 文档是自描述的。不仅人能读懂 XML 文档,计算机也能处理。 XML 表示数据的方式真正做到了独立于应用系统,并且数据能够重用。 XML 文档被看作是文档的数据库化和数据的文档化。另外,XML 也吸收了人们多年来在 Web 上使用 HTML 的经验。XML 支持世界上几乎所有的主要语言,并且不同语言的文本可以在同一文档中混合使用,应用 XML 的软件能处理这些语言的任何组合。所有这一切将使 XML 成为数据表示的一个开放标准,这种数据表示独立于机器平台、供应商以及编程语言。

Page 8: 第 6 章   Web 应用程序开发技术

2 、 SOAP 技术 Web Service 建好以后,其他人就会去调用它。简单对

象访问协议 SOAP ( Simple Object Access Protocol )提供了标准的 RPC 方法调用 Web Service 。 SOAP并不意味着 Web Service 一定要以对象的方式表示,你完全可以把你的 Web Service 写成一系列的 C 函数,并仍然使用 SOAP 进行调用。 SOAP 使用 XML 消息调用远程方法,这样 Web 服务可以通过 HTTP 协议的 Post 和 Get 方法与远程机器交互,而且, SOAP 更加健壮和灵活易用。 SOAP 是 Web 服务最重要的协议。 用于 Web 发现的其他技术,如 UDDI 和 WSDL ,也是通过 XML 和 SOAP 技术紧密结合实现的。

Page 9: 第 6 章   Web 应用程序开发技术

Web 服务的体系结构 Web 服务体系结构是基于三种角色 ( 服务提供者、服

务注册中心和服务请求者 ) 之间的交互。交互通过发布、查找和绑定三种操作来完成。这些角色和操作一起作用于 Web Services 构件。

服务提供者 ( Service Provider) 。从企业角度看它是服务的所有者,从体系结构看它是提供服务的平台。

服务请求者 (Service Requester) 。从企业角度看它是指需要请求特定功能的企业,从体系结构看它是查找和调用服务的客户端应用程序。

服务注册中心 (Service Registry) 。

Page 10: 第 6 章   Web 应用程序开发技术

Web 服务的体系结构

服务描述

服务请求者 服务提供者

Find UDDI 注册中心

Publish

Bind

(WSDL,UDDI)Find (WSDL,UDDI)Find

Page 11: 第 6 章   Web 应用程序开发技术

构建 ASP .NET Web 服务

使用 ASP .NET创建 Web 服务需要三个步骤: (1) 创建 .asmx 文件。 (2) 在文件中用标签声明此文件用于 Web 服务。 (3) 定义Web Service Method 把 Web Service 的功能暴露给用户。

Page 12: 第 6 章   Web 应用程序开发技术

(1)首先,打开V isual Studio.N ET ,选择【文件】│【新建】│【项目】命令,在弹出的对话框的语言中选择“ Visual C# 项目”,在对话框的“模板”中选择“ ASP.NET Web 服务”。然后在“位置”处输入Web 服务名字和 VS.NET创建 Web 服务所在的虚拟目录的位置。将项目名称设置为 slmWeb ,如图示。

构建 ASP .NET Web 服务

Page 13: 第 6 章   Web 应用程序开发技术

构建 ASP .NET Web 服务

Page 14: 第 6 章   Web 应用程序开发技术

单击【确定】按钮后, VS.NET 就开始帮助建立新项目。项目建好后将出现一个默认的 Service 文件 Service.asmx ,图所示的界面。

构建 ASP .NET Web 服务

Page 15: 第 6 章   Web 应用程序开发技术

构建 ASP .NET Web 服务

Page 16: 第 6 章   Web 应用程序开发技术

我们所得到的 Web 服务将默认包含以下文件: Service.asmx :包含 Web Service页面访问点和代码的引用,以及 .cs 和 .resx 文件。

Web.config: 这是一个 XML格式的文件,他包含了系统资源的配置信息。

slmWeb.csproj: 它是该文件的项目文件,包含项目的配置和生成信息。

slmWeb.vsdisco :这是一个 XML格式的文件,在 XML Web Services 中用于发现进程使用的信息。

(3) 单击 Service.cs 进入代码视图界面,如图 8-4 所示。

构建 ASP .NET Web 服务

Page 17: 第 6 章   Web 应用程序开发技术

构建 ASP .NET Web 服务

Page 18: 第 6 章   Web 应用程序开发技术

可以看出,在创建项目的过程中, VS.NET已经自动为用户创建好了代码框架。下面就来分析一下该框架,先列出所用已生成的Service.cs代码:

using System; using System.Web; using System.Collections; using System.Web.Services; using System.Web.Services.Protocols; /// <summary> /// WebService 的摘要说明 /// </summary> [WebService(Namespace = "http://tempuri.org/")]

构建 ASP .NET Web 服务

Page 19: 第 6 章   Web 应用程序开发技术

[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]

public class WebService : System.Web.Services.WebService { public WebService () { // 如果使用设计的组件,请取消注释以下行 //InitializeComponent(); } [WebMethod] public string HelloWorld() { return "Hello World"; } }

构建 ASP .NET Web 服务

Page 20: 第 6 章   Web 应用程序开发技术

以上这段代码现列出了该项目所需要引用的名字空间,“ [WebService(Namespace = "http://tempuri.org/")]”这个网站里面包含 System.Web 和 System.Web.Services 等,显然对于开发 Web 服务来说,这些都是必须的。然后就是完成对 Web Services 类的实例化工作,其中一些代码是 Web 服务设计必须的,这些不需要大家深入理解。在代码的后面部分,提供了一个“ Hello World”Web 服务实例代码,默认是被注释掉的。

构建 ASP .NET Web 服务

Page 21: 第 6 章   Web 应用程序开发技术

可以看出,普通的方法通过添加 WebMethod属性就转变成 Web 的方法。可以先去掉注释看一下“ Hello World”Web 服务的运行情况。

一旦创建并生成了 Web 服务,可以导航到 Web 服务页面的 URL ,通过 Web 浏览器方便地浏览服务内容。如图所示。

构建 ASP .NET Web 服务

Page 22: 第 6 章   Web 应用程序开发技术

构建 ASP .NET Web 服务