servlet,RMI,webservice之间的区别--zhuan tie

 首先比较下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相对来讲速度上的优点也是不可忽视的。
html

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