分享
 
 
 

使用AJAX和J2EE创建功能强大的瘦客户端

王朝java/jsp·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

创建于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)

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

表达式试验域(图三)包含了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公司的高级工程师。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有