当前位置:编程学习 > JSP >>

Web Services和其他的技术的比较


XMLHTTP与SOAP:
    XML是web serivces的核心基础技术,是SOAP实现的关键所在;而XMLHTTP就是根据XML来设计的。从实现的方式上讲:XMLHTTP是基于浏览器的,只要有IE,就能实现向服务器传递XML字符串,具有很高的通用性。但是浏览器不是用来做XMLHTTP,它是面向大众用户浏览的,如果能用XML完成各种操作,必然会影响到用户。比如以前版本的msxml的对应浏览器,是可以访问客户端XML文档(初始时为XMLHTTP设计的),也就意味着可以通过XMLHTTP技术访问本地文件系统。后来microsoft把它定义为漏洞,现在就不行了。当然也可以编写客户端程序,只不过限于Visual 系列的程序,他们可以调用msxml中的API。但是服务端可以是asp,jsp/servlet都可以,都是把xml串变成xml文档对象。
    SOAP是XML格式的通信协议,包含:SOAP封套定义了描述消息内容的约定,暗示了消息的处理方式;协议绑定提供了通过更底层协议传输SOAP封套的一套通用机制;编码规则是把各种应用程序数据类型映射为基于标签的XML表示方法的约定;RPC机制提供了一个表示远程过程调用及其返回值的方法。它与其他的协议之间没有明确的关系,他本省就是一种协议。它可以与http.stmp,tcp等协议绑定。SOAP消息是XML文档,还可以带附件,它可以根据W3C定义的API,生成SOAP消息,当然microsoft的.net平台也支持SOAP。SOAP+HTTP和XMLHTTP相似,当它提供更好和更强大的实现功能,可拓展性和分布协作通信中的通用性,更重要的是它已成为Web Services和线路通信的关键技术。
SOAP和RMI,CORBA,COM
    RMI和COM都是分布式应用的实现方式,它们定义组件之间的通信。由于它们只是一个体系(例如用java写的一系列程序)下程序之间的通信约定,而且通信需要特定的平台支持,除了本体系之内的通信是高效之外,不能与别的体系下的程序。
    CORBA就是为了解决这种通信问题,设计了代理请求模型(利用IDL语言),这样能够彼此之间的通信,但这样好像是修补,不能解决根本问题,是系统变得越来越复杂,而且用CORBA仅仅在挽回旧系统的使用价值有效果。他们都不能透过防火墙的。SOAP+HTTP是防火墙的友好协议,能够透过防火墙的。
    SOAP是一种与具体实现无关的协议,基于XML格式,传输XML格式的数据,使得系统变得松散。这样在应用中利用XML的可读性,解析XML文档,来实现应用,大大的提高了系统的互操作性(与不同的系统之间的通信)。而且系统中各个单元业务逻辑清楚,这样就具有很高的可移植性和可重用。
补充:Jsp教程,Jsp/Servlet开发工具
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,