楊榮芳
(92493部隊98分隊,遼寧葫蘆島,125001)
伴隨著軟件開發(fā)方法與技術(shù)的不斷成熟應(yīng)用,計算機應(yīng)用軟件變得異常的復(fù)雜,由于不同軟件平臺和工具的運用,加上不同的語言、操作系統(tǒng)和軟件結(jié)構(gòu)體系的緊密耦合,導(dǎo)致了不同的軟件成了“信息孤島”。當(dāng)前,選擇合適的集成平臺整合企業(yè)內(nèi)部信息系統(tǒng),有機集成“信息孤島”顯得非常必要。
SOA在本質(zhì)上可以看做是服務(wù)的集合,不同的服務(wù)間彼此簡單的數(shù)據(jù)傳送或協(xié)調(diào)某些活動。而且不同的服務(wù)之間需要某些方法進(jìn)行連接。其實,SOA不能說是現(xiàn)成的技術(shù),應(yīng)該看成是一種IT基礎(chǔ)結(jié)構(gòu)、業(yè)務(wù)功能架構(gòu)和組織的方法。
SOA由服務(wù)請求者,服務(wù)提供者和服務(wù)注冊中心三個部分組成,這也是SOA的主要結(jié)構(gòu)基礎(chǔ)。三個主要部分按照“發(fā)布、查找、綁定和觸發(fā)”的機制運行,下圖1展示了SOA的基本組成關(guān)系。
1)服務(wù)請求者:可以是應(yīng)用程序或者是軟件模塊,同樣也可以是嵌套的服務(wù)請求。服務(wù)的請求者會向注冊中心發(fā)出一次服務(wù)的查詢請求,然后通過傳輸綁定服務(wù),最后執(zhí)行服務(wù)功能。
2)服務(wù)提供者:可以是借助于網(wǎng)絡(luò)尋址的一個實體對象,專門用來接受、執(zhí)行那些來自服務(wù)請求者的各種服務(wù)請求。服務(wù)提供者會將自身的服務(wù)與接口契約提前向到服務(wù)注冊中心發(fā)布,這樣,一旦有服務(wù)請求者發(fā)出服務(wù)請求的時候就能夠發(fā)現(xiàn)和訪問該項服務(wù)。
3)服務(wù)注冊中心:支持和發(fā)現(xiàn)服務(wù)請求者提出服務(wù)請求的。服務(wù)注冊中心存儲著所有的可用服務(wù),同時注冊中心還允許所有服務(wù)請求者發(fā)出的查找服務(wù)提供者接口的請求。
服務(wù)是SOA的關(guān)鍵,SOA能夠借助發(fā)布的方法實現(xiàn)即插即用的服務(wù)。也就是說潛在的服務(wù)請求用戶發(fā)出查詢服務(wù)請求的時候,查詢服務(wù)的提供者能夠向這些用戶提供查詢服務(wù)的描述,請求與服務(wù)相互結(jié)合,也使得各種查詢服務(wù)工作更加的便捷。SOA中的服務(wù)有功能性服務(wù)和質(zhì)量保證服務(wù)兩種類型,圖2是這兩種服務(wù)分類的具體情況:
SOA的主要目的是為了幫助企業(yè)實現(xiàn)IT資源的最大化利用率,實現(xiàn)各種系統(tǒng)間的有效集成,SOA有以下幾個主要的特征:
1)外部訪問。外部的伙伴能夠訪問并使用服務(wù)。
2)服務(wù)隨時可用。SOA會對所有的服務(wù)請求者提供積極的響應(yīng),當(dāng)前大多數(shù)的SOA集成系統(tǒng)幫助企業(yè)的門戶應(yīng)用系統(tǒng),為各系統(tǒng)之間的同步應(yīng)用和異步應(yīng)用提供及時的服務(wù)回應(yīng)。
3)服務(wù)接口粗粒度。SOA采用粗粒度的服務(wù)接口使得服務(wù)的使用者和服務(wù)層之間一次往復(fù)就能實現(xiàn),避免了以往的多次往復(fù)。而且從事務(wù)角度來看,向后臺服務(wù)發(fā)送大塊數(shù)據(jù),借助于粗粒度的請求是獲得及時反饋的唯一有效途徑。
4)耦合度松散。明顯區(qū)別與大多數(shù)的組件架構(gòu),SOA具備松散耦合組件服務(wù)的特點,這個特性也幫助服務(wù)的使用者和提供者在服務(wù)實現(xiàn)的過程中相互隔離,使得服務(wù)的接口能成為服務(wù)實現(xiàn)而分離的實體。
下面簡單介紹下SOA的優(yōu)勢:首先,SOA使得編碼非常的靈活,實現(xiàn)了基于模塊化的低層服務(wù),還能借助不同組合實現(xiàn)高層服務(wù),這樣也保證了SOA可以實現(xiàn)代碼的重用和編碼的靈活性;其次,SOA還能夠支持多種客戶類型,SOA能夠借助于精確的服務(wù)接口定義,支持XML、web服務(wù)標(biāo)準(zhǔn),使得SOA可以支持包括PDA、手機等多種客戶類型的新型訪問渠道;SOA更易維護(hù),這是因為查詢請求服務(wù)的提供者和使用者之間的耦合關(guān)系送上,再加上采用了開放的標(biāo)準(zhǔn);SOA具備更好的伸縮性,SOA在請求服務(wù)設(shè)計、開發(fā)和部署過程當(dāng)中都采用的是可伸縮性的架構(gòu)模型,這樣請求服務(wù)的提供者能夠彼此獨立,并且還能積極響應(yīng)滿足服務(wù)需求;最后,SOA還具備更高的可用性,服務(wù)的請求者無需了解具體的實現(xiàn)細(xì)節(jié),就能在WebLogic集群環(huán)境中靈活部署,并且能夠?qū)⒎?wù)請求者的請求轉(zhuǎn)接到可用例程。
SOA應(yīng)用集成框架具備靈活和開放性等特點,能夠整合Web Services技術(shù),借助面向服務(wù)的集成實現(xiàn)抽象的接口,保證了用戶在發(fā)送服務(wù)請求的同時無需了解底層的實現(xiàn)細(xì)節(jié)和協(xié)議接口等信息,交互式訪問系統(tǒng),其集成框架如圖3所示。
圖1 SOA基本組成結(jié)構(gòu)圖
圖2 SOA服務(wù)分類情況
圖3 基于SOA的應(yīng)用集成框架
SOA具體的實現(xiàn)有很多,但隨著Web Service技術(shù)被越來越重視, 其已經(jīng)成為構(gòu)建SOA的主要技術(shù)。它使用基于XML的消息處理作為基本的數(shù)據(jù)通訊格式,使用SOAP協(xié)議在服務(wù)提供者與服務(wù)使用者之間進(jìn)行通信,這樣就避免了傳統(tǒng)的集成系統(tǒng)在組件類型、編程語言和操作系統(tǒng)方面的差異性帶來的問題,保證了各種不同系統(tǒng)間在借助網(wǎng)絡(luò)通訊實現(xiàn)協(xié)同運作。
Web服務(wù)由 SOAP、WSDL和UDDI等技術(shù)組成,每項SOA服務(wù)都有一個與之相關(guān)的服務(wù)品質(zhì)QoS。QoS的一些關(guān)鍵元素包括安全需求、可靠通信、以及誰能調(diào)用服務(wù)的策略。
Web Services的接口定義了接口中所需要的每個方法,并且下屬部門的協(xié)議伙伴都會按照Web Services去實現(xiàn)這些接口方法,在這里僅給出三個非常重要的接口函數(shù), 如 getSupplierDetails()、getProductDetails()、reserveOrder(),其中g(shù)etSupplierDetails ()的功能是為了獲取協(xié)議伙伴的詳細(xì)信息,getProductDetails()是獲取的詳細(xì)信息,reserveOrder()的功能是下訂單。
通過上文的解析運用,基于SOA系統(tǒng)集成方法能夠解決好當(dāng)前集團(tuán)內(nèi)部“信息孤島”問題,非常有效的集成了現(xiàn)有系統(tǒng),而且基于SOA的系統(tǒng)集成方法耦合低,非常的靈活和安全,滿足了不分布式的需求,而且還易于跨平臺和擴(kuò)展。
[1]王益祥、薛霄.基于SOA架構(gòu)下的企業(yè)應(yīng)用集成技術(shù)研究[J].控制管理,2010(26).64-65.
[2]Thoms Er.Service-Oriented Architecture Concepts,Technology and Design[M].北京:機械工業(yè)出版社,2007:78-79.
[3]毛新生.SOA原理方法實踐[M]北京:電子工業(yè)出版社,2007:54-55.
[4]張倩.基于SOA架構(gòu)的企業(yè)應(yīng)用集成的設(shè)計和實現(xiàn)[D].北京交通大學(xué),2008.
[5]盧致杰,覃正,韓景倜等.SOA體系設(shè)計方法研究.工業(yè)工程,2004,7(6):14-19