Java Web 服务,第 1 部分: Java Web 服务在未来一年内的发展
2009-11-05 00:00:00 来源:WEB开发网 闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鐐劤缂嶅﹪寮婚悢鍏尖拻閻庨潧澹婂Σ顔剧磼閹冣挃闁硅櫕鎹囬垾鏃堝礃椤忎礁浜鹃柨婵嗙凹缁ㄧ粯銇勯幒瀣仾闁靛洤瀚伴獮鍥敍濮f寧鎹囬弻鐔哥瑹閸喖顬堝銈庡亝缁挸鐣烽崡鐐嶆棃鍩€椤掑嫮宓佸┑鐘插绾句粙鏌涚仦鎹愬闁逞屽墰閹虫捇锝炲┑瀣╅柍杞拌兌閻ゅ懐绱撴担鍓插剱妞ゆ垶鐟╁畷銉р偓锝庡枟閻撴洘銇勯幇闈涗簼缂佽埖姘ㄧ槐鎾诲礃閳哄倻顦板┑顔硷工椤嘲鐣烽幒鎴旀瀻闁规惌鍘借ⅵ濠电姷鏁告慨顓㈠磻閹剧粯鈷戞い鎺嗗亾缂佸鏁婚獮鍡涙倷閸濆嫮顔愬┑鐑囩秵閸撴瑦淇婇懖鈺冪<闁归偊鍙庡▓婊堟煛鐏炵硶鍋撻幇浣告倯闁硅偐琛ラ埀顒冨皺閺佹牕鈹戦悙鏉戠仸闁圭ǹ鎽滅划鏃堟偨缁嬭锕傛煕閺囥劌鐏犻柛鎰ㄥ亾婵$偑鍊栭崝锕€顭块埀顒佺箾瀹€濠侀偗婵﹨娅g槐鎺懳熺拠鑼舵暱闂備胶枪濞寸兘寮拠宸殨濠电姵纰嶉弲鎻掝熆鐠虹尨宸ョ€规挸妫濆铏圭磼濡搫顫嶇紓浣风劍閹稿啿鐣烽幋锕€绠婚悹鍥у级瀹撳秴顪冮妶鍡樺鞍缂佸鍨剁粋宥夋倷椤掍礁寮垮┑鈽嗗灣閸樠勭妤e啯鍊垫慨妯煎亾鐎氾拷

如果 WCF 中包含的技术的确 得到了广泛的支持且具有很好的互操作性,我们就将有足够的理由以 SOAP 为核心构造企业 Web 服务。现在,这变成现实的可能性很大。Microsoft 于 2005 年 11 月举行的 WCF Interoperability Plug 盛会上展示了大部分主要 SOAP 框架,其中包括我将要在本文其余部分集中讨论的 Java 备选框架。这些早期的测试结果非常有限,实现完全互操作性仍然有一些问题(包括要支持仍在不断变化的 WS-* 标准的特别版本),但整个行业的方向无疑是将 WCF 技术作为下一代 SOAP 框架的核心部分加以支持。
Sun 和 Java 标准
JAX-RPC 1.0 是 Java 方面的 Web 服务的原始标准。虽然 JAX-RPC 的设计思想是可以为实际 Web 服务实现使用不同的协议实现,但在实践中,仅将其用于 SOAP 服务。已经开发了多个不同的 JAX-RPC 实现,其中使用最广泛的可能就是 Apache 框架了,其次是 Sun Microsystems 作为 Java Web Services Developer Pack 的一部分分发的 Reference Implementation。
在开发 JAX-RPC 1.0 时,行业中的很多人认为 rpc/enc 样式的 SOAP 将成为最方便和易用的 Web 服务。JAX-RPC 1.0 规范要求对 rpc/enc 和 doc/lit 样式进行支持,但并不要求对很多模式特性进行支持。这样就带来了一个很不幸的副作用,使 doc/lit SOAP(此技术是基于模式的)事实上成了一个二流选项。
JAX-RPC 1.0 对 Web 服务功能的认识也有一定的局限。从其名称可以看出,最初的目的是为了支持使用 XML 的远程过程调用(Remote Procedure Call,RPC)操作。Java 当时已经有了一项面向 Java 应用程序间的 RPC 调用的现有技术,即远程方法调用(Remote Method Invocation,RMI)。该规范团队选择了在现有 RMI 接口上对 JAX-RPC 进行建模。只要通过请求-响应操作使用 rpc/enc SOAP,此模型就可相当接近地进行匹配,不过映射到异步操作或其他传输的效果并不理想。到 2003 年底,有关人员认识到,总要对 JAX-RPC 进行大幅修订,以处理这些问题和其他问题,因此 Sun 组成了一个专家组开始进行 JAX-RPC 2.0 规范的开发。
更多精彩
赞助商链接