WebService——访问技术

来源:互联网 发布:酷酷跑软件 编辑:程序博客网 时间:2024/06/06 03:14

        Web 浏览器是无所不在的。如今,Web 浏览器确实随处可见:到目前为止,大多数 IT 企业用户已经拥有了 Web 浏览器,或者可以很容易地获得它。主要的 Web 浏览器供应商(Microsoft 和 Netscape)都免费提供浏览器产品。比如,www.Amazon.com网站,它开发了在线销售书籍和光盘的专用“网上商店”应用程序。这类应用程序是在万维网的基础之上构建的,因此可以在任何时间以及世界的任何地方运行,并且是完全跨平台的。实际上,如果没有 Web 应用程序注入活力并提供用户交互,Web 页只是乏味、静态的电子文本。所以在开发的时候我们使用的一种面向服务的技术——WebService。

 

(1),什么是WebService。

    简而言之,WebService是一种跨编程语言和跨操作系统平台的远程调用技术。

主要体现在方面上:

   (1.1)所谓跨编程语言和跨操作平台,就是说服务端程序采用java编写,客户端程序则可以采用其他编程语言编写,反之亦然!跨操作系统平台则是指服务端程序和客户端程序可以在不同的操作系统上运行。

   (1.2)远程调用,就是一台计算机A上的一个程序可以调用到另外一台计算机B上的一个对象的方法,或者一个解决方案A调用到另外一解决方案B上的一个对象的方法。 Web Service 就是一个应用程序,它向外界暴露出一个能够通过Web进行调用的API。防止信息孤岛,不同的操作系统上的数据可以通过web服务统一起来,以xml格式数据同一起来。譬如,银联提供给商场的pos刷卡系统,商场的POS机转账调用的转账方法的代码其实是跑在银行服务器上。再比如,amazon,天气预报系统,淘宝网,校内网,百度等把自己的系统服务以webservice服务的形式暴露出来,让第三方网站和程序可以调用这些服务功能,这样扩展了自己系统的市场占有率,往大的概念上吹,就是所谓的SOA应用。

 

(2), webService三要素

     webService三要素:SOAP、WSDL(WebServicesDescriptionLanguage)、UDDI(UniversalDescriptionDiscovery andIntegration)。

     soap用来描述传递信息的格式, WSDL 用来描述如何访问具体的接口, uddi用来管理,分发,查询webService 。

     具体实现可以搜索 Web Services简单实例 ; SOAP 可以和现存的许多因特网协议和格式结合使用,包括超文本传输协议(HTTP),简单邮件传输协议(SMTP),多用途网际邮件扩充协议(MIME)。它还支持从消息系统到远程过程调用(RPC)等大量的应用程序。SOAP使用基于XML的数据结构和超文本传输协议(HTTP)的组合定义了一个标准的方法来使用Internet上各种不同操作环境中的分布式对象。

 

(3)Web服务构成

 

 

 

(4)Web服务特征

  • 通过Web进行访问
  • 使用其接口进行调用
  • 在服务注册表中注册
  • 使用标准Web协议通信
  • 松散耦合

 

(5)Web服务的优点

  • 交叉业务集成
  • 提高效率
  • 拉近客户关系
  • 便于实时集成
  • 降低复杂性
  • 旧式应用程序

(6)Web服务的缺点

  • 公开单位的应用资产存在潜在的安全风险
  • 必须支持XML
  • 部署Web服务技术的成本有点高



7)例子——访问数据

1,先建一个数据库。代码如下:

<span style="font-size:18px;"><strong>create database storeuse storecreate table store( ID varchar(10) primary key, num int default 0 )insert into store values('1001',100)insert into store values('1002',500)insert into store values('1003',200)insert into store values('1004',50)</strong></span>

2,新建一个解决方案,添加web服务。如下图:



自动生成代码如下:



在其后自己写一段连接数据库的代码:

<span style="font-size:18px;"><strong>    [WebMethod]        public DataSet geStroe()        {            SqlConnection con = new SqlConnection("server=192.168.21.44;database=store;uid=sa;password=123456");            SqlDataAdapter sda = new SqlDataAdapter();            sda.SelectCommand = new SqlCommand("select *  from store", con);            DataSet ds = new DataSet();            sda.Fill(ds, "store");            return ds;        }</strong></span>

对WebMethod属性详解一般主要会用到以下属性:


具体用法参考:http://liubiqu.cnblogs.com/archive/2005/06/06/168623.html


3,运行一下程序。

       出现的“http://localhost:4377/WebService1.asmx”界面就是我们要调用的服务。我们已经完成了添加一个web服务,下面我们就开始引用代用这个web服务。









    若要从客户端应用程序访问 Web 服务,应先添加 Web 引用,该引用是对于 Web 服务的引用。当您创建 Web 引用时,Visual Studio 会自动创建 Web 服务代理类并将其添加到项目中。该代理类公开 Web 服务的方法,并对在 Web 服务和应用程序之间往返的适当参数进行封送处理。Visual Studio 使用 Web 服务描述语言 (WSDL) 来创建该代理。

4,新建的webapplication解决方案,然后进行添加webservice。


(4.1)右击添加服务引用——点击左下角的“高级”——点击左下角的“添加web引用”






4.2)出现了定位URL的界面,在里面可以选择不同地方web服务,在URL里面输入“http://localhost:4377/WebService1.asmx”,并且改名为“WebService”,在解决方案资源管理器中自动生成了“Web References”文件夹,“Web References”文件夹就是我们引用的webservice。这就是我们通常叫的代理。




5,调用服务

    按照上述步骤来的话,我们就成功引用了一个webservices服务。我们就可以操作另外的一个解决方案的发布的服务。现在我们来调用一下这个服务。

namespace WebApplication1{    public partial class WebForm1 : System.Web.UI.Page    {        protected void Page_Load(object sender, EventArgs e)        {            //1,创建代理服务            WebService.WebService1 aa = new WebService.WebService1();            //使用datagrid来接收这个结果            this.DataGrid1.DataSource = aa.getStore();            this.DataGrid1.DataBind();        }    }}

运行程序如下:


(8)代码下载

http://download.csdn.net/detail/tsj11514oo/9437113



0 0
原创粉丝点击