web service到底是什麼;在什麼情況下你應該使用web service。
分布式應用程式和瀏覽器
研究一下當前的應用程式開發,你會發現乙個絕對的傾向:人們開始偏愛基於瀏覽器的瘦客戶應用程式。這當然不是因為瘦客戶能夠提供更好的使用者介面,而是因為它能夠避免花在桌面應用程式發布上的高成本。發布桌面應用程式成本很高,一半是因為應用程式安裝和配置的問題,另一半是因為客戶和伺服器之間通訊的問題。
傳統的windows富客戶應用程式使用dcom來與伺服器進行通訊和呼叫遠端物件。配置好dcom使其在乙個大型的網路中正常工作將是乙個極富挑戰性的工作,同時也是許多it工程師的噩夢。事實上,許多it工程師寧願忍受瀏覽器所帶來的功能限制,也不願在區域網上去執行乙個dcom。在我看來,結果就是乙個發布容易,但開發難度大而且使用者介面極其受限的應用程式。極端的說,就是你花了更多的資金和時間,卻開發出從使用者看來功能更弱的應用程式。不信?問問你的會計師對新的基於瀏覽器的會計軟體有什麼想法:絕大多數商用程式使用者希望使用更加友好的windows使用者介面。
關於客戶端與伺服器的通訊問題,乙個完美的解決方法是使用http協議來通訊。這是因為任何執行web瀏覽器的機器都在使用http協議。同時,當前許多防火牆也配置為只允許http連線。
什麼是web service
返回的資料就應該是這樣:
21,晴
這個asp頁面就應該可以算作是web service 了。因為它基於http get請求,暴露出了乙個可以通過web呼叫的api。當然,web service 還有更多的東西。
下面是對web service 更精確的解釋: web services是建立可互操作的分布式應用程式的新平台。作為乙個windows程式設計師,你可能已經用com或dcom建立過基於元件的分布式應用程式。com是乙個非常好的元件技術,但是我們也很容易舉出com並不能滿足要求的情況。
新平台web service平台需要一套協議來實現分布式應用程式的建立。任何平台都有它的資料表示方法和型別系統。要實現互操作性,web service平台必須提供一套標準的型別系統,用於溝通不同平台、程式語言和元件模型中的不同型別系統。在傳統的分布式系統中,基於介面(inte***ce)的平台提供了一些方法來描述介面、方法和引數(譯註:如com和cobar中的idl語言)。同樣的,web service平台也必須提供一種標準來描述web service,讓客戶可以得到足夠的資訊來呼叫這個web service。最後,我們還必須有一種方法來對這個web service進行遠端呼叫。這種方法實際是一種遠端過程呼叫協議(rpc)。為了達到互操作性,這種rpc協議還必須與平台和程式語言無關。下面幾個小節就簡要介紹了組成web service平台的這三個技術。
xml和xsd
可擴充套件的標記語言(xml)是web service平台中表示資料的基本格式。除了易於建立和易於分析外,xml主要的優點在於它既是平台無關的,又是廠商無關的。無關性是比技術優越性更重要的:軟體廠商是不會選擇乙個由競爭對手所發明的技術的。
xml解決了資料表示的問題,但它沒有定義一套標準的資料型別,更沒有說怎麼去擴充套件這套資料型別。例如,整形數到底代表什麼?16位,32位,還是64位?這些細節對實現互操作性都是很重要的。w3c制定的xml schema(xsd)就是專門解決這個問題的一套標準。它定義了一套標準的資料型別,並給出了一種語言來擴充套件這套資料型別。web service平台就是用xsd來作為其資料型別系統的。當你用某種語言(如vb.net或c#)來構造乙個web service時,為了符合web service標準,所有你使用的資料型別都必須被轉換為xsd型別。你用的工具可能已經自動幫你完成了這個轉換,但你很可能會根據你的需要修改一下轉換過程。在第二章中,我們將深入xsd,學習怎樣轉換自定義的資料型別(例如類)到xsd的型別。
soap
web service建好以後,你或者其他人就會去呼叫它。簡單物件訪問協議(soap)提供了標準的rpc方法來呼叫web service。實際上,soap在這裡有點用詞不當:它意味著下面的web service是以物件的方式表示的,但事實並不一定如此:你完全可以把你的web service寫成一系列的c函式,並仍然使用soap進行呼叫。soap規範定義了soap訊息的格式,以及怎樣通過http協議來使用soap。soap也是基於xml和xsd的,xml是soap的資料編碼方式。第三章我們會討論soap,並結識soap訊息的各種元素。
wsdl
你會怎樣向別人介紹你的web service有什麼功能,以及每個函式呼叫時的引數呢?你可能會自己寫一套文件,你甚至可能會口頭上告訴需要使用你的web service的人。這些非正式的方法至少都有乙個嚴重的問題:當程式設計師坐到電腦前,想要使用你的web service的時候,他們的工具(如visual studio)無法給他們提供任何幫助,因為這些工具根本就不了解你的web
service。解決方法是:用機器能閱讀的方式提供乙個正式的描述文件。web service描述語言(wsdl)就是這樣乙個基於xml的語言,用於描述web service及其函式、引數和返回值。因為是基於xml的,所以wsdl既是機器可閱讀的,又是人可閱讀的,這將是乙個很大的好處。一些最新的開發工具既能根據你的web service生成wsdl文件,又能匯入wsdl文件,生成呼叫相應web service的**。
BE 名詞解釋
1 名詞解釋 介質 用於備份資料的裝置,如磁帶庫,磁碟資料夾,相當於乙個檔案。介質集 相當與乙個資料夾,管理該資料夾下的所有介質。介質伺服器 安裝be的機器。清點 inventory 對匯入的介質必須清點,才能使用。檢查一遍所有的磁帶,確保磁帶可以使用。編錄 catalog 對匯入的介質必須編錄,才...
模組耦合名詞解釋 名詞解釋 簡答
c s 又稱client server 或客戶伺服器模式 對伺服器要求不用太高,穩定即可,建議使用 windows server 伺服器。客戶端需要安裝專用的客戶端軟體,客戶端應為 windows 作業系統。c s的優點是能充分發揮客戶端 pc的處理能力,很多任務作可以在客戶端處理後再提交 給伺服器...
PDA名詞解釋
pda概述 目前,對pda還有一種狹義的理解。狹義的pda指可以稱作電子記事本,其功能較為單一,主要是管理個人資訊,如通訊錄 記事和備忘 日程安排 便箋 計算器 錄音和辭典等功能。而且這些功 能都是固化的,不能根據使用者的要求增加新的功能。廣義的pda主要指掌上電腦,當然也包括其他具有類似功能的小型...