首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web Service >

【请问】关于webservice的一些基础概念

2012-05-11 
【请教】关于webservice的一些基础概念这里想问的不是.net下的webservice工具,而是更通俗的web service的概

【请教】关于webservice的一些基础概念
这里想问的不是.net下的webservice工具,而是更通俗的web service的概念,问题如下,还请各位高手帮忙解答:

1.到底什么是webservice?
  ——通过百度和google,我已经知道webservice是基于soap的,但具体是什么呢?一种固定的编程模式?一种约定好的协议集?一种通用的平台?
  我了解到一些具体实例,比如“查询城市天气的网页”,“查询火车信息的网页”只是看外观,难道这和网页编程实现的效果不同吗?


2.webservice是否必须使用80端口?
  ——这个问题其实还是上一个问题的延续,因为我看到的例子,都是网页打开的,那不就是必须使用80端口吗?这个理解对吗?还是说webservice其实与端口无关,可以随便指定呢?
  如果是80端口,怎么都觉得是具体的http server了,webservice光名字听起来就应该更通用才对,至少应该是不同于http server的别的server吧


3.简单的webservice发布流程应该是什么样的?
  ——了解到有种开源的gSOAP项目,可以用C和C++写webservice的客户端和服务端,我很想在具体动手之前,了解一下,假设用gSOAP写了一个服务端。那也就是编译好的某个exe文件咯。接着发布的时候,是直接运行exe就可以了呢,还是说需要另外某个什么工具打开指定端口,来配合exe的运行呢?

问题很弱,希望大家不吝指教


[解决办法]
1. WebService是基于SOAP协议的远程调用方式。SOAP是建立在HTTP基础上统一标准。
可以通过WSDL生成不同语言的客户端代理,从而调用WebService。也可以直接通过HTTP,
按照SOAP协议生成Request调用

2. WebService不是一定使用80端口,这个是WebService EndPoint定义的。可以是Web服务支持的任一端口。
因为SOAP协议基于HTTP,所以可以理解为Web服务的一种

3. 如果是非Web服务托管的(比如:IIS,Tomcat等),那么就必须在服务端EXE里自己打开一个HttpListener

[解决办法]
它使用http通讯。

客户端访问服务器端,可以“发现”服务RPC调用的所有具体方法的接口调用,并且生成用于通讯解析的数据结构。因此有两个机制,首先是客户端可以发现服务器端的接口,也就是自动化的解析业务接口具体的字段(字段完全可以是复杂的嵌套自定义对象),而不是预先规定死了的业务的所谓“协议集”;另外一个是自动化地将(服务器端跟客户端)本地对象进行序列化、反序列化,即使客户端原来的生成的代理程序跟服务器端新更新的服务接口不完全匹配、也可以进行序列化、发序列化,那么10年前提出的web service就要比10年之前的其它RPC公认协议都要更加灵活。

热点排行