日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

WebService的優(yōu)缺點(diǎn)

 ThinkTank_引擎 2014-12-31

一優(yōu)點(diǎn)(版本一)


 


1、可操作的的分布式應(yīng)用程序
可以實(shí)現(xiàn)不同應(yīng)用程序和在不同系統(tǒng)平臺(tái)上開發(fā)出來的應(yīng)用程序之間通信。與RMI、DOCM、CORBA最大的不同就是:Web Service 以 SOAP 作為基本通信協(xié)議從而避免了復(fù)雜的協(xié)議轉(zhuǎn)換.



2、普遍性、使用HTTP和XML進(jìn)行通信
任何支持HTTP和XML 技術(shù)的設(shè)備都可以擁有和訪問Web Service,不同平臺(tái)不同開發(fā)語言照樣可以調(diào)用我們發(fā)布的Web Service.



3、Web Service 甚至可以穿越防火墻,真正的自由通信
一般要訪問的Web服務(wù)器以及要訪問的Web Service的客戶端很可能位于防火墻后面,都默認(rèn)關(guān)閉其它端口而開發(fā)HTTP端口,而Web service 正是基于HTTP的,所以它可以穿越防火墻.



4、通過 SOAP 協(xié)議實(shí)現(xiàn)異地調(diào)用
SOAP 是 Web Service 的基本通信協(xié)議,它是在分散或分布式環(huán)境中交換信息,它基于XML的協(xié)議,通過SOAP協(xié)議可以實(shí)現(xiàn)不同項(xiàng)目、不同地點(diǎn)、甚至異地調(diào)用應(yīng)用程序


實(shí)際上,WebService 的主要目標(biāo)是跨平臺(tái)的可互操作性。為了達(dá)到這一目標(biāo),WebService 完全基于XML (可擴(kuò)展標(biāo)記語言)、XSD (XMLSchema )等獨(dú)立于平臺(tái)、獨(dú)立于軟件供應(yīng)商的標(biāo)準(zhǔn),是創(chuàng)建可互操作的、分布式應(yīng)用程序的新平臺(tái)。由此可以看出,在以下三種情況下,使用 WebService 會(huì)帶來極大的好處。


