使用AJAX和J2EE創(chuàng)建瘦客戶端-創(chuàng)新互聯(lián)

使用AJAX和J2EE創(chuàng)建瘦客戶端

[@more@]這篇文章討論了Iconix Pharmaceuticals公司在開(kāi)發(fā)DrugMatrix 軟件應(yīng)用系統(tǒng)時(shí),Asynchronous JavaScript plus XML (AJAX)所扮演的角色。它包括了我們?cè)陂_(kāi)發(fā)決策過(guò)程中的選擇,以及我們?yōu)槭裁礇Q定使用一個(gè)基于AJAX的Rich Internet Application (RIA)。 498)this.style.width=498;" border="0" />

成都創(chuàng)新互聯(lián)公司專注于江寧企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站,商城網(wǎng)站定制開(kāi)發(fā)。江寧網(wǎng)站建設(shè)公司,為江寧等地區(qū)提供建站服務(wù)。全流程按需網(wǎng)站開(kāi)發(fā),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)

解決步驟

Iconix Pharmaceuticals公司的開(kāi)發(fā)小組考慮和駁回了好幾種設(shè)計(jì)方案。

1.在WEB頁(yè)面嵌入Java Applet

這種方案對(duì)于基于chemogenomics數(shù)據(jù)庫(kù)的超大塊數(shù)據(jù)來(lái)說(shuō)是低效率的。對(duì)于每一次的查詢都需要載入幾十列和上百行的數(shù)據(jù)的請(qǐng)求來(lái)說(shuō),十分明了,系統(tǒng)將會(huì)很快的停頓下來(lái)。DrugMatrix'系統(tǒng)希望將數(shù)據(jù)流和HTML區(qū)別開(kāi)來(lái),并且在客戶端緩存數(shù)據(jù)而使得服務(wù)器能夠傳遞更多的數(shù)據(jù)。系統(tǒng)也希望客戶端能夠訪問(wèn)緩存的數(shù)據(jù),當(dāng)研究者在數(shù)據(jù)列表和單個(gè)的“Detail”HTML頁(yè)面來(lái)回的時(shí)候。

2.在數(shù)據(jù)傳遞到JSP頁(yè)面時(shí),使用Java Server Pages (JSP) model

雖然這個(gè)方案相當(dāng)好,開(kāi)發(fā)小組發(fā)現(xiàn)頁(yè)面上要顯示的數(shù)據(jù)的數(shù)量太大,這會(huì)打擊用戶的使用興趣。另外,從效率角度來(lái)說(shuō),圖形數(shù)據(jù)的交換和傳遞特別慢。例如,Iconix Confidence Interval Graphic——用來(lái)顯示掃描到的基因表達(dá)式數(shù)據(jù),最少需要2到3秒才能全部載入,原因是這個(gè)方案需要一個(gè)專門的圖形Servlet來(lái)單獨(dú)的顯示每一個(gè)圖形。

DrugMatrix Confidence Interval Graphic的例子

使用AJAX和J2EE創(chuàng)建瘦客戶端498)this.style.width=498;" border="0" />

注意:此圖包含了DrugMatrix Confidence Interval Graphic,通過(guò)HTML表格矢量圖型瞬間顯示。

3.一個(gè)AJAX開(kāi)發(fā)框架外加接口創(chuàng)建器

最后的被采用的解決方案,通過(guò)使用TIBCO通用接口框架,十分容易的處理復(fù)雜的AJAX。這個(gè)成熟的方案包括了幫助開(kāi)發(fā)小組比其他方案更快的將DrugMatrix交付市場(chǎng)的特性并且能降低開(kāi)發(fā)費(fèi)用。這個(gè)方案的主要的不同包括:

。可視化的開(kāi)發(fā)工具、相似的API和擴(kuò)展庫(kù)、高效的GUI組件

。能夠重復(fù)使用和定制對(duì)象的組件化的、基于公開(kāi)標(biāo)準(zhǔn)的架構(gòu)

