Lotus Notes 8 的可程式設計性

genusBIT發表於2009-03-30


Lotus Notes 8 中使用的新技術概述
Notes 可程式設計性新功能
Notes 可程式設計性中哪些功能保持不變
其他文件



基於 Eclipse 的 IBM® Lotus® Notes® 8 改進了大家熟悉的 Lotus Notes 使用者介面,增強了協作和訊息傳遞功能並用先進的程式設計結構擴充套件了應用程式開發模型。可程式設計性一直是 Lotus Notes 產品中一個強大且重要的功能。通過 Lotus Notes 8,Notes 的可程式設計性優勢得以繼續增強,除了繼續提供 Notes/Domino 開發人員一直使用的功能之外,還提供了一些新功能。通過本專欄,您將瞭解在 Lotus Notes 最新版本中可程式設計性的這些變化。

<!--

CONTENT GOES HERE

Lotus Notes 8 中使用的新技術概述

要了解 Notes 8 可程式設計性的變化,先要了解與 Lotus Notes 8 一起引入的新技術。Lotus Notes 8 客戶機採用了現有 Lotus Notes 的所有程式碼並將其放入了 Eclipse 環境。它將 Lotus Notes 放在了一個基於 Java™ 的平臺上。

Eclipse 最初是作為整合應用程式開發環境建立的。其開放的、基於外掛的架構幫助 Eclipse 成為富客戶機平臺開發的基礎。Lotus Notes 8 構建於 IBM Lotus Expeditor 之上,IBM Lotus Expeditor 是 IBM 的通用託管客戶機軟體。Lotus Expeditor 構建於 Eclipse 之上,該產品作為針對面向服務架構(SOA)和複合應用程式的受管客戶機,在 IBM 富客戶機產品家族中佔有一席之地。作為 IBM WebSphere® Everyplace Deployment 的繼任者,Lotus Expeditor 將 Lotus Notes、WebSphere 和 Eclipse 基礎設施擴充套件到各種企業桌面和移動裝置上的託管客戶機環境。

Lotus Notes 8 實際上是帶有一組新外掛的 Eclipse。作為富客戶機,Lotus Notes 8 的大量行為都繼承自 Lotus Expeditor,Lotus Expeditor 是作為通用富客戶機建立的,具有很強的可管理性。Lotus Expeditor 也是 IBM Lotus Sametime V7.5 的基礎。

本文接下來的兩部分是針對那些經驗豐富的 Notes 開發人員的,他們可以從該部分快速瞭解 Notes 可程式設計性的新功能以及哪些功能保持不變。每個功能都列出了關於該功能更多資訊的連結。此外,還提供了表格,為您指出新的和原有的可程式設計性功能,使您在建立或增強應用程式時能充分利用它們。

更多關於 Lotus Notes 8 新特性的內容,請參考:

Notes 可程式設計性新功能

對複合應用程式和 Web 服務的支援代表了 Lotus Notes 8 的可程式設計性和應用程式開發的一些變化:

  • 複合應用程式。作為新的程式設計結構,複合應用程式利用 Lotus Expeditor 平臺對開放標準方式的支援,不僅能在 Portal 中連線應用程式元件,而且能在 Lotus Notes 8 客戶機中連線應用程式元件。
  • Web 服務。支援客戶端自動生成和使用 Web 服務代理(LotusScript. 或 Java)。

複合應用程式概述

複合應用程式無需編碼就可以在使用者介面中將來自多個系統的不同型別元件連線在一起。複合應用程式與門戶應用程式的工作方式一樣,並且使用與 Web 服務和麵向服務的架構一樣的開發架構。

像使用 IBM Lotus Component Designer 開發的應用程式一樣,現有或新的 Lotus Notes 應用程式可作為元件進行重用。Eclipse 元件,如嵌入式瀏覽器或產品編輯器,也可用作複合應用程式中的元件。

Lotus Notes 8 複合應用程式中的每個元件都封裝了自己的使用者介面、業務邏輯和儲存(比如 NSF 或關係資料檔案)。可以使用多種工具建立元件,從無程式碼嚮導到指令碼工具,如 IBM Lotus Domino® Designer 8 和 Lotus Component Designer,再到複雜工具,如 Java IDE 或帶有 IBM Lotus Expeditor Toolkit 的 IBM Rational® Application Developer。

Lotus Notes 8 複合應用程式的開發模型與 IBM WebSphere Portal 應用程式的開發模型類似,但是其中 Web 瀏覽器必須連線到 WebSphere Portal。利用 Lotus Expeditor 基礎,Lotus Notes 8 可以使用複合應用程式並支援複合應用程式之間在單機基礎上的互動。Web 瀏覽器只能通過 WebSphere Portal 使用複合應用程式,但 Lotus Notes 8 包含使用複合應用程式時所需的所有功能。

另一個類似之處是 WebSphere Portal 應用程式的組合和連線是使用 Application Template Editor 完成的。在 Lotus Notes 8 中,您使用作為 Lotus Notes 外掛安裝的 Composite Application Editor 完成。Composite Application Editor 可以為 Lotus Notes 和 WebSphere Portal 建立線上工作的複合應用程式,並且它能建立線上和離線工作的基於 NSF 的複合應用程式。

複合應用程式依靠屬性代理(屬性代理用於公開屬性)或鍵入的可交換資料項。在複合應用程式中,操作是指使用屬性的邏輯,將元件連線到一起的過程會將一個元件中的屬性與另一元件中的操作連線起來,並指定元件間的互動。

Lotus Domino Designer 8 中的複合應用程式

複合應用程式要求對 Notes 程式設計模型進行一些擴充套件。如果 NSF 元件要參與與其他元件的因果關係,則必須定義屬性和操作介面。此資訊保留在新的 Composite Applications 設計元素下面的子元素中:

  • Wiring properties。以 WSDL XML 格式儲存,用來定義屬性和操作。
  • Applications。定義基於 NSF 的複合應用程式時,NSF 會包含此子元素。Applications 定義元件頁面之間的佈局和導航以及元件間的通訊。

在 Action 和 Column 屬性框中還有新的 Composite Settings 屬性。最後,支援複合應用程式的屬性代理在 LotusScript. 中還包括新的 NotesProperty 和 NotesPropertyBroker 類。

更多關於複合應用程式開發的內容,請參考:

Web 服務

Web 服務設計元素是在 Lotus Notes V7.0 中引入的,它允許使用 LotusScript. 或 Java 在 Lotus Domino 伺服器上建立 Web 服務。這是提供方,即可以從其他計算機上呼叫的 Web 服務。Lotus Notes 8 允許建立在 Lotus Domino 伺服器上執行的 Web 服務使用方並呼叫 Web 服務來獲取服務所提供的資料,然後將資料插入到 Lotus Notes 應用程式中。

此 Web 服務使用方不是作為 Web 服務設計元素進行例項化的,而是作為由代理或其他程式碼使用的特殊的指令碼庫(LotusScript. 或 Java)進行例項化的。該庫的內容是一個 WSDL 文件,即 XML 格式的 Web 服務描述。在儲存時,WSDL 匯入該庫並被編譯為指令碼。在(呼叫 Web 服務的)指令碼的 [Declarations] 部分中,將按名稱引用指令碼庫。

在 Lotus Notes 8 中,Web 服務使用方被建立為特殊的指令碼庫。Lotus Domino Designer 中的新操作允許您檢查或匯出作為庫內容的 WSDL。

下表總結了 Notes 可程式設計性新功能的更多具體示例。每個功能和/或增強都列出了可以獲得更多資訊的連結。


表 1. Lotus Notes 8 可程式設計性新功能
新功能 獲得更多資訊
複合應用程式

Lotus Notes 8 支援複合應用程式,複合應用程式是 IBM 面向服務的架構 (SOA) 和上下文協作戰略中的關鍵元素。通過建立複合應用程式,您可以鬆散耦合上下文中的 Lotus Notes 應用程式 NSF 元件、Eclipse 元件和 Lotus Component Designer 元件。
有關更多資訊,請參閱 Lotus Domino Designer 幫助系統

有關其他資訊,請參閱 Lotus Expeditor 幫助系統Websphere Portal 產品專欄

複合應用程式樣例和其他資訊可以在 developerWorks Lotus Sandbox 中找到。
支援屬性代理

在 Lotus Domino Designer 中提供了 Property Broker Editor,該編輯器提供了易用的介面,幫助建立 WSDL 檔案。這些檔案支援複合應用程式中應用程式元件之間的通訊。
有關更多資訊,請參閱 Lotus Domino Designer 幫助系統 以及 Property Broker Editor 中的上下文幫助資訊。 有關屬性代理的其他資訊,請參閱 Lotus Expeditor 幫助系統Websphere Portal 產品專欄
用於訪問屬性代理和應用程式元件的新 Notes 類

