程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> XML、Web服務和.NET框架(1)

XML、Web服務和.NET框架(1)

編輯:.NET實例教程
 應用程序開發技術正發生著一次質的飛躍,從根本上大幅度提高開發人員的生產效率,它開啟了一道通向全新概念的應用程序的大門。

  在過去,開發人員一直通過集成本地系統服務來構建應用程序。在這種模式下,開發人員可以訪問豐富的開發資源並能嚴格控制應用程序的行為。

  如今,開發人員在很大程度上已掙脫了這種模式的束縛,致力於構建具有復雜結構的n層系統,這種系統能將網絡中各處的眾多的應用程序進行集成,並大大提升應用程序的價值。這樣,開發人員便可集中精力挖掘軟件獨特的商業價值,而不必日夜為如何構建基本結構傷腦筋了。令人欣喜的局面將應運而生:軟件投放市場的時間大大縮短、開發人員的編程效率明顯提高,最為根本的是開發出質量上乘的軟件。

  我們正在進入一個嶄新的計算時代,一個互聯網時代,其核心技術是“可擴展標記語言”,即XML。XML創建出可供任何人從任何地方訪問和使用的功能強大的應用程序。它極大地擴展了應用程序的功能,並實現了軟件的不間斷傳輸。在這種大環境中,軟件已不完全是指那些從CD進行安裝的程序,而是已經演變成了一種服務:類似於調用者的ID驗證或按觀看次數進行收費的電視,人們可通過通信媒體預定此類服務。

  這一切,是通過將緊密耦合的、高效的n層計算技術與面向消息的、松散耦合的Web概念相結合來實現的。我們將這種計算風格稱為Web服務,它的出現標志著人類已經邁入應用程序開發技術的新紀元。Web服務是一種應用程序,它可以使用標准的互聯網協議,像超文本傳輸協議(HTTP)和XML,將功能綱領性地體現在互聯網和企業內部網上。可將Web服務視作Web上的組件編程。

  從理論上講,開發人員可通過調用Web應用編程接口(API)(就像調用本地服務一樣),將Web服務集成到應用程序中,不同的是Web API調用可通過互聯網發送給位於遠程系統中的某一服務。例如,Microsoft Passport服務使得開發人員能夠對某應用程序進行驗證。通過Passport服務編程,開發人員可以充分利用Passport的基本結構,通過運行Passport來維護用戶數據庫,以確保它的正常運行、定期備份等等。

  松散耦合

  在某個網絡中分發應用程序邏輯,並不是一個全新的概念,在Web中分發並集成應用程序邏輯才是一個嶄新的概念。

  從前,分布式的應用程序邏輯需要使用分布式的對象模型,諸如:微軟的分布式組件對象模型(DCOM)、對象管理集團的公用對象請求代理程序體系結構(CORBA)或Sun的遠程方法調用(RMI)。通過使用這種基本結構,開發人員仍可擁有使用本地模型所提供的豐富資源和精確性,並可將服務置於遠程系統中。

  這些系統有一個共同的缺陷,那就是它們無法擴展到互聯網上:它們要求服務客戶端與系統提供的服務本身之間必須進行緊密耦合,即要求一個同類基本結構。這樣的系統往往十分脆弱:如果一端的執行機制發生變化,那麼另一端便會崩潰。例如,如果服務器應用程序的接口發生更改,那麼客戶端便會崩潰。

  要求提供緊密耦合的基本結構,無可厚非,許多應用程序均是基於這種系統構建而成的。但是,當各個公司需要相互合作、或信息技術提供商擴大業務范圍時,便很難實現單一而統一的基本結構。您根本無法保證您希望與之進行遠程通信的管道的另一端,具備所有您需要的基本結構:對於它使用的操作系統、對象模型或編程語言,您可能一無所知。

  相反,Web服務彼此是松散偶合的。連接中的任何一方均可更改執行機制,卻不影響應用程序的正常運行。從技術角度講,人們已轉向使用一種基於消息的異步技術來實現高可靠性的系統性能,通過使用諸如HTTP、簡單郵件傳輸協議(SMTP)以及至為重要的XML來實現統一的連接。

  消息傳遞系統將通信的基本單元打包成自我描述型的數據包(又稱作消息),並將其放到網絡纜線中。消息傳遞系統與分布式對象系統之間的本質區別在於:要求發送方辨識接收方的基本結構的程度有所不同。在分布式系統中,發送方需對接收方的情況作出種種猜測:應用程序是如何激活或拆包的,調用的是什麼樣的界面,等等。

  另一方面,消息傳遞系統會在纜線格式級上創建合同。發送方既不需考慮消息被接收後的情況,也不需考慮接發雙方之間的通信情況,唯一需要考慮的是接收方是否能辯識發送的消息內容。

  在纜線格式級上創建合同的優勢不言而喻。例如,接收方可在任何時刻進行更改,而不會干擾發送方的消息發送,只要它仍可辯識原有消息的內容。另外,發送方無需任何特殊的軟件即可與接收方通信:只要它發出正確格式的消息,接收方就可以響應。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved