soa本身就是一種面向企業級服務的系統架構,簡單來說,soa就是一種進行系統開發的新的體系架構,在基於soa架構的系統中,具體應用程式的功能是由 一些松耦合並且具有統一介面定義方式的元件(也就是service)組合構建起來的。因此,基於soa的架構也一定是從企業的具體需求開始構建的。但是,soa和其它企業架構的不同之處就在於soa提供的業務靈活性。業務靈活性是指企業能對業務變更快速和有效地進行響應、並且利用業務變更來得到競爭優勢的能力。對企業級架構設計師來說,建立乙個業務靈活的架構意味著建立乙個可以滿足當前還未知的業務需求的it架構。使用wcf實現soa,正好可以利用wcf的靈活性,把業務層封裝,發布為web服務。這樣可以降低系統的耦合度,加大對未知業務的擴充套件性。
web服務本來就是沒有區分**的,在這個例子裡在下多開發了乙個service inte***ce目的是為了使系統更易於管理。在開發期間,service是不斷更改的,如果在ui層上直接呼叫服務層,那更改將會是頻密的,所以在這裡在下開發乙個service inte***ce層目的是為了把wsdl整合在同乙個dll程式集裡面,進行統一修改。最後ui層只要直接呼叫service inte***ce,就可以對系統直接進行操作。要以不同開發工具來實現service inte***ce,這個的代價並不大,開銷是可以承擔的。下面附上最簡單的例子,希望有經驗的高手給予點評,有不妥的地方請多加指教。
在原**中,在下以ucsmy.portal.servicefactory實現service inte***ce層,其實這個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面向服務開發不失為一種理想地選擇。
soa的概念
soa基本架構
結合領域驅動設計的soa分布式軟體架構
使用WCF實現SOA面向服務程式設計 架構設計
soa本身就是一種面向企業級服務的系統架構,簡單來說,soa就是一種進行系統開發的新的體系架構,在基於soa架構的系統中,具體應用程式的功能是由 一些松耦合並且具有統一介面定義方式的元件 也就是service 組合構建起來的。因此,基於soa的架構也一定是從企業的具體需求開始構建的。但是,soa和其...
SOA面向服務架構
首先martin fowler提出soa歧義service oriented ambiguity,認為 什麼是soa 是不可能回答,因為不同的人意味著不同的事情,soa意味服務介面,意味流程整合,意味資源再利用,意味著管制,在下面soa元件圖中,服務和服務消費者 客戶端 之間存在多個約束,當乙個服務...
NGBOSS面向SOA構造服務
td scdma,c網割接,ngboss,移動融合,新聯通改造,最近事情真多,業務跨度太大,看來電信行業這次玩大了,從最初的地市集中到省集中,慢慢集團集中。第一代,第二代,第三代。系統整合商們,come on,嘿嘿 目前最流行的ngboss是全新的基於soa的系統,無論對中國移動還是中國的系統整合商...