當(dāng)前位置:工程項目OA系統(tǒng) > 泛普各地 > 重慶OA系統(tǒng) > 重慶OA行業(yè)資訊
什么是Web Service
什么是Web Service
你可能早就聽說過Web service了,你也可能已經(jīng)對Web service有一些概念了。一時間,好像所有的計算機期刊、書籍和網(wǎng)站都開始提及Web service。然而,當(dāng)前大多數(shù)對Web service的介紹都沒能清楚的說明Web service到底是什么。他們只是鼓吹Web service是多么多么的好,簡直就像是在做廣告。在本文中會講清楚兩件事:Web service到底是什么;在什么情況下你應(yīng)該使用Web service。
分布式應(yīng)用程序和瀏覽器
研究一下當(dāng)前的應(yīng)用程序開發(fā),你會發(fā)現(xiàn)一個絕對的傾向:人們開始偏愛基于瀏覽器的瘦客戶應(yīng)用程序。這當(dāng)然不是因為瘦客戶能夠提供更好的用戶界面,而是因為它能夠避免花在桌面應(yīng)用程序發(fā)布上的高成本。發(fā)布桌面應(yīng)用程序成本很高,一半是因為應(yīng)用程序安裝和配置的問題,另一半是因為客戶和服務(wù)器之間通信的問題。
傳統(tǒng)的Windows富客戶應(yīng)用程序使用DCOM來與服務(wù)器進(jìn)行通信和調(diào)用遠(yuǎn)程對象。配置好DCOM使其在一個大型的網(wǎng)絡(luò)中正常工作將是一個極富挑戰(zhàn)性的工作,同時也是許多IT工程師的噩夢。事實上,許多IT工程師寧愿忍受瀏覽器所帶來的功能限制,也不愿在局域網(wǎng)上去運行一個DCOM。在我看來,結(jié)果就是一個發(fā)布容易,但開發(fā)難度大而且用戶界面極其受限的應(yīng)用程序。極端的說,就是你花了更多的資金和時間,卻開發(fā)出從用戶看來功能更弱的應(yīng)用程序。不信?問問你的會計師對新的基于瀏覽器的會計軟件有什么想法:絕大多數(shù)商用程序用戶希望使用更加友好的Windows用戶界面。
關(guān)于客戶端與服務(wù)器的通信問題,一個完美的解決方法是使用HTTP協(xié)議來通信。這是因為任何運行Web瀏覽器的機器都在使用HTTP協(xié)議。同時,當(dāng)前許多防火墻也配置為只允許HTTP連接。
許多商用程序還面臨另一個問題,那就是與其他程序的互操作性。如果所有的應(yīng)用程序都是使用COM或.NET語言寫的,并且都運行在Windows平臺上,那就天下太平了。然而,事實上大多數(shù)商業(yè)數(shù)據(jù)仍然在大型主機上以非關(guān)系文件(VSAM)的形式存放,并由COBOL語言編寫的大型機程序訪問。而且,目前還有很多商用程序繼續(xù)在使用C++、Java、Visual
Basic和其他各種各樣的語言編寫?,F(xiàn)在,除了最簡單的程序之外,所有的應(yīng)用程序都需要與運行在其他異構(gòu)平臺上的應(yīng)用程序集成并進(jìn)行數(shù)據(jù)交換。這樣的任務(wù)通常都是由特殊的方法,如文件傳輸和分析,消息隊列,還有僅適用于某些情況的的API,如IBM的"高級程序到程序交流(APPC)"等來完成的。在以前,沒有一個應(yīng)用程序通信標(biāo)準(zhǔn),是獨立于平臺、組建模型和編程語言的。只有通過Web
Service,客戶端和服務(wù)器才能夠自由的用HTTP進(jìn)行通信,不論兩個程序的平臺和編程語言是什么。
什么是Web Service
對這個問題,我們至少有兩種答案。從表面上看,Web service
就是一個應(yīng)用程序,它向外界暴露出一個能夠通過Web進(jìn)行調(diào)用的API。這就是說,你能夠用編程的方法通過Web來調(diào)用這個應(yīng)用程序。我們把調(diào)用這個Web
service 的應(yīng)用程序叫做客戶。例如,你想創(chuàng)建一個Web service
,它的作用是返回當(dāng)前的天氣情況。那么你可已建立一個ASP頁面,它接受郵政編碼作為查詢字符串,然后返回一個由逗號隔開的字符串,包含了當(dāng)前的氣溫和天氣。要調(diào)用這個ASP頁面,客戶端需要發(fā)送下面的這個HTTP
GET請求:
http://host.company.com/weather.asp?zipcode=20171
返回的數(shù)據(jù)就應(yīng)該是這樣:
21,晴
這個ASP頁面就應(yīng)該可以算作是Web service 了。因為它基于HTTP GET請求,暴露出了一個可以通過Web調(diào)用的API。當(dāng)然,Web
service 還有更多的東西。
下面是對Web service 更精確的解釋: Web
services是建立可互操作的分布式應(yīng)用程序的新平臺。作為一個Windows程序員,你可能已經(jīng)用COM或DCOM建立過基于組件的分布式應(yīng)用程序。COM是一個非常好的組件技術(shù),但是我們也很容易舉出COM并不能滿足要求的情況。
Web
service平臺是一套標(biāo)準(zhǔn),它定義了應(yīng)用程序如何在Web上實現(xiàn)互操作性。你可以用任何你喜歡的語言,在任何你喜歡的平臺上寫Web service
,只要我們可以通過Web service標(biāo)準(zhǔn)對這些服務(wù)進(jìn)行查詢和訪問。
新平臺
Web
service平臺需要一套協(xié)議來實現(xiàn)分布式應(yīng)用程序的創(chuàng)建。任何平臺都有它的數(shù)據(jù)表示方法和類型系統(tǒng)。要實現(xiàn)互操作性,Web
service平臺必須提供一套標(biāo)準(zhǔn)的類型系統(tǒng),用于溝通不同平臺、編程語言和組件模型中的不同類型系統(tǒng)。在傳統(tǒng)的分布式系統(tǒng)中,基于界面(interface)的平臺提供了一些方法來描述界面、方法和參數(shù)(譯注:如COM和COBAR中的IDL語言)。同樣的,Web
service平臺也必須提供一種標(biāo)準(zhǔn)來描述Web service,讓客戶可以得到足夠的信息來調(diào)用這個Web
service。最后,我們還必須有一種方法來對這個Web
service進(jìn)行遠(yuǎn)程調(diào)用。這種方法實際是一種遠(yuǎn)程過程調(diào)用協(xié)議(RPC)。為了達(dá)到互操作性,這種RPC協(xié)議還必須與平臺和編程語言無關(guān)。下面幾個小節(jié)就簡要介紹了組成Web
service平臺的這三個技術(shù)。
XML和XSD
可擴展的標(biāo)記語言(XML)是Web
service平臺中表示數(shù)據(jù)的基本格式。除了易于建立和易于分析外,XML主要的優(yōu)點在于它既是平臺無關(guān)的,又是廠商無關(guān)的。無關(guān)性是比技術(shù)優(yōu)越性更重要的:軟件廠商是不會選擇一個由競爭對手所發(fā)明的技術(shù)的。
XML解決了數(shù)據(jù)表示的問題,但它沒有定義一套標(biāo)準(zhǔn)的數(shù)據(jù)類型,更沒有說怎么去擴展這套數(shù)據(jù)類型。例如,整形數(shù)到底代表什么?16位,32位,還是64位?這些細(xì)節(jié)對實現(xiàn)互操作性都是很重要的。W3C制定的XML
Schema(XSD)就是專門解決這個問題的一套標(biāo)準(zhǔn)。它定義了一套標(biāo)準(zhǔn)的數(shù)據(jù)類型,并給出了一種語言來擴展這套數(shù)據(jù)類型。Web
service平臺就是用XSD來作為其數(shù)據(jù)類型系統(tǒng)的。當(dāng)你用某種語言(如VB.NET或C#)來構(gòu)造一個Web service時,為了符合Web
service標(biāo)準(zhǔn),所有你使用的數(shù)據(jù)類型都必須被轉(zhuǎn)換為XSD類型。你用的工具可能已經(jīng)自動幫你完成了這個轉(zhuǎn)換,但你很可能會根據(jù)你的需要修改一下轉(zhuǎn)換過程。在第二章中,我們將深入XSD,學(xué)習(xí)怎樣轉(zhuǎn)換自定義的數(shù)據(jù)類型(例如類)到XSD的類型。
SOAP
Web
service建好以后,你或者其他人就會去調(diào)用它。簡單對象訪問協(xié)議(SOAP)提供了標(biāo)準(zhǔn)的RPC方法來調(diào)用Web
service。實際上,SOAP在這里有點用詞不當(dāng):它意味著下面的Web service是以對象的方式表示的,但事實并不一定如此:你完全可以把你的Web
service寫成一系列的C函數(shù),并仍然使用SOAP進(jìn)行調(diào)用。SOAP規(guī)范定義了SOAP消息的格式,以及怎樣通過HTTP協(xié)議來使用SOAP。SOAP也是基于XML和XSD的,XML是SOAP的數(shù)據(jù)編碼方式。第三章我們會討論SOAP,并結(jié)識SOAP消息的各種元素。
WSDL
你會怎樣向別人介紹你的Web
service有什么功能,以及每個函數(shù)調(diào)用時的參數(shù)呢?你可能會自己寫一套文檔,你甚至可能會口頭上告訴需要使用你的Web
service的人。這些非正式的方法至少都有一個嚴(yán)重的問題:當(dāng)程序員坐到電腦前,想要使用你的Web service的時候,他們的工具(如Visual
Studio)無法給他們提供任何幫助,因為這些工具根本就不了解你的Web service。解決方法是:用機器能閱讀的方式提供一個正式的描述文檔。Web
service描述語言(WSDL)就是這樣一個基于XML的語言,用于描述Web
service及其函數(shù)、參數(shù)和返回值。因為是基于XML的,所以WSDL既是機器可閱讀的,又是人可閱讀的,這將是一個很大的好處。一些最新的開發(fā)工具既能根據(jù)你的Web
service生成WSDL文檔,又能導(dǎo)入WSDL文檔,生成調(diào)用相應(yīng)Web service的代碼。
- 13G網(wǎng)絡(luò)與信息安全體系建設(shè)思路
- 2與企業(yè)戰(zhàn)略匹配的IT戰(zhàn)略規(guī)劃
- 32012年,國內(nèi)協(xié)同辦公OA軟件是10年以來最大的考驗
- 4如何評估一個好的ITIL解決方案?
- 5ERP:行業(yè)微利 亦“?!币唷皺C”
- 6Web服務(wù)分類:混亂前的準(zhǔn)備
- 7企業(yè)級項目管理體系建設(shè)概述
- 8技術(shù)架構(gòu)項目選型:架構(gòu)的兼容性問題
- 9完善項目評估機制 助力電子政務(wù)采購
- 10[原創(chuàng)]亡羊補牢,為時已晚
- 11視頻監(jiān)控管理系統(tǒng)“選購”的類型分析
- 12服務(wù)-ITIL之本
- 13Web services協(xié)調(diào) 只聞樓梯響
- 14服務(wù)器托管常見問題糾紛與解決方法
- 15公司進(jìn)化中的IT治理 AMT研究院編譯
- 16協(xié)同OA的大力支持有不可替代的功勞
- 17重慶服裝服飾企業(yè)2014年最新名錄
- 18支付寶聯(lián)手6家銀行 網(wǎng)購可用信用卡支付
- 19理念變成現(xiàn)實 SOA的五個切入點
- 20掌握ITIL的最佳實踐四要素
- 21從Web服務(wù)前線發(fā)回的報道
- 22國殤后全民當(dāng)反思地震預(yù)測體系如何完善
- 23北京: 電子政務(wù) 求新求變
- 24免費OA辦公系統(tǒng)在線下載分營銷、服務(wù)、技術(shù)交付
- 25PDF職能表單以及在企業(yè)解決方案中的應(yīng)用
- 26我們有OA軟件商機的時候,還是抓不住,抓不牢?
- 27馬文東:企業(yè)EHR建設(shè)還需“量力而行”
- 28把你的Web服務(wù)展現(xiàn)在世界面前
- 29太平洋藍(lán)十字IT部門層層把關(guān)推動公司前進(jìn)
- 30企業(yè)實施:信息化如何破冰(一)
成都公司:成都市成華區(qū)建設(shè)南路160號1層9號
重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務(wù)大廈18樓
版權(quán)所有:泛普軟件 渝ICP備14008431號-2 渝公網(wǎng)安備50011202501700號 咨詢電話:400-8352-114