Apache Axis2是一個(gè)Web服務(wù)引擎,它是Apache Axis SOAP堆棧的全面重新設(shè)計(jì)和重寫(xiě)。它提供了Java和C兩種語(yǔ)言的實(shí)現(xiàn)版本。Axis2不僅為Web應(yīng)用程序提供Web服務(wù)接口,還可以作為一個(gè)獨(dú)立的應(yīng)用服務(wù)器。它可以輕松地與Apache Tomcat集成。目前,最新版本是1.7.8。
軟件簡(jiǎn)介
Apache AXIS2是一個(gè) SOAP("Simple Object Access Protocol 簡(jiǎn)單物件存取協(xié)議")的實(shí)現(xiàn),并已經(jīng)提交給W3C。它基于XML協(xié)議,包括定義信封框架、一套編碼規(guī)則以及如何調(diào)用及響應(yīng)遠(yuǎn)端程序。這個(gè)AXIS2項(xiàng)目是基于apache SOAP計(jì)劃。
Axis2的開(kāi)發(fā)過(guò)程涉及到部署Axis2到tomcat服務(wù)器、編寫(xiě)服務(wù)端代碼、配置service.xml文件、生成WebService部署打包文件以及發(fā)布Web服務(wù)。例如,開(kāi)發(fā)一個(gè)SayHello的Web服務(wù),該服務(wù)接收客戶(hù)端傳送的用戶(hù)名后,向客戶(hù)端返回"Hello,XXX"。通過(guò)在瀏覽器中輸入服務(wù)的URL,如果能看到服務(wù)列表中包含新發(fā)布的服務(wù),則表示W(wǎng)ebService已經(jīng)發(fā)布成功。
功能和服務(wù)
新的架構(gòu)是在2004年8月的首腦會(huì)議在斯里蘭卡首都科倫坡提出的。新結(jié)構(gòu)的axis2是建筑在axis1.x之上,相比于axis1,Axis2更加靈活、高效和更好的配置。一些好的觀念也從axis 1.X被保留在新的結(jié)構(gòu)中。Apache axis2不僅支持SOAP1.1和SOAP1.2,而且它也對(duì)于REST風(fēng)格的Web服務(wù)有綜合性的支持,相同的業(yè)務(wù)邏輯實(shí)現(xiàn)可以同時(shí)利用WS*式的接口以及REST接口。
Apache axis2較舊的版本更有效率,更加模塊化和支持更多的XML類(lèi)型。它支持輕松添加插件"模塊module",以提升現(xiàn)有的功能特征,例如安全性和可靠性。模塊現(xiàn)有或正在發(fā)展的包括:
WS 可靠消息服務(wù)由 apache sandesha2 支持
WS-Coordination and WS-AtomicTransaction由 Apache Kandula2 支持
WS-Security 由 Apache Rampart 支持
WS-Addressing 已包括作為axis2的核心模塊
Axis2有許多新的特點(diǎn),以加強(qiáng)對(duì)行業(yè)規(guī)范的實(shí)施,主要點(diǎn)如下:
速度:Axis2使用自己的對(duì)象模型和StAX(Streaming API for XML)來(lái)解析,以達(dá)到更明顯的速度。
低內(nèi)存:Axis2設(shè)計(jì)保持了低內(nèi)存占用。
AXIOM: Axis2消息處理有自己的輕量對(duì)象模型AXIOM,具有可擴(kuò)展性,高性能及開(kāi)發(fā)方便的優(yōu)點(diǎn)。
熱部署:Axis2能夠在已建立和運(yùn)轉(zhuǎn)時(shí)部署Web服務(wù)。新的服務(wù)可以添加到系統(tǒng)無(wú)需關(guān)閉服務(wù)器。
異步Web服務(wù):Axis2支持異步Web服務(wù)和異步Web服務(wù)調(diào)用,并使用非阻塞的客戶(hù)端。
MEP支持:Axis2支持消息交換模式(MEP),內(nèi)置支持WSDL 2.0定義的基本MEP。
靈活性:Axis2構(gòu)建給開(kāi)發(fā)人員發(fā)展完全自由地插入擴(kuò)展到引擎定制頭處理,系統(tǒng)管理,以及任何你可以想象的東西。
穩(wěn)定性:axis2定義了一套發(fā)布接口,其變化相對(duì)于Axis來(lái)說(shuō)變化較慢。
面向組件的部署:你可以很容易定義重用網(wǎng)絡(luò)處理器,實(shí)施的共同模式處理你的請(qǐng)求,或發(fā)給你的伙伴。
WSDL的支持:Axis2支持WebService描述語(yǔ)言(版本1.1和2.0),讓你輕松地建立STUB來(lái)連接遠(yuǎn)端服務(wù),并自動(dòng)向其他機(jī)器說(shuō)明你的服務(wù)部署。
版本發(fā)布
2012年08月17日, Apache Axis2/Java 1.6.2 發(fā)布。
2011年08月30日, Apache Axis2/Java 1.6.1 發(fā)布。
2011年05月29日, Apache Axis2/Java 1.5.5 發(fā)布。
2011年05月17日, Apache Axis2/Java 1.6.0 發(fā)布。
2010年12月19日, Apache Axis2/Java 1.5.4 發(fā)布。
2010年11月12日, Apache Axis2/Java 1.5.3 發(fā)布。
2011年01月18日,Axis2 1.5.4, Sandesha2 1.4 和 Rampart 1.5.1發(fā)布。
參考資料 >