220 likes | 359 Views
第 6 章 Web 应用程序开发技术. 信息科技学院. 学习要点:. 1 .掌握 Web Service的基础知识 2 .掌握如何 创建Web Service 3 .掌握如何 运用Web Service 4 . 简单的案例说明. Web Service 概述.
E N D
第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)。
构建ASP .NET Web服务 • 使用ASP .NET创建Web服务需要三个步骤: • (1) 创建.asmx文件。 • (2) 在文件中用标签声明此文件用于Web服务。 • (3) 定义Web Service Method把Web Service的功能暴露给用户。
构建ASP .NET Web服务 • (1)首先,打开Visual Studio.NET,选择【文件】│【新建】│【项目】命令,在弹出的对话框的语言中选择“Visual C# 项目”,在对话框的“模板”中选择“ASP.NET Web服务”。然后在“位置”处输入Web服务名字和VS.NET创建Web服务所在的虚拟目录的位置。将项目名称设置为slmWeb,如图示。
构建ASP .NET Web服务 • 单击【确定】按钮后,VS.NET就开始帮助建立新项目。项目建好后将出现一个默认的Service文件Service.asmx,图所示的界面。
构建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服务 • 可以看出,在创建项目的过程中,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浏览器方便地浏览服务内容。如图所示。