。客戶端數(shù)據(jù)緩存,能夠在整個(gè)session期間保存數(shù)據(jù)以供客戶端使用,減少了不必要的訪問(wèn)數(shù)據(jù)庫(kù)的過(guò)程,使得服務(wù)端能夠傳遞更多的數(shù)據(jù)

。通過(guò)領(lǐng)導(dǎo)性的標(biāo)準(zhǔn)和協(xié)議,如HTTP/S、XML 和 SOAP 支持同步、異步和實(shí)時(shí)的通訊能力

RIA解決方案能夠使用XML來(lái)產(chǎn)生全色的HTML表格,產(chǎn)生圖像能比Java Applet快50%,比JSPs快97%。

使用AJAX和J2EE創(chuàng)建瘦客戶端498)this.style.width=498;" border="0" />

圖三:DrugMatrix Data Browser Environment

圖一:DrugMatrix可擴(kuò)展信息系統(tǒng)(XIS)的架構(gòu)

通過(guò)如下特性,DrugMatrix UI 經(jīng)濟(jì)的顯示了大批量與信息相關(guān)的數(shù)據(jù):

。使用Outer tabs來(lái)識(shí)別不同的信息域(data warehouse dimension tables)

。使用Inner tabs來(lái)包括標(biāo)注域的信息(data warehouse fact tables)

??蓴U(kuò)展的超鏈接來(lái)支持域到域的瀏覽

表達(dá)式試驗(yàn)域(圖三)包含了10個(gè)fact tables,每一個(gè)fact tables都有50-300條記錄。雖然這個(gè)頁(yè)面只載入12條記錄,它能迅速熟練的翻倒下一個(gè)頁(yè)面,而不會(huì)對(duì)整個(gè)頁(yè)面刷新。列能夠被伸縮和改造,記錄能夠被分類。

除了TIBCO普通接口,這個(gè)我們?yōu)镈rugMatrix的客戶端選擇的基于AJAX的RIA產(chǎn)品外,其他的廠商大多提供基于JSP或HMTL的方案。這些都沒(méi)有超出我們當(dāng)初想象之外的重大突破。

收益

DrugMatrix的GUI 滿足了制藥公司的信息要求:易用、在交互上跟以前的胖客戶端一樣。Iconix Pharmaceuticals公司的開(kāi)發(fā)小組對(duì)開(kāi)發(fā)這樣一個(gè)GUI感興趣:滿足一個(gè)更大范圍的藥品相關(guān)信息并且提供顯示這種數(shù)據(jù)的更多的視圖。另外,小組有志于開(kāi)發(fā)一種超越頁(yè)面或文檔等基本類型的WEB頁(yè)面,并且開(kāi)發(fā)和維護(hù)費(fèi)用要盡量少。

特別的,在開(kāi)發(fā)DrugMatrix過(guò)程中使用AJAX技術(shù)允許Iconix:

。集成200個(gè)百萬(wàn)的藥品數(shù)據(jù)到一個(gè)富的、可視化的互交接口

。比標(biāo)準(zhǔn)的客戶服務(wù)器架構(gòu),將DrugMatrix交付給客戶提早了一半的時(shí)間并且減少了三分之二的開(kāi)發(fā)費(fèi)用

。GUI的杠桿作用使得我們的產(chǎn)品和競(jìng)爭(zhēng)者的產(chǎn)品區(qū)分開(kāi)來(lái)

。區(qū)別于一個(gè)桌面的應(yīng)用系統(tǒng),我們使用標(biāo)準(zhǔn)的瀏覽器為客戶節(jié)省了發(fā)布和維護(hù)方面的費(fèi)用

其他方面

開(kāi)發(fā)小組希望基于AJAX的RIA解決方案能加速 DrugMatrix的開(kāi)發(fā),結(jié)果正如我們所希望的,就像下面舉的例子:

