快速业务通道

跨多个数据源的J2EE开发: 细节探讨 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17

跨多个数据源的J2EE开发: 细节探讨

时间:2011-04-11 IBM C. M. Saracco

引言

在我们以前的文章 将 DB2 Information Integrator 用于 J2EE 开发:成 本/效益分析中,我们描述了一个 Java™ 2 企业版(J2EE)项目,它被设计成用来 评估实现需要从三种不同的数据源检索和合并数据的 servlet 时的折中方案。我们构建了 一组 servlet,它们使用 IBM® DB2® Information Integrator 来模拟不同数据 的单点映像,并且我们构建了另一组 servlet,它们直接使用每个必要的数据源。

在本文(我们系列中的第二篇)中,我们将完整地向您讲述我们开发工作的细节。 我们将回顾我们的设计、向您展示我们的部分代码并描述我们在实现这些 servlet 时所面 临的挑战。在我们的下一篇文章(我们系列中的最后一篇)中,我们将讨论性能问题。

快速回顾

如果您没有机会阅读我们的 上一篇文章,我们将在这里对它作一 下回顾。然而,我们强烈建议您回顾一下这篇文章,因为它提出了我们想要实现的应用方 案、描述了数据分布方案并说明了我们的每个 servlet 发出的查询。

我们的两组 servlet 都使用存储在 Oracle 表、DB2 表和 Microsoft® Excel 电子表格中的数据 。这些数据基于一个部件分销的数据库,它跟踪部件、供应商、客户和订单等。

我 们发现可以使用两种软件体系结构(即,使用 DB2 Information Integrator 或使用直接 数据访问)中的任一种来成功地构建使用这些不同数据的 servlet。然而,我们也发现:

当我们使用 DB2 Information Integrator 时,我们减少了大约 40% 的 servlet 代码和至少 50% 的开发时间。

当我们使用 DB2 Information Integrator 时,我 们不必处理复杂的查询分解问题。如果这些问题处理不当将导致错误的结果或糟糕的性能 ,而 DB2 Information Integrator 的全局查询优化器能够自动处理这些问题。

使用 DB2 Information Integrator 的 servlet 的查询响应时间通常与我们观察到的 直接数据访问实现的响应时间不相上下。有时候,我们甚至观察到使用 DB2 Information Integrator 时性能更好。就我们所期望的 J2EE 开发者对该环境的了解程度而言,值得注 意的是我们可以做一些工作来使直接数据访问的方案很好地被执行。

总体的体系 结构和设计

我们的 servlet 用 JDBC 通过 DB2 Information Integrator 来访问 数据或直接访问每个数据源。只要可能,我们就使用 DataSource 连接(合用连接),它 通常能更有效地利用系统资源。我们通过在每个 servlet 的 init方法中对这些 DataSource 执行 JNDI 查询来进一步寻求保持代码效率。

当通过 DB2 Information Integrator 访问远程数据时,我们的 servlet 对跨所有必要数据源的昵称 和昵称的 UNION ALL 视图发出查询。当直接访问远程数据时,我们的 servlet 对每个数 据源分别发出查询,并且将结果集插入本地 DB2 实例中的辅助表,然后查询这些表以得到 最后的结果。这极大地简化了我们的编程任务,因为另一方面,在我们应用程序空间中对 所有数据进行组合、排序、聚集和分组需要相当大的工作量。所以我们反过来选择利用本 地的 DBMS 表来帮助我们完成工作,因为根据我们的判断,DBMS 对大多数 WebSphere® 开发者是可用的。注意,我们试图在远程数据源上过滤掉尽可能多的数据 来最小化网络流量并进一步提高我们的 servlet 的效率,这些 servlet 直接使用每个数 据源。

我们的所有 servlet 的表示逻辑是简单的。我们使用 HTML 或 JSP 来获取 我们 servlet 的输入参数并发布结果。

完成所有设置

在我们编写 servlet 以前,我们必须设置我们的环境。幸运的是,这些工作并不难。

对于所有的工作,我们按标准过程安装和配置 WebSphere Studio V5 的 Appli

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号