Ajax, Java 和.NET 技术的互操作解决方案
在一些场景中,工具可以让一个服务器端应用范例构建漂亮的Ajax应用;但是,某些工具会带来互操作性的挑战。Marina Fisher 和 Gerald Beuchelt对Web 2.0应用的互操作性问题进行了深入审视并且提供了解决方案,在文章 使用Java和.NET技术实现Ajax的互操作性中,他们注意到web最终会演化为一个平台来进行应用程序构建。
“设想一下这样的场景:有一个mashup应用,必须使用若干web services ,而这些web services 运行在不同技术堆栈上,”他们说,“这个时候互操作性问题就会凸显出来。”
在他们的文章中,Fisher 和 Beuchelt首先研究了ASP.NET怎样使用Ajax来使用web service。如果这个远程服务不是采用Microsoft堆栈编写的,或者这个堆栈是微软的,但是不支持ASP.NET Ajax的话,问题就会出现。文中的一张图解释了采用SOAP或者表示状态转换(ReST)实现的场景,并提供了案例。
SOAP是最被广泛使用的互操作性标准之一,作者们探讨了传统的基于SOAP的互操作性。他们通过一个简单的Ajax应用,这个应用是Java的,采用NetBeans IDE和jMaki Ajax插件,来说明一个.NET服务和jMaki Ajax应用之间的互操作方法,基础通信协议采用的是SOAP。
Fisher 和 Beuchelt接着研究了ReST/Plain Old XML(POX)与Windows通信基础(WCF,之前代号为Indigo)之间的互操作性。他们再一次通过案例来说明问题,并且指出:“一个ReST风格的web service是通过HTTP协议的URI可寻址语义来访问的,这极大简化了客户端的集成工作。所以,.NET 和 Java之间的Web 2.0 services互操作逐渐迁移到了ReST。”
在文章的结论中,作者们建议开发者在决定如何构建一个应用以及采用哪些技术的时候,将互操作性作为一个主要因素来考虑。“这包括选择一个基于标准的数据交换格式,比如XML 或 JSON,将数据转化从实际处理逻辑中分离出来,决定选择一个客户端或者服务端代理以克服浏览器的跨域安全结构,” Fisher 和 Beuchelt写到,“ 有许多因素会影响Web 2.0应用的互操作性。”
http://sun.systemnews.com/articles/115/1/opt-dev/18595