servelet,webservice,RMI的区别

最近项目中有提供或者调用别的接口,在纠结中到底是用servlet还是用webservice,所以上网查看了下他们以及RMI之间的区别,方便加深了解。

首先比较下servlet和webservice下
  请求:   
  servlet:提供了请求/响应模式,是JAVA的一种规范,只能使用于java上,用来替代早期使用的难懂的CGI,是一种无状态的请求响应,客 户端访问一个服务器的url,只需要发送简单的httprequest即可。 规定了四个范围:pageContext、request、session、application。一定依赖于各种SERVLET容器,但 servlet只能接受一个简单的http请求;   
  WebService最早是微软提出了一种以XML为载体网络信息传输的规范,现在几乎所有的语言与平台都支持,带有状态机制,不依赖于 SERVLET容器,可以发送一个xml作为其请求内容,WebService通常是基于http的远程方法调用(RMI),号称是可以反回远程对象, 一般来说客户段可以象调用本地方法一样调用WebService的方法。

传输:   
  servlet使用http协议传输数据,如果你用Servlet返回XML,那个XML的描述框架就是你定的,必须告知使用者具体的说明,没有统一标准。   
  webservice使用固定的XML格式封装成soap消息,可以使用http作为底层数据传输,但并不局限于http协议,方法返回消息是有标准的。   
    
  返回结果:   
  servlet返回的是html页面;   
  webservice返回的可以是复杂对象甚至使用附件或者mutidata的二进制文件。   
    
  部署:   
  servlet需要遵守j2ee的Web   Application规范部署的应用服务器上,如tomcat,weblogic,websphere;   
  WebService则需要有WSDL文件来部署服务,或者使用UDDI注册。   
    
  优势:   
  WebService的跨平台特性是servlet不能比的,可以被各种语言调用;   
  servlet相对来说速度上的优势也是不可忽视的。

接下来在看看RMI和webservice中的
 
  rmi的客户端和服务端都必须是java,webservice没有这个限制
  webservice是在http协议上传递xml文本文件,与语言和平台无关
  rmi是在tcp协议上传递可序列化的java对象,只能用在java虚拟机上,绑定语言
  RMI是EJB远程调用的基础,仅用RMI技术就可以实现远程调用,使用EJB是为了实现组件,事物,资源池,集群等功能。
  WebService是通过XML来传输数据,可用http等协议因此可在异构系统间传递,并且可以穿过防火墙,可在公网上远程调用

servelet,webservice,RMI的区别

时间: 2024-10-10 11:15:26

servelet,webservice,RMI的区别的相关文章

RPC与RMI的区别

分布式项目按照以下发展经历了以下技术: CORBA: RMI:基于远程接口的调用 RMI-RROP:这是RMI与CORBA的结合,用在了EJB技术上,EJB留给世界上是优秀的理论和糟糕的架构. WEBSERVICE:等于XML(WSDL)+SOAP   缺点:速度太慢,处理速度太慢了:如果采用远程接口调用,要生成一堆的配置文件,很繁琐. SOA技术:ESB(服务总线))技术 RPC技术:dubbo.利用rest实现RPC,这样的操作,速度很快,占用网络带宽较少,springcloud出现,spr

SOAP webserivce 和 RESTful webservice 对比及区别

简单对象访问协议(Simple Object Access Protocol,SOAP)是一种基于 XML 的协议,可以和现存的许多因特网协议和格式结合使用,包括超文本传输协议(HTTP),简单邮件传输协议(SMTP),多用途网际邮件扩充协议(MIME),基于"通用"传输协议是 SOAP的一个优点.它还支持从消息系统到远程过程调用(Remote Procedure Call,RPC)等大量的应用程序.SOAP提供了一系列的标准,如WSRM(WS-Reliable Messaging)形

RPC和RMI的区别(Difference Between RPC and RMI)

RPC和RMI的区别(Difference Between RPC and RMI) RPC vs RMI RPC (Remote Procedure Call) and RMI (Remote Method Invocation) are two mechanisms that allow the user to invoke or call processes that will run on a different computer from the one the user is usi

servlet,RMI,webservice之间的区别

最近项目中有提供或者调用别的接口,在纠结中到底是用servlet还是用webservice,所以上网查看了下他们以及RMI之间的区别,方便加深了解. 首先比较下servlet和webservice下  请求:     servlet:提供了请求/响应模式,是JAVA的一种规范,只能使用于java上,用来替代早期使用的难懂的CGI,是一种无状态的请求响应,客户端访问一个服务器的url,只需要发送简单的httprequest即可. 规定了四个范围:pageContext.request.sessio

http接口和webservice接口的区别

web service(SOAP)与HTTP接口的区别 什么是web service? soap请求是HTTP POST的一个专用版本,遵循一种特殊的xml消息格式Content-type设置为: text/xml任何数据都可以xml化. 为什么要学习web service? 大多数对外接口会实现web service方法而不是http方法,如果你不会,那就没有办法对接. web service相对http (post/get)有好处吗? 1.接口中实现的方法和要求参数一目了然 2.不用担心大小

WCF、WebAPI、WCFREST、WebService之间的区别

注明:转载 在.net平台下,有大量的技术让你创建一个HTTP服务,像Web Service,WCF,现在又出了Web API. 在.net平台下,你有很多的选择来构建一个HTTP Services.我分享一下我对Web Service.WCF以及Web API的看法. Web Service 1.它是基于SOAP协议的,数据格式是XML 2.只支持HTTP协议 3.它不是开源的,但可以被任意一个了解XML的人使用 4.它只能部署在IIS上 WCF 1.这个也是基于SOAP的,数据格式是XML

WCF、WebAPI、WCFREST、WebService之间的区别【转】

转自:http://www.cnblogs.com/markli/p/4460564.html 在.net平台下,有大量的技术让你创建一个HTTP服务,像Web Service,WCF,现在又出了Web API.在.net平台下,你有很多的选择来构建一个HTTP Services.我分享一下我对Web Service.WCF以及Web API的看法. Web Service 1.它是基于SOAP协议的,数据格式是XML 2.只支持HTTP协议 3.它不是开源的,但可以被任意一个了解XML的人使用

WCF、WebAPI、WCFREST、WebService之间的区别总结(实用)

在.net平台下,有大量的技术让你创建一个HTTP服务,像Web Service,WCF,现在又出了Web API.在.net平台下,你有很多的选择来构建一个HTTP Services.我分享一下我对Web Service.WCF以及Web API的看法. 一.Web Service 1.它是基于SOAP协议的,数据格式是XML 2.只支持HTTP协议 3.它不是开源的,但可以被任意一个了解XML的人使用 4.它只能部署在IIS上 二.WCF 1.这个也是基于SOAP的,数据格式是XML 2.这

Webservice soap wsdl区别之个人见解

原文:http://blog.csdn.net/pautcher_0/article/details/6798351 Web Service实现业务诉求:Web Service是真正“办事”的那个,提供一种办事接口的统称. WSDL提供“能办的事的文档说明”:对要提供的服务的一种描述格式.我想帮你的忙,但是我要告诉你我都能干什么,以及干这些事情需要的参数类型. SOAP 提供“请求”的规范:向服务接口传递请求的格式,包括方法和参数等.你想让人家办事,总得告诉人家你想干什么吧,SOAP就是定义这个