一優(yōu)點(diǎn)(版本二)


      優(yōu)點(diǎn)一:跨防火墻的通信


      如果應(yīng)用程序有成千上萬的用戶,而且分布在世界 各地,那么客戶端和服務(wù)器之間的通信將是一個(gè)棘手的問題。因?yàn)榭蛻舳撕头?wù)器之間通常會(huì)有防火墻或者代理服務(wù)器。在這種情況下,使用DCOM 就不是那么簡(jiǎn) 單,通常也不便于把客戶端程序發(fā)布到數(shù)量如此龐大的每一個(gè)用戶手中。傳統(tǒng)的做法是,選擇用瀏覽器作為客戶端,寫下一大堆ASP 頁面,把應(yīng)用程序的中間層暴 露給最終用戶。這樣做的結(jié)果是開發(fā)難度大,程序很難維護(hù)。


      舉個(gè)例子, 在應(yīng)用程序里加入一個(gè)新頁面,必須先建立好用戶界面(Web 頁面) ,并在這個(gè)頁面后面,包含相應(yīng)商業(yè)邏輯的中間層組件,還要再建立至少一個(gè)ASP 頁面,用來接受用戶輸入的信息,調(diào)用中間層組件,把結(jié)果格式化為HTML 形式,最后還要把“ 結(jié)果頁” 送回瀏覽器。要是客戶端代碼不再如此依賴于HTML 表單,客戶 端的編程就簡(jiǎn)單多了。


      如果中間層組件換成WebService 的話,就可以從用戶界面直接調(diào)用中間層組件,從而省掉建立ASP 頁面的 那一步。要調(diào)用WebService ,可以直接使用MicrosoftSOAPToolkit 或.NET 這樣的SOAP 客戶端,也可以使用自己開發(fā)的 SOAP 客戶端,然后把它和應(yīng)用程序連接起來。不僅縮短了開發(fā)周期,還減少了代碼復(fù)雜度,并能夠增強(qiáng)應(yīng)用程序的可維護(hù)性。同時(shí),應(yīng)用程序也不再需要在每次調(diào)用中間層組件時(shí),都跳轉(zhuǎn)到相應(yīng)的“ 結(jié)果頁” 。


      從經(jīng)驗(yàn)來看,在一個(gè)用戶界面和中間層有較多交互的應(yīng)用程序中,使用 WebService 這種結(jié)構(gòu),可以節(jié)省花在用戶界面編程上20% 的開發(fā)時(shí)間。另外,這樣一個(gè)由WebService 組成的中間層,完全可以在應(yīng)用程序集成或其它場(chǎng)合下重用。最后,通過WebService 把應(yīng)用程序的邏輯和數(shù)據(jù)“ 暴露” 出來,還可以讓其它平臺(tái)上的客戶重用這些應(yīng)用程序。


      優(yōu)點(diǎn)二:應(yīng)用程序集成


      企業(yè)級(jí)的應(yīng)用程序開發(fā)者都知道,企業(yè)里經(jīng)常都要把用不同語言寫成的、在不同平臺(tái)上運(yùn)行的各種程序集成起來,而這種集成將花費(fèi)很大的開發(fā)力量。應(yīng)用程序經(jīng)常需要從運(yùn)行在IBM 主機(jī)上的程序中獲取數(shù)據(jù);或者把數(shù)據(jù)發(fā)送到主機(jī)或UNIX 應(yīng)用程序中去。即使在同一個(gè)平臺(tái)上,不同軟件廠商生產(chǎn)的各種軟件也常常需要集成起來。通過WebService ,應(yīng)用程序可以用標(biāo)準(zhǔn)的方法把功能和數(shù)據(jù)“ 暴露” 出來,供其它應(yīng)用程序使用。


      例如,有一個(gè)訂單登 錄程序,用于登錄從客戶來的新訂單,包括客戶信息、發(fā)貨地址、數(shù)量、價(jià)格和付款方式等內(nèi)容;還有一個(gè)訂單執(zhí)行程序,用于實(shí)際貨物發(fā)送的管理。這兩個(gè)程序來自不同軟件廠商。一份新訂單進(jìn)來之后,訂單登錄程序需要通知訂單執(zhí)行程序發(fā)送貨物。通過在訂單執(zhí)行程序上面增加一層WebService ,訂單執(zhí)行程序可以把“AddOrder” 函數(shù)“ 暴露” 出來。這樣,每當(dāng)有新訂單到來時(shí),訂單登錄程序就可以調(diào)用這個(gè)函數(shù)來發(fā)送貨物了。


      優(yōu)點(diǎn)三:B2B 的集成


      用WebService 集成應(yīng)用程序,可以使公司內(nèi)部的商務(wù)處理更加自動(dòng)化。但當(dāng)交易跨越供應(yīng)商和客戶、突破公司的界限時(shí)會(huì)怎么樣呢?跨公司的商務(wù)交易集成通常叫做B2B 集成。WebService 是B2B 集成成功的關(guān)鍵。通過WebService ,公司可以把關(guān)鍵的商務(wù)應(yīng)用“ 暴露” 給指定的供應(yīng)商和客戶。例如,把電子下單系 統(tǒng)和電子發(fā)票系統(tǒng)“ 暴露” 出來,客戶就可以以電子的方式發(fā)送訂單,供應(yīng)商則可以以電子的方式發(fā)送原料采購(gòu)發(fā)票。當(dāng)然,這并不是一個(gè)新的概念,EDI( 電子 文檔交換) 早就是這樣了。但是,WebService 的實(shí)現(xiàn)要比EDI 簡(jiǎn)單得多,而且WebService 運(yùn)行在Internet 上,在世界任何地方都可 輕易實(shí)現(xiàn),其運(yùn)行成本就相對(duì)較低。不過,WebService 并不像EDI 那樣,是文檔交換或B2B 集成的完整解決方案。WebService 只是B2B 集成的一個(gè)關(guān)鍵部分,還需要許多其它的部分才能實(shí)現(xiàn)集成。


      用WebService 來實(shí)現(xiàn)B2B 集成的最大好處在于可以輕易實(shí)現(xiàn)互操作性。只要把商務(wù)邏輯“ 暴露” 出來,成為WebService ,就可以讓任何指定的合作伙伴調(diào)用這些商務(wù)邏輯,而不管他們的系統(tǒng)在什么平臺(tái)上運(yùn)行,使用什么 開發(fā)語言。這樣就大大減少了花在B2B 集成上的時(shí)間和成本,讓許多原本無法承受EDI 的中小企業(yè)也能實(shí)現(xiàn)B2B 集成。


      優(yōu)點(diǎn)四:軟件和數(shù)據(jù)重用


      軟件重用是一個(gè)很大的主題,重用的形式很多,重用的程度有大有小。最基本的形式是源代碼模塊或者類一級(jí)的重用,另一種形式是二進(jìn)制形式的組件重用。


      當(dāng)前,像表格控件或用戶界面控件這樣的可重用軟件組件,在市場(chǎng)上都占有很大的份額。但這類軟件的重用有一個(gè)很大的限制,就是重用僅限于代碼,數(shù)據(jù)不能重用。原因在于,發(fā)布組件甚至源代碼都比較容易,但要發(fā)布數(shù)據(jù)就沒那么容易,除非是不會(huì)經(jīng)常變化的靜態(tài)據(jù)。     WebService 在允許重用代碼的同時(shí),可以重用代碼背后的數(shù)據(jù)。使用WebService ,再也不必像以前那樣,要先從第三方購(gòu)買、安裝軟件組 件,再?gòu)膽?yīng)用程序中調(diào)用這些組件;只需要直接調(diào)用遠(yuǎn)端的WebService 就可以了。舉個(gè)例子,要在應(yīng)用程序中確認(rèn)用戶輸入的地址,只需把這個(gè)地址直接 發(fā)送給相應(yīng)的WebService ,這個(gè)WebService 就會(huì)幫你查閱街道地址、城市、省區(qū)和郵政編碼等信息,確認(rèn)這個(gè)地址是否在相應(yīng)的郵政編碼區(qū)域。WebService 的提供商可以按時(shí)間或使用次數(shù)來對(duì)這項(xiàng)服務(wù)進(jìn)行收費(fèi)。這樣的服務(wù)要通過組件重用來實(shí)現(xiàn)是不可能的,那樣的話你必須下載并安裝好包含街道地址、城市、省區(qū)和郵政編碼等信息的數(shù)據(jù)庫(kù),而且這個(gè)數(shù)據(jù)庫(kù)還是不能實(shí)時(shí)更新的。


      另一種軟件重用的情況是,把好幾個(gè)應(yīng)用程序的 功能集成起來。例如,要建立一個(gè)局域網(wǎng)上的門戶站點(diǎn)應(yīng)用,讓用戶既可以查詢聯(lián)邦快遞包裹,查看股市行情,又可以管理自己的日程安排,還可以在線購(gòu)買電影票?,F(xiàn)在Web 上有很多應(yīng)用程序供應(yīng)商,都在其應(yīng)用中實(shí)現(xiàn)了這些功能。一旦他們把這些功能都通過WebService“ 暴露” 出來,就可以非常容易地把所 有這些功能都集成到你的門戶站點(diǎn)中,為用戶提供一個(gè)統(tǒng)一的、友好的界面。



      將來,許多應(yīng)用程序都會(huì)利用WebService ,把當(dāng)前基 于組件的應(yīng)用程序結(jié)構(gòu)擴(kuò)展為組件/WebService 的混合結(jié)構(gòu),可以在應(yīng)用程序中使用第三方的WebService 提供的功能,也可以把自己的應(yīng)用程序功能通過WebService 提供給別人。兩種情況下,都可以重用代碼和代碼背后的數(shù)據(jù)。


      從以上論述可以看出,WebService 在通過Web 進(jìn)行互操作或遠(yuǎn)程調(diào)用的時(shí)候是最有用的。不過,也有一些情況,WebService 根本不能帶來任何好處。


 


 優(yōu)點(diǎn)(版本三)


 


