根據微軟官方的解釋,wcf(之前的版本名為「indigo」)是使用託管**建立和執行面向服務(service oriented)應用程式的統一框架。它使得開發者能夠建立乙個跨平台的安全、可信賴、事務性的解決方案,且能與已有系統相容協作。wcf是微軟分布式應用程式開發的集大成者,它整合了.net平台下所有的和分布式系統有關的技術,例如.net remoting、a**x、wse和m**q。以通訊(communiation)範圍而論,它可以跨程序、跨機器、跨子網、企業網乃至於 internet;以宿主程式而論,可以以asp.net,exe,wpf,windows forms,nt service,com+作為宿主(host)。wcf可以支援的協議包括tcp,http,跨程序以及自定義,安全模式則包括saml, kerberos,x509,使用者/密碼,自定義等多種標準與模式。也就是說,在wcf框架下,開發基於soa的分布式系統變得容易了,微軟將所有與此相關的技術要素都包含在內,掌握了wcf,就相當於掌握了叩開soa大門的鑰匙。
wcf是建立在.net framework 2.0基礎之上的,正式的版本應該會作為windows vista的核心部分而release。然而,這並不代表wcf只能執行在windows vista下。只要安裝了winfx runtime components,在windows xp和windows 2003作業系統下,仍然可以使用。visual studio 2005中並沒有包含wcf,但是當安裝好了winfx runtime components後,我們就可以在visual studio 2005環境下開發和建立wcf的程式了。
wcf是微軟重點介紹的產品,因此也推出了專門的官方**(http://windowscommunication.net),該**有最新的wcf新聞發布,以及介紹wcf的技術文件和樣例**。
二、wcf的優勢
從功能的角度來看,wcf完全可以看作是a**x,.net remoting,enterprise service,wse,m**q等技術的並集。(注:這種說法僅僅是從功能的角度。事實上wcf遠非簡單的並集這樣簡單,它是真正面向服務的產品,它已經改變了通常的開發模式。)因此,對於上述汽車預約服務系統的例子,利用wcf,就可以解決包括安全、可信賴、互操作、跨平台通訊等等需求。開發者再不用去分別了解.net remoting,a**x等各種技術了。
概括地說,wcf具有如下的優勢:
1、統一性
前面已經敘述,wcf是對於a**x,.net remoting,enterprise service,wse,m**q等技術的整合。由於wcf完全是由託管**編寫,因此開發wcf的應用程式與開發其它的.net應用程式沒有太大的區別,我們仍然可以像建立物件導向的應用程式那樣,利用wcf來建立面向服務的應用程式。http://wayfarer.cnblogs.com/images/cnblogs_com/wayfarer/wcf/wcf01.gif
2、互操作性
由於wcf最基本的通訊機制是soap,這就保證了系統之間的互操作性,即使是執行不同的上下文中。這種通訊可以是基於.net到.net間的通訊,如下圖所示:
可以跨程序、跨機器甚至於跨平台的通訊,只要支援標準的web service,例如j2ee應用伺服器(如websphere,weblogic)。應用程式可以執行在windows作業系統下,也可以執行在其他的作業系統,如sun solaris,hp unix,linux等等。如下圖所示:
3、安全與可信賴
ws-security,ws-trust和ws-secureconversation均被新增到soap訊息中,以用於使用者認證,資料完整性驗證,資料隱私等多種安全因素。
在soap 的header中增加了ws-reliablemessaging允許可信賴的端對端通訊。而建立在ws-coordination和ws- atomictransaction之上的基於soap格式交換的資訊,則支援兩階段的事務提交(two-phase commit transactions)。http://wayfarer.cnblogs.com/images/cnblogs_com/wayfarer/wcf/wcf04.gif
上述的多種ws-policy在wcf中都給與了支援。對於messaging而言,soap是web service的基本協議,它包含了訊息頭(header)和訊息體(body)。在訊息頭中,定義了ws-addressing用於定位soap訊息的位址資訊,同時還包含了mtom(訊息傳輸優化機制,message tran**ission optimization mechani**)。如圖所示:http://wayfarer.cnblogs.com/images/cnblogs_com/wayfarer/wcf/wcf05.gif
4、相容性
wcf充分的考慮到了與舊有系統的相容性。安裝wcf並不會影響原有的技術如a**x和.net remoting。即使對於wcf和a**x而言,雖然兩者都使用了soap,但基於wcf開發的應用程式,仍然可以直接與a**x進行互動。
AnimateWindow 百度百科
animatewindow 開放分類 程式設計 計算機 api 函式功能 該函式能在顯示與隱藏視窗時能產生特殊的效果。有兩種型別的動畫效果 滾動動畫和滑動動畫。函式原型 bool animatewindow hwnd hwnd,dword dwtime,dword dwflags 引數 hwnd 指...
Mashup 百度百科
mashup是糅合,是當今網路上新出現的一種網路現象,將兩種以上使用公共或者私有資料庫的web應用,加在一起,形成乙個整合應用。一般使用源應用的api介面,或者是一些rss輸出 含atom 作為內容源,合併的web應用用什麼技術,則沒有什麼限制。mashup在geek群體和網際網路玩家之中獲得了極大...
拉格朗日乘子(百度百科)
拉格朗日乘子法拉格朗日乘子 lagrange multiplier 基本的拉格朗日乘子法 又稱為拉格朗日乘數法 就是求函式f x1,x2,在g x1,x2,0的約束條件下的極值的方法。其主要思想是引入乙個新的引數 即拉格朗日乘子 將約束條件函式與原函式聯絡到一起,使能配成與變數數量相等的等式方程,從...