建立了兩個新 Notes 類:NotesProperty 和 NotesPropertyBroker,它們支援屬性代理和應用程式元件以程式設計方式進行耦合。此外,還向 NotesUIView 類中新增了新事件 OnSelect,它支援在一個元件內進行文件選擇來影響其他元件內顯示的資訊。
有關更多資訊,請參閱 Lotus Domino Designer 幫助系統
Composite Application Editor

Composite Application Editor 讓您能組合或編輯複合應用程式。複合應用程式可以駐留在 Lotus Domino 伺服器或 WebSphere Portal 中。無論它駐留在哪,都可以使用 Composite Application Editor 編輯應用程式。
有關更多資訊,請參閱隨 Lotus Notes 8 客戶機一起提供的 Composite Application Editor 幫助資訊。
支援 Web 服務的指令碼庫

構建在指令碼庫的概念之上,是版本 8 中的新功能,應用程式可以通過支援 Web 服務的指令碼庫獲得 Domino Web 服務功能。每個支援 Web 服務的 LotusScript. 或 Java 指令碼庫都包含駐留在某個 Web 伺服器(Lotus Domino 或其他伺服器)上的單個 Web 服務代理。建立支援 Web 服務的指令碼庫之後(使用 LotusScript. 或 Java),它就可以在 Domino 應用程式內的很多不同的上下文中使用了,比如代理和事件處理程式碼。

這些 Web 服務稱為 Web 服務使用方,可以使用 Web 服務使用方指令碼庫讓代理或其他程式碼呼叫駐留在其它地方的 Web 服務。Web 服務使用方不使用 Web 服務設計元素,該元素只用於釋出。
有關更多資訊,請參閱 Lotus Domino Designer 幫助系統。以下文件是該幫助資訊的 Programming 部分新增的內容。

程式設計概述和使用者介面
支援 Web 服務的指令碼庫或 Web 服務使用方
應用程式可以通過支援 Web 服務的指令碼庫獲得 Web 服務,這些 Web 服務稱為 Web 服務使用方,每個 Web 服務使用方都會呼叫駐留在其他地方的單個 Web 服務。建立之後,支援 Web 服務的指令碼庫就可以用在 Domino 應用程式內的很多不同上下文中了。

程式設計 Domino 用於 Web 應用程式
Lotus Domino Designer 中的 Web 服務
應用程式可以通過支援 Web 服務的指令碼庫獲得 Web 服務。執行 Import WSDL 操作時會自動選中 “Warn if the WSDL interface is modified” 選項。預設情況下會啟用 “Include operation name in SOAP action” 選項。

預覽 Web 服務
Web 服務現在可以在釋出前在本地進行預覽,其預覽方式與在本地預覽表單和檢視一樣。
定製客戶機安裝程式

可以定製 Lotus Notes 8 客戶機安裝程式以滿足企業 Domino 8 管理員的功能/安裝需求。
有關更多資訊,請參閱 Lotus Domino 8 Administrator 幫助
在 Lotus Notes/Lotus Domino Designer 上下文中建立複合應用程式 有關更多資訊,請參閱 Lotus Domino Designer 幫助
在 Notes 8 上下文中使用 NOTES.JAR

很多使用 Eclipse 元件構建複合應用程式的 Notes 客戶都需要通過執行在 Eclipse 中的 Java 程式碼訪問 NSF。在 Lotus Notes 8 中,您編寫的 Eclipse 外掛可以使用普通 NOTES.JAR API 呼叫 Notes 後端類。
有關更多資訊,請參閱 Lotus Domino Designer 幫助:Composite Applications - Design and Management 部分中的主題 “Using the Notes Java API from Eclipse components”。
建立並部署傳統的第三方安裝程式來獲得定製的或第三方 Eclipse 功能和外掛 有關更多資訊,請參閱 Lotus Domino 8 Administrator 幫助。有關如何在 Eclipse 環境中完成此操作的背景資訊,請參閱 Lotus Expeditor 文件
使用 livenames

Lotus Notes 8 使用與 Lotus Sametime 一樣的外掛架構。Lotus Sametime Software Development Kit (SDK) 公開 LiveNames API,您可以使用它們來為 Sametime 應用程式新增 livenames 支援。此功能將在 8.0 之後的 Lotus Notes 版本中獲得。
Lotus Sametime SDK 包含 PDF 指南和 javadoc 形式的文件,並提供了很多樣例。該 SDK 提供了關於建立外掛和使用 LiveNames API 服務的文件。可以從 developerWorks 上下載 Lotus Sametime SDK。有關其他資訊,請參閱出版的 IBM RedBooks 中的 Extending Sametime 7.5 - Building Plug-Ins for Sametime
擴充套件 PIM(Personal Information Manager,個人資訊管理器)功能