使用Web服務(wù)的優(yōu)點(diǎn)
      Web服務(wù)是通過Web接口提供的某個(gè)功能程序段,是通過標(biāo)準(zhǔn)的Internet協(xié)議可編程訪問的Web組件?!败浖褪欠?wù)”,這已經(jīng)是軟件發(fā)展的一個(gè)潮流了。未來的軟件廠商就像現(xiàn)在的電信公司一樣,用戶可以按照時(shí)間來租用軟件公司的服務(wù)。"Web服務(wù)”可以說是整個(gè).NET計(jì)劃的核心,簡(jiǎn)單的說,Web服務(wù)就是一種遠(yuǎn)程訪問的標(biāo)準(zhǔn)。Web服務(wù)也是一種應(yīng)用程序,它可以使用標(biāo)準(zhǔn)的互聯(lián)網(wǎng)協(xié)議,像超文本傳輸協(xié)議(HTTP)和XML,將功能綱領(lǐng)性地體現(xiàn)在互聯(lián)網(wǎng)和企業(yè)內(nèi)部網(wǎng)上。可將Web服務(wù)視作Web上的組件編程。從理論上講,開發(fā)人員可通過調(diào)用Web應(yīng)用編程接口(API)(就像調(diào)用本地服務(wù)一樣),將Web服務(wù)集成到應(yīng)用程序中,不同的是Web API調(diào)用可通過互聯(lián)網(wǎng)發(fā)送給位于遠(yuǎn)程系統(tǒng)中的某一服務(wù)。
      Web服務(wù)是為應(yīng)用程序的使用而準(zhǔn)備的,而不是為最終用戶準(zhǔn)備的。通過將一個(gè)系統(tǒng)作為一個(gè)Web,第三方可以將我們的系統(tǒng)功能整合到他們自己的客戶應(yīng)用程序中。這樣便獲得了一種開發(fā)解決方案的新途徑:無需在系統(tǒng)中設(shè)計(jì)所需的功能,只需簡(jiǎn)單地訪問合適的Web服務(wù)以執(zhí)行所需的操作即可。這一切,是通過將緊密禍合的、高效的n層計(jì)算技術(shù)與面向消息的、松散禍合的Web概念相結(jié)合來實(shí)現(xiàn)的。
      Web服務(wù)不僅為那些使用第三方Web服務(wù)的應(yīng)用程序提供了很多的好處,也為發(fā)布客戶Web服務(wù)的應(yīng)用程序本身提供了很多好處:
