快速业务通道

J2EE与IBM对象-关系数据库 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17
间传输的每个数据包添加附加信息的协议栈。

如果数据是在同一机器上传送的,它可能仍然要通过网络协议,并且包括操作数据包所需 的所有处理。通过共享存储器连接来完成的开销最低。即便如此,它仍然包括数据库协议开 销,以及从服务器空间到应用程序空间的内存复制。与处理器的速度相比,这种内存到内存 的复制相对比较慢。

当应用程序向数据库请求数据时,会通过数据库连接串行化其结果。数据库服务器可以在 内部并行地处理信息,以提供大得多的吞吐量。请记住,诸如 DB2 UDB 和 IDS 等数据库都 是优化了数据集合操作的专用引擎。其算法已经由具有多年大型商业应用程序支持经验的专 家进行了优化。所以,利用这些专家经验,而不是设法重新创建一个是有道理的。

应用程序服务器一旦收到了所有数据,它就需要实例化大量对象,然后逐个与之进行通信 ,获取进行所需计算必要的少量信息。对于这些对象的调用数目,以及为取得期望结果必须 执行的代码行数,让我们了解要取得期望结果需要进行多么重大的处理。通过将数据库作为 数据处理引擎,我们可以避免其中大部分开销。同时,还减少了解决方案的复杂性。

在将所有对象实例化之后,还需要创建从每个对象收集信息的适当处理,按照合适的分组 将该信息分类,以及为最后的结果执行聚集操作。所有这些工作都可以通过使用数据库来消 除。对象人员经常声称对象方法比过程化编程优越。当一个对象必须操作一个对象集合时, 它有效地使用过程化代码来完成该操作。这就是将集合处理交给数据库完成的另一个原因。

操作对象的类型和操作类型可以影响是否使用对象集合的决策。我们以前曾看到,一些真 正的第二级对象只有在检索更高一级的对象时,才能被检索。这可以说明应该尽可能地将它 们留给数据库来处理。

某些处理需要从对象获取信息,如果该信息可以直接从数据库服务器获得,我们就可以避 免实例化它们。不仅上面银行示例中的聚集计算是如此,报表编制也属于这种情况。在后面 一种情况下,将对象实例化以报告某些信息之后,就再也不需要该对象了。

即使在对象更新它们状态的情况下,也应该谨慎地考虑对象实例化。它仍然涉及对象创建 、对象之间的消息和新状态的持久性。从数据库直接获取数据可能更合理。与将数据库中的 对象视为被动的(passive)相反,我们至少应该将其当作半主动(semi-active)的。这种 观点的改变可能会引入不同的应用程序设计方法,结果将会是充分利用数据库来实现解决方 案。

结束语

一个强大的 J2EE 应用程序会充分利用它所有组件的长处。这包括浏览器或用户接口部分 、应用程序服务器和数据库引擎。通过将处理置于最为合理的地方,可以减少应用程序的复 杂性,并且极大地提高性能。

数据库的选型应该是会为您带来商业优势的战略性决策。一旦做出决策,您就必须充分利 用该数据库服务器来实现这一优势。数据库系统至关重要,通过使用数据库服务器的所有功 能,您可以消除一些数据移动,减少对象的创建和对象间的通信,简化您的实现,以及更快 地进入市场。充分使用了所有组件功能的均衡实现就不会需要那么多的硬件和代码。这就减 少了构建和维护该应用程序的成本,可以将所节省的资金运用到企业的其他地方,从而提高 您的商业竞争力。

我们需要可以将数据库功能集成到所有 OO 开发阶段(包括分析、设计和实现)的更好的 工具。这包括分析、设计和实现。同时,我们必须通过在项目的前期召集数据库专家,来确 保这些任务的正确完成。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号