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

Preview:

DESCRIPTION

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

Citation preview

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

信息科技学院

学习要点:

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

Web Service 概述

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

XML 、 SOAP 与 Web Service

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

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

XML 、 SOAP 与 Web Service

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

XML 技术

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

1 XML 技术

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

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 技术紧密结合实现的。

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

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

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

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

服务注册中心 (Service Registry) 。

Web 服务的体系结构

服务描述

服务请求者 服务提供者

Find UDDI 注册中心

Publish

Bind

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

构建 ASP .NET Web 服务

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

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

构建 ASP .NET Web 服务

构建 ASP .NET Web 服务

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

构建 ASP .NET Web 服务

构建 ASP .NET 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 服务

构建 ASP .NET 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 服务

[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 服务

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

构建 ASP .NET Web 服务

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

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

构建 ASP .NET Web 服务

构建 ASP .NET Web 服务

Recommended