加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

remoting和webservice技术比较

发布时间:2020-12-17 02:08:22 所属栏目:安全 来源:网络整理
导读:? [转帖]remoting和webservice技术比较 其实现的原理并没有本质的区别,在应用开发层面上有以下区别:1、Remoting可以灵活的定义其所基于的协议,如果定义为HTTP,则与Web?Service就没有什么区别了,一般都喜欢定义为TCP,这样比Web?Service稍为高效一些2、R

?[转帖]remoting和webservice技术比较其实现的原理并没有本质的区别,在应用开发层面上有以下区别:1、Remoting可以灵活的定义其所基于的协议,如果定义为HTTP,则与Web?Service就没有什么区别了,一般都喜欢定义为TCP,这样比Web?Service稍为高效一些2、Remoting不是标准,而Web?Service是标准;3、Remoting一般需要通过一个WinForm或是Windows服务进行启动,而Web?Service则需要IIS进行启动。4、在VS.net开发环境中,专门对Web?Service的调用进行了封装,用起来比Remoting方便我建议还是采用Web?Service好些,对于开发来说更容易控制Remoting一般用在C/S的系统中,Web?Service是用在B/S系统中后者还是各语言的通用接口相同之处就是都基于XML为了能清楚地描述Web?Service?和Remoting之间得区别,我打算从他们的体系结构上来说起:?Web?Service大体上分为5个层次:?1.?Http传输信道?2.?XML的数据格式?3.?SOAP封装格式?4.?WSDL的描述方式?5.?UDDI?总体上来讲,.NET?下的?Web?Service结构比较简单,也比较容易理解和应用:?一般来讲在.NET结构下的WebService应用都是基于.net?framework以及IIS的架构之下,所以部署(Dispose)起来相对比较容易点.?从实现的角度来讲,?首先WebService必须把暴露给客户端的方法所在的类继承于:System.Web.Services.WebService这个基类?其次所暴露的方法前面必须有[WebMethod]或者[WebMethodAttribute]?WebService的运行机理?首先客户端从服务器的到WebService的WSDL,同时在客户端声称一个代理类(Proxy?Class)?这个代理类负责与WebService服务器进行Request?和Response?当一个数据(XML格式的)被封装成SOAP格式的数据流发送到服务器端的时候,就会生成一个进程对象并且把接收到这个Request的SOAP包进行解析,然后对事物进行处理,处理结束以后再对这个计算结果进行SOAP包装,然后把这个包作为一个Response发送给客户端的代理类(Proxy?Class),同样地,这个代理类也对这个SOAP包进行解析处理,继而进行后续操作。?这就是WebService的一个运行过程。?下面对.net?Remoting进行概括的阐述:?.net?Remoting?是在DCOM等基础上发展起来的一种技术,它的主要目的是实现跨平台、跨语言、穿透企业防火墙,这也是他的基本特点,与WebService有所不同的是,它支持HTTP以及TCP信道,而且它不仅能传输XML格式的SOAP包,也可以传输传统意义上的二进制流,这使得它变得效率更高也更加灵活。而且它不依赖于IIS,用户可以自己开发(Development)并部署(Dispose)自己喜欢的宿主服务器,所以从这些方面上来讲WebService其实上是.net?Remoting的一种特例。Remoting的两种通道  Remoting的通道主要有两种:Tcp和Http。在.Net中,System.Runtime.Remoting.Channel中定义了?IChannel接口。IChannel接口包括了TcpChannel通道类型和Http通道类型。它们分别对应Remoting通道的这两种类型1.?remoting?是MarshByReference的,可以传变量的引用,直接对服务器对象操作。速度快,适合intranet(企业内部互联网)。?webservice?是MarshByValue的,必须传对象的值。速度慢,可以过FIREWALL,配置比较简单,适合internet(因特网)。?2.?一般来说,remoting是和平台相关的,需要客户和服务器都是.NET,但可配置特性比较好,可以自定义协议。web?service可以做到跨平台通信,但必须采用SOAP协议。?3.?Soap消息有rpc和文档两种样式。?文档样式的body元素中包含一个或多个元素,可以是任何内容,只要接受者理解就行了。rpc样式的的body元素中包含调用的方法或远程过程的名称,以及代表方法参数的元素。??.net对这两种样式的实现就是web?service?和remoting?.概括的说Remoting与Web?Services的区别是:(1)既支持TCP信道又支持HTTP信道,传输速度快(2)即可传输XML的SOAP包又可传输二进制流,效率高(3)Remoteing主要用于C/S结构项目(4)不一定要依赖IIS服务器?(5)?Remoting不是标准,而Web?Service是标准。(6)Remoting一般需要通过一个WinForm或是Windows服务进行启动,也可以使用iis部署,而Web?Service则必须在IIS????????进行启动。?(7)在VS.net开发环境中,专门对Web?Service的调用进行了封装,用起来比Remoting方便。?(8)?net?remoting只能应用于MS?的.net?framework之下,需要客户端必须安装framework,但是WebService是平台???独立的,跨语言(只要能支持XML的语言都可以)?以及穿透企业防火墙。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读