Web Service

   你可能早就聽說過Web Service了,你也可能已經對Web Service有了一些概念,現在不管是在什麼場合,談到以後發展的新趨勢,大家都會提到Web Service。世界上的頂級公司,不管是微軟、IBM還是SUN,都開始把Web Service頻繁地掛在嘴邊。大多數媒體也開始鼓吹Web Service是多麼的好,多麼的有前途或者“錢”途……但Web Service到底是什麼呢?數據庫通過網頁實現服務?網絡上的協議?還是一種軟件的標準?

  在http//www.hexiesoft.net 上你可以欣賞到.NET下使用微軟開發工具建立的Web Service企業級ERP應用系統。

  在http//dwdemos.alphaworks.ibm.com/HospitalProj/index.html上,你可以體驗使用IBM開發工具創建的提供醫療保險信息查詢的Web Service

  Web Service概念

  什麼是Web Service呢?從表面上看,Web Service就是一個應用程序,它向外界暴露出一個能夠通過Web進行調用的API。這就是說,你能夠用編程的方法通過Web調用來實現某個功能的應用程序。例如,創建一個Web Service,它的作用是查詢某公司某員工的基本信息。它接受該員工的編號作爲查詢字符串,返回該員工的具體信息。你可以在瀏覽器的地址欄中直接輸入HTTP GET請求來調用羅列該員工基本信息的ASP頁面,這就可以算作是體驗Web Service了。

  從深層次上看,Web Service是一種新的Web應用程序分支,它們是自包含、自描述、模塊化的應用,可以在網絡(通常爲Web)中被描述、發佈、查找以及通過Web來調用。

  Web Service便是基於網絡的、分佈式的模塊化組件,它執行特定的任務,遵守具體的技術規範,這些規範使得Web Service能與其他兼容的組件進行互操作。它可以使用標準的互聯網協議,像超文本傳輸協議HTTPXML,將功能體現在互聯網和企業內部網上。Web Service平臺是一套標準,它定義了應用程序如何在Web上實現互操作性。你可以用你喜歡的任何語言(本人用的是C#),在你喜歡的任何平臺上寫Web Service

Web Service的技術支持

  Web Service平臺需要一套協議來實現分佈式應用程序的創建。任何平臺都有它的數據表示方法和類型系統。要實現互操作性,Web Service平臺必須提供一套標準的類型系統,用於溝通不同平臺、編程語言和組件模型中的不同類型系統。目前這些協議有:

  1.XMLXSD

  可擴展的標記語言XMLWeb Service平臺中表示數據的基本格式。除了易於建立和易於分析外,XML主要的優點在於它既與平臺無關,又與廠商無關。XML是由萬維網協會(W3C)創建,W3C制定的XML SchemaXSD定義了一套標準的數據類型,並給出了一種語言來擴展這套數據類型。

  Web Service平臺是用XSD來作爲數據類型系統的。當你用某種語言如VB.NETC#來構造一個Web Service時,爲了符合Web Service標準,所有你使用的數據類型都必須被轉換爲XSD類型。如想讓它使用在不同平臺和不同軟件的不同組織間傳遞,還需要用某種東西將它包裝起來。這種東西就是一種協議,如 SOAP

  2.SOAP

  SOAP即簡單對象訪問協議(Simple Object Access Protocol),它是用於交換XML編碼信息的輕量級協議。它有三個主要方面:XML-envelope爲描述信息內容和如何處理內容定義了框架,將程序對象編碼成爲XML對象的規則,執行遠程過程調用(RPC)的約定。SOAP可以運行在任何其他傳輸協議上。例如,你可以使用 SMTP,即因特網電子郵件協議來傳遞SOAP消息,這可是很有誘惑力的。在傳輸層之間的頭是不同的,但XML有效負載保持相同。

  Web Service 希望實現不同的系統之間能夠用“軟件-軟件對話”的方式相互調用,打破了軟件應用、網站和各種設備之間的格格不入的狀態,實現“基於Web無縫集成”的目標.

  3.WSDL

  Web Service描述語言WSDL就是用機器能閱讀的方式提供的一個正式描述文檔而基於XML的語言,用於描述Web Service及其函數、參數和返回值。因爲是基於XML的,所以WSDL既是機器可閱讀的,又是人可閱讀的.

  4.UDDI

  UDDI 的目的是爲電子商務建立標準;UDDI是一套基於Web的、分佈式的、爲Web Service提供的、信息註冊中心的實現標準規範,同時也包含一組使企業能將自身提供的Web Service註冊,以使別的企業能夠發現的訪問協議的實現標準。

  5.遠程過程調用RPC與消息傳遞

  Web Service本身其實是在實現應用程序間的通信。我們現在有兩種應用程序通信的方法:RPC遠程過程調用和消息傳遞。使用RPC的時候,客戶端的概念是調用服務器上的遠程過程,通常方式爲實例化一個遠程對象並調用其方法和屬性。RPC系統試圖達到一種位置上的透明性:服務器暴露出遠程對象的接口,而客戶端就好像在本地使用的這些對象的接口一樣,這樣就隱藏了底層的信息,客戶端也就根本不需要知道對象是在哪臺機器上。

 Web Service軟件的支持

  操作系統離不開豐富的應用軟件的支持。同樣,Web Service這項技術只有通過日益廣泛的應用才能體現出其價值,目前比較流行的實現方法是使用.NET Java兩種技術,並且兩種實現方法可以互相操作;如今我們已經可以看到使用微軟、IBMSUNBorland等不同廠商的Web Service構建工具建立的Web Service應用。

  微軟.NET

  微軟的.NET技術應該算是時下最爲流行的Web Service 開發技術。首先因爲其公司在以前相應的產品就佔有相當大的市場份額,以至使新推出的.NET得以有比較穩定的用戶羣;其次也是更重要的是 .NET平臺不僅延續了微軟一貫的編程風格,而且還增加了許多支持Web 服務的關鍵性技術,使得.NET在操作的簡單性和執行的穩定性,高效性上達到了一個非常好的結合。

  微軟的Visual Studio.NET便是一個便於 Web 服務的開發工具。微軟的目標是,將其新編程語言——C#作爲Web Service的首選語言。雖然C#看起來與Java類似,但是還有一些Java中沒有的獨特的功能。.NET技術中用於Web Service 開發的主要工具是ASP.NET從技術上說,ASPasp.net提供了一些超出ASP以前版本的優點(例如:代碼和HTML的分離,與腳本語言相比較,對“真正”的編程語言如 C# 的支持)

  IBMWebSphere

  IBM公司是業界第一家能夠提供全面支持Web服務的電子商務基礎設施中間件的公司。通過多年來與W3C(The World Wide Web Consortium)的共同努力,包括DB2LotusTivoli WebSphere在內的所有IBM軟件都實現了對SOAPWSDLUDDILinuxXMLJ2EE等開放技術和標準的全面支持。IBM公司的WebSphere也是比較好的基礎架構軟件開發平臺。WebSphere軟件平臺及開發工具包括WebSphere Studio Application Developer WSAD 基於J2EEXML Web服務等開放標準,並具備 IBM 在可靠性、擴展性和安全性上的主要優勢。WebSphere IBM Web Services策略中的核心平臺,它支持所有開發、發佈、部署 Web Services應用所必需的開放標準和技術,包括 UDDISOAPJ2EEWSDL,和對 XML 技術集成的增強,這特使得它在全球有很多用戶。

  BorlandJBuilder

  Borland公司在 JBuilder7中,用戶可以用其Borland Web Services Kit for JavaBorland JBuilder MobileSet 3進行更快捷地開發Web Service和無線應用。這樣將使開發者能夠在同一個開發環境中輕鬆地創建和集成Web Service。今年新推出的JBuidler8更是針對Web Service開發更提供了方便和高效的方法。

  總之,在Web Service開發上,.NET Java都是很好的選擇,儘管兩者現在都有一些需要完善的地方,但是就目前來說,它們還是最好的開發手段和技術。具體選擇哪種開發工具,也是仁者見仁,智者見智的問題。從根本上說,這兩種方法沒有孰優孰劣的問題,只是根據使用者對這兩種方法的掌握程度和對具體語言的偏愛程度來決定。

 

 

 

 

發佈了59 篇原創文章 · 獲贊 8 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章