使用AJAX優化客戶端——Iconix Pharmaceuticals使用AJAX和J2EE創建功能強大的瘦客戶端

發表于:2007-06-10來源:作者:點擊數: 標簽:
創建于1998年的Iconix Pharmaceuticals公司從事科研和工業方面的軟件開發。該公司是chemogenomics方面的先驅,chemogenomics是一門學科,這門學科使用化學和基因學的方法,在堆積如山的數據中深入研究,而這些數據對于開發新藥并推向市場來說是必須的。 對于

 

 

 

 

 

 

 

 

     創建于1998年的Iconix Pharmaceuticals公司從事科研和工業方面的軟件開發。該公司是chemogenomics方面的先驅,chemogenomics是一門學科,這門學科使用化學和基因學的方法,在堆積如山的數據中深入研究,而這些數據對于開發新藥并推向市場來說是必須的。

    對于公司來說,一個主要的挑戰是:產生一種新藥或者提供制藥工業所需要的信息需要將分散的、不同的數據庫的數據集成起來,并且來分析它們,最后得到引人注目的結果。大多數的研究者都同意:當數據不能從一個單一數據源獲得的時候,通過創建多路徑的連接來取得重大發現幾乎是不可能的。
    DrugMatrix解決方案
    在Iconix Pharmaceuticals公司,我們開發了DrugMatrix 軟件應用系統來有效的處理我們的chemogenomics數據庫。為了建立這樣一個解決方案,我們知道,我們必須把高性能的信息處理系統和一個互交式GUI界面結合起來,這樣才能允許研究人員進行一個迭代式的研究,并且將研究和顯示在他們顯示器的信息結合起來。
    這篇文章討論了Iconix Pharmaceuticals公司在開發DrugMatrix 軟件應用系統時,Asynchronous JavaScript plus XML (AJAX)所扮演的角色。它包括了我們在開發決策過程中的選擇,以及我們為什么決定使用一個基于AJAX的Rich Internet Application (RIA)。在文中,我們也要討論到我們所得到的教訓和我們所相信的這種技術將把我們領向何處。
    富客戶端(Rich Internet Application 簡稱RIA)技術和AJAX
    本質上來說,RIA技術將魯棒的圖形用戶接口(graphical user interface 簡稱GUI)和基于瀏覽器的信息處理系統結合起來。如果做到這樣,那么就將C/S模式的胖客戶端和B/S的基于瀏覽器的瘦客戶端之間架起了橋梁。而且,基于AJAX的RIA web信息處理系統處理起數據來迅速并且不需要預裝插件、Applet和Active-X。
    AJAX的角色
    作為一種實用的功能強大的WEB開發技術,今天,AJAX技術使得搜索引擎和其他消費應用能夠大大增強網上沖浪者的用戶體驗。另外,AJAX使得產生這樣一種解決方案成為可能,這種方案通過提供富GUI的基礎設施來獲取商務數據,比胖客戶端或基于插件的解決方案的創建、維護和實施花費更少。富特性、高生產力、更大的顯示數據的能力和更少開銷可以獲得更大的競爭力。
    應用開發的亮點
    DrugMatrix是一個三層的、可擴展信息( three-tiered eXtensible Informatics 簡稱XIS)結構。由數據倉庫、應用服務器(包括一個將數據以一種圖形相關的xml格式傳遞給所有者的通訊機制)和用戶接口組成。應用服務器是可配置的,通過描述數據倉庫的模型的元數據來配置。為了簡化增加數據分析和顯示工具到系統里,應用服務器使用插件技術。用戶接口也是動態可配置的,通過使用能夠搜索和顯示所有數據項的元數據來配置。
                  圖一:DrugMatrix可擴展信息系統(XIS)的架構
    解決步驟
    Iconix Pharmaceuticals公司的開發小組考慮和駁回了好幾種設計方案。
    1.在WEB頁面嵌入Java Applet
    這種方案對于基于chemogenomics數據庫的超大塊數據來說是低效率的。對于每一次的查詢都需要載入幾十列和上百行的數據的請求來說,十分明了,系統將會很快的停頓下來。DrugMatrix'系統希望將數據流和HTML區別開來,并且在客戶端緩存數據而使得服務器能夠傳遞更多的數據。系統也希望客戶端能夠訪問緩存的數據,當研究者在數據列表和單個的“Detail”HTML頁面來回的時候。
    2.在數據傳遞到JSP頁面時,使用Java Server Pages (JSP) model
    雖然這個方案相當好,開發小組發現頁面上要顯示的數據的數量太大,這會打擊用戶的使用興趣。另外,從效率角度來說,圖形數據的交換和傳遞特別慢。例如,Iconix Confidence Interval Graphic——用來顯示掃描到的基因表達式數據,最少需要2到3秒才能全部載入,原因是這個方案需要一個專門的圖形Servlet來單獨的顯示每一個圖形。
    DrugMatrix Confidence Interval Graphic的例子
    注意:此圖包含了DrugMatrix Confidence Interval Graphic,通過HTML表格矢量圖型瞬間顯示。

    3.一個AJAX開發框架外加接口創建器
    最后的被采用的解決方案,通過使用TIBCO通用接口框架,十分容易的處理復雜的AJAX。這個成熟的方案包括了幫助開發小組比其他方案更快的將DrugMatrix交付市場的特性并且能降低開發費用。這個方案的主要的不同包括:
    ??梢暬拈_發工具、相似的API和擴展庫、高效的GUI組件
    。能夠重復使用和定制對象的組件化的、基于公開標準的架構
    ??蛻舳藬祿彺?,能夠在整個session期間保存數據以供客戶端使用,減少了不必要的訪問數據庫的過程,使得服務端能夠傳遞更多的數據
    。通過領導性的標準和協議,如HTTP/S、XML 和 SOAP 支持同步、異步和實時的通訊能力
    RIA解決方案能夠使用XML來產生全色的HTML表格,產生圖像能比Java Applet快50%,比JSPs快97%。
    圖三:DrugMatrix Data Browser Environment
    通過如下特性,DrugMatrix UI 經濟的顯示了大批量與信息相關的數據:
    。使用Outer tabs來識別不同的信息域(data warehouse dimension tables)
    。使用Inner tabs來包括標注域的信息(data warehouse fact tables)
    ??蓴U展的超鏈接來支持域到域的瀏覽
    表達式試驗域(圖三)包含了10個fact tables,每一個fact tables都有50-300條記錄。雖然這個頁面只載入12條記錄,它能迅速熟練的翻倒下一個頁面,而不會對整個頁面刷新。列能夠被伸縮和改造,記錄能夠被分類。
    除了TIBCO普通接口,這個我們為DrugMatrix的客戶端選擇的基于AJAX的RIA產品外,其他的廠商大多提供基于JSP或HMTL的方案。這些都沒有超出我們當初想象之外的重大突破。
    收益
    DrugMatrix的GUI 滿足了制藥公司的信息要求:易用、在交互上跟以前的胖客戶端一樣。Iconix Pharmaceuticals公司的開發小組對開發這樣一個GUI感興趣:滿足一個更大范圍的藥品相關信息并且提供顯示這種數據的更多的視圖。另外,小組有志于開發一種超越頁面或文檔等基本類型的WEB頁面,并且開發和維護費用要盡量少。
    特別的,在開發DrugMatrix過程中使用AJAX技術允許Iconix:
    。集成200個百萬的藥品數據到一個富的、可視化的互交接口
    。比標準的客戶服務器架構,將DrugMatrix交付給客戶提早了一半的時間并且減少了三分之二的開發費用
    。GUI的杠桿作用使得我們的產品和競爭者的產品區分開來
    。區別于一個桌面的應用系統,我們使用標準的瀏覽器為客戶節省了發布和維護方面的費用
    其他方面
    開發小組希望基于AJAX的RIA解決方案能加速 DrugMatrix的開發,結果正如我們所希望的,就像下面舉的例子:
    對于像Iconix這樣的科學研究機構,對于新的和改良的工具會有一個持續的要求。我們所面臨的一個挑戰,也是開銷的一個重要來源:為新產品迅速開發可用的規格說明。
    在使用RIA框架之前,基于Internet Development Environment (IDE)的解決方案,我們需要寫一個頁面規格到開發規劃里并且把它們發給產品開發委員會。包括視頻會議的時間,整個過程通常需要3到4周的時間。
