首页主机webservice面试题(webservice和http的区别)

webservice面试题(webservice和http的区别)

编程之家2024-05-20118次浏览

一、RPC和web service有什么异同

从事开发行业的朋友们都听说过一些名词,比如SOA、WebService、RPC、RESTful等,特别是架构领域这些术语出现的频率也是很高的。这几个名词其实说的都是同一个东西,那就是服务,但很多朋友分不清它们之间的区别,下面我给大家梳理一下。

webservice面试题(webservice和http的区别)
RPC是啥?

RPC代表的是远程过程调用(RemoteProcedureCall),它主要是面向方法(函数)级别的,我们只需要调用特定的方法来实现特定功能,而不需要了解其细节是如何实现的。它是Client/Server这种模式的。

说得通俗点就是,比如一套系统有一些核心代码(方法/函数)你不希望在此系统中植入(为了保密,防止被使用者破解),而是将这个核心代码放置在其它的服务器上运行,此系统只能调用远程服务器上的特定方法来实现功能。

RPC给我们的直观感觉就是,可以像调用本地方法(函数)一样去调用远程服务器上的方法(函数),具体用什么协议(如:HTTP、TCP、UDP、或自定义协议)、以什么形式(如:Json、XML、Binary、Protobuf)来传递数据都是可以自定义的。

WebService又是啥?

权威解释是:WebService是一种跨语言跨操作系统的远程调用技术。如果单从字面去理解,它就是以WEB形式(HTTP协议)提供的Service服务,这是一种提供Service服务的形式,可以理解为是一类服务方式的统称。

RPC和WebService的异同

1、相同点

RPC和WebService作用是非常相似的,都是远程调用技术,都是一种概念。

webservice面试题(webservice和http的区别)

2、不同点

RPC用什么协议,以什么形式传输数据是可以定制的,技术上可选择的余地更大;而WebService则是以WEB形式提供的服务,协议自然就是HTTP/HTTPS了,可选择余地较小。

常见的WebService可以用SOAP、RPC、RESTful来实现,但不能说RPC是WebService的子级,因为RPC并不一定非要使用HTTP协议来实现。

RPC性能一般优于WebService,在体系上RPC比WebService要复杂的多。

以上就是我的观点,对于这个问题大家是怎么看待的呢?欢迎在下方评论区交流~我是科技领域创作者,十年互联网从业经验,欢迎关注我了解更多科技知识!

二、WebService是什么如何实现

WebService是基于网络的、分布式的模块化组件,它执行特定的任务,遵守具体的技术规范,这些规范使得WebService能与其他兼容的组件进行互操作。InternetInter-OrbProtocol(IIOP)都已经发布了很长时间了,但是这些模型都依赖于特殊对象模型协议,而WebServices利用SOAP和XML对这些模型在通讯方面作了进一步的扩展以消除特殊对象模型的障碍。WebServices主要利用HTTP和SOAP协议使业务数据在Web上传输,SOAP通过HTTP调用业务对象执行远程功能调用,Web用户能够使用SOAP和HTTP通过Web调用的方法来调用远程对象的。实现方式:第一种:xfireClientclient=newClient(newURL(url));Object[]results=client.invoke(operationName,newObject[]{ifuser,ifevent,input});ret=(String)results[0];第二种:axisServiceservice=newService();Callcall=(Call)service.createCall();call.setTargetEndpointAddress(newjava.net.URL(url));//设置webservice服务的url地址call.setOperationName(operationName);//调用的后台webservice服务的方法为exchangeret=(String)call.invoke(newObject[]{input});//调用后台webservice服务以上两种实现方式,在项目中已经使用了,运行正常。但是项目初期开始用的还是碰到一些问题,如果服务器端是java开发的,用axis掉用服务端的时候,没有问题。如果服务器端是.net开发的,会碰到莫名奇妙的问题,我估计.net服务器端参数配置修改一下应该可以调得通,由于时间紧张,我就没有深究了。换了xfire掉服务器端,结果是两种不同语言实现的系统,都可以调通了。

三、WebService通俗解释,看它到底是什么技术

通俗地说,WebService是一种特殊的web服务。可以简单地将WebService分成2个组成部分,即web服务、web发现。web服务:构件在简单网络协议上(比如soap)的一种服务。比如你查询某家餐馆的菜单,就是访问一个地址,把参数传递过去,对方给你返回一种带格式的文本(比如使用xml来记录)

webservice面试题(webservice和http的区别)
然后你的程序可以处理这些字符串,并呈现在你的程序中。web发现:网上有很多的web服务,但是必须要提供一种检索的办法吧~,这就是web发现。比如类似于google的这种基于语义的搜索(就是输入一个词,检索出web服务),还有基于情景的(比如你是学生,可能希望搜索到经济实惠的饭店菜单,就别出5星级别的饭店菜单了)。通俗只能这么来解释。在实际,具体情况还得具体分析。

无线传感器,位移传感器messager,messenger install now