Web Services和其他的技术的比较
来源:互联网 发布:第36个故事 知乎 编辑:程序博客网 时间:2024/04/30 11:47
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文档,来实现应用,大大的提高了系统的互操作性(与不同的系统之间的通信)。而且系统中各个单元业务逻辑清楚,这样就具有很高的可移植性和可重用。
UDDI与JNDI
UDDI是服务的注册管理协议,UDDI注册中心是用来注册服务的,用户可以通过WSDL来进行服务注册,客户通过在UDDI注册中心上查找服务,获得WSDL文档,根据WSDL文档,获取访问服务的方法,从而用SOAP与服务进行通信。它可以通过数据库来实现,也可以用开源或公司(IBM等)的,使用XML来表现。当用户查询,其细节可以由XML格式的信息返回。其访问程序不过是一个层次向下的查找的过程。它注册的服务是通用的,与平台无关,而且注册的方式是通用的XML的格式。它可以面向Internet,或Interanet为各种用户,提供各种各样的服务。
JNDI是Java服务命名目录,它以树的形式记录了EJB,DataSource的访问目录,程序可以通过JDNI和RMI来定位服务。具体的通过它们的部署文件,当服务器启动后,它根据部署文件自动建立JNDI,支持RMI和命名服务的查询(由服务器自己实现)。然后RNI就可以访问这些组件。它的思想和UDDI基本差不多,但它与具体的体系平台绑定,而且是由服务(与程序相关,严格不应该叫服务,应该说是组件)完全绑定,实现方式简单。因此UDDI相对于JNDI,更动态,更易操作.
WSDD与EJB的配置文件
对于CMP型的实体bean,WSDD与其配置文件有相似之处,但是它描述数据与数据库形成映射,不涉及方法,有服务器系统底层实现访问方法。而WSDD定义服务的访问接口,有支持web services的系统底层进行识别接口,传送数据等。
- Web Services和其他的技术的比较
- WCF与web services 的比较
- Style Report和其他web报表工具的比较
- Tomcat和其他web服务器引擎的比较
- 大家在了解微软.NET中比较关心的技术--【Web Services】文章之一
- 从对web services的支持来比较J2EE和.NET
- 软件发展的轨迹 和 Web Services
- Web Services和.NET remoting 的对比
- Web Services的起源和基本原理
- 北大暑期课作业 - 对cnblog 和其他技术博客的分析,比较和展望
- 北大暑期课作业 - 对cnblog 和其他技术博客的分析,比较和展望
- Java和PHP的web开发技术比较
- Java和PHP的web开发技术比较
- Java和PHP的web开发技术比较
- 几点有关Web Services的技术学习总结
- 几点有关Web Services的技术学习总结
- 一种有状态的Web Services技术——WSRF
- Web Services的魅力
- 齐家 治国
- 代码包含
- jspSmartUpload上传下载全攻略 (转)
- RPM命令手册
- 使用J2SE API读取Properties文件的六种方法(选择自 kindani 的 Blog )
- Web Services和其他的技术的比较
- 从前有两只小猪,他们互相相爱着,整天过着无忧无虑的生活
- 为FC3安装vmware tools问题的完美解决方案--come from vmware.cn' jorin
- asp.net调试
- 如何扩大Vmware原来建立的硬盘大小--come from vmware.cn ' ashulan
- sizeof,终极无惑(1)
- 泰文换行处理
- 一句话 C++
- 追梦人