複合アプリケーション - 設計と管理
NSF コンポーネントは、複合アプリケーション内の Lotus Notes アプリケーションの構成要素です。Composite Application Editor フィーチャーを使用すると、既存の Lotus Notes アプリケーションを修正することなく、Lotus Notes アプリケーションのビューやフォームや文書などの要素を単純にコンポーネントとして処理することができます。
メモ この場合、必要な WSDL とプロパティブローカーのサポートが有効になっている必要があります。詳しくは、「Lotus Domino Designer で Property Broker Editor フィーチャーを使用する」を参照してください。
コンポーネント間の通信をサポートするには、IBM(R) Lotus Domino(TM) Designer の新機能を使用して、コンポーネントとして処理される NSF と要素を修正します。IBM(R) Lotus Notes(R) に用意されているプロパティブローカー機能により、コンポーネント間の通信をサポートする実行時環境が提供されます。
複合アプリケーション内で NSF コンポーネントを構築するには、Lotus Domino Designer を使用します。この文書は、Lotus Notes クライアントでの Lotus Notes データベースの新規作成に慣れているユーザーを想定して書かれています。また、前バージョンの Lotus Domino Designer での Notes ビューの変更、シンプルな Lotus Notes フォームの作成、プログラムペインを使用しての Lotus Notes 式と LotusScript コードの入力に慣れていることも想定されています。
Lotus Notes コンポーネントを構築するには、次の手順を実行します。
メモ WebShere Portal 上でホストされる複合アプリケーションのコンポーネントとして NSF を使用する場合、ポートレットの .WAR ファイル (Web モジュール) を作成する必要があります。ポートレットを生成するには、Composite Application Editor を使用します。作成したファイルは、WebSphere Portal の管理者ユーザーインターフェースまたは xmlaccess スクリプトを使用して、WebSphere Portal 上に展開したりインストールすることができます。
Lotus Notes コンポーネントの基本
Lotus Notes コンポーネントは、Lotus Notes データベース内の特定のビューやフレームセットや文書などの設計要素に接続するためのリンクです。同じ Lotus Notes データベースに複数のコンポーネントを格納することができ、これらのコンポーネントは複数の複合アプリケーションで使用することができます。
1 つの Lotus Notes データベース内のすべてのコンポーネントは、1 つ以上の複合アプリケーションのワイヤリングプロパティとアプリケーションの設計要素内に定義されている型、プロパティ、アクションの同じセットを共有します。複合アプリケーションプロパティ WSDL ファイルに定義されているすべての出力プロパティがコンポーネントによって発行されるわけではなく、すべてのアクションが実装されるわけでもありません。詳しくは、Property Broker Editor に関する項目を参照してください。
コンポーネントを複合アプリケーション内に追加するには、複合アプリケーションプロパティ WSDL ファイル内のプロパティやアクションへの参照を設定する必要があります。コンポーネントにより、プロパティの発行やコンシュームを行うことができます。コンポーネントによるプロパティの発行には、次の 2 つの方法があります。
1. 下で説明する LotusScript API を使用します。エージェントを含む LotusScript が実行されていれば、どこでも使用できます。
2. コンポーネントがフォルダのビューである場合、WSDL ファイル内に定義されている出力プロパティに列を関連付けることができます。このオプションは、[列のプロパティ] インフォボックスの [詳細] タブにあります。1 つの列に指定できるのは 1 つの値だけであるため、列に関連付けることができるのは型が「シンプル」であるプロパティだけです。
メモ 通常、「アクション」という用語は、プロパティ値をコンシュームするコンポーネント内の「プラグ」について説明する場合に使用されます。この意味合いで使用される「アクション」と、Lotus Notes のビューやフォームで使用されるアクションボタンとを混同しないでください。Lotus Notes アプリケーションのコンポーネントかそれ以外のアプリケーションのコンポーネントかに関わらず、すべてのコンポーネントに WSDL アクションを設定することができます。
Lotus Notes コンポーネントが別のコンポーネントのプロパティをコンシュームする方法は 1 つしかありません。それは、プロパティを受信するようにワイヤリングされた WSDL アクションを参照する Lotus Notes アクションを Lotus Notes コンポーネントに格納する方法です。Lotus Notes アクションと WSDL アクションとを関連付けるには、[アクション] インフォボックスの [詳細] タブを使用します。
プロパティの変更イベントが発生した場合、そのプロパティが Lotus Notes コンポーネントの WSDL アクションにワイヤリングされていて、その WSDL アクションと関連する Lotus Notes アクションが Lotus Notes コンポーネントに格納されていれば、この Lotus Notes アクションが実行されます。通常の場合、Lotus Notes アクションは、下で説明する LotusScript API を使用してどの値が発行されたかを判断し、その値を使用して処理を実行します。たとえば、この値をキーとして使用し、現在のビューを対応する文書に配置し直すなどの処理を実行します。
Lotus Notes アクションは、WSDL アクションがトリガーされた場合に反応して実行されます。ただし、このアクションを格納するフォーム、ビュー、またはページが、トリガーの時点でコンポーネントによって表示されている場合に限ります。Lotus Notes の共有アクションを WSDL アクションに関連付けることができますが、関連付けただけではアプリケーション経由で共有アクションを実行することはできません。アプリケーション経由で実行するには、実行するビューやフォームに共有アクションを挿入する必要があります。
Lotus Notes アクションの [非表示] 属性は、WSDL アクションに反応して Lotus Notes アクションを実行するかどうかを判断するために使用される属性ではありません。実際には、プロパティ変更イベントによって呼び出されたすべての Lotus Notes アクションは常に非表示になるのが通常です。通常、こうしたアクションは、LotusScript API を使用してプロパティブローカーから入力プロパティを読み込みますが、ユーザーによって入力プロパティがアクティブ状態にされている場合はエラーが発生します。これは、この時点では読み込む入力プロパティが存在しないためです。
次に示すように、複合アプリケーション内で使用する NSF コンポーネント (データベース、ビュー、フォームなど) を構築することができます。
このリリースには、さまざまな新しいプロパティ、メソッド、クラスが用意されています。このアプリケーションに含まれるものは次のとおりです。
NotesSession