1平臺(tái)的無關(guān)性
      Web服務(wù)使用的HTTP和SOAP等協(xié)議己經(jīng)是互聯(lián)網(wǎng)上通用的協(xié)議,任何能夠訪問Internet的平臺(tái)都可以訪問Web服務(wù)。任何與Internet建立連接的應(yīng)用程序都可以向Internet上的任何一個(gè)Web服務(wù)發(fā)送XML格式的SOAP消息,同時(shí)也可以接收來自Web服務(wù)的SOAP消息。
2功能復(fù)用
      功能復(fù)用采用了許多與接口相關(guān)的技術(shù),可以使用面向?qū)ο蟮募夹g(shù)和組件對(duì)象的技術(shù)來創(chuàng)建系統(tǒng)。功能復(fù)用的應(yīng)用程序設(shè)計(jì)具有在自己的程序中使用其他的系統(tǒng)執(zhí)行特殊功能的特性,通過使用外部廠商提供的Web服務(wù),開發(fā)人員能夠利用外部廠商己經(jīng)實(shí)現(xiàn)的功能。這意味著可以使用較少的時(shí)間開發(fā)與解決具體的業(yè)務(wù)問題無關(guān)的應(yīng)用程序,使用第三方的技能和經(jīng)驗(yàn),可以使你集中精力處理業(yè)務(wù)問題。以前,為尋求某一功能,開發(fā)人員不得不在某些技術(shù)中做出選擇,Web服務(wù)則支持開發(fā)人員選擇正確的功能,而不是選擇正確的技術(shù)。其原因就在于,接口是己經(jīng)定義好的,執(zhí)行實(shí)際功能的應(yīng)用程序可以用任意的編程語言編寫。開發(fā)人員選擇這項(xiàng)功能的唯一依據(jù)是系統(tǒng)需求,而不是技術(shù)的約束。
