2011年10月12日 星期三

WCF觀念介紹


瞭解WCF之前,先瞭解什麼是SOA

維基百科的簡單定中描述到SOA是一個軟體架構,並且包含了兩個重點:”loosely coupled software service 低偶合力的軟體服務” 以及 ”business process 商業流程”。好複雜的詞,我們簡單來看吧。SOA想達到什麼?消費者能夠自由的購買他想要的軟體服務與服務提供者。您想要的是買一杯清涼解渴的紅茶;7-11、 全家便利、甚至是巷口的乾杯都提供了相關的服務;您可以照您心情喜好自由選擇紅茶的提供者

為什麼要說 WCF SOA 最佳實作技術
WCF 軟體技術在創作時,一開始就是希望解決這個問題空間,讓我們先看看 WCF 技術的核心概念:ABC

WCF 的設計中,服務的提供者透過Address的定義描述到服務的絕對定址;透過Contract來描述到提供的服務內容;最後透過Binding來描述到服務內容的提供方式。舉例來說:7-11提供了”沖洗照片的服務 (Contract)”;現在我想要到”吳興街281巷口 (Address)”那間 7-11 沖洗相片,所以我自己靠自己走過去請”櫃台人員收件 (Binding)”幫我沖洗我家小美女的照片。但我家的太太,她一樣要到同一家7-11(相同的 Address)去沖洗照片(相同的 Contract)可是她卻透過7-11提供的網站服務(不同的Binding方式)直接傳送照片沖洗;透過 ABC 的架構,軟體元件所提供的服務可以多元的定義;您的訂單服務可以被 WCF 技術加值為支援 Web Service、支援 MSMQ、支援 TCP 甚至是WS-* 的溝通協定。


優點:
1.   提供靈活方便的版本升級架構
2.   MSMQ提高可靠度
3.   完整的高安全性支援
4.   內建的 Logging & Tracing 訊息增加管理方便性



我們會用WCF做什麼呢?簡單來說,Silverlight的設計架構上,分成兩個部分,一個是執行在Client端的View的呈現,一個是寫在後端用來存取資料的模組,可能是一些WebService或WCF服務,這些服務才有權限可以碰觸後端的資料庫。所以前端那些漂亮的Silverlight展示層,就得透過呼叫使用WCF來跟後端的資料溝通。


資料來源

沒有留言:

張貼留言