SOA與中間件:開源中間件模式及其應(yīng)用服務(wù)器
在過去十年中,基礎(chǔ)結(jié)構(gòu)商品軟件的主要供應(yīng)商是IBM、BEA和Oracle等跨國軟件公司。但是,現(xiàn)在的情況完全不同了。開源中間件技術(shù)及其服務(wù)業(yè)正在世界范圍內(nèi)迅速興起。它像一盞明燈,指引著前進(jìn)的方向。世界軟件業(yè)的經(jīng)營模式正處在發(fā)生劇變的前夕。
中間件的開源模式
如今,國際上關(guān)于中間件技術(shù)的開發(fā)思路有兩種:企業(yè)專有模式與開源開發(fā)模式。目前,企業(yè)專有開發(fā)模式已經(jīng)取得很大的成績,例如,BEA公司的WebLogic套件包;IBM公司的WebSphere套件包;還有HP、SUN和Oracle等公司推出的專有中間件產(chǎn)品。
這些為某個(gè)企業(yè)專有的商品化中間件產(chǎn)品的性能各有特色,價(jià)格往往都十分昂貴,而且這些不同廠商開發(fā)的中間件開發(fā)工具包,由于其中含有各個(gè)廠商的不同專有技術(shù)和專利,致使這樣開發(fā)的各種應(yīng)用系統(tǒng)不易整合,更不易統(tǒng)一管理。
在如何發(fā)展中間件技術(shù)方面,還存在另外一種開發(fā)思路,還有另外一種技術(shù)實(shí)現(xiàn)路線,這就是開源開發(fā)模式。
中間件的任何一點(diǎn)功能缺失和效率低下,都會(huì)沖擊到大范圍應(yīng)用系統(tǒng)的正常運(yùn)行,甚至影響到整個(gè)分布網(wǎng)絡(luò)系統(tǒng)的安全。為了提高中間件的可靠性(含安全性)和系統(tǒng)性能,把隱藏在中間件的直觀表象背后的技術(shù)思路和實(shí)現(xiàn)方案、程序文檔和軟件源代碼全部拿出來,讓充分多的人去仔細(xì)“審視”,以求發(fā)現(xiàn)其中的任何一點(diǎn)“瑕疵”,實(shí)為一種“必需”,這就是開源中間件的出發(fā)點(diǎn)。
聯(lián)合一切
當(dāng)今,開源應(yīng)用服務(wù)器有兩種,一是JBOSS應(yīng)用服務(wù)器,二是JOnAS應(yīng)用服務(wù)器。但是,這兩者的開發(fā)思路和所追求的目標(biāo)卻有很大的不同。JOnAS項(xiàng)目為“JAVA開放應(yīng)用服務(wù)器”的縮寫,其開發(fā)活動(dòng)由法國ObjectWeb(國際開源中間件聯(lián)盟)所主持。
ObjectWeb的發(fā)展思路是“通過聯(lián)合做強(qiáng)、做大”,它的雄心是聯(lián)合一切力量,不僅聯(lián)合一切開發(fā)者和廣大用戶,而且也聯(lián)合一切相關(guān)的開源開發(fā)項(xiàng)目。其目標(biāo)就是聯(lián)合一切相關(guān)開源項(xiàng)目,組成一個(gè)統(tǒng)一的整體,幫助這些項(xiàng)目在他們的自身環(huán)境中順利成長,直到取得勝利。
ObjectWeb聯(lián)合體的最終目標(biāo)就是在開放標(biāo)準(zhǔn)的指引下,為電子商務(wù)、EAI(企業(yè)應(yīng)用集成)、家庭自動(dòng)化、電信以及數(shù)據(jù)倉庫的連接、網(wǎng)格計(jì)算、企業(yè)信息處理和微內(nèi)核設(shè)計(jì)等廣大的軟件開發(fā)領(lǐng)域提供傳統(tǒng)商業(yè)化解決方案的“開源替代物”。
由此可見,JBOSS公司的目標(biāo)就是提供圍繞JBOSS應(yīng)用服務(wù)器的“軟件服務(wù)”,開拓開源技術(shù)市場,從而為本企業(yè)獲取可觀的利潤。ObjectWeb國際聯(lián)合體的目的十分遠(yuǎn)大,它要聯(lián)合一切開源力量,聯(lián)合一切相關(guān)開源項(xiàng)目,最終建立開源中間件的發(fā)展生態(tài)鏈,真正地推進(jìn)開源中間件技術(shù)及其服務(wù)業(yè)的形成、發(fā)展和繁榮。
應(yīng)用服務(wù)器是開端
當(dāng)今,用JAVA語言開發(fā)運(yùn)行在服務(wù)器上的應(yīng)用程序,必須遵循SUN公司提出的J2EE規(guī)范,也就是說,這種規(guī)范給出了在分布式環(huán)境下開發(fā)和部署面向“組件”的Java應(yīng)用程序應(yīng)當(dāng)遵循的一些具體規(guī)則。該規(guī)范指出了如何開發(fā)、部署和集成應(yīng)用程序“組件”的具體辦法,這就是所謂的“放入J2EE平臺(tái)”。
特別是J2EE規(guī)范描述了一種“J2EE服務(wù)器”的運(yùn)行機(jī)理,“J2EE服務(wù)器”提供了一種執(zhí)行環(huán)境和一些系統(tǒng)“服務(wù)”,例如,事務(wù)處理服務(wù)、保持服務(wù)、消息服務(wù)和安全服務(wù)等。“J2EE服務(wù)器”是一種符合J2EE規(guī)范的計(jì)算機(jī)抽象物,是Java應(yīng)用程序的“活動(dòng)場地”。
典型的J2EE應(yīng)用程序由兩部分構(gòu)成:一是表現(xiàn)組件(也叫Web組件,Servlets與JSP);二是企業(yè)組件(EJB,EnterpriseJavaBeans),定義事務(wù)處理邏輯和應(yīng)用數(shù)據(jù)。J2EE服務(wù)器提供兩種“容器”,一種是負(fù)責(zé)處理Web組件;另一種是負(fù)責(zé)處理企業(yè)組件。
上面提及的JBOSS和JOnAS開源應(yīng)用服務(wù)器是“J2EE服務(wù)器”,它們分別在2004年6月19日和2005年2月1日通過了J2EE測試認(rèn)證。在J2EE服務(wù)器的發(fā)展史上,開放源碼的“應(yīng)用服務(wù)器”能夠通過J2EE的性能測試并給予“認(rèn)證”,確實(shí)是一件震動(dòng)世界軟件業(yè)的大事。開源應(yīng)用服務(wù)器是開源中間件的集中體現(xiàn),從此,對于開源中間件的各種懷疑論調(diào)都失去了根據(jù)。
企業(yè)級應(yīng)用擴(kuò)展
現(xiàn)今,開源應(yīng)用服務(wù)器已經(jīng)在企業(yè)應(yīng)用軟件市場上占有不容忽視的地位。
據(jù)BZ研究公司主持的一項(xiàng)有關(guān)Java的使用與認(rèn)知研究的調(diào)查結(jié)果發(fā)現(xiàn),他們的被調(diào)查對象回答說,使用IBMWebSphere應(yīng)用服務(wù)器占33.9%、使用BEAWebLogic應(yīng)用服務(wù)器占28.7%、使用Oracle應(yīng)用服務(wù)器占22%和使用開源JBOSS應(yīng)用服務(wù)器占34.8%,開源應(yīng)用服務(wù)器JBOSS占據(jù)了第一位。
HP、NOVELL和Unisys公司都把JBOSS應(yīng)用服務(wù)器當(dāng)作“缺?。―efault)應(yīng)用服務(wù)器”應(yīng)用在他們的硬件和軟件部署上。美國紅帽公司大力支持ObjectWeb聯(lián)合體的應(yīng)用服務(wù)器JOnAS。今后幾年,企業(yè)軟件市場上的開源中間件技術(shù)一定會(huì)成為一股強(qiáng)勁而不可阻擋的發(fā)展潮流。
IBM收購了GlueCode,一舉獲得了Apache基金會(huì)Geronimo(開源應(yīng)用服務(wù)器)開發(fā)團(tuán)隊(duì),這是IBM最新主張“開源J2EE”的一項(xiàng)具體舉措。IBM想把自己的應(yīng)用服務(wù)器WebSphere放在高端領(lǐng)域,而把開源J2EE應(yīng)用服務(wù)器放在中低端領(lǐng)域??v觀以上情況,不難看出開源技術(shù)在企業(yè)應(yīng)用市場上已經(jīng)取得的令人鼓舞的成績。
當(dāng)今,既然幾十萬行的源代碼已經(jīng)把企業(yè)應(yīng)用的“基礎(chǔ)結(jié)構(gòu)”的窗戶紙捅破了,那么,我們還有什么東西要捂著、蓋著、藏著而保守“商業(yè)機(jī)密”呢?我們要學(xué)習(xí)“TomorrowNow”(“現(xiàn)在即明天”)的精神,把ObjectWeb聯(lián)合體的JOnAS應(yīng)用服務(wù)器引進(jìn)來,老老實(shí)實(shí),逐字逐行地向人家學(xué)習(xí)應(yīng)用服務(wù)器源代碼程序,消化吸收,參與創(chuàng)新。卷起袖子,大干我國的開源中間件服務(wù)業(yè)吧!
開源中間件技術(shù)及其服務(wù)業(yè)正在世界范圍內(nèi)迅速興起。它像一盞明燈,指引著前進(jìn)的方向,世界軟件業(yè)的經(jīng)營模式正處在發(fā)生劇變的前夕。