3服務(wù)器的中立性
      Web服務(wù)的接口是基于標(biāo)準(zhǔn)的,而且在Web服務(wù)和客戶機(jī)之間傳遞的消息在HTTP之上使用了XML。因此,開發(fā)Web服務(wù)所使用的程序設(shè)計(jì)語言和服務(wù)器軟件是沒有關(guān)系的。Web服務(wù)所在的服務(wù)器可以運(yùn)行UNIX,Windows 2000或其他的操作系統(tǒng),而Web服務(wù)幕后執(zhí)行功能的軟件可以是Java, C#或開發(fā)小組習(xí)慣使用的任何其他編程語言編寫的。有了Web服務(wù)之后,你就不再被迫基于第三方的功能需求來選擇一種程序設(shè)計(jì)語言了。這給了從事Web服務(wù)開發(fā)的人員很大的靈活性,開發(fā)人員也不再需要根據(jù)客戶機(jī)
的需求,而是根據(jù)自己使用某個(gè)程序設(shè)計(jì)語言方面的經(jīng)驗(yàn)來開發(fā)解決方案。這增加了開發(fā)人員的滿意程度,也提高了工作效率。
4拓展業(yè)務(wù)
      通過允許第三方使用Web服務(wù)訪問內(nèi)部傳統(tǒng)的方式,企業(yè)允許消費(fèi)者以更加集成化的方式和以用戶為中心的方式訪問他們。當(dāng)允許其他的應(yīng)用程序使用企業(yè)應(yīng)用程序中的功能時(shí),企業(yè)便可以將精力集中在自己的特殊產(chǎn)品上。第三方能夠結(jié)合開發(fā)廠商提供的相關(guān)Web服務(wù)為消費(fèi)者開發(fā)集成的解決方案,給用戶帶來更好的體驗(yàn),而且廠商也拓展了自己的業(yè)務(wù)。
      Web服務(wù)也能夠被用來拓展貿(mào)易伙伴關(guān)系。通過將供應(yīng)鏈與Web服務(wù)的供應(yīng)商集成在一起,可以使業(yè)務(wù)過程能夠動(dòng)態(tài)、靈活地變換需求。當(dāng)有新的業(yè)務(wù)伙伴加入時(shí),新伙伴就能夠使用公司所提供的Web服務(wù)順利地集成到整個(gè)系統(tǒng)中。
5安全的通信
      Web服務(wù)像所有的Web應(yīng)用程序一樣安全,保護(hù)在線商業(yè)站點(diǎn)使用的技術(shù)也同樣用于保護(hù)和驗(yàn)證Web服務(wù)的身份。對(duì)數(shù)據(jù)進(jìn)行全球統(tǒng)一編址并不意味著讓所有人都可以訪問你的數(shù)據(jù),我們可以通過不公布其URI而很方便地隱藏對(duì)象,也可以很方便地對(duì)對(duì)象使用安全策略。幾乎所有的防火墻都允許HTTP通過,這就意味著可以在Internet上的防火墻背后提供Web服務(wù),但是這并不意味著能夠任意訪問你使用XML編碼的HTTP信息包的受保護(hù)的網(wǎng)絡(luò)。我們可以對(duì)每個(gè)數(shù)據(jù)對(duì)象使用4種基本的權(quán)限:GET權(quán)限、PUT
