欢迎来到天天文库
浏览记录
ID:15681631
大小:22.75 KB
页数:3页
时间:2018-08-04
《webservices、corba、jms、rpc、rmi的区别和概述》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、新浪微博:http://weibo.com/csx1998(放牛长大)1、webservice体系结构首先客户端从服务器的到WebService的WSDL,同时在客户端声称一个代理类(ProxyClass) 这个代理类负责与WebService服务器进行Request和Response 当一个数据(XML格式的)被封装成SOAP格式的数据流发送到服务器端的时候,就会生成一个进程对象并且把接收到这个Request的SOAP包进行解析,然后对事物进行处理,处理结束以后再对这个计算结果进行SOAP包装,然后把
2、这个包作为一个Response发送给客户端的代理类(ProxyClass),同样地,这个代理类也对这个SOAP包进行解析处理,继而进行后续操作。这就是WebService的一个运行过程。WebService大体上分为5个层次: 1.Http传输信道 2.XML的数据格式3.SOAP封装格式 4.WSDL的描述方式 5.UDDI 2、RCP客户机对服务器的RPC调用,其内部操作大致有如下十步:1.调用客户端句柄;执行传送参数、2.调用本地系统内核发送网络消息、3.消息传送到远程主机4.服务器句柄得到消息并
3、取得参数、5.执行远程过程、6.执行的过程将结果返回服务器句柄7.服务器句柄返回结果,调用远程系统内核、8.消息传回本地主机、9.客户句柄由内核接收消息、10.客户接收句柄返回的数据3、webservices/corba/jms/rpc/rmi区别webservice提供的服务是基于web容器的,底层使用http协议,类似一个远程的服务提供者,比如天气预报服务,对各地客户端提供天气预报,是一种请求应答的机制,是跨系统跨平台的。webservice服务端是运行在web服务器上的,不过也可以使用Remoti
4、ng命名空间,创建c/s式的服务,比如CORBA就是c/s的方式提供服务新浪微博:http://weibo.com/csx1998(放牛长大) 3.1RPC与WebService 1、RPC可以灵活的定义其所基于的协议,如果定义为HTTP,则与WebService就没有什么区别了,一般都喜欢定义为TCP,这样比WebService稍为高效一些2、RPC不是标准,而WebService是标准;3、RPC一般需要通过一个WinForm或是Windows服务进行启动,而WebService则需要web服务进行
5、启动 我建议还是采用WebService好些,对于开发来说更容易控制RPC一般用在C/S的系统中,WebService是用在B/S系统中后者还是各语言的通用接口 3.2RPC与RMI 远程对象方法调用并不是新概念,远程过程调用(RPC)已经使用很多年了。远程过程调用被设计为在应用程序间通信的平台中立的方式,它不理会操作系统之间以及语言之间的差异。即RPC支持多种语言,而RMI只支持Java写的应用程序。另外RMI调用远程对象方法,允许方法返回Java对象以及基本数据类型。而RPC不支持对象的概念,传送
6、到RPC服务的消息由外部数据表示(ExternalDataRepresentation,XDR)语言表示,这种语言抽象了字节序类和数据类型结构之间的差异。只有由XDR定义的数据类型才能被传递,RPC不允许传递对象。可以说RMI是面向对象方式的JavaRPC。 3.3JMS与RMI Java消息服务(JavaMessagingService,JMS)是一种允许应用程序创建、发送、接受和读取消息的JavaAPI。JMS与RMI的区别在于,采用JMS服务,对象是在物理上被异步从网络的某个JVM上直接移动到另
7、一个JVM上(支持消息通知?如xmpp协议)JMS消息的两种模式(Point-to-Point(P2P)和Publish/Subscribe(Pub/Sub))http://wenku.baidu.com/view/72cc476b561252d380eb6e22.html而RMI对象是绑定在本地JVM中,只有函数参数和返回值是通过网络传送的(是请求应答机制)。 3.4CORBA、RMI、webservices 新浪微博:http://weibo.com/csx1998(放牛长大)在使用CORBA进行
8、系统通信架构,CORBA使用统一的IDL接口而webservices使用wsdl,一个是c/s命名服务,一个是基于web提供的服务,CORBA还有事件服务,是在命名服务上的一个服务,可以实现消息的通知,而webservices是请求应答模式的。CORBA年数已久比较成熟,有很多大公司支持,后来慢慢走下坡路,使用corba是一个很繁琐的事情,对于后来的系统建议使用webservices进行开发,现在eclipse对webservices服务端
此文档下载收益归作者所有