| Michael O'Connell, developerWorks 主编, IBM Corporation Tara Hall, developerWorks:Lotus 内容开发人员, IBM Corporation
2004 年 7 月 与 Lotus Software 的首席技术官 Doug Wilson 讨论 IBM Workplace 客户端战略,以及用于 Lotus Workplace Messaging 和 Lotus Workplace Documents 的新的 IBM Workplace 客户端技术。 在 IBM Workplace 启动前夕,developerWorks 有幸采访了 Lotus Software 的 CTO —— Doug Wilson 先生,了解了他对于新的 IBM Workplace 客户端技术的看法,为什么开放标准对于 IBM 如此重要,为什么您需要关注即将出现的新事物。 让我们开门见山吧!您对于启动 IBM Workplace 怎么看? Workplace 客户端技术的宣告令我们非常振奋。它代表着我们以中间件为中心的计算平台的完成。它对于 J2EE 中间件体系是一次很大的完善,将其扩展到了各种不同的客户设备上,并支持多种编程模型。作为技术提供商,这是 IBM 迈出的很重要的一步,对于我们的客户和业务伙伴也是很重要的一步。这是技术发展的序曲,总有一天它将把我们完全结合在一起。这个季度将推出该项技术的第一个实用产品。 客户端技术产品原计划在今年晚些时候推出,但现在大大提前了。这意味着什么? 我们一直打算与我们的 2.0 版本(这是今年的第一部分)一起发布 Lotus Workplace 产品线的两组特性集,即用于 Lotus Workplace Messaging 的富客户端和用于 Lotus Workplace Documents 产品的富客户端。 专门针对客户端捆绑一组技术的观点逐渐成型,将成真正的推动力,吸引业务伙伴和 ISV 为 Workplace 平台编写应用程序,并把该平台上的应用程序的基础扩展到 Lotus 或者 IBM 提供的应用程序之外。我们一直希望在市场上推出这些富客户端功能。 对于日渐壮大的整个开发人员社区,您希望对这些新技术特别强调一些什么吗? 对于开发人员有很多有趣的东西,当然在宣传材料上已经强调了,现在可以找到这些材料了。这里的焦点有两个地方。第一个是提供部署的灵活性,即容易部署和较低的拥有成本,这是 IT 组织需要的,可以通过 Web 应用程序实现。同时,还为已安装的客户端应用程序提供了人们所期望的丰富的用户交互和界面。我们为此试图建立一个自我管理的平台,它能够从服务器自动配置和维护。它建立在服务器端编程模型上,从而尽可能保留我们的伙伴和客户在服务器应用程序上所作的投资。现在 Workplace 平台提供了高水平的用户界面体验。我们将其用于各种设备,比如像水龙头上的传感器和接收器那样小的设备,以及桌面应用程序。本来您可能认为这种能力只能来自完全安装的客户端应用程序。 开发人员现在可以用 IBM Workplace 做什么? 今年上半年我们将发布第一个实用产品。下半年我们将发布一套完整的 API。Lotus Workplace 基本上是一个开发人员的平台版本,它使任何开发人员都能够获得我们在构建应用程序套件时所使用的那些能力。 客户端插件的要点是可以开发吗,是否还有其他重要的方面需要提一提? IBM Workplace 的基础在于它是一个安全的平台。我们向客户平台增加的一些重要能力包括基于证书的验证。我们还建立了复制的数据存储,通过标准协议如 SyncML 与后台通信,可以帮助我们的伙伴利用这种能力。我们已经并将继续扩展 WebSphere Portal 的应用程序部署模型,这样,ISV 或客户向富客户端平台部署应用程序的方式,将与向 Portal 环境部署应用程序的方式完全相同。他们将使用 Portal 的页面组件和管理工具来管理富客户端的表示和配置。这种配置基于用户策略和验证,是 Portal 模型到桌面的扩展。 我不敢肯定已经完全理解了,不过听说最初的名字应该是 Lotus Workplace,但是现在我们看到已经改成了 IBM Workplace。您能说说原因吗? 我们正在建立和宣告的是一系列称为 IBM Workplace Client Technologies 的技术。这些技术将采用不同的风格,规模也不同,有一个微型版和一个完全版。微型版更容易拆分,更加面向 OEM,并且包括一组面向平台的功能。完全版是与 WebSphere Portal 结合在一起的自配置版本,主要用于提供配套的应用程序功能。 将有很多实用产品。其中一些将来自 Lotus。对于 Lotus Workplace Messaging 和 Lotus Workplace Documents 这两种客户端技术,这些特定的产品名称指的是客户端技术平台的实用版本。您将看到更多专门命名的 IBM 应用程序和应用程序系统。应该把它们看作是一组技术和建立在这些技术之上的一些实用产品。 非常感谢。从实用性的角度来说,是否指保护第三方或者合作伙伴的成果呢?将在下半年与另一版本推出的 API 的时间安排是怎样的? 增强我们合作伙伴的能力,让他们创建非常好的客户应用程序,这是一个持续的过程。春季将发布最初的版本,然后在下半年再发布下一个版本。我们完全可以期待在今后的几年中将陆续发布多个版本。这不是一项短期计划。开发人员从第一个版本中能得到什么,要看他们编写什么样的应用程序。 我们的 Notes 和 Domino 开发社区已经熟悉了某些服务:客户端集成安全、复制的数据存储、非结构化文档、特定文档类型的内建编辑器等等。对于 J2EE 开发人员,我们提供了一整套新的服务和能力来扩展应用程序的功能,提供了编写离线应用程序的方式,编写使用安全特性、管理存储在客户端的数据的应用程序,他们最终将会充分理解利用 J2EE 编程模型的能力。这样极大地拓宽了这些客户的编程模型。 我猜想,这一切都与底层的 Eclipse 框架分不开,以及大家广泛关注把一些 Lotus 产品线转移到 J2EE 环境中。 我想澄清一点,把 Domino 产品线移到 J2EE 并非我们的目标。我们不断对 Domino 产品线的新技术库投资。但是 Domino 作为一种应用程序平台永远不会成为 J2EE 应用程序平台。Domino 应用程序平台仍然是 Domino 应用程序平台。至于 Notes 客户端,我们一直在调整或者现代化我们的产品技术。我们希望以将来 Workplace 客户端技术版本为基础改进 Notes 客户端技术。Workplace 客户端技术平台最终将成为未来的 Notes 客户端的基础。 我们希望推动 Notes 客户端前进,同时也推动人们所期望的 Notes 客户端功能和能力向前发展,这是一项重要的投资。根据 Notes 7 的计划,客户将能在 Workplace 客户端技术上运行 Notes 应用程序。在后续的 Notes 版本中,我们期待这种客户端技术能够完全包容当前 Notes 客户端的能力。这样就变成一种技术上的转换。并非把这个产品线转变到不同思路上。也并非重新在 J2EE 上塑造 Domino。仅仅是我们创建 Notes 客户端的技术方式的改变。 必须指出我们的目的。我们不是把 Domino 编程模型转变为 J2EE 编程模型,也不想以任何方式限制 Domino 编程模型的生命。 我知道有相当多的人希望确认情况确实如此。 毫无疑问。我们在 Domino 技术中有非常广泛而坚实的用户基础。我们将继续支持和发展这一基础,我们希望确保用户能够理解我们在这一点上的承诺。 我们想预计一下开发人员可能提出的问题,比方说,如何开发、测试和管理那些使用 IBM Workplace 的应用程序? 您将通过基于 Java 的开发工具来开发您的应用程序。IBM 在 WebSphere Studio 产品家族中卖出了很多这类产品。但是您也可以使用 Eclipse 的开放源代码开发工具来为服务器平台和客户端平台构建这些能力。您可以使用作为 WebSphere Studio 一部分的单元测试环境来测试这些能力。至少有一种方式可以管理这些解决方案,特别是对于 Workplace 客户端技术,它采用了 Portal 的应用程序管理技术。我们尝试使其成为 Portal 应用程序部署和管理模型的延续,这样您就不必引入新的方式来管理这些应用程序。自动配置和维护这些应用程序的桌面视图是客户端技术的重要能力之一。我们努力使管理问题变得非常简单。 整套 Rational 产品提供了横跨整个应用程序开发周期的能力,从非常高的层次上对业务和应用程序建模开始,一直到实现、测试、验证、缺陷报告和维护源代码控制的能力。这是应用程序开发和管理能力的高级组合,直接流入了 Tivoli 产品线的产品和企业管理、站点管理以及应用程序管理能力。我们从开发过程的管理开始,一直到通过部署、执行和站点管理过程的管理。 关于 Workplace 应用程序和现有应用程序的混合,如 J2EE 或 Web 服务,您还有需要补充的吗? 我认为,我们可能正在做一些傻事,将 Workplace 应用程序表现为与 J2EE 应用程序必然不同的特征。如果您想进行区别,您会说 Workplace 应用程序是组件的聚合。您可以把某些内容集合在一个应用程序中:文档库或窗体库,用于管理和协调团队活动的日程表,以及用于与后端中事务处理系统交互的自己的 J2EE 组件。IBM Workplace 把所有这一切集合在一个组合或聚合的应用程序中。 聚合由各种组件组成,其中一些组件可能是基于 J2EE 的,一些组件可能是基于遗留系统的,或者甚至是基于 ActiveX 这样的现有用户界面技术。Workplace 模型的优点是它了解各种来源的代表客户在过去所做投资的组件,以及代表客户可以在现在和将来进行投资的新编程模型。没有规则或意向要求作为 Workplace 组合应用程序的一部分参与,您必须重新开始,从头开始编写一切。正如 Ambuj [Goyal] 在许多场合所说,这里没有新的或替代的案例。我们没有替换任何应用程序系统。我们想扩展现有应用程序系统所能达到的,以便提供新的能力来集成那些系统和新系统的能力,形成客户告诉我们他们需要的那种应用程序。 你能和我们多谈一谈 IBM 客户端战略,以及下一版本中将推出的这两种新的 Workplace 客户端技术如何适应这一战略吗? IBM 客户端战略认识到有两个重要的延续。设备类型延续从 RFID(Radio Frequency Identification for Business)传感器和水龙头接收器开始,再上升到电话和 PDA,继续上升到今天桌面应用程序上我们关心的基于浏览器的客户端,最后达到完整、丰富的客户端能力。这就是在我们客户端技术中将要支持的设备范围。IBM 让所有这方面的客户从设备制造商和手机制造商开始,到为像 Blue Martini 这样的手持式设备编写定制应用程序的人员,以及为 Notes 和 Domino 编写非常复杂的离线应用程序的人员。客户端战略必须跨越所有这些设备。还需要认识到这组向用户交付的体验是各不相同的。 另一个延续是有些客户需要基于浏览器的应用程序。要在部分客户端上交付不依赖于特定平台的实现,我们需要在应用程序和编程模型中支持这些能力。有些客户想交付最大限度地利用浏览器的应用程序。在过去的一年中,我们发布了 Lotus Workplace 和 WebSphere Portal 的部分能力,它们相当好地利用了浏览器的能力。我们发布了所谓的 Odyssey Editors,它们是 WebSphere Portal 文档管理能力的一部分。我们已经使一组丰富组件功能可用于处理表以及表和图之间关系,以及在浏览器环境中提供丰富功能的其他特性。这些就是这两个延续上的所有点。 IBM 客户端战略是非常广泛的。但我想强调的是,在客户端战略中,我们的战略是服务器以外的战略。我们的前提是,信息、安全和管理在服务器上维护,并且客户端操作服务器的行为,以便向终端用户交付对应用程序的体验。它源于 IBM 有关服务器计算的理念、优势和知识,并把该模型扩展到客户端。基于该模型,我们将构建大量不同的应用程序来利用这种能力。 您前面提及在启动 IBM Workplace 中涉及了相当多的来自不同 IBM 软件品牌的产品。您能详细介绍涉及了哪些品牌,以及从每一品牌中我们期望看到什么? 作为一般原则,IBM Software Group 已经着手实施一个精心设计的计划,从所有品牌分支中拿出最好的技术,并在各种不同的市场中利用这些技术。数据管理品牌致力于有关基本数据库管理软件的 Workplace 客户端技术以及用于数据库管理软件的编程 API。Pervasive Division 致力于具有以下基本能力的客户端技术:设备管理、设备识别和各种不同设备级别的通信,以及在不同规模和类别的设备上支持 J2EE 编程模型的微型版。 通过提供组成软件配置的基本组件和自我配置与维护软件,Tivoli 组织也支持 Workplace 客户端技术。您正构建在自治和自我管理计算环境的主题之上。Rational 致力于开发编程工具和能力,它们可识别基于门户的应用程序开发模型、普及应用程序开发模型,等等。所有品牌均致力于称为 IBM Workplace Client Technology 的技术,该技术不特定于任何一种品牌。这就是跨品牌能力为市场所带来的一切。 前面您提及了 Eclipse 框架。IBM 郑重承诺支持开放标准和开放源代码。该承诺如何改善我们的产品? 我们软件战略的基础是这样的一种理念:当我们严格实现开放标准并且该标准是大众认可的主题时,我们会为客户提供真正的选择。重要的是与标准有关的问题可以公开进行辩论。有各种完成这一任务的方式;它不一定总是通过标准组织。但开放源代码运动当然是最佳方式之一,在行业中,该运动把标准和事实标准向前推进了一步。我们可以从参与这些开放源代码工作的所有人员的集体技能中受益,也可以从行业中参与标准工作的所有人员的集体技能中获益。提供互操作性的标准定义和实现是难于实现的,基本上来说无法轻松完成。公司可以引入新技术的思想,但单独一家公司不能让它成为标准,也不能让它广泛采纳。它必须是合作关系。我们参与的社区对于完成这一工作起着很重要的作用。 Workplace 客户端技术带来的好处很切实际。在完全版 Workplace 客户端技术中,组件组装、组件聚合和平台分发机制的基础框架直接来自 Eclipse 开放源代码项目。在整个 Eclipse 第 3 版的开发中,我们已经和 Eclipse 小组紧密合作,Workplace 客户端技术的重要部分就是基于 Eclipse 第 3 版的。我们已经与设备制造商联盟协同制定开放系统网关接口规范,这一规范形成了客户端技术的基础。在开放标准方面我们与 SyncML 小组合作形成了标准基础,围绕这一基础,我们可以在 Workplace 客户端技术中完成客户端到服务器的同步和数据同步。它已经强烈影响了我们在标准和开放源代码社区中所做的工作。 您能够把较早的实现(比如标准 Domino 方法)与当今越来越多的可互操作标准进行比较吗? 您需要记住开发 Notes 并使其成为主流群件平台的时间表。在此之前,有许多标准可处理 Notes 能够处理的许多问题。在那时,你可能没有把 Notes 构建在开放标准之上,因为这些开放标准根本不存在。也就是在过去几年里,一些标准(像 LDAP、安全标准和 SyncML 标准)迅速崛起并趋于成熟,利用它们,您可以实际开发类似 Domino 能力的软件。自从 Domino 最初设计的几年以来,这个行业已经向前迈进了一大步。Domino 已经付出一些努力来跟上许多公共标准:HTTP、LDAP、IIOP,等等。当标准被采纳时我们就不会落伍。 现在我们可以带给 J2EE 社区同样的几种能力,这些能力是我们从以前的 Domino 专有基础结构中提出的。我们可以基于标准以及基于标准组织和开放源代码社区来完成这项工作。 IBM Workplace 正在提供端对端 Linux 解决方案。对最新版本的 Linux 支持情况怎样? 如果您看一下 IBM 产品所支持的操作系统和操作系统版本范围,就会发现它比行业中任何其他公司支持的操作系统更加广泛。在所有系统中,新的补丁级别和新版本非常频繁地出现,比我们随这些版本一起发行的新代码和新功能多得多。这一直是一个时间和版本周期问题,以及在开发周期中较新版本的操作系统在何时发布最为合适。我们承诺跟上当前版本,只要它是合理的,不让我们卷入每月发布一个产品的地步即可。 我们有核心 Lotus Workplace 产品用于消息传递、团队协作和在线学习。然后我们有特定于行业的那些产品:Lotus Workplace for Business Controls and Reporting 和 Lotus Workplace for Retail Operations。您认为 IBM Software Group 倾向于为特定行业构建产品吗? IBM 将参与为特定行业构建解决方案。我们已经通过我们的行业部门做了这件事情。您将看到 Software Group 的品牌,有些不是本质上构建了解决方案,而是构建横向能力。当您看到别号 IBM Workplace for X-Y-Z时,那表明这是一个由行业解决方案组总结出来的解决方案,用于满足特定需求或是像 Workplace for Business Controls and Reporting 这样的横向能力,这些解决方案按品牌进行组织,用于解决行业中特定的横向需求。 今天,Workplace for Business Controls and Reporting 将重点放在许多客户面前的 Sarbanes-Oxley 问题上。但技术基础当然不限于此。这就是为什么产品被称为 Workplace for Business Controls and Reporting 而不是 SOX 原因;它是一个横向技术产品。IBM 不在企业应用程序业务中。我们与合作伙伴和 ISV 及与我们的客户紧密合作,提供了这些解决方案。我们的行业部门将合作伙伴贡献的组件和 IBM 贡献的组件组合成来,形成了 IBM 提供的解决方案。 developerWorks 关注的一件事是软件开发平台。您能从战略高度上描绘 IBM Workplace 和软件开发平台之间的关系吗? 代表 Rational 组合和 WebSphere Studio Application Development 产品线的开发工具家族针对的是专业程序员和专业 IT 组织或者开发组织。通常,这些人员在团队中工作,并在复杂的产品和项目上工作。他们遵循 IT 编程规则,其思路是编写测试和调试代码,然后把那些代码部署到产品环境中。Workplace 是开发方法学的一部分。构建 Workplace 应用程序所需做的一切均可从同类开发环境中进行访问。尽管 Workplace 添加了它,但应用程序组装和应用程序定制的想法是可以在运行时完成的。 一旦在运行时部署了一组应用程序组件和一组应用程序模板,Workplace 提供了一些工具,让系统管理员、权限高的用户和其他用户能够修改和定制那些组件聚合,从而根据他们的需要解决业务难题。就像我们为开发组织中不同角色提供工具那样,我们现在正在转向在架构中包含强大的用户社区,从而允许 IT 组织在基础设施上施加相应的控制。 如果回顾到一定程度,甚至是在 1-2-3 时,有不同的用户组完成不同的任务。通过编写自定义功能和通过扩展那时用于构建电子表格的组件模型,专业开发人员可以为 1-2-3 添加某种能力。那些开发人员用 C 编写程序。如果再往前溯,就有人用像 LotusScript 这样的语言来编写扩展,用新功能来扩展基本能力或基本平台。然后根据工作职能把大量的人员分类成各种程序员,他们通过在 1-2-3 中操纵运行时、使用模板、使用更高级的能力把功能组装起来、构建电子表格等来开发应用程序。 类似地,现在已转移到业务组件、业务能力和 Web 服务可访问的业务能力领域。我们把目标指向了两类人,从构建和扩展那些平台和服务的人,那些可能想聚合起来完成高级功能的人,到可以查看函数库并说“对于这个特定的业务需求,我可以使用那些组件的一种及这些组件的一种”的应用程序组装者或用户,以及想针对他所寻找的业务结果快速而轻松地把组件聚合一起的人 。 这对我们很有帮助。您最后想为我们强调一点什么吗? 我想说的一句话是:IBM 现在在这个领域已经占有一席之地。我们正在响应来自开发和用户社区的需求,以便扩展编程模型所能达到的目标。我相信我们所遵循的宗旨为:与我们的开发方法学和应用程序程序模型相一致,而不用牺牲最终用户想从富客户端应用程序中得到的任何功能。暂时到此。以后这里会为开发社区准备更多的相关内容。 参考资料 作者简介 Michael O'Connell 是 1999 年创办的 IBM developerWorks 站点的技术主编和编辑主任。在加入 developerWorks 之前,他曾经是 IDG JavaWorld 的技术主编和 SunWorld Online 的技术编辑 —— 这是业内最成功的两家基于 Web 的技术杂志。他从 1991 年起就已经是计算机专栏作家了。 | | Tara Hall 是 developerWorks: Lotus 的一位网站内容开发人员,自从 2002 年 Notes.net 刚刚改为 Lotus Developer Domain 之后,他就加入了这个队伍。
| |