五月综合缴情婷婷六月,色94色欧美sute亚洲线路二,日韩制服国产精品一区,色噜噜一区二区三区,香港三级午夜理伦三级三

您現(xiàn)在的位置: 365建站網(wǎng) > 365文章 > Web Services何時(shí)才能更具意義?-.NET教程,Web Service研發(fā)

Web Services何時(shí)才能更具意義?-.NET教程,Web Service研發(fā)

文章來源:365jz.com     點(diǎn)擊數(shù):242    更新時(shí)間:2009-09-18 10:24   參與評(píng)論
目前web services還是一門相當(dāng)新的技術(shù),而且不是每個(gè)人都知道該怎么充分利用他們。以我的經(jīng)驗(yàn)(我曾在web services底層架構(gòu)上構(gòu)建了一個(gè)完整的企業(yè)軟件產(chǎn)品),我發(fā)現(xiàn)web services有這樣兩個(gè)主要用途:將多個(gè)系統(tǒng)整合到一起,及將功能函數(shù)(function)作為組件提供給遠(yuǎn)程調(diào)用。本文我將介紹在使用后一種方法時(shí)需要注意的問題。

當(dāng)你想要用web service來提交一個(gè)新的函數(shù)或service給可能要遠(yuǎn)程調(diào)用的客戶端時(shí),你需要考慮到許多因素。不論這個(gè)函數(shù)是用于內(nèi)部還是用于外部的客戶或合作者,在visual studio .net中開始一個(gè)新的web service項(xiàng)目之前先設(shè)計(jì)一個(gè)大綱會(huì)幫你節(jié)省不少時(shí)間。比如,在需求訪問專屬數(shù)據(jù)庫(kù)時(shí)及/或在非常難實(shí)現(xiàn)本地部署或造價(jià)太高時(shí),將一個(gè)功能函數(shù)作為一個(gè)web service來提供就會(huì)非常有意義。用于執(zhí)行簡(jiǎn)單計(jì)算的函數(shù)不需求訪問專屬數(shù)據(jù),同時(shí)在進(jìn)行本地部署或維護(hù)方面也沒那么復(fù)雜。

當(dāng)功能函數(shù)需要一個(gè)復(fù)雜的安裝過程或一個(gè)復(fù)雜的、昂貴的硬件設(shè)置時(shí),使用web services或許是你的最佳選擇。在這種情況下,將功能函數(shù)作為一個(gè)web service來提供會(huì)為你的客戶解決非常多麻煩事,因?yàn)樗麄儾挥迷诒镜夭渴鹚?。如果你?jīng)常需要發(fā)布一個(gè)功能函數(shù)的新版本,那么你也該考慮用web services。一個(gè)web service會(huì)提供一種簡(jiǎn)便的方法給所有使用該功能函數(shù)的客戶發(fā)布升級(jí)版本,而無需在每次發(fā)布新版本時(shí)讓他們重新部署一遍。公眾所期望的通過web service接口提供需要訪問專屬數(shù)據(jù)的功能函數(shù)是不容易得到的。不管怎樣,客戶端需要能夠得到數(shù)據(jù),而web service顯然是個(gè)比傳送普通文件(flat file)數(shù)據(jù)更好的方法。最后,最佳能將依賴于經(jīng)常改動(dòng)數(shù)據(jù)的功能函數(shù)作為web services來提供。在更新數(shù)據(jù)速度和更改數(shù)據(jù)大小方面的提高會(huì)使遠(yuǎn)程訪問專屬數(shù)據(jù)的優(yōu)勢(shì)更為明顯。

在你決定是否將一個(gè)功能函數(shù)作為一個(gè)web service來提供時(shí),部署問題是個(gè)最重要的因素。web services會(huì)使軟件的部署更簡(jiǎn)單。比如,如果你在構(gòu)建一個(gè)指導(dǎo)駕駛的應(yīng)用程式,你就不必?fù)?dān)心怎么安裝地圖軟件?;蛉绻阌幸粋€(gè)需要經(jīng)常升級(jí)的功能函數(shù),你就不必每幾個(gè)月就回到公司讓他們幫你部署更新。

明智地選擇web services
然而,你要了解并非web services的所有方面都是好的,他們也有好處和缺點(diǎn)。當(dāng)然,在開始你的項(xiàng)目之前你得確認(rèn)其好處是多于缺點(diǎn)的。否則你唯一需要用到新的web service的地方就是在你的簡(jiǎn)歷中了。

比如說,一個(gè)運(yùn)行于其他架構(gòu)中的web service肯定不如在你自己的服務(wù)器中運(yùn)行的那么可靠。即便是保護(hù)最完善的和維護(hù)得最佳的網(wǎng)絡(luò)在某些方面也并不是完全牢靠的。你必須能夠向你的客戶證實(shí),無論是在內(nèi)部還是外部,在service的部署和維護(hù)方面有非常大優(yōu)勢(shì)來彌補(bǔ)本身固有的在一個(gè)易出錯(cuò)的網(wǎng)絡(luò)中遠(yuǎn)程訪問功能函數(shù)所帶了的不足之處。

