初探Web Service

一、什么是Web Service

1、简单的来说Web Service是一个应用程序,它向外部暴露出一个可以通过Web进行调用的API。

我们可以通过自己编写的代码对该API进行调用。此外我们把调用该Web Service的应用程序叫做

客户端。同时我们把向我们提供该API接口的Web Service应用称作服务端。

 

2、 Web services是建立可互操作的分布式应用程序的新平台。(来自百度百科)Web Service既

一个平台,也是一个标准,因为它要实现互操作性(互操作性又称互用性,是指不同的计算机系统

网络操作系统应用程序一起工作并共享信息的能力。)那么它必须要有自己的一套对于数据表示

方法和类型系统的标准。以此来实现跨语言跨操作系统的能力。拥有了该能力后我们还需要一种对于

该Web Service进行远程调用的方法,该方法是一种叫做RPC(RPC(Remote Procedure Call Protocol)

——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的

协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信

模型中,RPC跨越了传输层应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。

的远程调用协议。

 

二、什么情况下使用Web Service

1、首先说下人们喜欢基于浏览器的客户端应用程序的原因:发布桌面应用程序成本很高。这不单单有应

用程序的安装和配置问题,还有客户端和服务端之间的通信问题。

 

2、对于桌面应用的安装和配置问题就不多说了,主要说一下对于客户端和服务端之间的通信问题,

的解决方法是使用HTTP协议来通信。这是因为任何运行Web浏览器的机器都在使用HTTP协议。同时,

前许多防火墙也配置为只允许HTTP连接。

 

3、此外就是与其他程序的互操作性,因为并不是所有的应用程序都是使用的一种语言编写的,诸如:C

C++、Java、.Net等等。这些不同语言之间的数据交互。除了最简单的程序之外,所有的应用程序都需

与运行在其他异构平台上的应用程序集成并进行数据交换。这样的任务通常都是由特殊的方法,如文件传

和分析,消息队列,还有仅适用于某些情况的的API,如IBM的"高级程序到程序交流(APPC)"等来完成的

。在以前,没有一个应用程序通信标准,是独立于平台、组建模型和编程语言的。只有通过Web Service,

客户端和服务器才能够自由的用HTTP进行通信,不论两个程序的平台和编程语言是什么。

 

三、Web Service平台技术

WebService平台的三大技术:XML+XSD,SOAP和WSDL

1、XML+XSD XML解决了数据表示的问题,它的优点在于既是平台无关的又是厂商无关的,正是由于这种无

关性便于各个厂商的使用,XML解决了数据表示的问题,但是并没有定义一套标准的数据类型。W3C制定的

XML Schema(XSD)就是专门解决这个问题的一套标准。它定义了一套标准的数据类型,并给出了一种语言来

扩展这套数据类型。Web service平台就是用XSD来作为其数据类型系统的。当你用某种语言(如VB. NET或C#)

来构造一个Web service时,为了符合Web service标准,所有你使用的数据类型都必须被转换为XSD类型。你

用的工具可能已经自动帮你完成了这个转换,但你很可能会根据你的需要修改一下转换过程。

 

2、SOAP Web service建好以后,你或者其他人就会去调用它。简单对象访问协议(SOAP)提供了标准的

RPC方法来调用Web service。实际上,SOAP在这里有点用词不当:它意味着下面的Web service是以

对象的方式表示的,但事实并不一定如此:你完全可以把你的Web service写成一系列的C函数,并仍然

使用SOAP进行调用。SOAP规范定义了SOAP消息的格式,以及怎样通过HTTP协议来使用SOAP。

SOAP也是基于XML标准通用标记语言下的一个子集)和XSD的,XML是SOAP的数据编码方式。

 

3、WSDL 你会怎样向别人介绍你的Web service有什么功能,以及每个函数调用时的参数呢?你可能会自己写一

套文档,你甚至可能会口头上告诉需要使用你的Web service的人。这些非正式的方法至少都有一个严重的问题

:当程序员坐到电脑前,想要使用你的Web service的时候,他们的工具(如Visual Studio)无法给他们提供任何

帮助,因为这些工具根本就不了解你的Web service。解决方法是:用机器能阅读的方式提供一个正式的描述

档。Web service描述语言(WSDL)就是这样一个基于XML标准通用标记语言下的一个子集)的语言,用于描述

Web service及其函数、参数和返回值。WSDL既是机器可阅读的,又是人可阅读的,这将是一个很大的好处。一

些最新的开发工具既能根据你的Web service生成WSDL文档,又能导入WSDL文档,生成调用相应Web service的

代码。

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值