WCF分布式開發步步為贏(1):WCF分布式框架基礎概念
眾所周知,系統間的低耦合一直是大型企業應用系統集成追尋的目標,SOA面向服務架構的出現為我們的如何利用現有企業系統資源進行企業ERP系統設計和實現提供了重要的參考原則。SOA如此炙手可熱,各大廠商都推出了自己的中間件產品,比如Oracle Fusion和 SAP NetWeaver,IBM、BEA等企業也推出了自己基于SOA的解決方案。基于J2EE平臺的SOA架構設計中的一個重要概念就是EJB企業服務總線,作用是實現各個系統的數據交互。而.NET平臺上,WCF就是微軟為各個系統的數據交互提供通訊基礎框架。由于論文課題的原因,我對SOA(Service-oriented architecture,面向服務架構)有了接觸,并且產生了濃厚的興趣。故此對.NET平臺上基于SOA的企業應用系統集成和實現技術進行潛心學習,總結心得和體會,整理出布式開發的系列文章,與大家分享。
下面介紹一下《WCF分布式開發步步為贏》系列文章的結構。首先會是WCF分布式開發基礎概念的介紹,其次會設計各個知識點詳細的介紹和應用,中間會穿插與以前技術的對比分析,涉及服務契約、數據契約、操作契約、事物、安全、消息隊列等重要概念。同樣作為老徐一貫的風格,我會盡量做到文章的調理清晰、系統詳細、通俗易懂!也會放出標注的詳細代碼供大家參考學習。 本節文章的結構是:1.WCF基礎概念介紹2.WCF新的特性3.WCF框架模型4.實現代碼分析5.總結。
【1】WCF基礎概念介紹
要學習WCF,首先我們要清楚WCF的基本概念,那么什么是WCF呢?
WCF全稱Windows Communication Foundation,是Microsoft為構建面向服務的應用提供的分布式通信編程框架,是.NET Framework 3.5的重要組成部分。使用該框架,開發人員可以構建跨平臺、安全、可靠和支持事務處理的企業級互聯應用解決方案。
根據微軟官方的解釋,WCF(之前的版本名為“Indigo”)是使用托管代碼建立和運行面向服務(Service Oriented)應用程序的統一框架。它使得開發者能夠建立一個跨平臺的安全、可信賴、事務性的解決方案,且能與已有系統兼容協作。WCF是微軟分布式應用程序開發的集大成者,它整合了.Net平臺下所有的和分布式系統有關的技術,如Enterprise Sevices(COM+).Net Remoting、Web Service(ASMX)、WSE3.0和MSMQ消息隊列。以通信(Communiation)范圍而論,它可以跨進程、跨機器、跨子網、企業網乃至于 Internet;以宿主程序而論,可以以ASP.NET,EXE,WPF,Windows Forms,NT Service,COM+作為宿主(Host)。WCF可以支持的協議包括TCP,HTTP,跨進程以及自定義,安全模式則包括SAML, Kerberos,X509,用戶/密碼,自定義等多種標準與模式。也就是說,在WCF框架下,開發基于SOA的分布式系統變得容易了,微軟將所有與此相關的技術要素都包含在內,掌握了WCF,就相當于掌握了叩開SOA大門的鑰匙。(參考MSDN)
這里SOA概念我們要明確一下,SOA(Service-oriented architecture,面向服務架構)是一種架構模式和設計原則。在By Juval Lowy 一書中解釋為SOA(Service-oriented applicatoin)面向服務的應用程序,兩者應該不沖突,后者應該是采用SOA面向服務架構設計和實現的應用程序(Service-oriented applicatoin)。
WCF的強大之處就是因為整合了.Net平臺下所有的和分布式系統有關的Enterprise Sevices(COM+).Net Remoting、Web Service(ASMX)、WSE3.0和MSMQ消息隊列等技術,我在之前的WCF分布式開發必備知識和WSE3.0構建Web服務安全系列文章中都給出了詳細的介紹,這里就不在詳述,有興趣的朋友可以自己查閱。以后具體介紹WCF相關知識點的時候需要的地方我會在進行講解。
留言列表