WebService ——认识

一、WebService是什么?

    WebServices是建立可互操作的分布式应用程序的新平台,它向外界暴露了一个可供web调用API。简而言之:WebServices是一种跨编程语言和跨操作系统平台的远程调用技术。


二、WebSErvice原理

   当客户端调用一个WebService的方法时,首先将方法名称和需要传递的参数包装成XML,也就是SOAP包,通过HTTP协议传递到服务器端,然后服务器端解析这段XML,得到被调用的方法名称和传递过来的参数,进而调用WebService相应的方法,方法执行完毕后,将返回结果再次包装为XML,也就是SOAP响应,发送到客户端,最后客户端解析这段XML,最终得到返回结果。

   Web service平台是一套标准,它定义了应用程序如何在Web上实现互操作性。你可以用任何你喜欢的语言,在任何你喜欢的平台上写Web service ,只要我们可以通过Web service标准对这些服务进行查询和访问。不管你的Web service是用什么工具,什么语言写出来的,只要你用SOAP协议通过HTTP来调用它。

  例如:你用你自己喜欢的语言(如VB 6或者VB.NET)来构建你的Web service,然后用SOAP Toolkit或者.NET的内建支持来把它暴露给Web客户。于是,任何语言,任何平台上的客户都可以阅读其WSDL文档,以调用这个Web service。客户根据WSDL描述文档,会生成一个SOAP请求消息。Web service都是放在Web服务器 (如IIS) 后面的,客户生成的SOAP请求会被嵌入在一个HTTP POST请求中,发送到Web服务器来。Web服务器再把这些请求转发给Web service请求处理器。对VB 6程序来说,Web service请求处理器是一个与SOAP Toolkit组件协同工作的ASP页面或ISAPI extension。而对VB.NET程序来说,Web service请求处理器则是一个.NET Framework自带的ISAPI extension。请求处理器的作用在于,解析收到的SOAP请求,调用Web service,然后再生成相应的SOAP应答。Web服务器得到SOAP应答后,会再通过HTTP应答的方式把它送回到客户端。


三、WebService技术

主要技术包括:XML+XSD,SOAP,WSDL,UDDI

1.XML:描述数据的标准方法

  XML是WebService平台中表示数据的格式,它封装了WebService通过http协议需要传输的数据(即XML中说明调用远程服务对象的哪个方法,传递的参数是什么,以及服务对象的返回结果是什么)。XML不仅易于建立,易于分析,而且它与平台和厂商都无关,能被所有软件开发商所共用。

2.XSD:描述数据类型的标准方法

  XML虽然解决了数据表示问题,但是他没有指明数据类型。XSD就是解决数据类型问题的。它定义了一套标准的数据类型,并给出了一种语言来扩展这套数据类型。WebService就是采用XSD作为数据类型系统的,所有你使用的数据类型都应转换为XSD类型。一般情况下这个转换操作都是由你使用的工具自动完成的。

3.SOAP:标识信息交换的协议(简单对象访问协议)

  SOAP协议 = HTTP协议 + XML数据格式

  SOAP提供了标准的RPC方法来调用WebService。WebService通过HTTP协议发送请求和接收结果时,发送的请求内容和结果内容都采用XML格式封装,并增加了一些特定的HTTP消息头,以说明HTTP消息的内容格式,这些特定的HTTP消息头和XML内容格式就是SOAP协议

4.WSDL:Web服务描述语言

  WSDL是一种基于XML语言,用于描述WebService及其函数,参数,返回值的文件。是能被客户端和服务端都理解的标准格式。

  WSDL文件保存在Web服务器上,通过一个url地址就可以访问到它。客户端要调用一个WebService服务之前,要知道该服务的WSDL文件的地址。WebService服务提供商可以通过两种方式来暴露它的WSDL文件地址:1.注册到UDDI服务器,以便被人查找;2.直接告诉给客户端调用者。

5.UDDI:统一描述、发现与集成服务

    它是一个基于XML的跨平台的描述规范,可以使世界范围内的企业在互联网上发布自己所提供的服务。UDDI是OASIS发起的一个开放项目,它使企业在互联网上可以互相发现并且定义业务之间的交互。它主要提供基于Web服务的注册和发现机制,为Web服务提供三个重要的技术支持:①标准、透明、专门描述Web服务的机制;②调用Web服务的机制;③可以访问的Web服务注册中心。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值