為了進一步加強應用程式開發,PIM 應用程式也能用在複合應用程式中了。這些 PIM 包括聯絡人(個人地址簿)、郵件和日曆。通過使用作為 Lotus Notes 8 基礎的支援開放標準的 Lotus Expeditor (Eclipse),PIM 應用程式提供了一些可在複合應用程式中使用的通用屬性和操作。還可擴充套件 PIM 功能來增強 Lotus Notes 客戶機中的功能(例如,郵件)。
有關在 Lotus Notes 中擴充套件 PIM 功能的更多資訊,請參閱 Lotus Domino Designer 幫助系統 中的主題 “Using Personal Information Management applications in composite applications”。
與 WebSphere Portal 一起執行 Notes 8 複合應用程式

可以在 IBM WebSphere Application Server 上安裝 WebSphere Portal composite application support for Lotus Notes。要開發和使用包含 portlet 元素的複合應用程式的 Lotus Notes 使用者會需要該功能。它隨 Lotus Notes 一起提供,可通過 Web 下載。要在 Lotus Notes 中使用 WebSphere Portal 支援的一些功能,也必須在 WebSphere Portal 上安裝 WebSphere Portal composite application support for Lotus Notes。

WebSphere Portal composite application support for Lotus Notes 用於將 portlets 安裝到伺服器以及 Lotus Notes 客戶機與 WebSphere Portal 進行通訊。例如,如果希望使用者使用 Composite Application Editor 編輯基於 Portal 的複合應用程式,必須首先在 WebSphere Portal 上執行 WebSphere Portal composite application support for Lotus Notes。伺服器/客戶機安裝程式能夠安裝 Composite Applications Editor 使用 WebSphere Portal 時所需的 WAR 檔案。

管理員也可以為 Lotus Notes 使用者建立 Home Portal Account,用於建立、編輯和檢視包含 portlet 的複合應用程式。使用者可以使用 Lotus Notes 線上幫助系統中的首選項皮膚獲得關於建立或修改 Home Portal Account 的幫助資訊。
有關具體資訊,請參閱 Lotus Domino Administrator 幫助 中的主題 “Installing the WebSphere Portal composite application support for Lotus Notes”。
向 Lotus Notes 8 客戶機使用者介面側欄新增 Lotus Sametime 外掛 有關更多資訊,請參閱 Lotus Notes/Domino 8 論壇 中的文件 “Sidebar Contribution Design Pattern and Migrating a Sametime 7.5 plug-in over to Notes 8”。其他相關資訊也可在 developerWorks 上的文章 “擴充套件 IBM Lotus Notes V8 側欄和工具欄” 中找到。有關 Sametime 外掛的更多資訊,還可參閱 Lotus Sametime 文件
向 Lotus Notes 客戶機側欄新增 NSF 和 Eclipse 元件 有關更多資訊,請參閱 developerWorks 上的文章 “擴充套件 IBM Lotus Notes V8 側欄和工具欄”。
建立和使用 Lotus Expeditor IDE 有關更多資訊,請參閱 Lotus Expeditor Toolkit 文件
使用 Lotus Expeditor 目標定義指定執行時環境

目標定義指定了目標各方面的資訊,包括其位置、組成的外掛和環境。Lotus Expeditor Toolkit 使用目標定義提供了一個便捷的方法來指定執行時環境、構建時環境和可以在 Notes 8 平臺上執行的元件集合。例如,建立 Client Services 工程時,您可以在可用目標列表中選擇目標定義和功能集,工具箱將自動為您的工程建立 Java Build Path 和執行時。然後,就可以編輯、編譯和除錯工程。工具箱提供了預設的目標定義列表,也可以建立您自己的定義。
有關更多資訊,請參閱 Lotus Expeditor Toolkit 文件。對於 Lotus Expeditor V6.1,請參見主題 “Configuring the Lotus Expeditor Toolkit environment for Sametime”。
在 Lotus Notes 上下文中構建您自己的應用程式外掛 有關更多資訊,請參閱 Lotus Expeditor Information Center - Developing Applications for Lotus Expeditor 部分
Notes 可程式設計性中哪些功能保持不變

本部分介紹 Notes 可程式設計性中哪些功能保持不變。並列出了有關更多資訊的連結。


表 2. 現有 Lotus Notes 可程式設計性功能
現有功能 有關更多資訊
  • Formula、LotusScript、Java 和 JavaScript. 程式設計
  • LotusScript. 和 Java @functions 以及簡單的操作代理
  • LSX(LotusScript. 擴充套件)
  • Extension Manager (Lotus C API)
  • 伺服器外掛和其他 C API 程式
  • Web 服務提供方
