SOA是起源于Gartner于1999年勾勒出的IT基礎(chǔ)架構(gòu)概念。在這種新的IT環(huán)境下,軟件應(yīng)用像積木一樣可由模組化的軟件元件在一個(gè)標(biāo)準(zhǔn)化基礎(chǔ)平臺(tái)上組合而成,借由提高軟件元件的重覆使用性,達(dá)到降低開發(fā)成本,最少做到應(yīng)用與應(yīng)用整合的目的。
事實(shí)上,SOA并不是IT業(yè)界第一次為建立整合無礙的IT環(huán)境而作的努力。IT歷史上出現(xiàn)各種技術(shù),包括CORBA與微軟自有技術(shù)像是微軟 MessageQue、COM+、.Net Remoting等等,都意在解決企業(yè)應(yīng)用整合的問題,然而卻礙于各種程序通訊界面無法互通而都未能真正實(shí)現(xiàn)承諾。
SOA與Web services建立“松散藕合”式應(yīng)用系統(tǒng)的理念,IT大廠如IBM、BEA、微軟、Sun、甲骨文等皆一呼百應(yīng)。同時(shí),業(yè)界大廠也開始推動(dòng)Web services的管理協(xié)定之標(biāo)準(zhǔn)化,像是Sun推動(dòng)SAML,而微軟IBM支持WS-Star。
微軟多年來已將應(yīng)用服務(wù)器(包含在操作系統(tǒng)中)、開發(fā)工具、(B2B)應(yīng)用整合軟件加以改寫,以便提供單一平臺(tái),稱為.Net,協(xié)助企業(yè)可建立透通整合的IT基礎(chǔ)架構(gòu)。
去年12月推出的.Net Framework 2.0中的CLR (Common Language Runtime)可讓開發(fā)人員利用各種語言,如C++、C#、J#等在Windows平臺(tái)上開發(fā)應(yīng)用;ASP.NET 2.0及Windows Form 2.0,可作為網(wǎng)頁及Client/Server應(yīng)用程序的開發(fā);以及作為數(shù)據(jù)庫開發(fā)的ADO.Net。
“.Net Framework 3.0則是拼圖上最后填上的一塊拼片,”微軟開發(fā)工具部門副總經(jīng)理劉念臻說。.Net Framework 3.0原名WinFX,相較于2.0,WinFX新增四大組件:WCF(Windows Communication Foundation)、WPF(Windows Presentation Foundation)、WF(Windows Workflow Foundation)及Window CardSpace。
其中CardSpace 是加密安全技術(shù)。WF可作為商業(yè)流程管理(Business Process Management, BPM)的底層引擎,與網(wǎng)絡(luò)上的應(yīng)用加以結(jié)合。WPF則較針對個(gè)人開發(fā)者,讓他們可以開發(fā)出能在Web、桌面電腦及手持設(shè)備上執(zhí)行的動(dòng)畫影像,類似Adobe的Flash;WPF有助于吸收過去為Adobe用戶的程序設(shè)計(jì)師。
而與應(yīng)用整合最相關(guān)的則是WCF。WS-Star處理安全、信息穩(wěn)定性及互通,其中多項(xiàng)已實(shí)作于WCF中。臺(tái)灣微軟開發(fā)工具產(chǎn)品營銷經(jīng)理胡德民指出,原名indigo的WCF將可整合微軟自己微軟 MessageQue、COM+、.Net Remoting以及最新的Web services。并且3.0版本是2.0之上的擴(kuò)展,能確保與既有程序的兼容性而不用改寫,他說。
胡德民以電影《黑客任務(wù)》為比喻,說明舊有程序仍然使用原有通訊協(xié)定卻可相互整合?!熬拖衲愦蜷_一道門走出去看見一片曠野,而別人從另一道門來到一座街道,其實(shí)兩個(gè)人用的是同一道門?!彼f。
相比之下,Java大廠BEA、IBM、Orcle與Sun的應(yīng)用服務(wù)器雖然同屬J2EE,不過應(yīng)用真正布署好時(shí),則無法如理論上可以和其他平臺(tái)互通無礙。
.Net Framework 3.0將包含在預(yù)定2007年一月上市的Vista中出貨,而于十月底推出RTM版本。
Vista問世之后,接著還有代號(hào)為“Longhorn”的微軟下一代服務(wù)器操作系統(tǒng)。Longhorn也會(huì)與.Net Framework 3.0共用,構(gòu)成服務(wù)器到桌面端單一的開發(fā)環(huán)境,簡化企業(yè)應(yīng)用開發(fā)的復(fù)雜度,劉念臻表示。
雖然微軟.NET framework 3.0整合的還是自己平臺(tái)上的應(yīng)用,但比起Java各立山頭的局面,“.NET的SOA至少已從自己開始做起,實(shí)現(xiàn)應(yīng)用的統(tǒng)一化?!彼f。