摘要:介紹了Java ME的Web服務(wù)規(guī)范,比較了該規(guī)范定義的可選包與kXML和kSOAP之間的不同,指出了JavaME的JAX-RPC與Java SE/EE平臺(tái)上的JAX-RPC 1.1之間的差異,并給出了這些差異給Java ME程序設(shè)計(jì)者帶來(lái)的影響,為開(kāi)發(fā)者提供了一些有價(jià)值的參考。
關(guān)鍵詞:Java ME;Web服務(wù);JSR 172;JAX-RPC
O引言
在有線網(wǎng)絡(luò)環(huán)境中,Web服務(wù)已經(jīng)成為實(shí)現(xiàn)企業(yè)業(yè)務(wù)系統(tǒng)之間協(xié)同工作的一種關(guān)鍵技術(shù),Web服務(wù)也使企業(yè)更容易實(shí)現(xiàn)和影響新的服務(wù)交付類(lèi)型,以及更方便在企業(yè)合作伙伴、企業(yè)和客戶(hù)之間進(jìn)行溝通。Web服務(wù)的下一步目標(biāo),就是在任何地點(diǎn)都可以使用無(wú)線移動(dòng)設(shè)備訪問(wèn)企業(yè)應(yīng)用或數(shù)據(jù),也就是無(wú)線Web服務(wù)。目前,許多開(kāi)源軟件已經(jīng)開(kāi)始嘗試為無(wú)線Web服務(wù)提供支持,如NanoXML,TinyXML,kXML,kSOAP和kXML-RPC等。不過(guò),由于使用這些軟件通常會(huì)增加無(wú)線移動(dòng)設(shè)備客戶(hù)端應(yīng)用的大小,并且其編程接口也不統(tǒng)一,所以它們并不是企業(yè)最佳的選擇。2004年3月,由JCP(Java Community Process)制定的、旨在為Java ME應(yīng)用提供Web服務(wù)支持的JSR 172規(guī)范正式發(fā)布,它為企業(yè)尋求無(wú)線Web服務(wù)解決方案提供了一種新的選擇。借助Java手持設(shè)備,特別是Java手機(jī)的普及,它極有可能成為Java平臺(tái)上最佳的無(wú)線Web服務(wù)解決方案。本文對(duì)該規(guī)范進(jìn)行了深入的分析,指出了它與企業(yè)已存在的有關(guān)標(biāo)準(zhǔn)或應(yīng)用編程接口之間的不同之處,給出了一些建議,為Java ME平臺(tái)上的Web應(yīng)用的開(kāi)發(fā)提供參考。
1 Java ME的Web服務(wù)規(guī)范簡(jiǎn)介
Java ME的Web服務(wù)規(guī)范,即JSR 172為Java ME應(yīng)用增加了兩大功能:一是使其能夠訪問(wèn)基于SOAP/XML的遠(yuǎn)程Web服務(wù);二是使其具有解析XML數(shù)據(jù)的能力。與這兩大功能對(duì)應(yīng)的兩個(gè)可選包,即Web服務(wù)訪問(wèn)可選包和XML解析可選包可以單獨(dú)或共同集成到Java ME設(shè)備的runtime(運(yùn)行時(shí)環(huán)境)中。……