top
Loading...
.Net的精髓-XML和SOAP
看了那么多廣告和宣傳,現在你可能開始對 .NET 是什么有了一個想法。Internet 的應用正在不斷地擴大,但我們的 Internet 編程方式還處于石器時代。Internet 用戶就像老式主機的分時終端上的用戶一樣,他們從一個受保護的資源請求信息,然后等待回應。你從正在瀏覽的 Internet 站點上接收的信息由它希望提供給你的、基于 HTML 的信息組成的。

但是,同遠程 Web 站點進行交互式操作是不是更有趣?如果我們能用某種方法訪問遠程站點提供的計算能力并利用它的服務,而不僅僅是利用它的發布能力,會不會更好?這就是 .NET 將要提供的精華。

.NET 將遠程服務器所提供的計算能力和允許用戶交互操作所必需的通訊結合在一起。明確地說,.NET 是為你-Internet 開發者-所設計的,它幫助你創建可擴充的新能力。你的 Internet 站點不應該成為帶寬海洋中的孤島,相反,你能以這樣的 方式建立你的站點:通過合作和互操作能力,使它融入 Internet 之中。

所有這些的關鍵,當然是合作的能力。要具有互操作性,要以高速數據傳輸率來共享數據。如何做到這些?為什么 .NET 發生在今天而不是五年以前?

當然一部分答案就在我們今天身在其中的網絡技術之中。從來沒有現在那么多的人擁有高速帶寬連接,并且在不久的將來還會有更多的人加入進來。想像一下人人擁有 DSL、Cable Modem 或寬帶無線連接的時代 ...... 我們將很難回憶起 300 波特 Modem 的時代 :-(

在過去的幾年里,兩個最關鍵的進展就是引入了 XML 及其在 SOAP 中的應用。這些技術都是 .NET 的核心。要成為 .NET 開發世界中的佼佼者,就必須理解 XML 和 SOAP。

.NET 技術

你可能已經閱讀了一些關于 .NET 是什么和由什么東西組成的文章。.NET 允許我們在服務的層次上而不是在發布的層次上來共享信息并交互。Microsoft 的支持 .NET 的產品和許多來自第三方的組件、內容和功能擁有 .NET 的內部結構。但自然地會提出一個問題:“是什么使 .NET 能夠工作?”

這些都從 XML 開始。

用XML實現數據編碼

要想理解 .NET ,就需要理解 XML。像我們在自己的交流中所說和寫的語言一樣,XML,eXtensible Markup Language,可擴展標記語言,是 .NET 的基礎。也許我們有偉大的思想和信息可以分享,但如果我們不能以一種別人可以理解的方式來表述我們的思想和信息,我們的艱苦工作和想法就只能躺在那里睡大覺。XML 是 .NET 的靈魂,是所有 .NET 現在和將來的基礎。數據庫將通過 XML 中的紀錄集來讀寫,Web 瀏覽器將接受 XML 并將其和伴隨它的樣式表一起顯示,Visual Studio 甚至會產生 XML 代碼!不理解 XML 和與之相關的技術,你就不能同支持 .NET 的資源交流,無論是站點還是人!

對于今天的 Web 服務器而言,XML 差不多無所不在了。幾乎所有的計算平臺都能分析 XML,因而也就能獲得 XML 文檔中的內容。Windows 能,Linux 能,當然 MVS 和 VMS 也能。甚至蜂窩式移動電話也能!所以,如果我們能找到一種方式從遠程系統獲得 XML 文檔,問題就剩下如何理解文檔中包含的數據了。這時,我們通過 SOAP 搭載 XML 文檔。

用SOAP實現數據通訊

長期以來我們使用超文本傳輸協議 HTTP 來提供 Web 頁面以及往來的內容。但當我們將 HTTP 或一些其它 Internet 傳輸協議 同 XML 結合起來,并指定 XML 文檔自身的格式時,你得到了簡單對象訪問協議 SOAP。至少在開始構想它時,SOAP是被設計為從本地系統向遠程系統傳遞遠端方法調用的。基于 SOAP 的結構與同時代的其它遠程結構—DCOM、CORBA 和 RMI 等等—所不同的,SOAP 協議可以穿越任何團體的防火墻,并且 SOAP 數據包中包含著以 XML 編碼的數據。而且,它們易于分析和使用。SOAP 還有很好的伸縮性,這使得我們能同時為非常多的用戶服務。

SOAP 模型最初的構想是使用請求-響應模型,同我們今天所用的 Internet 計算模型很相似。隨后,SOAP 發展到包含了消息模型。兩者的不同之處是 SOAP 在對遠端系統上的方法參數進行編碼時,有獲得結果的特殊目的。它并不請求 Web 站點提供一個感興趣的數據表格,相反,比如說,在同樣的系統上我能調用一個假想稱為 CalculatePayment() 的遠程調用,并收到一個個人付款數值。是的,今天你能用一個表單做到這些,但關鍵是在調用服務和提交表單之間存在著差別。服務調用是功能更強的概念。

.NET:數據共享平臺

給我一種語言 XML 和一種通訊方式 SOAP,我就能建立允許我們交互和合作的系統。這就是 .NET。最初,Microsoft 將建立這種強大的共享,然后他們需要一些時間將最初的版本放到公共領域。如果 .NET 像預期的那樣工作,它將改變我們的計算習慣和業務實踐,就像在過去的二十年里 DOS 和 Windows 所做的那樣。可以預見,鼓勵用戶進行交互并為 Web 消費者提供服務的站點將繁榮昌盛。這些站點不會遇到麻煩甚至消亡,因為 Internet 消費者正在更多地意識到他們需要得到增強的服務。

胖客戶機計算并沒有消亡,但瘦客戶機計算正在市場上變得更加流行。作為一個開發者或項目經理,應該有責任學習最新的概念和技術,并把它們應用到業務實踐之中。記住達爾文的圣言:進化在產生,但自然選擇也在進行。

北斗有巢氏 有巢氏北斗