對(duì)企業(yè)應(yīng)用而言,異步JavaScript和XML的優(yōu)點(diǎn)絕不僅僅在于為用戶(hù)界面增添功能。 不難明白為什么異步JavaScript和XML(AJAX)讓那么多的Web開(kāi)發(fā)人員為之心馳神往?;跒g覽器的用戶(hù)界面頭一回內(nèi)容豐富、功能齊全,足以讓人扔掉所謂的胖客戶(hù)端桌面應(yīng)用。 乍一看,AJAX 似乎最適合面向消費(fèi)者的應(yīng)用。Google Maps、雅虎的Flickr像片共享網(wǎng)站以及亞馬遜網(wǎng)站的A9搜索引擎這些例子都有力地證明,AJAX可以為網(wǎng)站的用戶(hù)界面增添一些亮色。不過(guò)對(duì)企業(yè)應(yīng)用而言,很難看到AJAX如何提供足夠明顯的實(shí)際好處,才能夠抵消采用一種新穎、復(fù)雜的開(kāi)發(fā)方式所帶來(lái)的風(fēng)險(xiǎn)。 但I(xiàn)T經(jīng)理們應(yīng)當(dāng)慎重行事,不要還沒(méi)做更深入的了解,就把AJAX給全盤(pán)否定掉。為消費(fèi)者應(yīng)用添加樂(lè)趣的這些技術(shù)同樣也可以在企業(yè)市場(chǎng)發(fā)揮重要作用。而且正如少數(shù)幾家公司已發(fā)現(xiàn)的那樣,如果這個(gè)重要作用利用得當(dāng),可以讓IT人員得益匪淺。 譬如說(shuō),Tupperware墨西哥公司試圖效仿澳大利亞公司的同仁,實(shí)施一套網(wǎng)上訂購(gòu)和庫(kù)存跟蹤系統(tǒng)時(shí),其IT隊(duì)伍最先求助于使用AJAX。不過(guò),這支隊(duì)伍發(fā)現(xiàn),他們?nèi)狈Y源來(lái)運(yùn)行這個(gè)應(yīng)用。 Liborio Longoria是Tupperware駐墨西哥負(fù)責(zé)銷(xiāo)售辦事處和工廠(chǎng)的技術(shù)經(jīng)理,他說(shuō):“我們只有一條T1線(xiàn)和一臺(tái)服務(wù)器。”情況更為糟糕的是,這條T1線(xiàn)需要同時(shí)為四五十個(gè)內(nèi)部用戶(hù)處理流量,另外還要為許多試圖登錄到該系統(tǒng)的分銷(xiāo)商提供服務(wù)。 于是,當(dāng)AJAX開(kāi)發(fā)工具廠(chǎng)商JackBe的首席執(zhí)行官Luis Derechin突然打來(lái)電話(huà),告訴Longoria不妨試試AJAX后,這位備受困擾的技術(shù)經(jīng)理當(dāng)然愿意嘗試一下。 AJAX鼓勵(lì)開(kāi)發(fā)人員把網(wǎng)頁(yè)分成幾部分獨(dú)立的數(shù)據(jù),這些數(shù)據(jù)可以獨(dú)立于整個(gè)網(wǎng)頁(yè)來(lái)進(jìn)行更新,并且鼓勵(lì)開(kāi)發(fā)人員編寫(xiě)在瀏覽器里面而不是服務(wù)器上對(duì)數(shù)據(jù)進(jìn)行操作的應(yīng)用軟件。畢竟,既然瀏覽器本身?yè)碛凶銐驈?qiáng)的處理功能來(lái)運(yùn)行簡(jiǎn)單的任務(wù),瀏覽器干嘛要請(qǐng)求服務(wù)器來(lái)完成這項(xiàng)工作?結(jié)果就是,大大減少了在網(wǎng)絡(luò)上傳送的數(shù)據(jù)和顯示信息。 在開(kāi)始使用JackBe工具后的幾個(gè)月里,Longoria的隊(duì)伍就開(kāi)發(fā)成了一套系統(tǒng),在一臺(tái)服務(wù)器上就可以高效運(yùn)行。Longoria說(shuō):“我們的顧客對(duì)我們的服務(wù)感到很開(kāi)心,至少感到很滿(mǎn)意。我們可以錄入訂單、開(kāi)賬單、收取賬款、進(jìn)行促銷(xiāo)及跟蹤庫(kù)存——而且我們每周可以從每個(gè)分銷(xiāo)商處得到200個(gè)訂單,有時(shí)所有分銷(xiāo)商同時(shí)使用系統(tǒng),但系統(tǒng)的響應(yīng)速度仍很快。” 使用AJAX減少網(wǎng)絡(luò)流量的現(xiàn)象正在迅速普及,尤其是在顧客和客戶(hù)并不總是能夠通過(guò)寬帶連接訪(fǎng)問(wèn)應(yīng)用的地區(qū)。在過(guò)去的兩年間,JackBe已經(jīng)幫助十多家拉美公司部署及推廣基于AJAX的應(yīng)用。這些公司并非無(wú)名之輩,譬如墨西哥國(guó)家銀行(Banamex)、墨西哥水泥公司(Cemex)以及拉美天空電視臺(tái)(Sky Latin America)如今都在使用AJAX。 集兩者之所長(zhǎng) 除了提高網(wǎng)絡(luò)運(yùn)行效率外,AJAX的另一個(gè)優(yōu)點(diǎn)就是:它讓部署零占用空間(zero-footprint)的軟件成為可能。IT人員可以在一個(gè)地方維護(hù)代碼,通過(guò)Web部署到任何有需要用戶(hù)的桌面系統(tǒng)上,用不著在辦公室的每一個(gè)桌面系統(tǒng)上安裝一份應(yīng)用軟件。同樣,修正版和軟件更新也可以自動(dòng)分發(fā)給每個(gè)用戶(hù)。 多年來(lái),企業(yè)應(yīng)用軟件廠(chǎng)商一直在向顧客許諾這種美好前景,但傳統(tǒng)的HTML和JavaScript界面存在一些局限,這使得基于Web的應(yīng)用軟件很難與桌面軟件相競(jìng)爭(zhēng)。所以,其中一些廠(chǎng)商正率先利用AJAX消除這兩類(lèi)軟件之間的差距也就不足為奇了。 譬如,開(kāi)發(fā)基于Linux的消息傳送和日歷功能產(chǎn)品的廠(chǎng)商Scalix就使用AJAX為其網(wǎng)上服務(wù)器管理工具和Web郵件界面添加類(lèi)似桌面軟件的特性。的確,名為Scalix Web Access的后者極其類(lèi)似現(xiàn)代的桌面電子郵件應(yīng)用軟件如Outlook和Thunderbird,以至于用戶(hù)很容易忘了自己其實(shí)在使用基于Web的應(yīng)用軟件。用戶(hù)可以對(duì)收件箱里面的郵件重新排序、在預(yù)覽窗口里面查閱郵件、瀏覽不同文件夾里面的郵件——這一切用不著像其他郵件界面譬如IBM Lotus公司的Domino WebMail或者微軟的Outlook Web Access那樣進(jìn)行單調(diào)乏味的頁(yè)面更新過(guò)程。 Scalix的首席技術(shù)官Andy Palay說(shuō):“AJAX集兩者之所長(zhǎng)。從用戶(hù)角度來(lái)看,用不著面臨從一種狀態(tài)變換到另一種狀態(tài)的巨大變化。而從管理員角度來(lái)看,它擁有這項(xiàng)神奇特性,即用不著為把軟件安裝到每臺(tái)計(jì)算機(jī)上而操心。” 提供托管商業(yè)應(yīng)用軟件的廠(chǎng)商N(yùn)etSuite的情況幾乎如出一轍。該公司在創(chuàng)辦時(shí)就認(rèn)為,中小企業(yè)可以把內(nèi)部開(kāi)發(fā)CRM和ERP軟件包的做法改為使用托管服務(wù),從而節(jié)省費(fèi)用。不過(guò)為了說(shuō)服顧客放棄功能豐富的桌面應(yīng)用,NetSuite提供的Web應(yīng)用就要能夠幾乎以同樣的運(yùn)行速度完成所有的同樣工作。 這時(shí)AJAX就有了用武之地。NetSuite把在儀表板上顯示的不同數(shù)據(jù)集劃分成了獨(dú)立部分——顧客用儀表板來(lái)訪(fǎng)問(wèn)CRM數(shù)據(jù)庫(kù),從而得以添加類(lèi)似桌面軟件的特性,包括行內(nèi)編輯和列表即時(shí)重新排序。如今儀表板就像是“我們開(kāi)發(fā)的一種應(yīng)用,而不是一個(gè)網(wǎng)站”。NetSuite負(fù)責(zé)產(chǎn)品管理的高級(jí)經(jīng)理Mini Peiris說(shuō):“能夠利用AJAX是件好事。儀表板對(duì)我們來(lái)說(shuō)無(wú)疑是個(gè)競(jìng)爭(zhēng)優(yōu)勢(shì)。” 正如JackBe幫助了Tupperware墨西哥公司那樣,Scalix和NetSuite也都在使用AJAX,以減輕服務(wù)器負(fù)擔(dān)和網(wǎng)絡(luò)流量。對(duì)Scalix來(lái)說(shuō),這是一個(gè)賣(mài)點(diǎn):如果顧客發(fā)現(xiàn)與競(jìng)爭(zhēng)方案相比,AJAX可以提高網(wǎng)絡(luò)運(yùn)行效率、減輕服務(wù)器負(fù)擔(dān),可能更有興趣購(gòu)買(mǎi)該公司的產(chǎn)品。對(duì)NetSuite來(lái)說(shuō),AJAX是確保公司順暢運(yùn)作的一個(gè)利器,哪怕顧客在不斷擴(kuò)大業(yè)務(wù)。 譬如說(shuō),NetSuite的用戶(hù)可以對(duì)所需的所有列表重新排序,而不會(huì)給公司的服務(wù)器帶來(lái)影響,也不會(huì)占用大量帶寬,因?yàn)檫@項(xiàng)功能完全在瀏覽器里面處理。同樣,當(dāng)數(shù)據(jù)點(diǎn)改變時(shí)——譬如當(dāng)銷(xiāo)售人員在NetSuite儀表板上編輯某顧客的電話(huà)號(hào)碼時(shí),該應(yīng)用軟件只要把號(hào)碼發(fā)送到服務(wù)器,就可以檢索更新后的列表。實(shí)際上,利用NetSuite架構(gòu),該應(yīng)用軟件甚至沒(méi)必要檢索全部列表,因?yàn)榫驮谟脩?hù)滾動(dòng)查詢(xún)時(shí),更新后部分已經(jīng)動(dòng)態(tài)載入。 AJAX開(kāi)發(fā)人員的工具包
產(chǎn)品描述價(jià)格
Backbase 3.0標(biāo)準(zhǔn)版JavaScript庫(kù)利用為便于AJAX開(kāi)發(fā)的自己的Backbase擴(kuò)展標(biāo)記語(yǔ)言(BXML)取代JavaScript和HTML代碼。每個(gè)CPU 5760美元
JackBe NQ Suite集成開(kāi)發(fā)環(huán)境(IDE)和一組JavaScript庫(kù)用于不必從頭開(kāi)始,就可以開(kāi)發(fā)跨平臺(tái)AJAX應(yīng)用軟件。起價(jià)5萬(wàn)美元
微軟AtlasVisual Studio 2005早期試用版包括用于開(kāi)發(fā)跨瀏覽器AJAX界面的ASP .Net擴(kuò)展件。未定
Ruby on Rails該框架利用Ruby編程語(yǔ)言用于開(kāi)發(fā)Web應(yīng)用軟件,有幾項(xiàng)功能可用于加快AJAX開(kāi)發(fā)。開(kāi)放源代碼
Sun Java Studio Creator 2早期試用版的Java IDE包括一些AJAX組件,可以添加到應(yīng)用軟件上。預(yù)計(jì)每個(gè)客戶(hù)99美元
Tibco General Interface 3.0IDE提供了逐步調(diào)試、內(nèi)存管理及用于開(kāi)發(fā)AJAX應(yīng)用軟件的其他工具。起價(jià)25000美元
注:開(kāi)發(fā)AJAX應(yīng)用軟件可能具有挑戰(zhàn)性,但開(kāi)發(fā)人員不必獨(dú)自開(kāi)發(fā)。越來(lái)越多的廠(chǎng)商提供簡(jiǎn)化開(kāi)發(fā)復(fù)雜的Web應(yīng)用軟件的工具。
Peiris說(shuō):“AJAX的真正價(jià)值在于,為我們的最終用戶(hù)及我們的服務(wù)器優(yōu)化性能。你確實(shí)希望獲得互動(dòng)的體驗(yàn),同時(shí)你又希望盡可能實(shí)現(xiàn)高性能,不會(huì)給服務(wù)器帶來(lái)沉重負(fù)擔(dān)。” 工具和要訣 對(duì)那些愿意嘗試AJAX的人來(lái)說(shuō),現(xiàn)在有許多開(kāi)發(fā)工具可以使用。到目前為止,Backbase、JackBe NQ Suite和Tibco General Interface是這個(gè)領(lǐng)域最先進(jìn)的商業(yè)產(chǎn)品——不過(guò)每款產(chǎn)品價(jià)格不菲(參閱表格“AJAX開(kāi)發(fā)人員的工具包”)。 不甘落后的微軟和Sun都已經(jīng)各自發(fā)布了AJAX開(kāi)發(fā)工具的早期試用版。而Ruby on Rails開(kāi)發(fā)框架是另一個(gè)成熟的工具,它為許多開(kāi)發(fā)人員提供了另一種吸引力:完全采用開(kāi)放源代碼。 無(wú)論用戶(hù)使用什么工具,都要記住這一點(diǎn):開(kāi)發(fā)類(lèi)似桌面軟件的應(yīng)用軟件將面臨Web開(kāi)發(fā)人員通常不會(huì)遇到的設(shè)計(jì)上的難題。譬如說(shuō),用戶(hù)已經(jīng)習(xí)慣于使用“后退”鍵返回到網(wǎng)頁(yè)的前一個(gè)狀態(tài)。不過(guò)對(duì)使用AJAX的網(wǎng)站而言,“后退”鍵可能會(huì)突然之間卸載整個(gè)應(yīng)用軟件。有些用戶(hù)可能要費(fèi)點(diǎn)功夫才能適應(yīng),而適應(yīng)過(guò)程有多難,就要看應(yīng)用軟件的性質(zhì)以及使用群體。 Scalix的Palay說(shuō),他們正是由于這個(gè)原因才禁用了瀏覽器的一些按鍵。他說(shuō):“我們是把Scalix Web Access和(管理)控制臺(tái)作為桌面應(yīng)用軟件來(lái)提供的。用戶(hù)在運(yùn)行它們時(shí),出現(xiàn)的窗口并沒(méi)有瀏覽器控件。” Peiris說(shuō),NetSuite的開(kāi)發(fā)人員做了類(lèi)似考慮。他們后來(lái)選用了這種設(shè)計(jì):把應(yīng)用軟件的幾個(gè)主要部分劃分在幾個(gè)“頁(yè)面”上,那樣用戶(hù)就可以使用“后退”鍵在幾個(gè)頁(yè)面之間跳轉(zhuǎn)。Peiris 解釋道:“用戶(hù)仍可以嫻熟地使用‘后退’鍵。如果在使用客戶(hù)線(xiàn)索儀表板,就可以點(diǎn)擊‘后退’鍵跳到銷(xiāo)售儀表板。” Jesse James Garrett是咨詢(xún)公司Adaptive Path的用戶(hù)體驗(yàn)戰(zhàn)略部門(mén)主管,正是他首先提出了AJAX這個(gè)縮略詞。他說(shuō),只要新界面設(shè)計(jì)巧妙,用戶(hù)會(huì)學(xué)會(huì)適應(yīng)新界面。他說(shuō):“現(xiàn)在與五年前相比,Web上的互動(dòng)方式大不一樣。互動(dòng)方式會(huì)一年比一年完善,用戶(hù)已經(jīng)很好地適應(yīng)了這一點(diǎn)。” 說(shuō)到開(kāi)發(fā)基于AJAX的應(yīng)用軟件,要注意的另一點(diǎn)就是,不要僅僅因?yàn)锳JAX是最新技術(shù),就試圖把它加到一個(gè)產(chǎn)品里面。正如ZapThink的高級(jí)分析師Ron Schmelzer所言,AJAX本身不是什么差異因素。毫無(wú)疑問(wèn),哪家廠(chǎng)商要想銷(xiāo)售基于AJAX的產(chǎn)品,或者哪個(gè)開(kāi)發(fā)人員要想提議在內(nèi)部使用AJAX開(kāi)發(fā)軟件,他們?nèi)缘米C明這一點(diǎn):實(shí)施的軟件確實(shí)能夠發(fā)揮價(jià)值。 Schmelzer說(shuō):“AJAX本身并不意味著什么。你可以說(shuō):‘嗨,我有AJAX,’但人家聽(tīng)了后可能會(huì)說(shuō):‘OK,那你的產(chǎn)品有什么功能?’”。 考慮到AJAX對(duì)前端應(yīng)用和后臺(tái)應(yīng)用都具有優(yōu)點(diǎn),Schmelzer說(shuō),不難想象許多公司會(huì)推出以巧妙、創(chuàng)新的方式利用AJAX的產(chǎn)品。實(shí)際上,他認(rèn)為AJAX可以應(yīng)用于各個(gè)地方。他說(shuō):“許多下一個(gè)版本的應(yīng)用軟件將會(huì)采用基于AJAX的界面。到明年這個(gè)時(shí)候,AJAX將無(wú)處不在。”(水華綜合編譯) (計(jì)算機(jī)世界報(bào) 2005年11月07日 第43期 B1、B3)
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶(hù)發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)
點(diǎn)擊舉報(bào)。