IBM分部运用 Caché的无映射Java持久性大幅降低了开发时间

pdf

Available in .pdf

Key Benefits

  • 快速开发
  • Java
  • 高性能IBM Success Story



无庸置疑,IBM是做得非常成功的大企业。它在全球拥有许多产品和客户。IBM有一个分部叫做 Focalpoint,专门致力于全球优化项目。通过利用 Caché 内新的对普通 Java 对象(POJO, Plain Old Java Objects)的支持,Focalpoint大幅降低了产品的开发时间。

“FocalPoint 正在使用Java 和基于XML 的技术进行开发,”一位IBM的软件系统架构师以及FocalPoint项目的主管Iran Hutchinson解释说。“为了提高运行效率,我们需要定义一系列的‘域对象’,一些是我们已经熟知的,一些有待熟悉。这些 Java 对象将被持久化,并且所有的数据都会被存放在一个中央数据仓库中。然后,通过在一个面向服务的构架中使用业务规则和工作流, 我们就可以设计一个应用程序来从中央数据仓库中提取和储存数据, 并且可以将这些数据在全局的通用接口上呈现出来。”

为了支持各种标准以及经得起时间的考验,考虑下列因素后,Hutchinson选择了一个面向解决方案的途径:

  • 业务问题的需求和用例
  • 是否有IBM的解决方案
  • 是否有合适的许可的开源的解决方案
  • 是否有IBM的商业合作伙伴/商业解决方案
  • 是否应该进行个性化的开发

Hutchinson为中央数据仓库选择了Caché后关系型数据库,因为在 Caché 中,Java 对象可以被持久化,而不需要将它们映射到关系型数据构架中。“在绝大多数的项目中,将 Java 对象映射到关系型数据库中往往需要花费大量精力,甚至占到整个项目工作量的60% 还多。所以我们当然选择面面俱到的后关系型数据库。”

在对数个对象数据库进行评估后,Hutchinson 选择了Caché,不仅出于它的高性能和使用方便,更重要的是Caché所具备的POJO支持的特质。这一特有的功能(叫做“Jalapeño”)能够让Caché从Java对象定义中自动创建持久的 Caché 对象类。除此以外,开发人员还能够继续和以前一样使用他们的POJO――由Caché 所支持的持久性方法是由单独的组件(名为对象管理器)所控制的。“开发人员甚至不需要考虑数据库的因素”,Hutchinson 说。

“在Caché 后关系型数据库中将对象进行持久化只花了 15 分钟。如果我选择将这些目标映射到关系型数据库中,很可能要花费数月。”

Hutchinson曾经亲自参与过 FocalPoint 早期项目的许多开发工作。他回忆到:“在项目的第一阶段,在耗费几个月的时间来分析需求和用例后,还需要一到两个星期来开发对象模型。而在 Caché 中进行持久化对象只用15分钟。如果我当时没有选择 Caché 而是将这些对象映射到关系型数据库中,根据模型的规模,可能还要花费数月。”

根据计划FocalPoint 需要进行测试并在IBM全球的硬件支持系统内使用。先期实施将合并6-10 TB的数据,并支持大约一万名用户,未来这一数字将增加。“FocalPoint将优化我们对客户的支持,” Hutchinson 说,“并进一步为IBM及其客户减少支持所需要的费用。”

基于Caché的数据库将包含 IBM 所有客户的支持信息,如此IBM就能够很方便的分析客户的数据,生成报告,做出有关支持运营的决策。Hutchinson说:“Caché 是面向对象数据库中唯一的能利用 SQL 进行查询而无需映射的数据库,所以过程十分迅捷。在关系型的数据库中我们无法获得这样的表现,并且 Caché 让我节省了数月的开发时间。它的技术、速度、使用方便让我们无法不选择它。”