創建於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來產