Soa和Wcf(转)
???? 傳統上來說,SOA被理解為將軟件看作是服務,這就意味著我們必須提供大量的服務給更寬泛的使用者,免費的或者收費的。Google是個將SAAS(軟件看作是服務)作為他們的Open API 和許多免費產品的指導思想的絕佳例子。隨著時間的流逝,SAAD思想的設計者不斷的鼓勵人們一遍遍的進行著這種挑戰:如何去以一種可重用的方式去暴露服務,怎樣提高這些服務的安全性以便與使他們貨幣化(轉換為商業價值),還有怎樣允許不同技術背景的客戶們能夠使用這些服務。 這些年來,軟件框架被發明了,軟件技術也發展了很多,在提出SOA架構以前,人們一直正在思考著服務會變成什么樣。?.
????? 我不十分確信是有人創造了SOA架構,這是隨著IT界的發展大家普遍認識到的,并且冠以SOA的技術名詞。有人聲稱基于個人的技術和模式來支持SOA架構,但是我認為SOA是有機的推導出來的一個范例,它的好處遠遠大與在實施過程中可能會遇到的挑戰和可能會花費的費用。SOA真正的引起大家的關注是從90年代末到21世紀初,作為可管理的框架和主流得Web應用框架最終發展到這個階段,微軟意識到了這種趨勢得強大性,創建了一整套新的創建基于Web服務應用得方法,并且與2001年ASP.Net 1.0一起發布。
????? asp.net具有一些新技術的特點,(微軟提出并且得到承認成為了標準)被大家廣泛接受為Webservice。其中的一些技術,早期版本得SOAP等,已經在早期得Microsoft's DNA architecture for Visual Studio 6項目研發人員中得到了應用。但是當asp.net1.0發布后,Soap與其他必要得技術一起使Web service成為對與沒有資金建立Windows IIS server得人員真正得有用的技術。
?????? 在我們認識SOA之前,中間件產品如Vitria BusinessWare等都屬于這個范疇。 廠商們需要話費大量的資金去建立這些中間件解決方案,以便于可以和不同的技術之間相互協作。這是非常巨大的,昂貴的,不十分靈活的解決方案,常常需要很大的開發團隊,以及維護瓶頸。.不要被“如果用的好的話,他們會做的非常的好” 這句話誤導。這些中間件方案是定位在解決特定需求(一旦特定需求滿足,整個工作結束)的問題, 這種問題遠沒有滿足產品需求那樣復雜。
?????? 當Asp.net發布后,一位記者表露了WebService對他來說以為著什么,他說:“WebService 就是一種面向大眾得中間件”。 沒有比他這種說法更貼切得了。Web Service 技術,比如SOAP確實是對系統不熟悉得人相互交互成為可能。在SOAP發布后得不長時間內,中間件廠商競相將SOAP集成到他們得產品中。這看起來有點近乎瘋狂,但這確實滿足了在傳統得沒有使用SOAP技術得系統與新的已經在使用WebServer技術得系統之前建立一座橋梁得目的。
??????? 在當時那種環境下,面向服務得架構依然沒有像現在一樣成為普遍得詞匯,在此之前,如果你在談論SOA,實際上你在談論得是WebService 或者中間件,隨著這兩種技術的發展,他們之間不斷的發生碰撞,越來越多的人開始意識到SOA的藍圖是什么樣子,WebService不僅僅是一項技術,或者一個工具,而是一種從內到外的做事情的方式。
??????? 微軟在這一時期表現的意氣風發。作為SOAP和Web Service的主要的支持者之一(可以說微軟在這些技術上投入了很大的賭注),微軟持續的努力推動這些技術的進步,進而使SOA成為可能,在一伙兒天才的努力推動下,微軟決定將 named-pipes, TCP-binary remoting, DCOM, MSMQ 等等這些技術結合起來創建一種可重用的,可插拔的框架用以支持進程間的協作與交流,但是卻沒有達到令人振奮的效果。在傳輸過程中,進程間往往需要將一些共有的或者私有的信息格式添加進來。如果我們能夠在運行時去制定這些傳輸方式和信息格式,而在設計時只關心我們的業務實現的話,這種問題就能夠更高好的解決。
正式在這種思想的指引下WCF應運而生了。WCF一開始是打算綁定到Longhorn操作系統與2004年發布的。如果當時longhorn操作系統如期發布,可能Wcf就會成為Longhorn操作系統的特定技術了。然而現實是Longhorn操作系統(Vista,Windows Server2008)的發布卻一再延期,高層們意識到讓用戶們去等待WCF發布的代價太大了。結果,WCF被作為.Net Framework 3.0 的一步分與2006年秋發布,并且可以兼容Winxp系統和Win2003 系統,這樣,重點就轉到了這個關鍵的Framework是否能如期的發布。
????? ?對微軟走向SOA的道路來說,Longhorn系統發布的一再延期卻成為最有益得事情,假如WCF真的作為Longhorn的一個特性發布,企業用戶可能會懷疑微軟有“擠牛奶”之嫌,進而對WCF在微軟SOA道路上的重要性產生懷疑。然而現實情況是WCF是微軟不懈余力的在面向服務這塊領域上下的賭注的核心和前沿。
????? ?有一小部分堅定的用戶對微軟的任何事情都十分狂熱,而大部分的微軟用戶都只是信任微軟的技術,而采取觀望的態度。?? 微軟在WCF方面做的比較漂亮的地方是使用戶們認識到WCF 是由Web Service發展來得。在此之前WebService已經出現了近十年了,WCF只是是它變得更精巧。這使的一方面這少部分的狂熱者不會對WCF失望,另一方面他們帶來的好處也是不可否認的。
?????? WCF帶來的最大的好出就是相互協作的能力,它這么重要是因為微軟意識到沒有任何一種技術可以在企業服務市場獨自壟斷,這就意味著可以與其他技術很好的協作變得十分重要,也正因為此SOAP等等的這類技術變得不可或缺,使用這些技術所面臨的問題是在必須達到好的互操作性這種抽象的層面上令人畏縮,也正是由于此,中間件產品市場才會逐年增長。隨著WCF的發布,將結束這一混亂,令人畏縮的時代。
SOA的強大之處之一就是他天生的具有很好的可擴展性。每一個SOA都可以被看作建設更大的應用的基礎。大塊的功能可以被分散到可管理的和經濟上可依靠的子系統中。這種分散使我們能將注意力更加集中在需求的獲取和相關功能的開發上,從而提高系統的可依靠性。同時,通過可以提供可以用在任何客戶端上的穩定的功能模塊(比如GUI,Website,或者其他的SOA應用中)。SOA天生的具有橫向的和縱向的可伸縮性,進而使N層架構的真正有點被體現出來。
?????? SOA的功能十分的強大,就像Ben Parker說得那樣強大的力量意味著更大的責任。SOA不是免費的,要達到如此的進程間互操作性,需要的代價是更加的抽象.向上述的那樣,SOA也不是適合與任何的阿系統或應用。你必須在商業需求的增長和可擴展性與性能以及資源的利用上作出權衡。SOA的應用肯定不會向客戶端應用那樣迅速,也不想數據庫解決方案那么”苗條“。架構師和經理們需要做的是確保應用SOA在合適的地方。
總結
以上是生活随笔為你收集整理的Soa和Wcf(转)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 金御® GM-AFM介绍
- 下一篇: 简单记事本0.2