Formula、LotusScript、Java 和 JavaScript. 程式碼提供了到 Lotus Domino Designer 的完整程式設計介面,該設計器提供了支援 COM 和 OLE 開發的程式設計介面,以及針對 Java 應用程式和 applets 的程式設計介面。Java 應用程式和 applets 能夠通過訪問安裝的 Domino 軟體在本地執行或者通過使用支援 IIOP 協議的 CORBA 連線到 Lotus Domino 伺服器。有關完整資訊,請參閱 Lotus Domino Designer 幫助
其他文件

本部分提供了關於 Notes 可程式設計性和其他相關主題的更多文件連結。前一部分介紹了具體的可程式設計性主題。

  • 有關建議的硬體和軟體要求,請參見當前 Lotus Notes and Domino 發行說明 的相關部分。

  • 有關 Lotus Domino 伺服器的安裝和設定,請參見 Lotus Domino Administrator 幫助。Lotus Domino Administrator 文件包含關於設定和使用 Lotus Domino 和 IBM DB2® 的資訊。關於 DB2 伺服器的資訊可在 DB2 Information Center 中找到。

  • 有關 Lotus Domino Designer 和 LotusScript. 的要求,特別是與複合應用程式相關的要求,請參見 Lotus Domino Designer 幫助。另外,請參見以下有關在支援的平臺上開發應用程式元件的資訊:
    • Lotus Notes 元件和應用程式開發。請參見 Lotus Domino Designer 幫助的 “Application Design” 部分。

    • Eclipse 元件和應用程式開發。請參見 Eclipse Integrated Developer Environment (IDE) 幫助系統以及 WebSphere Portal 和 Lotus Expeditor Toolkit 提供的文件。

    • 用 WebSphere Portal 開發和使用複合應用程式。請參見與 WebSphere Portal 一起提供的文件的 “Composite applications” 部分。

    • 用 Lotus Component Designer 開發複合應用程式。請參見該產品幫助中 Lotus Component Designer User Guide 的 “Composite applications” 部分。

    • Composite Application Editor。請參見與 Composite Application Editor 一起提供的幫助。Composite Applications Editor 可以在 Lotus Notes 安裝期間安裝。

    • Portal Application Template Editor。請參見隨 WebSphere Portal 一起提供的文件。

    • Wiring Properties Editor。此複合應用程式 WSDL 編輯器與 Lotus Domino Designer 一起安裝並在 Lotus Domino Designer 幫助中進行了介紹。也可在 Lotus Component Designer 中找到它。

  • 有關 Lotus Expeditor 執行時環境,以及功能安裝和升級的資訊,請參見 Lotus Expeditor Information Center。關於此內容的更新可在今後的 Lotus Expeditor Information Centers 中獲得。

  • 有關 WebSphere Portal 和 WebSphere Application Server 的安裝和設定,請參見 Websphere Portal 產品專欄。關於此內容的更新可在今後的 Lotus Expeditor Information Centers 中獲得。

  • 有關 Lotus Sametime 伺服器設定,請參見 Lotus Sametime 伺服器安裝文件

  • 有關安裝 WebSphere Portal composite application support for Lotus Notes 以支援包含 portlets 和其他包含基於 Portal 的元素的複合應用程式的更多資訊,請參見 Lotus Domino Administrator 幫助中的 “Installing the WebSphere Portal composite application support for Lotus Notes”。另請參見 Lotus Domino Administrator 幫助 中的 “Specifying the home portal account using a policy” 和 “Specifying the home portal account using preferences”。

  • 有關安裝和升級 Lotus Notes 客戶機的概要資訊,請參見 Lotus Domino Administrator 幫助 中的 “Lotus Notes pre-installation checklist”。

  • 有關安裝和升級 Lotus Notes 的更多資訊,請參見 Lotus Domino Administrator 幫助 中的 “Setting up client installation and installation methods”。

  • 有關支援和使用第三方功能(包括定製安裝)的更多資訊,請參見 Lotus Domino Administrator 幫助 中的 “Enabling and using third-party feature installation and update in Notes”。

  • 有關 Eclipse 元件和複合應用程式的 HTTP 和 NRPC 配置的部署資訊,請參見 Lotus Domino Administrator 幫助 中的 “Configuring component update for composite applications” 和 “Enabling user-initiated update for Notes”。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14751907/viewspace-580656/,如需轉載,請註明出處,否則將追究法律責任。

相關文章