
用Web service來集成各種應用中的功能,為用戶提供一個統一的界面
許多應用程序都會利用Web service,把當前基于組件的應用程序結構擴展為組件和Web service 的混合結構。你也可以在應用程序中使用第三方的Web service 提供的功能。你還可以把你自己的應用程序的功能通過Web service 提供給別人。所有這些情況下,你都可以重用代碼和代碼后面的數據?傊,Web service 將是軟件重用的一種非常有力的形式。
什么時候不應該使用Web Service
一個對Web service的完整介紹還應該包括什么時候不該用Web service。經過前面的介紹,我們知道了Web service 在通過Web進行互操作或遠程調用的時候是最有用的。不過,還有許多情況,Web service根本不能給你帶來任何好處。
單機應用程序
目前,我們還有很多桌面應用程序是供商用和個人使用的。其中一些只需要與運行在本機上的其他程序通信。在這種情況下,我們最好就不要再用Web service ,只要用本地的API就可以了。COM非常適合于在這種情況下工作,因為它既小又快。運行在一臺服務器上的服務器軟件也是這樣:最好直接用COM或其他本地的API來進行應用程序間的調用。當然Web service 也能用在這些情況下,但那樣不僅消耗太大,而且不會給你帶來任何好處。
局域網上的同構應用程序
在許多應用中,你所有的程序都是用VB或VC開發的,都在Windows平臺下使用COM,都運行在同一個局域網上。例如,你有兩個服務器應用程序需要相互通信,或者你有一個Win32或WinForm的客戶程序要連接到局域網上的另一個服務器程序。在這些程序里使用DCOM會比SOAP/HTTP有效的多。類似的,如果你的一個.NET程序要連接到LAN上的另一個.NET程序,那么你應該使用.NET remoting。有趣的是,在.NET remoting中,你也可以指定使用SOAP/HTTP來進行Web service 調用。不過最好還是直接通過TCP進行RPC調用,那樣會有效得多?傊,只要你從應用程序結構的角度看來,有別的方法比Web service 更有效,更可行,那就不要再用Web service。
總結
Web service是創建可互操作的分布式應用程序的新平臺。Web service 的主要目標是跨平臺的可互操作性。為了達到這一目標,Web service 是完全基于XML、XSD等獨立于平臺、獨立于軟件供應商的標準的。
Web service在應用程序跨平臺和跨網絡進行通信的時候是非常有用的。Web service適用于應用程序集成、B2B集成、代碼和數據重用,以及通過Web進行客戶端和服務器的通信的場合。
當然,Web service也不是萬能的,你不能到處濫用Web service。在有些情況下,Web service 會降低應用程序的性能,而不會帶來任何好處。例如,一臺機器或一個局域網里面運行的同構應用程序就不應該用Web service 進行通信。
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/