web自動化-WebService適用的業(yè)務(wù)場景
1、跨防火墻通信:如果應(yīng)用程序有成千上萬的用戶,而且分布在世界各地,那么客戶端和服務(wù)器之間的通信將是一個棘手的問題。因為客戶端和服務(wù)器之間通常會有防火墻或者代理服 務(wù)器。
在這種情況下,使用DCOM就不是那么簡單,通常也不便于把客戶端程序發(fā)布到數(shù)量如此龐大的每一個用戶手中。
傳統(tǒng)的做法是,選擇用瀏覽器作為客戶 端,寫下一大堆ASP頁面,把應(yīng)用程序的中間層暴露給最終用戶。這樣做的結(jié)果是開發(fā)難度大,程序很難維護。
如果中間層組件換成WebService的話, 就可以從用戶界面直接調(diào)用中間層組件。從大多數(shù)人的經(jīng)驗來看,在一個用戶界面和中間層有較多交互的應(yīng)用程序中,使用WebService這種結(jié)構(gòu),可以節(jié) 省花在用戶界面編程上20%的開發(fā)時間。
2、應(yīng)用程序集成:
企業(yè)級的應(yīng)用程序開發(fā)者都知道,企業(yè)里經(jīng)常都要把用不同語言寫成的、在不同平臺上運行的各種程序集成起來,而這種集成將花費很大的開發(fā)力量。
應(yīng)用程序經(jīng)常 需要從運行在IBM主機上的程序中獲取數(shù)據(jù);或者把數(shù)據(jù)發(fā)送到主機或UNIX應(yīng)用程序中去。即使在同一個平臺上,不同軟件廠商生產(chǎn)的各種軟件也常常需要集 成起來。
通過WebService,可以很容易的集成不同結(jié)構(gòu)的應(yīng)用程序。
3、B2B集成:
用WebService集成應(yīng)用程序,可以使公司內(nèi)部的商務(wù)處理更加自動化。但當交易跨越供應(yīng)商和客戶、突破公司的界限時會怎么樣呢?
跨公司的商務(wù)交易集 成通常叫做B2B集成。
WebService是B2B集成成功的關(guān)鍵。通過WebService,公司可以把關(guān)鍵的商務(wù)應(yīng)用“暴露”給指定的供應(yīng)商和客 戶。
例如,把電子下單系統(tǒng)和電子發(fā)票系統(tǒng)“暴露”出來,客戶就可以以電子的方式發(fā)送訂單,供應(yīng)商則可以以電子的方式發(fā)送原料采購發(fā)票。
當然,這并不是一個 新的概念,EDI(電子文檔交換)早就是這樣了。
但是,WebService的實現(xiàn)要比EDI簡單得多,而且WebService運行在Internet 上,在世界任何地方都可輕易實現(xiàn),其運行成本就相對較低。
不過,WebService并不像EDI那樣,是文檔交換或B2B集成的完整解決方案。 WebService只是B2B集成的一個關(guān)鍵部分,還需要許多其它的部分才能實現(xiàn)集成。
用WebService來實現(xiàn)B2B集成的最大好處在于可以輕易實現(xiàn)互操作性。
只要把商務(wù)邏輯“暴露”出來,成為WebService,就可以讓任何指定 的合作伙伴調(diào)用這些商務(wù)邏輯,而不管他們的系統(tǒng)在什么平臺上運行,使用什么開發(fā)語言。這樣就大大減少了花在B2B集成上的時間和成本,讓許多原本無法承受 EDI的中小企業(yè)也能實現(xiàn)B2B集成。
4、軟件和數(shù)據(jù)重用:
軟件重用是一個很大的主題,重用的形式很多,重用的程度有大有小。
最基本的形式是源代碼模塊或者類一級的重用,一種形式是二進制形式的組件重用。采用 WebService應(yīng)用程序可以用標準的方法把功能和數(shù)據(jù)“暴露”出來,供其它應(yīng)用程序使用,達到業(yè)務(wù)級重用。
不適用場合
1、單機應(yīng)用程序:
目前,企業(yè)和個人還使用著很多桌面應(yīng)用程序。其中一些只需要與本機上的其它程序通信。
在這種情況下,最好就不要用WebService,只要用本地的 API就可以了。COM非常適合于在這種情況下工作,因為它既小又快。
運行在同一臺服務(wù)器上的服務(wù)器軟件也是這樣。最好直接用COM或其它本地的API來 進行應(yīng)用程序間的調(diào)用。當然WebService也能用在這些場合,但那樣不僅消耗太大,而且不會帶來任何好處。
2、局域網(wǎng)的同構(gòu)應(yīng)用程序:
在許多應(yīng)用中,所有的程序都是用VB或VC開發(fā)的,都在Windows平臺下使用COM,都運行在同一個局域網(wǎng)上。
例如,有兩個服務(wù)器應(yīng)用程序需要相互通 信,或者有一個Win32或WinForm的客戶程序要連接局域網(wǎng)上另一個服務(wù)器的程序。
在這些程序里,使用DCOM會比SOAP/HTTP有效得多。
與 此相類似,如果一個.NET程序要連接到局域網(wǎng)上的另一個.NET程序,應(yīng)該使用.NETremoting。有趣的是,在.NETremoting 中,也可以指定使用SOAP/HTTP來進行WebService調(diào)用。不過最好還是直接通過TCP進行RPC調(diào)用,那樣會有效得多。
頁:
[1]