使用AJAX和J2EE创建瘦客户端

使用AJAX和J2EE创建瘦客户端 [@more@] 498) this.style.width=498;“边境=" 0 "/>

解决步骤

Iconix制药公司的开发小组考虑和驳回了好几种设计方案。

<强> 1。在WEB页面嵌入Java Applet

这种方案对于基于chemogenomics数据库的超大块数据来说是低效率的。对于每一次的查询都需要载入几十列和上百行的数据的请求来说,十分明了,系统将会很快的停顿下来.DrugMatrix”系统希望将数据流和HTML区别开来,并且在客户端缓存数据而使得服务器能够传递更多的数据。系统也希望客户端能够访问缓存的数据,当研究者在数据列表和单个的“细节”HTML页面来回的时候。

<强> 2。在数据传递到JSP页面时,使用Java服务器页面(JSP)模型

虽然这个方案相当的好,开发小组发现页面上要显示的数据的数量太大,这会打击用户的使用兴趣。另外,从效率角度来说,图形数据的交换和传递特别慢。例如,Iconix置信区间的图形,用来显示扫描到的基因表达式数据,最少需要2到3秒才能全部载入,原因是这个方案需要一个专门的图形Servlet来单独的显示每一个图形。

DrugMatrix置信区间图形的例子

使用AJAX和J2EE创建瘦客户端”> 498)this.style.width=498;“边境=

注意:此图包含了DrugMatrix置信区间的图形,通过HTML表格矢量图型瞬间显示。

<强> 3。一个AJAX开发框架外加接口创建器

最后的被采用的解决方案,通过使用TIBCO通用接口框架,十分容易的处理复杂的AJAX。这个成熟的方案包括了帮助开发小组比其他方案更快的将DrugMatrix交付市场的特性并且能降低开发费用。这个方案的主要的不同包括:

。可视化的开发工具、相似的API和扩展库、高效的GUI组件

。能够重复使用和定制对象的组件化的、基于公开标准的架构

。客户端数据缓存,能够在整个session期间保存数据以供客户端使用,减少了不必要的访问数据库的过程,使得服务端能够传递更多的数据

。通过领导性的标准和协议,如HTTP/S、XML 和 SOAP 支持同步、异步和实时的通讯能力

RIA解决方案能够使用XML来产生全色的HTML表格,产生图像能比Java Applet快50%,比JSPs快97%。

使用AJAX和J2EE创建瘦客户端498)this.style.width=498;" border="0"/>

图三:DrugMatrix Data Browser Environment

图一:DrugMatrix可扩展信息系统(XIS)的架构

通过如下特性,DrugMatrix UI 经济的显示了大批量与信息相关的数据:

。使用Outer tabs来识别不同的信息域(data warehouse dimension tables)

。使用Inner tabs来包括标注域的信息(data warehouse fact tables)

。可扩展的超链接来支持域到域的浏览

表达式试验域(图三)包含了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这样的科学研究机构,对于新的和改良的工具会有一个持续的要求。我们所面临的一个挑战,也是开销的一个重要来源:为新产品迅速开发可用的规格说明。

使用AJAX和J2EE创建瘦客户端