『壹』 什麼是WEB網路技術工程師
在日常的IT活動中積蓄了力量之後,應用程序設計領域中的下一波潮流即將到來了.這潮流就是Web服務--也即是通過基於XML(可拓展的標記語言)的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