直播中
在本文中, eWeek Labs解釋了為什么Web服務(wù)能夠降低成本并加強(qiáng)商業(yè)聯(lián)系以及應(yīng)該在什么時機(jī)下在電子商務(wù)活動的戰(zhàn)略計劃中加入這種結(jié)構(gòu)和加入這種結(jié)構(gòu)的方法.
直到現(xiàn)在,而且至少在未來一段較短的時間內(nèi), Web 服務(wù)還只是銷售商鼓吹的概念, 而不是確實的實物,雖然微軟和Sun 公司已經(jīng)分別基于這個概念開發(fā)了它們的.NET和Sun ONE 開發(fā)系統(tǒng). 但它們不是唯一的--除了一夜之間出現(xiàn)的成百上千的Web服務(wù)支持者們還有那些目前對萬維網(wǎng)聯(lián)盟的XML和SOAP標(biāo)準(zhǔn)不甚狂熱的開發(fā)者.
Web 服務(wù)是異構(gòu)網(wǎng)絡(luò)偉大的均衡器, IT業(yè)通用的信息交流技術(shù).
事實上,在千差萬別的硬件平臺之間進(jìn)行容易的通訊是Web服務(wù)架構(gòu)最明顯--也最直接的好處之一. 例如, 一個員工可以使用基于J2ME(Java 2微型版)的手持設(shè)備, 比方說摩托羅拉iDen移動電話, 來直接訪問一臺基于IBM OS/390的主機(jī)上的服務(wù)(在這種情況下,需要Lutris Technologies 公司的J2ME SOAP客戶程序并在主機(jī)上運行IBM 或 Iona Technologies公司的SOAP服務(wù)程序).
Web 服務(wù)還最有可能成為使用松散耦合的IT結(jié)構(gòu)的新一波電子商務(wù)聯(lián)系的基礎(chǔ). Web 服務(wù)能夠讓企業(yè)選擇性的使它們的商務(wù)伙伴能夠訪問其內(nèi)部的應(yīng)用程序和數(shù)據(jù)而不需要為每一個商務(wù)伙伴特別設(shè)計一個網(wǎng)關(guān). 它們也使得公司能夠訪問其它公司提供的同樣的服務(wù),創(chuàng)建客戶程序來實時的從一個廣泛的內(nèi)部和外部資源收集信息.
Web 服務(wù)要成為通用的計算平臺還需要很多年;許多外部Web 服務(wù)所需的內(nèi)部架構(gòu), 諸如授權(quán)和支付系統(tǒng)還無法獲得.
但是, 一些演示性的服務(wù)已經(jīng)在網(wǎng)上出現(xiàn)了:xmethods.net Web 站點提供FedEx公司的包裹追蹤, 貨幣轉(zhuǎn)換 和查詢加里福利亞州高速公路路況信息的服務(wù);集成工具銷售商Cape Clear軟件公司提供機(jī)場的天氣預(yù)報;Continental Airlines航空公司提供飛行狀態(tài)信息;而ActiveState公司提供股票交易信息. 另外,微軟公司的HailStorm項目的目的就是要提供多種Web服務(wù).
當(dāng)然,在關(guān)鍵的內(nèi)部架構(gòu)中采用Web服務(wù)的時候是必須要小心的; 這種技術(shù)仍然處在開發(fā)者的預(yù)覽階段, 而且不同的SOAP實現(xiàn)之間存在互連性問題.例如,微軟的.NET要求處理HTTP SOAPAction頭信息,但是Apache Software Foundation公司的Apache SOAP的缺省方案卻是不需要.
開發(fā)工具的缺乏成為了采用Web服務(wù)最大的絆腳石. 雖然Web服務(wù)的標(biāo)準(zhǔn)(如XML 和 SOAP)和基本庫(如Apache SOAP)現(xiàn)在已經(jīng)相當(dāng)穩(wěn)定,但主流的開發(fā)工具仍然無視新平臺的存在.
在Web服務(wù)領(lǐng)域內(nèi)一個相對領(lǐng)先的軟件是Borland 軟件公司的Delphi 6, 它在六月份被發(fā)布并提供了對創(chuàng)建SOAP服務(wù)程序和SOAP客戶程序的原始支持.另一個處在Web服務(wù)邊緣的公司是IBM,它在上個月發(fā)布了它的WebSphere 4.0 應(yīng)用服務(wù)軟件和集成的SOAP開發(fā)工具.
但是,即使一個企業(yè)使用的開發(fā)工具不提供對Web服務(wù)的原始支持,只要它們使用的語言支持Internet協(xié)議和XML, 開發(fā)Web服務(wù)也不是那么難.
關(guān)鍵的一點是,現(xiàn)在應(yīng)該考查這些技術(shù)并比較它們之間的優(yōu)點,而eWeek Labs建議在明年采用Web 服務(wù), 首先從內(nèi)部開始然后選擇性的使用到外部的商業(yè)伙伴上去.
雖然不同硬件和分部的網(wǎng)絡(luò)之間的互連性是Web服務(wù)的最終目標(biāo),但我們對早期采用Web服務(wù)的公司的調(diào)查顯示了一個另人驚訝的發(fā)現(xiàn):Web服務(wù)最直接的好處是在嚴(yán)格的內(nèi)部實現(xiàn)上--例如,數(shù)據(jù)庫集成的工作.
"人們對于Web服務(wù)的內(nèi)部使用存在很大的興趣,我們決定使它成為我們整個架構(gòu)的一部分,"Sanjay Sarathy說, 他是加里福利亞州,Snta Clara市,Sun-Netscape聯(lián)盟,iPlanet公司的產(chǎn)品營銷,應(yīng)用程序和集成業(yè)務(wù)的主任."從內(nèi)到外的構(gòu)建過程吸引了許多人. 特別的同時基于內(nèi)部和外部來實現(xiàn)它是困難的."
一個特別困難的互連性障礙--Windows程序使用的微軟COM(組件對象模型)與Sun公司的JavaBeans和企業(yè)版JavaBeans對象模型之間的鴻溝--通過SOAP已經(jīng)更容易越過了.
在eWeek Labs的測試中, 我們修改了一個基于SOAP的Java客戶應(yīng)用程序,它原先是被設(shè)計調(diào)用iPlanet應(yīng)用服務(wù)器(它使用Apache公司的Apache SOAP 工具包來提供Web服務(wù)支持)上的代碼,修改以后,它調(diào)用的是我們用微軟C#.NET語言編寫的在Windows 上運行的一個組件.
其它的一些努力, 尤其是對象管理組織的CORBA(通用對象請求代理結(jié)構(gòu)),曾經(jīng)企圖提供分部式的計算."CORBA的問題在于它變得有些過分龐大,"加州 Santa Cruz市 Lutris Technologies公司的首席宣傳官,David Young說. 在九十年代早期,Young曾在X/Open標(biāo)準(zhǔn)團(tuán)隊工作,當(dāng)時CORBA的開發(fā)工作正進(jìn)行得如火如荼."它火得過了頭,"Young 說,"希望滿足所有人的所有要求. SOAP是軟件實現(xiàn)細(xì)節(jié)無關(guān)的一個更簡單的概念.SOAP 絕對是建立一個美麗的,簡潔的,可以互連的軟件世界的關(guān)鍵."
SOAP的范圍必須相當(dāng)?shù)膹V泛以支持它所承諾的一切,特別是對于一個還只有兩歲大的協(xié)議來說. 而且,它的能力是驚人的, 因為SOAP和相關(guān)的技術(shù)正被廣泛而快速的采用--即使是微軟和SUN這樣的死對頭,Web服務(wù)已經(jīng)成為一種現(xiàn)實. SOAP 站點www.soapware.org 列出了71個支持SOAP的軟件包,而更多的軟件包還在開發(fā)之中.
另外, Web服務(wù)的變種內(nèi)構(gòu)--比方說對可用的服務(wù)的列表顯示和對加密標(biāo)準(zhǔn)的建議,數(shù)字簽名和消息路由--都在快速的出現(xiàn).Web服務(wù)的目錄被列出在微軟和IBM公司的Universal, Description, Discovery 和 Integration 目錄里, 其它的公司也會很快趕上來的.
在兩到三年內(nèi), 對于應(yīng)用程序如何獲取信息并在什么地方獲取信息以及如何進(jìn)行事務(wù)處理,我們將看見一個更加靈活的模式.基于更加容易處理的XML的良好定義的接口,再加上內(nèi)部的和外部的服務(wù)列表,這些都將使得在大部分地方重新發(fā)明編程工具變得沒有必要.
當(dāng)我遇見微軟的程序語言設(shè)計師Anders Hejlsberg的時候, 他將C#(C sharp)描述成" C/C++ 家族中第一個真正的面向組件的語言."程序組件中數(shù)據(jù)(屬性)和行為(事件)的編程模型在C#中得到了比Java更自然的支持,他說."[Java]用訪問方法的命名轉(zhuǎn)換模擬對象屬性而用適配器和管道模擬事件處理,"Hejlsberg說.他承認(rèn) Java和C++都支持面向組件的編程風(fēng)格,但是他也指出了這些語言中的區(qū)別,"組件并不是第一位的"--他的意思是在C#中,諸如改變一個圖形按紐控件的標(biāo)題之類的操作將使用更少的代碼和更簡單的語法,因為按紐已經(jīng)成為了一個負(fù)責(zé)管理自己的外觀和用戶感覺的組件了.面向組件,Hejlsberg表示,能夠讓開發(fā)者在任何用戶希望訪問Web 服務(wù)的地方嵌入自己的軟件.下面是C++, Java和C#各自特點的比較.--Peter Coffee