正確認識“Web服務”( 轉)

來源:互聯網
上載者:User
web|web服務 在日常的IT活動中積蓄了力量之後,應用程式設計領域中的下一波潮流即將到來了.這潮流就是Web服務--也即是通過基於XML(可拓展的標記語言)的SOAP(簡易物件存取通訊協定 (SOAP))可以進行訪問的商業邏輯和資訊。

在本文中, eWeek Labs解釋了為什麼Web服務能夠降低成本並加強商業聯絡以及應該在什麼時機下在電子商務活動的戰略計劃中加入這種結構和加入這種結構的方法.

直到現在,而且至少在未來一段較短的時間內, Web 服務還只是銷售商鼓吹的概念, 而不是確實的實物,雖然微軟和Sun 公司已經分別基於這個概念開發了它們的.NET和Sun ONE 開發系統. 但它們不是唯一的--除了一夜之間出現的成百上千的Web服務支援者們還有那些目前對全球資訊網同盟XML和SOAP標準不甚狂熱的開發人員.

Web 服務是異構網路偉大的均衡器, IT業通用的資訊交流技術.

事實上,在千差萬別的硬體平台之間進行容易的通訊是Web服務架構最明顯--也最直接的好處之一. 例如, 一個員工可以使用基於J2ME(Java 2微型版)的手持功能, 比方說摩托羅拉iDen行動電話, 來直接存取一台基於IBM OS/390的主機上的服務(在這種情況下,需要Lutris Technologies 公司的J2ME SOAP客戶程式並在主機上運行IBM 或 Iona Technologies公司的SOAP服務程式).

Web 服務還最有可能成為使用鬆散耦合的IT結構的新一波電子商務聯絡的基礎. Web 服務能夠讓企業選擇性的使它們的商務夥伴能夠訪問其內部的應用程式和資料而不需要為每一個商務夥伴特別設計一個網關. 它們也使得公司能夠訪問其它公司提供的同樣的服務,建立客戶程式來即時的從一個廣泛的內部和外部資源收集資訊.

Web 服務要成為通用的計算平台還需要很多年;許多外部Web 服務所需的內部架構, 諸如授權和支付系統還無法獲得.

但是, 一些示範性的服務已經在網上出現了:xmethods.net Web 網站提供FedEx公司的包裹追蹤, 貨幣轉換 和查詢加裡福利亞州高速公路路況資訊的服務;整合工具銷售商Cape Clear軟體公司提供機場的天氣預報;Continental Airlines航空公司提供飛行狀態資訊;而ActiveState公司提供股票交易資訊. 另外,微軟公司的HailStorm項目的目的就是要提供多種Web服務.

當然,在關鍵的內部架構中採用Web服務的時候是必須要小心的; 這種技術仍然處在開發人員的預覽階段, 而且不同的SOAP實現之間存在互連性問題.例如,微軟的.NET要求處理HTTP SOAPAction頭資訊,但是Apache Software Foundation公司的Apache SOAP的預設方案卻是不需要.

開發工具的缺乏成為了採用Web服務最大的絆腳石. 雖然Web服務的標準(如XML 和 SOAP)和基本庫(如Apache SOAP)現在已經相當穩定,但主流的開發工具仍然無視新平台的存在.

在Web服務領域內一個相對領先的軟體是Borland 軟體公司的Delphi 6, 它在六月份被發布並提供了對建立SOAP服務程式和SOAP客戶程式的原始支援.另一個處在Web服務邊緣的公司是IBM,它在上個月發布了它的WebSphere 4.0 應用服務軟體和整合的SOAP開發工具.

但是,即使一個企業使用的開發工具不提供對Web服務的原始支援,只要它們使用的語言支援Internet協議和XML, 開發Web服務也不是那麼難.

關鍵的一點是,現在應該考查這些技術並比較它們之間的優點,而eWeek Labs建議在明年採用Web 服務, 首先從內部開始然後選擇性的使用到外部的商業夥伴上去.

