首页 > 新闻系统 > 编程天地 > 文章正文

在 Lotus Notes 8 中开发复合应用

2008-01-11 09:11:25 来源:论坛整理 作者:陈 原 点击:
在 Lotus Notes/Domino 8 众多新特性中,复合应用(Composite Application)是最具有革命性的一次突破,业界普遍认为,这种应用模式代表了 IBM 软件在企业前端整合上的新思路。

 
  在 Lotus Notes/Domino 8 众多新特性中,复合应用(Composite Application)是最具有革命性的一次突破,业界普遍认为,这种应用模式代表了 IBM 软件在企业前端整合上的新思路。本文结合实例,系统而详细地介绍了如何基于 Notes 8 创建复合应用,并给出了开发 NSF 组件以及 Eclipse 组件的方法和要点。读者可以通过本文了解到复合应用开发的整个流程。

  在 Notes 8 中开发复合应用

  作为 Lotus 的售前工程师,回顾整个 2007 年,我最经常被客户和合作伙伴问到的问题是:你认为 Domino/Notes 8( 以下简称 ND 8) 中最大的技术突破是什么?是生产力工具?还是对 DB2 的正式支持 ?

  毫无疑问,上述这些功能都是 ND 8 非常出彩的地方,即使放在整个 ND 的发展史上看也将会占有一席之地。但最终我的答案只有一个:ND8 中最大的突破当然是复合应用(Composite Application)。因为这的确是一种非常有“内涵”和革命性的新型应用模式。

  很难简单的说明复合应用究竟意味着什么?从企业 Web 2.0 的观点,你可以说它代表着混搭 Mashup 的思想;站在企业集成的角度,它是 SOA 在用户前端的具体实现;对用户而言,它是一种全新的界面体验;而对传统的 Lotus 开发者来说,复合应用带给了他们新的挑战和机遇。

  所以无论你出于什么原因打开了 Notes 8 客户端,复合应用都是你绝对无法视而不见的亮点,因为它代表的是 ND 的未来——也许还不仅仅是代表 ND 的未来,而是整个 IBM 软件在企业前端上的未来。

  复合应用的基本定义与 Property Broker 编程模式

  那么什么是复合应用(Composite Application)?一个标准的定义如下:复合应用是 为了满足特定的业务目的而被放在一起的一套组件。如果觉得这个定义太抽象,那么下面这个例子可以给大家一个感性认识。

  图 1. 复合应用范例

   图 1. 复合应用范例

  这是一个用 Notes 8 打开的应用(ComAppTest.NSF),你一眼能看出它和过去你所见到 Notes 的帧结构、视图、表单等等这些元素全不相同但又似曾相识。在这个应用中,你看到了左上方展示新闻列表的 Notes 视图,看到了右下方展示每篇新闻内容的 Notes 表单。此外,你还会看到左下方的图片缩略表,和右上方的图片大图展示,但它们都不是 Notes 元素,而是两个 Eclipse 插件。所有这些东西(当然,它们有个正式的名称——组件),为了一个业务目的(展现新闻内容和图片)而组装在一起,这就构成了一个复合应用。

  不只是组装,组件之间还可以传递消息。还是看上面这个例子,当我们点击左上方新闻列表中的某篇新闻时,会把该新闻的新闻编号传递给其他组件,这样右下方的 Notes 表单组件会根据该编号显示新闻的详细信息,右上方的 Eclipse 组件会根据该编号显示新闻的图片内容。这里我们把所传递这个信息叫做“属性”(Property),把各个组件根据外来属性所做的动作称为“操作”(Action 或 Operation)。通过 Notes 8 环境中提供的 Property Broker 机制,复合应用可以在不同的组件之间传递属性,执行操作。这种编程模式,我们也称之为 Property Broker 的编程模式。

  图 2. Property Broker 编程模型

   图 2. Property Broker 编程模型

  Property Broker 编程模式的基本设计理念总结如下:

  •   属性是类型化的可交换数据
  •   操作是消费属性的行为
  •   组件定义自身的属性和操作
  •   连接(Wire)将属性和操作相关联

  在这种编程模式下,程序的开发很大程度上就是组件的开发。而开发组件首先要定义组件的属性和操作,并把这种定义通过 WSDL 描述出来。然后实现组件属性的发布,以及其他组件如何接收属性并执行对应的操作。开发好组件之后,用户可以把这些组件加入到一个复合应

9 7 3 1 2 3 4 5 6 7 8 9 4 8 :

精彩推荐
焦点大图推荐
本类热门文章

论坛美图

本周软件下载排行

广告联系 | 版权说明 | 意见建议 | 加入收藏 | 军网站群 [ 军软件园 - 军软件商城 - 军软件园论坛 ]

电信与信息服务业务经营许可证:京ICP证050203