對(duì)于像Iconix這樣的科學(xué)研究機(jī)構(gòu),對(duì)于新的和改良的工具會(huì)有一個(gè)持續(xù)的要求。我們所面臨的一個(gè)挑戰(zhàn),也是開(kāi)銷的一個(gè)重要來(lái)源:為新產(chǎn)品迅速開(kāi)發(fā)可用的規(guī)格說(shuō)明。

在使用RIA框架之前,基于Internet Development Environment (IDE)的解決方案,我們需要寫一個(gè)頁(yè)面規(guī)格到開(kāi)發(fā)規(guī)劃里并且把它們發(fā)給產(chǎn)品開(kāi)發(fā)委員會(huì)。包括視頻會(huì)議的時(shí)間,整個(gè)過(guò)程通常需要3到4周的時(shí)間。

通常,Iconix 開(kāi)發(fā)者十分混亂的創(chuàng)建和修改頁(yè)面規(guī)格,常常在開(kāi)發(fā)會(huì)議中途。這些規(guī)格已經(jīng)完成80%,需要少量的優(yōu)化,但這些優(yōu)化將大大的減少開(kāi)發(fā)時(shí)間。

我們相信AJAX的那些優(yōu)勢(shì)并不是Iconix開(kāi)發(fā)環(huán)境都有的,其他項(xiàng)目肯定也是這樣。對(duì)于一切使用RIA框架的企業(yè)級(jí)系統(tǒng)的開(kāi)發(fā)來(lái)說(shuō),AJAX都有助于取得相同的魯棒性和相同的收益。AJAX使得發(fā)布一個(gè)高效的、基于瀏覽器的應(yīng)用成為可能,這種應(yīng)用的發(fā)布沒(méi)有破壞性、發(fā)布開(kāi)銷和產(chǎn)生一個(gè)胖的客戶端桌面應(yīng)用。

我們學(xué)到什么

在開(kāi)發(fā)DrugMatrix 過(guò)程中,可能我們得到的最重要的教訓(xùn)是,通過(guò)允許我們創(chuàng)建感、觀和運(yùn)行像桌面系統(tǒng)一樣的聰明系統(tǒng),并且使得我們比預(yù)想的開(kāi)發(fā)更快、開(kāi)銷更少,AJAX顛覆了關(guān)于瘦客戶端的一些慣性的想法。一個(gè)對(duì)于RIA的AJAX方案使得我們持續(xù)的開(kāi)發(fā)有效的系統(tǒng)走在前面成為可能。

更進(jìn)一步

DrugMatrix開(kāi)發(fā)的成功增加了Iconix對(duì)于AJAX的興趣。2005年底,開(kāi)發(fā)小組計(jì)劃完成將DrugMatrix 轉(zhuǎn)化為WEB服務(wù)的必要工作。

這項(xiàng)工作允許大型的制藥公司——很多這樣的公司都是當(dāng)前客戶——在不同的部門使用DrugMatrix 的一部分,調(diào)整他們自己的需要或在他們自己的應(yīng)用里使用DrugMatrix產(chǎn)生的數(shù)據(jù)。

Iconix 開(kāi)發(fā)小組也提前完成了關(guān)于實(shí)時(shí)數(shù)據(jù)顯示問(wèn)題的計(jì)劃,這些數(shù)據(jù)基于一個(gè)財(cái)務(wù)服務(wù)系統(tǒng)而產(chǎn)生的。

關(guān)于作者:John Calvin畢業(yè)于California State University,擁有計(jì)算機(jī)的B.S.和生物學(xué)的B.S.他曾服務(wù)于IBM公司,后來(lái)加入生物技術(shù)工業(yè),是Iconix Pharmaceuticals公司的高級(jí)工程師。

分享名稱:使用AJAX和J2EE創(chuàng)建瘦客戶端-創(chuàng)新互聯(lián)
網(wǎng)址分享:http://muchs.cn/article24/dhejce.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、云服務(wù)器、做網(wǎng)站、微信小程序、Google搜索引擎優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站