应用程序开发中的新特性 Lotus Notes/Domino V8 应用程序开发中最大的更改是大大增强了对 Web 服务和 SOA 的支持。该更改需要两个窗体。其中一个增加了对 Web 服务的支持,另一个是新的编程结构,即复合应用程序,利用 Eclipse 平台对开放、标准方式的支持,在 Lotus Notes V8 客户机(而不是 portal)中连接应用程序组件。 复合应用程序将多个系统的不同类型的内容组件集中起来,可以在用户界面层上将内容组件连接在一起,而无需通过编程使用户采用新方式访问信息。复合应用程序与 Portal 应用程序的工作方式相同,并且使用与 Web 服务和面向服务架构相同的开发架构。 现有的或新 Lotus Notes 应用程序可以作为组件重复使用,同使用 Lotus Component Designer 开发的应用程序一样。也可以将 Eclipse 组件(例如嵌入浏览器或产品编辑器)作为复合应用程序中的组件使用。要了解有关这个主题的更多信息,请阅读 developerWorks Lotus 教程 “Creating a composite application using IBM Lotus Component Designer”。 Lotus Notes V8 复合应用程序中的每个组件都封装了其自身的用户界面、业务逻辑和存储库(例如 NSF 或关系型数据文件),并且可以使用多种工具来创建组件,工具的种类繁多,从非编程方式的向导到脚本工具(例如 IBM Lotus Domino Designer V8 和 Lotus Component Designer),直到复杂工具(例如 Java IDE、Lotus Expeditor 工具包和 IBM Rational Application Developer for WebSphere Software)。 Lotus Notes V8 复合应用程序的开发模型与 IBM WebSphere Portal 应用程序的开发模型相似(参见图 1),不过其中 Web 浏览器必须连接到 WebSphere Portal,利用其 Eclipse/Lotus Expeditor 基础,Lotus Notes V8 可以使用复合应用程序并支持单机基础上的复合应用程序之间的交互。 图 1. Lotus Notes/Domino V8 的系统图
Web 浏览器可以仅通过 WebSphere Portal 来使用复合应用程序,但是 Lotus Notes V8 包含了使用复合应用程序时所需的全部功能。 图 1 表明了另一种对比:使用 Application Template Editor 来完成 WebSphere Portal 应用程序的集中和连接,而在 Lotus Notes V8 中,使用的是 Composite Application Editor,它是作为 Lotus Notes 插件进行安装的。Composite Application Editor 可以为 Lotus Notes 和 WebSphere Portal 创建在线工作的复合应用程序,而且可以创建脱机工作的基于 NSF 的复合应用程序。 复合应用程序取决于属性代理(属性代理用于公开属性)或键入的可交换数据项。在复合应用程序中,操作是使用属性的逻辑,而连接组件的过程则将一个组件中的属性与另一个组件中的操作连接起来,从而指定组件之间的交互。 (有关属性代理概念的更详细说明,请参阅 developerWorks Lotus 文章 “为 IBM Lotus Expeditor Property Broker 创建协作组件。”) Lotus Domino Designer V8 中的复合应用程序 复合应用程序需要对 Notes 编程模型进行一些扩展。如果 NSF 组件要与其他组件加入因果关系,则必须定义一个属性和操作接口。此信息保存在新的复合应用程序设计元素的子元素中(参见图 2): Properties(以 WSDL “Web Services Description Language” 的 XML 格式)定义了属性和操作定义。 定义基于 NSF 的复合应用程序后,NSF 就拥有新复合应用程序设计元素的另外的子元素(参见图 2): Applications 定义了组件页面之间的布局和导航以及组件间的通信。 图 2. Composite Applications 元素是 Lotus Domino Designer V8 中的新元素
Action and Column 属性框中还有新的 Composite Settings 属性(参见图 3)。 图 3. 新的 Composite Settings 将 Lotus Notes 应用程序配置为复合应用程序中的组件
对新复合应用程序的支持还包括新的使用 LotusScript 语言的 NotesProperty 类和 NotesPropertyBroker 类。 (责任编辑:admin) |