雖然不同硬體和分部的網路之間的互連性是Web服務的最終目標,但我們對早期採用Web服務的公司的調查顯示了一個另人驚訝的發現:Web服務最直接的好處是在嚴格的內部實現上--例如,資料庫整合的工作.

"人們對於Web服務的內部使用存在很大的興趣,我們決定使它成為我們整個架構的一部分,"Sanjay Sarathy說, 他是加裡福利亞州,Snta Clara市,Sun-Netscape聯盟,iPlanet公司的產品營銷,應用程式和整合業務的主任."從內到外的構建過程吸引了許多人. 特別的同時基於內部和外部來實現它是困難的."

一個特別困難的互連性障礙--Windows程式使用的微軟COM(元件物件模型)與Sun公司的JavaBeans和企業版JavaBeans物件模型之間的鴻溝--通過SOAP已經更容易越過了.

在eWeek Labs的測試中, 我們修改了一個基於SOAP的Java客戶應用程式,它原先是被設計調用iPlanet應用伺服器(它使用Apache公司的Apache SOAP 工具包來提供Web服務支援)上的代碼,修改以後,它調用的是我們用微軟C#.NET語言編寫的在Windows 上啟動並執行一個組件.

其它的一些努力, 尤其是對象管理組織的CORBA(通用對象請求代理結構),曾經企圖提供分部式的計算."CORBA的問題在於它變得有些過分龐大,"加州 Santa Cruz市 Lutris Technologies公司的首席宣傳官,David Young說. 在九十年代早期,Young曾在X/Open標準團隊工作,當時CORBA的開發工作正進行得如火如荼."它火得過了頭,"Young 說,"希望滿足所有人的所有要求. SOAP是軟體實現細節無關的一個更簡單的概念.SOAP 絕對是建立一個美麗的,簡潔的,可以互連的軟體世界的關鍵."

SOAP的範圍必須相當的廣泛以支援它所承諾的一切,特別是對於一個還只有兩歲大的協議來說. 而且,它的能力是驚人的, 因為SOAP和相關的技術正被廣泛而快速的採用--即使是微軟和SUN這樣的死對頭,Web服務已經成為一種現實. SOAP 網站www.soapware.org 列出了71個支援SOAP的軟體包,而更多的軟體包還在開發之中.

另外, Web服務的變種內構--比方說對可用的服務的列表顯示和對加密標準的建議,數位簽章和訊息路由--都在快速的出現.Web服務的目錄被列出在微軟和IBM公司的Universal, Description, Discovery 和 Integration 目錄裡, 其它的公司也會很快趕上來的.

在兩到三年內, 對於應用程式如何擷取資訊並在什麼地方擷取資訊以及如何進行交易處理,我們將看見一個更加靈活的模式.基於更加容易處理的XML的良好定義的介面,再加上內部的和外部的服務列表,這些都將使得在大部分地方重新發明編程工具變得沒有必要.

當我遇見微軟的程式語言設計師Anders Hejlsberg的時候, 他將C#(C sharp)描述成" C/C++ 家族中第一個真正的面向組件的語言."程式組件中資料(屬性)和行為(事件)的編程模型在C#中得到了比Java更自然的支援,他說."[Java]用存取方法的命名轉換類比對象屬性而用適配器和管道類比事件處理,"Hejlsberg說.他承認 Java和C++都支援面向組件的編程風格,但是他也指出了這些語言中的區別,"組件並不是第一位的"--他的意思是在C#中,諸如改變一個圖形按紐控制項的標題之類的操作將使用更少的代碼和更簡單的文法,因為按紐已經成為了一個負責管理自己的外觀和使用者感覺的組件了.面向組件,Hejlsberg表示,能夠讓開發人員在任何使用者希望訪問Web 服務的地方嵌入自己的軟體.下面是C++, Java和C#各自特點的比較.--Peter Coffee
《圖》(不能貼圖)。




相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。