我最喜歡用平方根功能函數(shù)來說明一個(gè)典型的“錯(cuò)誤”使用web service的例子(見表1)。雖然這個(gè)場(chǎng)景有點(diǎn)夸張,但卻非常能說明問題。平方根功能函數(shù)沒有體現(xiàn)所有web service所提供的優(yōu)勢(shì),相反卻體現(xiàn)了其所有的缺陷。對(duì)他進(jìn)行部署并非難事,而且他沒有(至少最近沒有)因?yàn)榘l(fā)生了變化而需要進(jìn)行重新部署,這樣一來就使web services部署優(yōu)勢(shì)不能夠體現(xiàn)出來了。而且,他不必訪問所有數(shù)據(jù)庫(kù)或?qū)贁?shù)據(jù)來實(shí)現(xiàn)計(jì)算功能。然而他的確需要將功能函數(shù)請(qǐng)求發(fā)送到web服務(wù)器,這會(huì)致使web service因?yàn)槠浔旧砉逃械木徛驘o網(wǎng)絡(luò)鏈接問題而執(zhí)行地非常慢。在這種情況下,一個(gè)象平方根這樣的小函數(shù)會(huì)導(dǎo)致一個(gè)非常大的應(yīng)用程式的機(jī)能完全停止。在你首次嘗試web services時(shí),他會(huì)試圖將一些應(yīng)用函數(shù)(utility function)作為web services來發(fā)布――一些將位圖(bitmap)轉(zhuǎn)化為jpeg的函數(shù)或壓縮位圖數(shù)據(jù)的函數(shù)。這些功能函數(shù)或許是非常便利的,但他們并不適合用web services提供。

當(dāng)數(shù)據(jù)可能會(huì)對(duì)其他部門有用時(shí),內(nèi)部的department-to-department (d2d) web services可能會(huì)適用于所有功能函數(shù),甚至是一些非常難部署的功能函數(shù)。web services提供了一種非常棒的方法能夠快速高效地在企業(yè)內(nèi)部實(shí)現(xiàn)對(duì)軟件部署和維護(hù),而無需去訪問防火墻以外的web services。因?yàn)閐2d web services是在你的網(wǎng)絡(luò)內(nèi)部運(yùn)行的,這樣就減少了由于網(wǎng)絡(luò)問題而導(dǎo)致程式中斷的可能性,而且volume的層級(jí)也更容易預(yù)測(cè)。

通常在一個(gè)部門構(gòu)建需要訪問其他部門管制的數(shù)據(jù)的程式時(shí),持有這些數(shù)據(jù)的部門會(huì)設(shè)置一個(gè)數(shù)據(jù)輸出程式(data export procedure)將一個(gè)包含該數(shù)據(jù)的普通文件傳輸?shù)剿枰牟块T,這樣他們便能將數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫(kù)中了。遺憾的是這種極不方便的共享數(shù)據(jù)方法還是非常普遍的。web services提供了一種更好的方法為內(nèi)部部門數(shù)據(jù)共享加載普通文件數(shù)據(jù)。web services不是將原始數(shù)據(jù)傳送過去讓客戶端程式自己進(jìn)行數(shù)據(jù)處理,而是更多地讓你來控制,他們會(huì)提供計(jì)算功能而不是用來計(jì)算的數(shù)據(jù)。這不僅是一種更穩(wěn)定的信息共享的方法,而且他還提供了一種機(jī)制來增強(qiáng)和數(shù)據(jù)有關(guān)的商業(yè)規(guī)則。

盡管采用了同樣的方法,對(duì)需要通過web services來提供給外部的功能函數(shù)的評(píng)估還是非常重要的。使用一個(gè)外部企業(yè)提供的web service的危險(xiǎn)性更大一些。然而,這種危險(xiǎn)性會(huì)被他們能充分利用分布程式跨防火墻而無需在本地部署service的優(yōu)勢(shì)所抵消(見表2)。

考慮以下問題
在你向公司建議將某一功能函數(shù)作為一個(gè)web service 提供給你的商業(yè)伙伴或用戶時(shí),你需要說明其優(yōu)勢(shì)是否大于劣勢(shì)。先考慮下面這些問題的答案會(huì)對(duì)你有所幫助:

對(duì)使用的程式而言,該功能的緊急性有多高?

傳入或輸出web service 的數(shù)據(jù)有多敏感?

數(shù)據(jù)源是什么? 他多長(zhǎng)時(shí)間更新一次?是否是公開的?

你多久參和一次該功能新版本的發(fā)布?

誰在控制web service所處的架構(gòu)? 該架構(gòu)是否可靠?



web services在大多數(shù)it企業(yè)都具有利用潛力,尤其是在軟件部署方面,但你也不能將他隨意使用到所有地方。你要避免毫無意義地將功能函數(shù)或服務(wù)用做web services。有時(shí)在本地部署是非常有必要的。

    如對(duì)本文有疑問,請(qǐng)?zhí)峤坏浇涣髡搲?,廣大熱心網(wǎng)友會(huì)為你解答??! 點(diǎn)擊進(jìn)入論壇

    發(fā)表評(píng)論 (242人查看0條評(píng)論)
    請(qǐng)自覺遵守互聯(lián)網(wǎng)相關(guān)的政策法規(guī),嚴(yán)禁發(fā)布色情、暴力、反動(dòng)的言論。
    昵稱:
    最新評(píng)論
    ------分隔線----------------------------

    其它欄目

    · 建站教程
    · 365學(xué)習(xí)

    業(yè)務(wù)咨詢

    · 技術(shù)支持
    · 服務(wù)時(shí)間:9:00-18:00
    365建站網(wǎng)二維碼

    Powered by 365建站網(wǎng) RSS地圖 HTML地圖

    copyright © 2013-2024 版權(quán)所有 鄂ICP備17013400號(hào)