IBM? 在旧金山的 LinuxWorld 宣布正在将 Cloudscape?(一种纯关系 Java? 数据库)作为开放源代码发布给 Apache Software Foundation (ASF),后者已为其建立了一个名为“Derby”的孵化器项目。这是继 IBM 向开放源代码社区作出一系列承诺以来的最新承诺。为了弄清楚更多关于这种数据库的问题,以及这种数据库如何融入到 IBM 的战略和 Java 应用程序架构中去,Jon Prial -IBM 副总裁接受了有关方面的专门采访,以下为访谈的部分内容。
问: 在 LinuxWorld 上,IBM 宣布将 Cloudscape 贡献给 Apache Software Foundation。那么,什么是 Cloudscape?
答:Cloudscape 是一种基于 Java 的、具有全面事务支持能力的关系数据库技术。它是一种纯嵌入式数据库,可以用在应用程序中,也可以作为更传统的客户机-服务器应用程序的数据库。它体积小,而且不需要数据库管理员;您只需编写应用程序。在需要时直接调用数据库,Cloudscape 就可以为您服务。
问: 开放源代码版本与 IBM 的商业版本之间有什么不同?
答:我们已经把 Cloudscape 的代码献给了 Apache Software Foundation [ASF]。在 Apache 中这个项目叫做“Derby”,IBM Cloudscape 的未来商业版本都将以 Derby 代码为基础。
Derby 是一个孵化器(incubator)项目,这也是外部项目成为 ASF 一部分的一种常见的方式。但是开发人员如今可以在 Apache 的许可下为 Derby 代码作出贡献,或者下载 Derby 代码,我们正在积极地与我们的合作伙伴以及 Apache 合作,以发展和形成致力于 Derby 项目的社区。
对于我们的 Cloudscape 项目,IBM 搬用 Derby 代码,并作为 IBM Cloudscape offering 提供完全支持。您也可以免费下载 IBM Cloudscape 代码,并且可以从 IBM 那里购买对它的支持,但我们并不打算收取 Cloudscape 的许可费。
问: 为什么 IBM 决定公开 Cloudscape 源代码?
答:通过将 Cloudcape 开放源代码,IBM 希望加快基于 Java 的应用程序的开发,并带动 Linux 和 Java 方面的更多革新。所以,扩大这方面的市场就等于扩大高价值的 IBM 中间件、硬件和服务方面的市场。我们认为这样做尤其可以在嵌入式数据库应用程序、小型企业解决方案以及基于 Java 和基于 Web 的应用程序等领域开辟新的商机。
开发人员能识别好的代码。当我们从 Informix? 取得 Cloudscape 代码时,我们内部的开发社区便开始谈论它,并做一些工作。实际上,至今在 IBM 中已有 70 个项目在他们的 offering 中使用 Cloudscape -- 其中有很多项目已发布到市场,例如 WebSphere? Application Server、WebSphere Portal 和 IBM Workplace。所以,我们知道我们有一项有趣的技术,而这项技术可以成为 Java 架构的一部分。我们看到 Java 数据库和 Apache 正在做的 Java 工作之间有关联,并且认识到这是一个巨大的项目,适合开放源代码来做。
现在,IBM 对开放源代码社区有一个长期的承诺。我们之所以有能力建立那样的关系,部分原因就在于我们知道不是为了开放源代码而开放源代码,而是开放源代码可以使事情变得更容易。
IBM 知道必须找到正确的方式来建立社区和鼓励革新,而我们也用了很多不同的方法,例如支持 Eclipse.org 的创建。通过与 Apache 合作,我们可以为使用 Derby 并帮助使其变得更好的开发人员们建立一个社区。实际上,我们希望看到 Derby 数据库变得和 Apache HTTP 服务器一样无所不在。
问: 使用 Cloudscape 可以做哪些事情呢?
答:Cloudscape 最有趣的一个用法就是作为一个 Java 数据存储,直接将数据库输入到 Java 应用程序中。我曾提到过,Cloudscape 数据库非常小。它只是一个 2MB 的 .jar 文件。有了这样一个 Java 数据库,当一个 Java 应用程序想要使用它时,根本不需要做任何工作,不需要进行任何管理。Java 应用程序只需发出 JDBC 调用,然后访问数据,之所以可以这样做,是因为数据库自始至终都是以一个 .jar 文件的形式存在。
Cloudscape 技术实际上非常通用 — 我认为,认识到其他类型的应用程序在这里也可以使用是很重要的。我曾提到过,IBM Workplace 在客户端使用 Cloudscape,以便将数据自动复制回服务器。我们在 LinuxWorld 提供了 "IBM Workplace Data Access" 可编写脚本桌面数据库的技术预览 — 这是一种用于创建客户端数据库、查询和报表的商业用户工具。
人们可以使用 Cloudscape 网络服务器特性,将其当作基于服务器的数据存储来访问。因此,虽然我们原本期望看到围绕 Java 应用程序的大多数初始用法,但实际上 Cloudscape 还可以用作客户机-服务器数据库。
问: IBM 将提供哪些类型的 Eclipse 工具?
答:我们拥有一些用于 Eclipse 的插件,通过这些插件可以访问数据库。此外,我们还为那些使用 Cloudscape 并希望迁移到企业级的数据库的人们提供了工具。例如,他们可以从 Cloudscape 移植到 DB2?。
问: 您提到了 "IBM Workplace Data Access"。可以谈得更详细一点吗?
答:IBM Workplace Data Access 是商业用户用于创建和查询运行在不同桌面环境(包括 Windows? 和 Linux)上的数据库应用程序的一种工具。我们使用 Eclipse 框架开发 GUI,用 Cloudscape 作为底层数据库。
我们认为 IBM Workplace Data Access 将可以独自开辟新的机遇。但它也是将轻量级、跨平台的数据库(例如 Cloudscape 或 Derby)与用于应用程序开发的跨平台客户端框架(例如 Eclipse)相结合的一个伟大的典范。
问: Cloudscape 在 DB2 数据库系列中处于什么样的地位?
答:Cloudscape 能满足新的和正在增长的市场的需求。作为面向 Java 的数据库,Cloudscape 的定位非常恰当,它很好地弥补了我们的其他数据库:DB2 Universal Database?、Informix Dynamic Server、DB2 Express 等等。又因为它是建立在开放标准基础上的,任何针对 Cloudscape 编写的应用程序都可以很容易地迁移到 DB2 UDB 和其他数据库上运行,这正是企业级的解决方案所需要的。
问: Derby 与其他开放源代码数据库有什么不同?
答:没有哪种开放源代码数据库像 Derby 这样适合扩展 Java 架构,并带动整个社区的革新。IBM 非常注重满足这一需求。我们曾看到其他公司仅仅做到数据库源代码开放,根本没有提供可行的计划来建立社区。很多开放源代码数据库都有许可限制,有时候 ISV 实际上不得不为取得重新发布开放源代码数据库的权利而付出代价。而且有时候这些数据库并不完全是关系型数据库或事务处理数据库。
所以,与其他开放源代码数据库相比,Derby 是独一无二的。它的确是功能丰富的关系型数据库。而且,它完全是免费提供的,没有商业许可限制。
问: 您还有什么要补充吗?
答:Cloudscape 技术是 IBM 更大型数据产品战略的一个扩展。我们的想法是集成各种不同的数据存储 — 从 zSeries? 到普适(pervasive)设备 — 以支持来自 IBM 和非 IBM 数据源的结构化的和非结构化的数据。我们认为信息集成是将这些维系在一起的关键,而我们的 DB2 产品为客户提供了实现这一点的框架。
公共的、一致的用于访问信息的框架使人们可以做更多的事情 — 利用数据,收集更多洞察力,以及成为更能随需应变的企业。我们看到 Cloudscape 正是其中的关键部分。