關鍵字:Web Service 現在我將列舉三種情況,在這三種情況下,你將會發現使用Web service會帶來極大的好處。此后,我還會舉出不應該使用Web service的一些情況。
跨越防火墻的通信
如果你的應用程序有成千上萬的用戶,而且他們都分布在世界各地,那么客戶端和服務器之間的通信將是一個棘手的問題。那是因為客戶端和服務器之間通常都會有防火墻或者代理服務器。在這種情況下,你想使用DCOM就不是那么簡單了,而且,通常你也不愿意把你的客戶端程序發布到如此龐大數量的每一個用戶手中。于是,你最終選擇了用瀏覽器作為客戶端,寫下一堆ASP頁面,把應用程序的中間層暴露給最終用戶。結果呢?運氣好的話,只是開發難度大了一些,運氣不好的話,就會得到一個根本無法維護的應用程序。
想象一下你應該怎么在你的應用程序里面加入一個新的頁面:你必須先建立好用戶界面(Web頁面),以及在這個頁面后面,包含相應商業邏輯的中間層組件。這還不夠,你還要再建立至少一個ASP頁面,用來接受用戶輸入的信息,調用中間層組件,把結果格式化為HTML形式,最后還要把"結果頁"送回瀏覽器。要是客戶端代碼不再如此依賴于HTML表單,客戶端的編程不就簡單多了嗎?還有,建立ASP頁面的那一步可以省略掉嗎?
當然。如果你的中間層組件是Web service的話,你完全可以從用戶界面直接調用中間層組件,從而省掉建立ASP頁面的那一步。要調用Web service,你可以直接使用Microsoft SOAP Toolkit或.NET這樣的SOAP客戶端,也可以使用你自己開發的SOAP客戶端,然后把它和你的應用程序連接起來。這樣做,不僅可以縮短開發周期,還可以減少代碼的復雜度,并增強整個應用程序的可維護性。同時,你的應用程序也不再需要在每次調用中間層組件時,都跳轉到相應的"結果頁"了。
以我的經驗來看,在一個用戶界面和中間層有較多交互的應用程序中,使用Web service這種結構,可以輕松的節省花在用戶界面編程上的20%的開發時間。這樣做還有另一個好處,就是你將得到一個由Web service組成的中間層,這一層是完全可以在應用程序集成或其他場合下被重用的。最后,通過Web service把你的應用程序的邏輯和數據暴露出來,還可以讓其它平臺上的客戶重用你的應用程序。
應用程序集成
企業級的應用程序開發者都知道,企業里經常都要把用不同語言寫成的在不同平臺上運行的各種程序集成起來,而這種集成將花費很大的開發的力量。你的應用程序經常都需要從運行在古老的IBM主機上的程序中獲取數據;或者再把數據發送到主機或UNIX應用程序中去。即使是在同一個平臺上,不同的軟件廠商生產的各種軟件也常常需要集成起來。通過Web service,應用程序可以用標準的方法把功能和數據暴露出來,供其它的應用程序使用。
例如,你有一個訂單登錄程序,用于登錄從客戶來的新訂單,包括客戶信息、發貨地址、數量、價格和付款方式等信息。同時,你還有一個訂單執行程序,用于實際貨物發送的管理。這兩個程序是來自不同軟件廠商的。一份新訂單進來之后,訂單登錄程序需要通知訂單執行程序發送貨物。通過在訂單執行程序上面增加一層Web service,訂單執行程序可以把"AddOrder"函數暴露出來。這樣,每當有新訂單到來時,訂單登錄程序就可以調用這個函數來發送貨物了。如下圖。
文章來源于領測軟件測試網 http://www.kjueaiud.com/