圖1 SynleadCRM4.0 軟件在瀏覽器端實(shí)現(xiàn)圖表的人-機(jī)交互
(點(diǎn)擊看大圖)
HTML語言僅僅由瀏覽器解釋、執(zhí)行就可以生成靜態(tài)網(wǎng)頁。動(dòng)態(tài)交互式網(wǎng)頁的實(shí)現(xiàn),不僅需要瀏覽器有較新的版本以支持其功能,而且依賴一些控制程序(控件或組件,可以用多種語言編寫)來解釋、執(zhí)行有關(guān)的數(shù)據(jù),以便臨時(shí)動(dòng)態(tài)生成網(wǎng)頁,產(chǎn)生各種復(fù)雜的、與操作者友好的行為。動(dòng)態(tài)網(wǎng)頁的生成有主要三種方式。第一種方式,是在服務(wù)器端完成數(shù)據(jù)檢索、讀出和頁面生成,然后將頁面?zhèn)鞯綖g覽器端顯示,頁面到達(dá)瀏覽器后基本喪失了交互性;第二種方式,服務(wù)器端主要完成數(shù)據(jù)檢索、讀出,數(shù)據(jù)到達(dá)瀏覽器后再在依據(jù)控件或組件的解釋,動(dòng)態(tài)生成頁面,頁面到達(dá)瀏覽器后可具有高度的交互性;第三種方式是前兩者某種程度的結(jié)合,交互性能依結(jié)合程度在前兩者間變動(dòng)。
CRM等管理軟件領(lǐng)域曾經(jīng)是由客戶機(jī)/服務(wù)器(Client/Server,簡(jiǎn)稱C/S)架構(gòu)一統(tǒng)天下。在C/S架構(gòu)下,服務(wù)器端主要負(fù)責(zé)數(shù)據(jù)存取和檢索等計(jì)算,客戶機(jī)端需要安裝特定的客戶端程序,參與應(yīng)用程序的計(jì)算工作:處理從服務(wù)器獲得的數(shù)據(jù),顯示給操作者,接受操作者的指令并提交給服務(wù)器處理。在C/S架構(gòu)下,無論是人-機(jī)交互,還是客戶端-服務(wù)器端的交互能力都比較強(qiáng)。C/S架構(gòu)的管理軟件,可以在互聯(lián)網(wǎng)環(huán)境中運(yùn)行,但前提是所有的客戶機(jī)與服務(wù)器必須處于一個(gè)邏輯上的局域網(wǎng)內(nèi)。假如某些客戶機(jī)在遠(yuǎn)程分支機(jī)構(gòu),或者某些客戶機(jī)是筆記本遠(yuǎn)程移動(dòng)用戶,那么這些遠(yuǎn)程的客戶機(jī)通常需要借助虛擬專用網(wǎng)(VPN)技術(shù)與服務(wù)器連接起來,形成一個(gè)邏輯上的局域網(wǎng),才能在遠(yuǎn)程正常啟動(dòng)管理軟件的客戶端程序。
瀏覽器技術(shù)的發(fā)展給CRM等管理軟件的技術(shù)走向提供了新的契機(jī)。如果能在普通的互聯(lián)網(wǎng)環(huán)境下,客戶端無須安裝特定的軟件,而僅僅使用通用的瀏覽器,就可以動(dòng)態(tài)交互地聯(lián)機(jī)處理企業(yè)事務(wù),乃至進(jìn)行聯(lián)機(jī)在線的數(shù)據(jù)分析,那該多好。≡谶@一巨大市場(chǎng)需求的推動(dòng)下,管理軟件領(lǐng)域當(dāng)仁不讓地成為了探索動(dòng)態(tài)交互式網(wǎng)頁技術(shù)的急先鋒。
管理軟件采用瀏覽器/服務(wù)器(Browser/Server,簡(jiǎn)稱B/S)架構(gòu)的時(shí)候,如果在瀏覽器端動(dòng)態(tài)交互性能上做出較大的讓步,那么技術(shù)門檻并不高。這種方式,頁面的主體是在服務(wù)器端生成的,傳送到瀏覽器端的是一種"準(zhǔn)靜態(tài)網(wǎng)頁":交互性能比較差,不能比較精細(xì)地表達(dá)管理所需要的一些表格、表單或圖表樣式。由于所有的計(jì)算都集中在服務(wù)器端,這種方式對(duì)于服務(wù)器端硬件配置的要求比較高。瀏覽器端的頁面每變動(dòng)一次,都要向服務(wù)器端提出請(qǐng)求,服務(wù)器端計(jì)算后再把頁面?zhèn)鹘o瀏覽器端,這對(duì)服務(wù)器-客戶機(jī)之間的通訊資源消耗比較大。
技術(shù)先鋒們?yōu)榱俗屍胀ú僮髡咴跒g覽器上體驗(yàn)到傳統(tǒng)C/S架構(gòu)下人機(jī)交互的便利性,往往要克服數(shù)不勝數(shù)的難關(guān)。其中的一些來自瀏覽器,例如微軟最新版本的瀏覽器IE6.0 SP1, 包含著一些"無意中固定的設(shè)置"或者程序瑕疵,這會(huì)影響到基于IE的應(yīng)用程序的執(zhí)行;更多地則挑戰(zhàn)則來自產(chǎn)品設(shè)計(jì)人員對(duì)開發(fā)工具的掌控能力。我們經(jīng)?吹侥承┕芾碥浖怀鲂麄髯约菏怯肑ava語言開發(fā)的、或者是基于微軟.net技術(shù)開發(fā)的,仿佛一旦使用了這些工具,開發(fā)出來的軟件就自動(dòng)先進(jìn)了。這無疑是一種誤導(dǎo)。
北京起點(diǎn)公司總裁鄧猛先生說:"對(duì)于專業(yè)的CRM軟件廠商來說,自行開發(fā)控件或組件是一項(xiàng)繁重、艱苦但又難以逃避的工作。僅僅利用現(xiàn)有的商業(yè)控件,功能和性能上達(dá)不到設(shè)計(jì)要求。"北京起點(diǎn)公司前不久發(fā)布了全面基于動(dòng)態(tài)交互式技術(shù)的B/S架構(gòu)軟件--SynleadCRM企業(yè)版4.0。自行開發(fā)控件或組件與使用現(xiàn)成的控件或組件進(jìn)行可視化程序開發(fā)存在著極大的不同?丶蚪M件的是純粹的代碼,其開發(fā)不是可視化的過程,而是用VB,C++或Java嚴(yán)格編制代碼的工作。雖然這是一個(gè)復(fù)雜的過程,但也是一個(gè)一勞永逸的過程。創(chuàng)建控件或組件的最大意義在于封裝重復(fù)的工作--一旦建成,它就可以被重復(fù)使用。控件或組件的開發(fā)水準(zhǔn),是檢驗(yàn)軟件廠商技術(shù)水準(zhǔn)的試金石,也是B/S架構(gòu)帶來的最大的挑戰(zhàn)之一。
在萬維網(wǎng)聯(lián)盟(World Wide Web Consortium,簡(jiǎn)稱W3C)以及幾乎所有IT業(yè)巨頭(微軟、SUN、IBM、HP等)的合力推動(dòng)下,互聯(lián)網(wǎng)最重要的標(biāo)準(zhǔn)之一--可擴(kuò)展標(biāo)志語言XML的技術(shù)標(biāo)準(zhǔn)日臻成熟。基于XML架構(gòu)傳輸數(shù)據(jù)、在瀏覽器端實(shí)現(xiàn)動(dòng)態(tài)交互日益成為管理軟件的主流技術(shù)取向。
服務(wù)器端檢索得出數(shù)據(jù),并不立即在服務(wù)器端生成網(wǎng)頁,而是基于XML標(biāo)準(zhǔn),將數(shù)據(jù)和對(duì)應(yīng)的控制程序(控件或組件)傳送到瀏覽器。在瀏覽器的支持下,控制程序?qū)?shù)據(jù)的顯示方式進(jìn)行解釋、執(zhí)行,動(dòng)態(tài)生成網(wǎng)頁。人-機(jī)的交互,可以在這一組控制程序的協(xié)助下完成。由于存在基于XML標(biāo)準(zhǔn)的本地?cái)?shù)據(jù)源,瀏覽器端不必每一個(gè)操作都返回服務(wù)器端請(qǐng)求計(jì)算再刷新網(wǎng)頁。例如,您查詢"過去10天新建立的客戶",服務(wù)器端計(jì)算得出的查詢結(jié)果集是60條記錄,其中的25條記錄基于XML標(biāo)準(zhǔn)傳送到客戶端形成一個(gè)獨(dú)立的數(shù)據(jù)源,通過控制程序解釋、執(zhí)行后,在瀏覽器界面顯示前20條客戶記錄,另有5條記錄作為冗余存在于本機(jī)。當(dāng)您刪除一條客戶記錄,控制程序自動(dòng)將本地?cái)?shù)據(jù)源中冗余的5條記錄中挑選一條替補(bǔ)到當(dāng)前界面,并在后臺(tái)將刪除記錄的請(qǐng)求提交給服務(wù)器。本地瀏覽器界面顯示的變動(dòng),由本地的控制程序處理本地的數(shù)據(jù)源即可快速完成,無需請(qǐng)求服務(wù)器。
理論上看,上述方式相當(dāng)不錯(cuò)。而要投入實(shí)際應(yīng)用,仍有許多障礙需要克服。首當(dāng)其沖的是運(yùn)行的效率。如果每次跳轉(zhuǎn)功能模塊、刷新瀏覽器頁面的時(shí)候,都要重復(fù)傳送控制程序,或者控制程序比較大,或者控制程序在瀏覽器端處理本地?cái)?shù)據(jù)的方式不夠科學(xué),那么軟件運(yùn)行的速度將被顯著拖慢。
首先做的是控制程序的"瘦身"。例如,常規(guī)的模式描述一個(gè)表格的列寬度,可能要用10行程序代碼,而采用更精練的方式只需要一行程序代碼。這個(gè)工作與寫詩類似,要達(dá)到以寥寥20字寫出"窗前明月光,疑似地上霜。舉頭望明月,低頭思故鄉(xiāng)"的境界,是多么不容易啊!其次要做的是減少控制程序重復(fù)下載的次數(shù)。當(dāng)跳轉(zhuǎn)界面等操作發(fā)生的時(shí)候,不再是不加區(qū)別地全部下載一次控制程序,而是先通過瀏覽器端與服務(wù)器端握手檢查,如確認(rèn)是本地已經(jīng)存在某些控制程序,且版本正確,則不再下載,只下載那些需要更新的程序,從而減少數(shù)據(jù)傳輸?shù)目偭。再次,控制程序和?shù)據(jù)源達(dá)到本機(jī)后,處理顯示的方式也會(huì)影響到效率,例如傳統(tǒng)的線性添加數(shù)據(jù)到表格的方式比較慢,而塊狀添加數(shù)據(jù)則能在瞬間完成畫表、把數(shù)據(jù)字段嵌入表格的工作。
在下一期的話題里,我們會(huì)接著關(guān)注CRM等管理軟件采取B/S架構(gòu)后的其他挑戰(zhàn),例如在互聯(lián)網(wǎng)上運(yùn)行時(shí)的安全性問題,以及與在桌面辦公領(lǐng)域占統(tǒng)治地位的微軟OFFICE集成的問題。
BS架構(gòu)下CRM的新挑戰(zhàn)(二) 肖東軍 2004/09/15
起點(diǎn)公司公司供稿 CTI論壇編輯