求高人解惑,webservice到底是什么?

网上关于webservice的概念挺多,我看了不少但是仍然有没有理解的地方。请熟悉webservice的高人帮忙解答,谢谢。
1、webservice到底能做到什么?
看有的解释说往服务器发个指定格式的数据(比如xml)然后服务器返回个数据,本地程序处理这就算是webservice了,是这样的么?那能实现对象传输与函数远程调用的算什么呢?
2、webservice的协议指的是什么?
有的资料上说webservice使用SOAP协议,但是有的资料上是别的协议(比如RESTful)。这个协议代表什么?它起着怎样的作用?是不是说这个协议应该是被使用的库支持的,如果不支持也不能自己换?
3、webservice的数据格式问题
我曾经以为webservice都用xml传输数据,然后后来发现还有人说用json。那么这个传输数据的格式不是和所用的库绑在一起的么?

简单答一下:
1.web service本身不能做太多事,各种功能都是你自己编程实现的,但是你的程序只能自己用,自己看,别人根本不知道你的程序是什么样的。而web service就是规定了一种方式,告诉你将你的程序如何的部署到服务器上,然后大家通过一种协商好的地址能找到你的程序的说明,说明的格式也是大家都协商好的,所以可以读懂……然后你就可以根据那个地址来调用这个程序的方法了。
你看,web service 本身貌似没干什么,它就是让你可以发布自己的程序和调用别人发布的程序。
2.协议基本就是上面提到的那些大家协商好的东西了,什么形式?什么格式?什么样式?之类的,可以说协议被库支持,其实顺序应该是先有了这个协议,然后这个库遵从这个协议来解析,就说支持这个协议。
3.其实webservice传的数据可以是任意啊,规定用各种格式只是考虑到webservice是牵扯到多方的,不规定的话就好像两个人用不同语言交流,完全互相都不懂,那么就没意义了。xml是最通用的,你也可以说是和库绑定的,但是因为它简单通用,基本各种环境都支持解析xml
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-06-27
Web Services是由企业发布的完成其特定商务需求的在线应用服务,其他公司或应用软件能够通过Internet来访问并使用这项在线服务。

Web Services是一种构建应用程序的普遍模型,可以在任何支持网络通信的操作系统中实施运行;它是一种新的web应用程序分支,是自包含、自描述、模块 化的应用,可以发布、定位、通过web调用。Web Service是一个应用组件,它逻辑性的为其他应用程序提供数据与服务.各应用程序通过网络协议和规定的一些标准数据格式(Http,XML,Soap)来访问Web Service,通过Web Service内部执行得到所需结果.Web Service可以执行从简单的请求到复杂商务处理的任何功能。一旦部署以后,其他Web Service应用程序可以发现并调用它部署的服务。
第2个回答  2011-06-28
webservice 确实指的都是soap协议传输的XML格式的服务。
WEBSERVICE很容易跟能有web service 混淆,后者是一般的请求页面。不过也可以给第三方应用罢了。这种应用更广泛一些。

WEBSERVICE 是严格的只是wdsl 这种的,RESTful 实现了webservice 但是,他也提供了一般的请求页面(数据)这种更广泛的应用restful 本身就是一个支持XML,也支持json的。

一般说格式不同都是指这种广泛一些的web 形式的能提供服务的页面。而已。
传输数据的格式 跟后台有关但是也无关。
后台的对象必须要序列化为流才有可能在网络中传输。

至于是字节流,还是字符流(文本)那就是协议中定义的了。
第3个回答  2011-06-25
Web Service就是为了使原来各孤立的站点之间的信息能够相互通信、共享而提出的一种接口。
Web service 就是一个应用程序,它向外界暴露出一个能够通过Web进行调用的API。这就是说,你能够用编程的方法通过Web来调用这个应用程序。

SOAP:Simple Object Access Protocol)
简单对象访问协议(SOAP)是一种轻量的、简单的、基于 XML 的协议,它被设计成在 WEB 上交换结构化的和固化的信息。 SOAP 可以和现存的许多因特网协议和格式结合使用,包括超文本传输协议( HTTP),简单邮件传输协议(SMTP),多用途网际邮件扩充协议(MIME)。它还支持从消息系统到远程过程调用(RPC)等大量的应用程序。追问

i can't agree you more.答非所问。。

相似回答