權(quán)限、DELETE權(quán)限和POST權(quán)限。我們可以使一部分資源具有或不具有GET, PUT, DELETE和POST四種權(quán)限,這與當(dāng)前廣泛使用的文件系統(tǒng)的權(quán)限有點(diǎn)類似,它是有效和成熟的。以資源為中心的web服務(wù)可以很好地與防火墻進(jìn)行合作。防火墻管理員能夠很容易地通過阻止不使用GET方法的HTTP請(qǐng)求而使一種web服務(wù)只能被讀取。


Web Service 優(yōu)勢(shì)


1.異構(gòu)平臺(tái)的互通性 
理論上, Web Service 最大的優(yōu)勢(shì)是提供了異構(gòu)平臺(tái)的無縫街接技術(shù)手段。由于不同的用戶使用不同的硬件平臺(tái),不同的操作平臺(tái),不同的操作系統(tǒng),不同的軟件,不同的 協(xié)議通信,這就產(chǎn)生了互相通信的需求。 Web Service 使任何兩個(gè)應(yīng)用程序,只要能讀寫XML,那么就能互相通信。 
2.更廣泛的軟件復(fù)用 
軟件的復(fù)用技術(shù)通過組合已有模塊來搭建應(yīng)用程序,能大幅度提高軟件的生產(chǎn)效率和質(zhì)量。用戶只要獲得了描述 Web Service 的 WSDL 文件,就可以方便地生成客戶端代理,并通過代理訪問 Web Service 。 
3. 普通的通信能力 
Web Service 可用基于 XML 的 SOAP 來表示數(shù)據(jù)和調(diào)用請(qǐng)求。并且通過 HTTP 協(xié)議傳輸 XML 格式的數(shù)據(jù)。 
4. 迅捷的軟件發(fā)行方式 
Web Service 將徹底地改變軟件的發(fā)行方式。軟件供應(yīng)商可以把軟件分解成若干 Web Service 模塊構(gòu)成的系統(tǒng),直接在 Web 上發(fā)布軟件。 
5. 方便的商務(wù)的商務(wù)的集成 
企業(yè)通過把業(yè)務(wù)軟件的核心模塊以 Web Service 的形式向其合作伙伴發(fā)布,這樣既保留了原有的數(shù)據(jù)和軟件,又方便了彼此的聯(lián)系。





 


缺點(diǎn)


 


  缺點(diǎn)一:?jiǎn)螜C(jī)應(yīng)用程序


      目前,企業(yè)和個(gè)人還使用著很多桌面應(yīng)用程序。其中一些只需要與本機(jī)上的其它程序通信。在這種情況下,最好就不要用WebService ,只要用本地的 API 就可以了。COM 非常適合于在這種情況下工作,因?yàn)樗刃∮挚?。運(yùn)行在同一臺(tái)服務(wù)器上的服務(wù)器軟件也是這樣。最好直接用COM 或其它本地的API 來 進(jìn)行應(yīng)用程序間的調(diào)用。當(dāng)然WebService 也能用在這些場(chǎng)合,但那樣不僅消耗太大,而且不會(huì)帶來任何好處。


      缺點(diǎn)二:局域網(wǎng)的同構(gòu)應(yīng)用程序


      在許多應(yīng)用中,所有的程序都是用VB 或VC 開發(fā)的,都在Windows 平臺(tái)下使用COM ,都運(yùn)行在同一個(gè)局域網(wǎng)上。例如,有兩個(gè)服務(wù)器應(yīng)用程序需要相互通信,或者有一個(gè)Win32 或WinForm 的客戶程序要連接局域網(wǎng)上另一個(gè)服務(wù)器的程序。在這些程序里,使用DCOM 會(huì)比SOAP/HTTP 有效得多。 與此相類似,如果一個(gè).NET 程序要連接到局域網(wǎng)上的另一個(gè).NET 程序,應(yīng)該使用.NETremoting 。有趣的是,在.NETremoting 中, 也可以指定使用SOAP/HTTP 來進(jìn)行WebService 調(diào)用。不過最好還是直接通過TCP 進(jìn)行RPC 調(diào)用,那樣會(huì)有效得多。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多