熱門話題:使用WCF實現SOA面向服務編程—— 架構設計(附原代碼)

SOA本身就是一種面向企業級服務的系統架構,簡單來說,SOA就是一種進行系統開發的 新的體系架構,在基於SOA架構的系統中,具體應用程序的功能是由 一些松耦合並且具有統一接口定義方式的組件(也就是service)組合構建起來的。因此,基於SOA的架構也一定是從企業的具體需求開始構建的。但 是,SOA和其它企業架構的不同之處就在於SOA提供的業務靈活性。業務靈活性是指企業能對業務變更快速和有效地進行響應、並且利用業務變更來得到競爭優 勢的能力。對企業級架構設計師來說,創建一個業務靈活的架構意味着創建一個可以滿足當前還未知的業務需求的IT架構。使用WCF實現SOA,正好可以利用 WCF的靈活性,把業務層封裝,發佈爲Web服務。這樣可以降低系統的耦合度,加大對未知業務的擴展性。


 


Web服務本來就是沒有區分代碼的,在這個例子裏我多開發了一個Service Interface目的是爲了使系統更易於管理。在開發期間,Service是不斷更改的,如果在UI層上直接調用服務層,那更改將會是頻密的,所以在這 裏我開發一個Service Interface層目的是爲了把WSDL集成在同一個DLL程序集裏面,進行統一修改。最後UI層只要直接調用Service Interface,就可以對系統直接進行操作。要以不同開發工具來實現Service Interface,這個的代價並不大,開銷是可以承擔的。下面附上最簡單的例子,希望有經驗的高手給予點評,有不妥的地方請多加指教。




 

 

 

在原代碼中,在下以Ucsmy.Portal.ServiceFactory實現Service Interface層,其實這個ServiceFactory沒有太多工作,只是對WCF添加服務引用,然後直接生成DLL即可。當然這只是初步的做法, 在日後完善代碼的時候,這一層還需要對WCF的生命流程進行管理。



最後在UI層只要直接添加對Service.Portal.ServiceFactory的引用就可以直接運行,無需再理會 BLL,DAL.......等複雜的邏輯轉換。在實現多功能分佈式開發的時候,以WCF實現的SOA的開發方式更能展示其優勢。在現代的大型企業系統開 發過程中,系統往往會使用B/S,C/S混合的開發模式。在以往的開發過程,開發人員往往把B/S,C/S分開來實現。在使用WCF技術後,開發人員可以 把功能模塊統一發布爲WCF,然後綁定不同的endpoint進行發佈,將B/S和C/S方式的業務邏輯層真正地融合在一起,從而降低開發難度。

使用WCF實現SOA,可以對事務、安全、編碼等進行統一管理,協調了各服務器之間的系統操作。它涵蓋了之前微軟推出的所有用於分佈式開發的技術,包括Remoting、Web Services、WSE、MSMQ等,並以一種統一的編程模式來實現。WCF既支持具有互操作性的Web服務,也能夠實現.NET客戶端 與.NET服務端的通信,提供了分佈式事務的支持,同時在安全性上,它完全遵循了WS-*的標準,此外,它還支持隊列服務,可以非常方便地利用消息隊列完 成異步操作與脫機調用。在衆多優點的支持下,使用WCF實現SOA面向服務開發不失爲一種理想地選擇。

下載原代碼


熱門話題:使用WCF實現SOA面向服務編程——SOA的概念
熱門話題:使用WCF實現SOA面向服務編程——實現簡單的WCF開發實例
熱門話題:使用WCF實現SOA面向服務編程——使用AJAX+WCF服務頁面開發
熱門話題:使用WCF實現SOA面向服務編程——架構設計

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章