通常,Iconix 開發者十分混亂的創建和修改頁面規格,常常在開發會議中途。這些規格已經完成80%,需要少量的優化,但這些優化將大大的減少開發時間。
    我們相信AJAX的那些優勢并不是Iconix開發環境都有的,其他項目肯定也是這樣。對于一切使用RIA框架的企業級系統的開發來說,AJAX都有助于取得相同的魯棒性和相同的收益。AJAX使得發布一個高效的、基于瀏覽器的應用成為可能,這種應用的發布沒有破壞性、發布開銷和產生一個胖的客戶端桌面應用。
    我們學到什么
    在開發DrugMatrix 過程中,可能我們得到的最重要的教訓是,通過允許我們創建感、觀和運行像桌面系統一樣的聰明系統,并且使得我們比預想的開發更快、開銷更少,AJAX顛覆了關于瘦客戶端的一些慣性的想法。一個對于RIA的AJAX方案使得我們持續的開發有效的系統走在前面成為可能。
    更進一步
    DrugMatrix開發的成功增加了Iconix對于AJAX的興趣。2005年底,開發小組計劃完成將DrugMatrix 轉化為WEB服務的必要工作。
    這項工作允許大型的制藥公司——很多這樣的公司都是當前客戶——在不同的部門使用DrugMatrix 的一部分,調整他們自己的需要或在他們自己的應用里使用DrugMatrix產生的數據。
    Iconix 開發小組也提前完成了關于實時數據顯示問題的計劃,這些數據基于一個財務服務系統而產生的。
    關于作者
    John Calvin畢業于California State University,擁有計算機的B.S.和生物學的B.S.他曾服務于IBM公司,后來加入生物技術工業,是Iconix Pharmaceuticals公司的高級工程師。





原文轉自:http://www.anti-gravitydesign.com

評論列表(網友評論僅供網友表達個人看法,并不表明本站同意其觀點或證實其描述)
国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97