轉(zhuǎn)帖|其它|編輯:郝浩|2011-04-12 17:30:11.000|閱讀 617 次
概述:SOA本身就是一種面向企業(yè)級服務(wù)的系統(tǒng)架構(gòu),簡單來說,SOA就是一種進行系統(tǒng)開發(fā)的新的體系架構(gòu),在基于SOA架構(gòu)的系統(tǒng)中,具體應(yīng)用程序的功能是由一些松耦合并且具有統(tǒng)一接口定義方式的組件(也就是service)組合構(gòu)建起來的。因此,基于SOA的架構(gòu)也一定是從企業(yè)的具體需求開始構(gòu)建的。但是,SOA和其它企業(yè)架構(gòu)的不同之處就在于SOA提供的業(yè)務(wù)靈活性。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
SOA本身就是一種面向企業(yè)級服務(wù)的系統(tǒng)架構(gòu),簡單來說,SOA就是一種進行系統(tǒng)開發(fā)的新的體系架構(gòu),在基于SOA架構(gòu)的系統(tǒng)中,具體應(yīng)用程序的功能是由一些松耦合并且具有統(tǒng)一接口定義方式的組件(也就是service)組合構(gòu)建起來的。因此,基于SOA的架構(gòu)也一定是從企業(yè)的具體需求開始構(gòu)建的。但是,SOA和其它企業(yè)架構(gòu)的不同之處就在于SOA提供的業(yè)務(wù)靈活性。業(yè)務(wù)靈活性是指企業(yè)能對業(yè)務(wù)變更快速和有效地進行響應(yīng)、并且利用業(yè)務(wù)變更來得到競爭優(yōu)勢的能力。對企業(yè)級架構(gòu)設(shè)計師來說,創(chuàng)建一個業(yè)務(wù)靈活的架構(gòu)意味著創(chuàng)建一個可以滿足當前還未知的業(yè)務(wù)需求的IT架構(gòu)。使用WCF實現(xiàn)SOA,正好可以利用WCF的靈活性,把業(yè)務(wù)層封裝,發(fā)布為Web服務(wù)。這樣可以降低系統(tǒng)的耦合度,加大對未知業(yè)務(wù)的擴展性。
Web服務(wù)本來就是沒有區(qū)分代碼的,在這個例子里在下多開發(fā)了一個Service Interface目的是為了使系統(tǒng)更易于管理。在開發(fā)期間,Service是不斷更改的,如果在UI層上直接調(diào)用服務(wù)層,那更改將會是頻密的,所以在這里在下開發(fā)一個Service Interface層目的是為了把WSDL集成在同一個DLL程序集里面,進行統(tǒng)一修改。最后UI層只要直接調(diào)用Service Interface,就可以對系統(tǒng)直接進行操作。要以不同開發(fā)工具來實現(xiàn)Service Interface,這個的代價并不大,開銷是可以承擔的。下面附上最簡單的例子,希望有經(jīng)驗的高手給予點評,有不妥的地方請多加指教。
在原代碼中,在下以Ucsmy.Portal.ServiceFactory實現(xiàn)Service Interface層,其實這個ServiceFactory沒有太多工作,只是對WCF添加服務(wù)引用,然后直接生成DLL即可。當然這只是初步的做法,在日后完善代碼的時候,這一層還需要對WCF的生命流程進行管理。
最后在UI層只要直接添加對Service.Portal.ServiceFactory的引用就可以直接運行,無需再理會BLL,DAL.......等復(fù)雜的邏輯轉(zhuǎn)換。在實現(xiàn)多功能分布式開發(fā)的時候,以WCF實現(xiàn)的SOA的開發(fā)方式更能展示其優(yōu)勢。在現(xiàn)代的大型企業(yè)系統(tǒng)開發(fā)過程中,系統(tǒng)往往會使用B/S,C/S混合的開發(fā)模式。在以往的開發(fā)過程,開發(fā)人員往往把B/S,C/S分開來實現(xiàn)。在使用WCF技術(shù)后,開發(fā)人員可以把功能模塊統(tǒng)一發(fā)布為WCF,然后綁定不同的endpoint進行發(fā)布,將B/S和C/S方式的業(yè)務(wù)邏輯層真正地融合在一起,從而降低開發(fā)難度。
使用WCF實現(xiàn)SOA,可以對事務(wù)、安全、編碼等進行統(tǒng)一管理,協(xié)調(diào)了各服務(wù)器之間的系統(tǒng)操作。它涵蓋了之前微軟推出的所有用于分布式開發(fā)的技術(shù),包括Remoting、Web Services、WSE、MSMQ等,并以一種統(tǒng)一的編程模式來實現(xiàn)。WCF既支持具有互操作性的Web服務(wù),也能夠?qū)崿F(xiàn).NET客戶端與.NET服務(wù)端的通信,提供了分布式事務(wù)的支持,同時在安全性上,它完全遵循了WS-*的標準,此外,它還支持隊列服務(wù),可以非常方便地利用消息隊列完成異步操作與脫機調(diào)用。在眾多優(yōu)點的支持下,使用WCF實現(xiàn)SOA面向服務(wù)開發(fā)不失為一種理想地選擇。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:網(wǎng)絡(luò)轉(zhuǎn)載