資源描述:
《soa-新衣裳還是美麗的謊言?》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。
1、SOA:新衣裳還是美麗的謊言?
2、第1用這樣的題目有點(diǎn)嘩眾取寵的意味,不過相對于SOA(Service-OrientedArchitecture)這個所謂“下一代軟件架構(gòu)”,任何的修飾都顯得暗淡無光。早在1996年,GartnerGroup就已經(jīng)提出了SOA的預(yù)言,不過那個時候僅僅是一個“預(yù)言”,當(dāng)時的軟件發(fā)展水平和信息化程度還不足以支撐這樣的概念走進(jìn)實質(zhì)性應(yīng)用階段。2002年12月,Gartner又提出了SOA是“現(xiàn)代應(yīng)用開發(fā)領(lǐng)域最重要的課題”,并且預(yù)言到2008年,75%的新的企業(yè)應(yīng)用將使用SOA的元素,從2003年的20%產(chǎn)生急劇的增長;到2006年,在全球銷售出的所有商業(yè)應(yīng)用產(chǎn)品中
3、,面向服務(wù)的將超過80%;到2005年,試圖建立實時企業(yè)能力的企業(yè)中,80%將會嚴(yán)重的低估網(wǎng)絡(luò)的需求,他們將不得不做出最后的增加、升級或者修改,從而能夠開展實時企業(yè)應(yīng)用和能力。2008年,SOA將成為占有絕對優(yōu)勢的軟件工程實踐方法,主流企業(yè)現(xiàn)在就應(yīng)該在理解和應(yīng)用SOA開發(fā)技能方面進(jìn)行投資,更好地支持商業(yè)流程。于是此刻,這個“老調(diào)重彈”的概念一夜之間成為各大廠商的新寵。縱觀軟件發(fā)展史,我們經(jīng)歷了面向過程->面向?qū)ο?>面向組件->面向集成的幾個時代:面向過程:高度耦合、高效率,通常是針對一個具體的應(yīng)用實現(xiàn),因此無法適應(yīng)快速業(yè)務(wù)變化,不適合做大型面向客戶應(yīng)用的開發(fā)。面向?qū)ο?/p>
4、:OOP提供了封裝、繼承、多態(tài)和重載等等一系列的特性使應(yīng)用軟件的架構(gòu)可以被重用,開發(fā)人員可以不用關(guān)心其具體實現(xiàn),而是專注于對象能夠提供怎樣的功能,因此提高了軟件重用性,從而使得整個IT的基礎(chǔ)架構(gòu)能夠適應(yīng)需求的快速變化。語言的單一性和源代碼級的共享決定了在跨應(yīng)用系統(tǒng)重用的過程中必定會有各種各樣的困難。面向組件:二進(jìn)制級別的組件共享進(jìn)一步加速了面向應(yīng)用實現(xiàn)的步伐,繼承了OO的顯著的優(yōu)點(diǎn),使得IT基礎(chǔ)架構(gòu)能夠更加快速適應(yīng)業(yè)務(wù)變化,但是平臺單一性依然阻礙了其復(fù)用程度。面向集成:這是一個完全面向業(yè)務(wù)的時代,所有的應(yīng)用都是以業(yè)務(wù)應(yīng)用為主題去組織的,但是集成高昂的成本讓許多企業(yè)望而卻步。SOA正是在這
5、樣的大背景之下應(yīng)運(yùn)而生的,在OOP相對成熟之后,軟件學(xué)術(shù)界出現(xiàn)了諸多的方法學(xué)用來解釋開發(fā)過程遇到的種種問題,比如AOP(面向方面編程)、MDA模型驅(qū)動架構(gòu)),契約式設(shè)計及其極限編程(XP)等等,于是有人提出了“后OO時代已經(jīng)到來”的論調(diào),SOA正是這個新時代最重要的軟件方法論。簡單地說,SOA是“抽象、松散耦合和粗粒度”的軟件架構(gòu),它可以根據(jù)需求通過網(wǎng)絡(luò)對松散耦合的粗粒度應(yīng)用組件進(jìn)行分布式部署、組合和使用。服務(wù)層是SOA的基礎(chǔ),可以直接被應(yīng)用調(diào)用,從而有效控制系統(tǒng)中與軟件代理交互的人為依賴性。那么我們再來看看各大廠商是怎樣宣傳和鼓吹他們對于SOA的支持?IBM:宣稱是第一個為構(gòu)建、部署基
6、于SOA的IT系統(tǒng)提供一系列全面的工具、培訓(xùn)和服務(wù)線路的大型廠商,它涵蓋了SOA生命周期的所有方面,整個概念覆蓋了他們提供的五大產(chǎn)品線和Sun這樣的公司,通過其數(shù)據(jù)庫產(chǎn)品Oracle10g和OAS(OracleApplicationServer)的支持,同時加上APF(ApplicationPlatformFoundation)的支持,因此在SOA的支持方面,Oracle將領(lǐng)先于其他廠商。Microsoft:雖然SOA的概念不是源自這家廠商,不過在后期推廣中卻占據(jù)了非常重要的位置,BiztalkServer2004的推出,也終于讓這個軟件巨人理直氣壯的開始關(guān)于SOA的宣傳,相對于其他廠商
7、而言,更加“明智”的選擇了從開發(fā)人員入手,引導(dǎo)開發(fā)人員進(jìn)入SOA,從MBF(MicrosoftBusinessFrameoting、IIOP乃至CORBA和TCP/IP都可以成為SOA的技術(shù)實現(xiàn)架構(gòu),而且也有廠商在私有協(xié)議上實現(xiàn)了SOA的模型,比如IBMS、CORBA等等協(xié)議,在Java平臺上,這些協(xié)議能夠工作的比WebServices來的有效率,在Java世界里面實現(xiàn)大統(tǒng)一的軟件架構(gòu)似乎已經(jīng)近在咫尺,那么我們也有理由選擇SOA。雖然到目前為止微軟還不足以成為這個概念的絕對領(lǐng)導(dǎo)者,但是有一點(diǎn)可以肯定,忽略微軟的團(tuán)圓是不夠完美甚至是悲哀的,雖然可以不在乎,但是忽略如此之多的微軟開發(fā)人員去論
8、述新一代的軟件架構(gòu)似乎還是底氣不足。微軟選擇了圓滑的方式去推進(jìn)SOA,雖然他的產(chǎn)品他的軟件架構(gòu)不是最出色的,但是有一點(diǎn)無可置疑,在易用性方面讓其他廠商望塵莫及。微軟也知道SOA不是WebServices,但是同樣的也知道只有WebServices才能夠真正幫助其去實現(xiàn)SOA的夢想,于是就有意的淡化其中的區(qū)別,最終的結(jié)局就是大部分的微軟開發(fā)人員以為SOA就是WebServices,而VS.目前是開發(fā)WebServices的最佳工具,雖