...

Lotus Notes 8のコンポジット・アプリケーション開発 Lotus Notes/Domino 技術支援講座 ビジネス・ユニットの名前 2007年 9月14日

by user

on
Category: Documents
32

views

Report

Comments

Transcript

Lotus Notes 8のコンポジット・アプリケーション開発 Lotus Notes/Domino 技術支援講座 ビジネス・ユニットの名前 2007年 9月14日
ビジネス・ユニットの名前
Lotus Notes/Domino 技術支援講座
Lotus Notes 8のコンポジット・アプリケーション開発
2007年 9月14日
日本アイ・ビー・エム株式会社
Lotus ソフトウェア事業部
PSU_temp_0522
IBM Corporation
8/3/05
この文書のデータの利用または公開には、
最終ページに記載されている制限事項が適用されます。
© 2007 IBM Corporation
ビジネス・ユニットの名前
特記事項
本資料に記載されている内容は、2007年8月に発表された IBM Lotus
Notes/Domino 8 英語版での情報に基づいております。
そのため、画面表示など一部の記載内容に関して、日本語版とは異なる場合
がありますので、予めご了承ください。
ƒ 本資料の記載内容は、正式な IBM のテストやレビューを受けておりません。内容に
ついて、できる限り正確を期すよう努めてはおりますが、いかなる明示または暗黙の
保証も責任も負いかねます。本資料の情報は、使用先の責任において使用されるべ
きものであることを、あらかじめご了承ください。
ƒ 本資料の著作権は日本アイ・ビー・エムにあります。非営利目的の個人利用の場合
において、自由に使用してもかまいませんが、営利目的の使用は禁止させていただ
きます。
PSU_temp_0522
2
IBM Corporation I 8/4/05
© 2007 IBM Corporation
この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。
ビジネス・ユニットの名前
Agenda
ƒ コンポジット・アプリケーション概説
– コンポジット・アプリケーションとは
– Lotus Notes 8 でのコンポジット・アプリケーション
ƒ コンポジット・アプリケーション開発(デモ)
– デモでの開発の流れ
– コンポジット・アプリケーションの作成(1)
– コンポジット・アプリケーションの作成(2)
ƒ 参考情報
PSU_temp_0522
3
IBM Corporation I 8/4/05
© 2007 IBM Corporation
この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。
ビジネス・ユニットの名前
コンポジット・アプリケーションとは
PSU_temp_0522
4
IBM Corporation I 8/4/05
© 2007 IBM Corporation
この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。
ビジネス・ユニットの名前
一般的なコンポジット・アプリケーションの定義
ソフトウェア・モジュールやコンポーネント、個別の
業務アプリケーション、サービスなどのソフトウェ
ア・パーツを要素として、これらの組み合わせによっ
て構築されたアプリケーション
クライアント
コンポジット・アプリケーション
業務アプリケーション
ERP
P
C
R
ー
ポ
ブ
ッ
レ
ト
ラ
ト
ザ
ウ
CRM
ng
i
Sw
X
e
v
ti
c
A
Customer Service
Collaboration
Inventory, Logistics
Supply Chain
PSU_temp_0522
5
IBM Corporation I 8/4/05
© 2007 IBM Corporation
この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。
ビジネス・ユニットの名前
コンポジット・アプリケーションの特徴
複数のソフトウェア・パーツが連携して
アプリケーションを構成する
アプリケーション固有の情報モデル
異なる時期・設計者による設計
個別のインターフェイス
独自のアーキテクチャ
アプリケーション
統一された情報モデル
合意されたインターフェイス
整合性のある設計
共通のアーキテクチャ
PSU_temp_0522
6
IBM Corporation I 8/4/05
© 2007 IBM Corporation
この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。
ビジネス・ユニットの名前
現在の複数アプリケーションの姿
独自のアーキテクチャ
/情報モデル
メールシステム
営業管理システム
独自のインターフェイス
連絡
営業報告
発注システム
発注処理
PSU_temp_0522
7
IBM Corporation I 8/4/05
© 2007 IBM Corporation
この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。
ビジネス・ユニットの名前
複数アプリケーションを利用するユーザー・イメージ
多数のアプリケーションを起動し
切り替えつつ使用しなければならない状態
PSU_temp_0522
8
IBM Corporation I 8/4/05
© 2007 IBM Corporation
この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。
ビジネス・ユニットの名前
コンポジット・アプリケーションになると
メールシステム
共通のアーキテクチャ
/情報モデル
統合された
アプリケーション
営業管理システム
発注
報告
連絡
発注システム
PSU_temp_0522
9
IBM Corporation I 8/4/05
© 2007 IBM Corporation
この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。
ビジネス・ユニットの名前
コンポジット・アプリケーションのユーザー・イメージ
ひとつのアプリケーション上で
シームレスに作業できる
PSU_temp_0522
10
IBM Corporation I 8/4/05
© 2007 IBM Corporation
この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。
ビジネス・ユニットの名前
参考)ところで「マッシュアップ」と同じこと?
ƒ マッシュアップ(Mashup)
– 総論としては「インターネット上で公開されている複数の既存サービス(AP
I)を組み合わせて、新しいサービス(プログラム)を作ること」を意味してい
る
• Google, Yahoo, Amazonなど、既存Webサービス・サイトが APIを提供
• 例)Google Maps APIを利用した、地図情報と連携する「マッシュアップ・
サイト」
コンシューマー向けとして発展した
超疎結合なWebアプリケーション(サービス)連携手法
ƒ 企業向けマッシュアップ(Mashup for Business)
– 「次世代のコンポジット・アプリケーション」と表現されることも
• より疎結合で、よりフレキシブルな連携
PSU_temp_0522
11
目指している方向性は同じでも、技術用語としては異なるようです
目指している方向性は同じでも、技術用語としては異なるようです
IBM Corporation I 8/4/05
© 2007 IBM Corporation
この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。
ビジネス・ユニットの名前
Notes 8でのコンポジット・アプリケーション
PSU_temp_0522
12
IBM Corporation I 8/4/05
© 2007 IBM Corporation
この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。
ビジネス・ユニットの名前
コンポジット・アプリケーションでの新しい用語とツール
A
SO DL ス
S ビ
W ー
サ
eb
W
用語
ツール
PSU_temp_0522
13
IBM Corporation I 8/4/05
© 2007 IBM Corporation
この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。
ビジネス・ユニットの名前
新用語① コンポーネント
ƒ コンポジット・アプリケーションを構成するアプリケーションの単位
– ユーザー・インタフェースを含む、データとそれを処理するロジックの塊
– 複数のコンポーネントから、コンポジット・アプリケーションが成り立つ
コンポジット・アプリケーション
コンポーネントA
コンポーネントB
コンポーネントC
ƒ 作成された環境に応じて呼び分ける
– NSFコンポーネント
– Eclipse コンポーネント
ƒ 連携インタフェースとして「プロパティ」と「アクション」を持つ
PSU_temp_0522
14
IBM Corporation I 8/4/05
© 2007 IBM Corporation
この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。
ビジネス・ユニットの名前
新用語① 補足)NSFコンポーネント
コンポジット・アプリケーション
コンポーネントA
従来のNotesアプリケーション
コンポーネントB
コンポーネントC
ナビゲーター
似た関係
にある
ビューあるいはフォルダ
ページあるいは文書
ƒ Domino Designerで開発されたノーツDB(NSF)内のコンポーネント
– 従来のノーツアプリケーション設計要素がコンポーネントになる
• ビュー、フォルダ
• フォーム、ページ、フレームセット、ナビゲーター
– NSFコンポーネントでプロパティやアクションと直接結びつく設計要素
PSU_temp_0522
15
• プロパティの例) ビューの列
• アクションの例) ビューのアクション
IBM Corporation I 8/4/05
© 2007 IBM Corporation
この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。
ビジネス・ユニットの名前
新用語① 補足)組み込み済みのNSFコンポーネント
ƒ Notes 8標準のテンプレートに、PIMコンポーネントとして標準提供
– 個人アドレス帳
• Notes Contacts View
– 名前やEメールアドレスが、プロパティとして定義済み
– メール
• Notes Mail View
– メール送信者、件名などがプロパティとして定義済み
– 指定文字列を宛先とした新規メール作成のアクションも定義済み
• その他、Notes Calendar View、Notes Todo View など
PSU_temp_0522
16
IBM Corporation I 8/4/05
© 2007 IBM Corporation
この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。
ビジネス・ユニットの名前
新用語② プロパティとアクション
ƒ コンポーネント同士が連携するためのインターフェース
– プロパティ - コンポーネント内で保持しているデータ
• プロパティには、データ種類(文字データ、日付データ)を識別する「タイ
プ」も必要
– アクション - コンポーネントに要求可能な処理(ロジック)
– これらの定義情報は「Webサービス記述言語(WSDL)」でまとめられる
ƒ 参考)LotusScriptのモデル(構造)とほぼ同じ
Notes Database クラス
PSU_temp_0522
17
コンポーネント
Title プロパティ
プロパティ
Create メソッド
アクション
従来のノーツ・アプリケーションでも、「アクション」という設計要素があるため
従来のノーツ・アプリケーションでも、「アクション」という設計要素があるため
コンポーネントのアクションを「WSDL
コンポーネントのアクションを「WSDLアクション」と呼び分けることもあります
アクション」と呼び分けることもあります
IBM Corporation I 8/4/05
© 2007 IBM Corporation
この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。
ビジネス・ユニットの名前
新用語③ ワイヤリング
ƒ コンポーネント同士を結びつけること
– あるコンポーネントのプロパティと、別コンポーネントのアクションを結合
プロパティ
ƒ 参考)プロパティ・ブローカー
– 結合されたコンポーネント
間のコミュニケーションを
サポートする仲介者
– コンポーネントが提供す
るプロパティの変更をモ
ニターしている
– コンポーネントのプロパ
ティが変更されるとイベン
トを発行し、ワイヤリング
された別コンポーネントの
アクションを呼び出す
コンポーネント
コンポーネント
AA
コンポーネント
コンポーネント
CC
プロパティ・ブローカー(
Property Broker
)
プロパティ・ブローカー(Property
Broker)
アクション
コンポーネント
コンポーネント
BB
リッチクライアント・プラットフォーム (Eclipse RCP)
PSU_temp_0522
18
© 2007 IBM Corporation
この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。
18
ビジネス・ユニットの名前
新ツール① プロパティ・ブローカー・エディター
ƒ コンポーネントのインターフェース定義のためのGUIツール
– 「Webサービス記述言語(WSDL)」を知らなくても、WSDLファイルの作成を
支援してくれる
– プロパティとアクションをGUI上で定義
• (補足)定義情報の補足として、タイプなども定義
ƒ Lotus Domino Designer 8の新たな機能
– もともとは、WebSphere Portalでのポートレット間通信のための仕組みで、
Lotus Expeditor(Eclipse RCP)に移植されたもの
NSFコンポーネントの開発者が使用するツール
NSFコンポーネントの開発者が使用するツール
PSU_temp_0522
19
IBM Corporation I 8/4/05
© 2007 IBM Corporation
この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。
ビジネス・ユニットの名前
参考)プロパティ・ブローカー・エディターの画面
PSU_temp_0522
20
IBM Corporation I 8/4/05
© 2007 IBM Corporation
この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。
ビジネス・ユニットの名前
新ツール② コンポジット・アプリケーション・エディター
ƒ コンポーネントを組み合わせて、コンポジット・アプリケーションとして定義する
ためのGUIツール
– アプリケーションとしての画面レイアウトを定義
• 複数のコンポーネントを「ドラッグ&ドロップ」することで、表示位置(配置)
が決定
– コンポーネント間連携のためのワイヤーを定義
• ソース(Source)となるコンポーネントのプロパティと、ターゲット(Target)
となるコンポーネントのアクションとを、「ドラッグ&ドロップ」でワイヤリン
グ
ƒ Lotus Notes 8のオプション機能
– インストール時に「コンポジット・アプリケーション・エディター(CAE)」を選択
する
PSU_temp_0522
21
コンポジット・アプリケーションの提供者が使用するツール
コンポジット・アプリケーションの提供者が使用するツール
IBM Corporation I 8/4/05
© 2007 IBM Corporation
この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。
ビジネス・ユニットの名前
参考)コンポジット・アプリケーション・エディターの画面
PSU_temp_0522
22
IBM Corporation I 8/4/05
© 2007 IBM Corporation
この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。
ビジネス・ユニットの名前
参考)ワイヤリングの画面
PSU_temp_0522
23
IBM Corporation I 8/4/05
© 2007 IBM Corporation
この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。
ビジネス・ユニットの名前
最後に「NSFベースのコンポジット・アプリケーション」
ƒ 「NSFファイル」を入り口としたコンポジット・アプリケーション
– 実体はNSFファイルでも、いわゆるノーツDBではない
• コンポジット・アプリケーションの定義情報(Composite Application
XML)を格納するだけの存在
• 唯一のノーツDBらしさは、アクセス制御リスト(ACL)のみ
– 専用テンプレート「Blank Composite Application」から作成
– Dominoサーバー上、あるいはNotesクライアント・ローカルに配置
– 補足)「Portalベースのコンポジット・アプリケーション」もあり、入り口の実態
に合わせて呼び分ける
PSU_temp_0522
24
IBM Corporation I 8/4/05
© 2007 IBM Corporation
この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。
ビジネス・ユニットの名前
1. 開発の流れ
PSU_temp_0522
25
IBM Corporation I 8/4/05
© 2007 IBM Corporation
この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。
ビジネス・ユニットの名前
開発の流れⅠ - NSFコンポーネントの作成①
従来のノーツアプリケーションをコンポジットアプリケーションのコンポーネントとして利用するため
の設定をします。
コンポーネントの情報を定義します。
定義した情報をノーツの設計要素に関連付けます。
コンポーネント情報の定義
設計要素との関連付け
Property
・・・・・・・・・・・・
・・・・・・・・・・・・
Action
・・・・・・・・・・・・
・・・・・・・・・・・・
PSU_temp_0522
26
IBM Corporation I 8/4/05
© 2007 IBM Corporation
この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。
ビジネス・ユニットの名前
開発の流れⅠ - NSFコンポーネントの作成②
– 1.コンポーネント情報の定義
コンポジットアプリケーションのPropertyとActionに関する情報を定義します。
NSFコンポーネントの作成におけるコンポーネント情報の定義は、ドミノ デザイナーに含まれるプロパ
ティ・ブローカー・エディターというツールを使用します。
定義した情報は、XMLで記述されたWSDL形式のファイルで自動保存されます。
– 2.設計要素との関連付け
コンポーネントの定義情報とノーツの設計要素を関連付けます。
Lotus Notes 8からノーツの設計要素のプロパティで新しく追加された「Composite Settings」という項目
で指定します。
この関連付けは、どのノーツ設計要素がコンポジットアプリケーションのPropertyやActionになるかという
設定になります。
PSU_temp_0522
27
IBM Corporation I 8/4/05
© 2007 IBM Corporation
この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。
ビジネス・ユニットの名前
開発の流れⅡ - コンポーネントの組み合わせ①
複数のコンポーネントを関連付けてコンポジットアプリケーションを作成します。
コンポジットアプリケーションとなるNSFを作成します。
アプリケーションにコンポーネントを追加します。
アプリケーションの画面を構成します。
コンポーネントを関連付けます。
NSFの作成
画面の構成
コンポーネントの追加
コンポーネントの関連付け
PSU_temp_0522
28
IBM Corporation I 8/4/05
© 2007 IBM Corporation
この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。
ビジネス・ユニットの名前
開発の流れⅡ - コンポーネントの組み合わせ①
– 1.NSFの作成
コンポジットアプリケーションとなるNSFを新規で作成します。
このNSFは、Lotus Notes 8で用意されているコンポジットアプリケーション用のテンプレートを使用して作
成します。
– 2.コンポーネントの追加
作成したNSF(コンポジットアプリケーション)にコンポーネントを追加します。
ここからの手順は、コンポジット・アプリケーション・エディターというツールを使用します。
– 3.画面の構成(レイアウト)
コンポーネントを配置してコンポジットアプリケーションの画面をどのように表示するか構成します。
– 4.コンポーネントの関連付け(ワイヤリング)
複数のコンポーネントが連携した一連の動作となるように関連付けます。
PSU_temp_0522
29
IBM Corporation I 8/4/05
© 2007 IBM Corporation
この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。
ビジネス・ユニットの名前
2. コンポジットアプリケーションの作成(1)
~ NSFコンポーネントを使用したコンポジットアプリケーション ~
PSU_temp_0522
30
IBM Corporation I 8/4/05
© 2007 IBM Corporation
この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。
ビジネス・ユニットの名前
コンポジットアプリケーションの作成(1) - 概要
個人アドレス帳
ディスカッション
2つのNSFコンポーネントを組み合わせたアプリケーションを作成します
① 個人アドレス帳DBの
ビューでユーザーを選択
すると ・・・
② ディスカッションDBの
ビューで選択ユーザーの
スレッドにフォーカスが移
動します
PSU_temp_0522
31
IBM Corporation I 8/4/05
© 2007 IBM Corporation
この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。
ビジネス・ユニットの名前
コンポジットアプリケーションの作成(1) - 事前準備
– 1.個人アドレス帳の準備
タイトル
User’s Contact
ファイル名
Names.nsf
※ 個人アドレス帳に文書を作成します。 (Profile.nsfよりコピーして貼り付けます)
Lotus Notes 8 の個人アドレス帳には、コンポジットアプリケーション用の設計が含まれています。
– 2.ディスカッションDBの準備
タイトル
Notes/Domino 6 and 7 Forum
ファイル名
NDForum.nsf
※ 「2.Author¥Threaded」ビューにコンポジットアプリケーション用の[Select Person]アクションをを作
成します。(Lotus Scriptコードにて記述)
PSU_temp_0522
32
IBM Corporation I 8/4/05
© 2007 IBM Corporation
この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。
ビジネス・ユニットの名前
コンポジットアプリケーションの作成(1) - NSFコンポーネントの作成①
– 1.コンポーネント情報の定義
① ディスカッションDBをドミノ・デザイナーで開きます。
② ナビゲータペインで “Composite Applications¥Wiring Properties” を選択して、設計ペインの[New
Wiring Properties]ボタンをクリックして表示される「IBM Lotus Domino Designer」ダイアログ
に ”NDForum” と入力して[OK]ボタンをクリックします。
⇒ 設計ペインに作成した要素が追加されます。
③ 設計ペインで ”NDForum” が選択された状態で[Open File]ボタンをクリックします。
⇒ プロパティ・ブローカー・エディターの画面が表示されます。
ドミノ・デザイナーの 画面
②
③
PSU_temp_0522
33
IBM Corporation I 8/4/05
© 2007 IBM Corporation
この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。
ビジネス・ユニットの名前
コンポジットアプリケーションの作成(1) - NSFコンポーネントの作成②
④ プロパティ・ブローカー・エディターの画面で「Properties」、「Actions」タブを入力します。
プロパティ・ブローカー・エディターの入力内容
「Properties」タブ
Target Namespace
Namespace
”http://www.w3.org/2001/XMLSchema”に変更。
[Add]ボタンをクリックして以下項目を指定。
Property Details
Name
任意の値を入力
例) UserDisplayNamePart
Type
“String”を選択
Title
任意の値を入力
例) User
Description
任意の値を入力
例) Display user name
「Actions」タブ
[Add]ボタンをクリックして以下項目を指定。
Action Details
Action Input Parameter
Name
任意の値を入力
例) actSelectUser
Title
任意の値を入力
例) Select User by Name
Description
任意の値を入力
例)Select user by name Notes View
※「Properties」タブのProperty Details – Nameの値を選択。
PSU_temp_0522
34
IBM Corporation I 8/4/05
© 2007 IBM Corporation
この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。
ビジネス・ユニットの名前
コンポジットアプリケーションの作成(1) - NSFコンポーネントの作成③
⑤ [File¥Save]メニューをクリックして設定内容を保存して、[File¥Exit]メニューをクリックしてプロパティ・
ブローカー・エディターを終了します。
⇒ ドミノ・デザイナーの画面へ戻ります。
プロパティ・ブローカー・エディターの画面
⑤
PSU_temp_0522
35
IBM Corporation I 8/4/05
© 2007 IBM Corporation
この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。
ビジネス・ユニットの名前
コンポジットアプリケーションの作成(1) - NSFコンポーネントの作成④
⑥ 設計ペインで ”NDForum” が選択された状態で[Refresh]ボタンをクリックします。
⑦ 「ファイルを開く」ダイアログの[開く]ボタンをクリックします。
※ 「ファイルの場所」と「ファイル名」は変更せず、初期値を使用します。
⑦
PSU_temp_0522
36
IBM Corporation I 8/4/05
© 2007 IBM Corporation
この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。
ビジネス・ユニットの名前
コンポジットアプリケーションの作成(1) - NSFコンポーネントの作成⑤
– 2.設計要素との関連付け
① 「2.Author¥Threaded」ビュー[Select Person]アクションのプロパティを開きます。
「Advanced」タブの「Composite Settings」-「Action Name」で ”actSelectUser” (プロパティ・ブロー
カー・エディターで入力したActionの名前)を指定します。
※ プログラムペインに事前準備のLotus Scriptコードが記述されているか確認して下さい。
② ビューを保存してドミノ・デザイナーを終了します。
Lotus Scriptコードの記述
PSU_temp_0522
37
IBM Corporation I 8/4/05
© 2007 IBM Corporation
この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。
ビジネス・ユニットの名前
コンポジットアプリケーションの作成(1) - コンポーネントの組み合わせ①
– 1.NSFの作成
① ワークスペースで[File¥Application¥New]メニューをクリックします。
② 「New Application 」ダイアログを入力して[OK]ボタンをクリックします。
「New Application」ダイアログの入力内容
Specify New Application Name and Location
Server
“Local”を指定
Title
任意の値を入力
例) Customer Interests
File name
任意の値を入力
例) CustomerInterests.nsf
Encyption
必要に応じて設定します(作成時のID以外でアクセスした場合の暗号化設定)
Specify Template for New Application
Server
“Local”を指定
Template
“-Blank Composite Application -”を選択
PSU_temp_0522
38
IBM Corporation I 8/4/05
© 2007 IBM Corporation
この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。
ビジネス・ユニットの名前
コンポジットアプリケーションの作成(1) - コンポーネントの組み合わせ②
⇒ 作成したNSFが開き「Blank Page」ページが表示されます。
(NSFを開いた画面には、コンポーネントが未配置のため警告文が表示されます)
「New Application」ダイアログ
作成したNSFの「Blank Page」ページが開いた画面
”-Blank Composite
Application-”を選択
PSU_temp_0522
39
IBM Corporation I 8/4/05
© 2007 IBM Corporation
この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。
ビジネス・ユニットの名前
コンポジットアプリケーションの作成(1) - コンポーネントの組み合わせ③
– 2.コンポーネントの追加
① 「Blank Page」ページが開いた状態で[Actions¥Edit Application]メニューをクリックします。
(ネットワークに接続されていない環境の場合、「Edit Application」ダイアログが表示されますが問題あ
りません)
⇒ コンポジット・アプリケーション・エディターの画面が表示されます。
コンポジット・アプリケーション・エディターの画面
PSU_temp_0522
40
IBM Corporation I 8/4/05
© 2007 IBM Corporation
この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。
ビジネス・ユニットの名前
コンポジットアプリケーションの作成(1) - コンポーネントの組み合わせ④
② 画面右の「Component Palette」を開いて ”General” カテゴリの付近で[Add Components¥Add NSF
Component]右クリックメニューを実行します。
「New NSF Component」ダイアログを入力して[OK]ボタンをクリックします。
(「Component Palette」を開いた後に ”Set Palette Pin” オプションで固定すると作業がしやすくなりま
す)
「New NSF Component」ダイアログの入力内容
Component Name
任意の値を入力
例) NDForum – Author Threaded View
Component Descripsion
任意の値を入力
例) NDForum – Author Threaded View
Notes URL
[Browse]ボタンをクリックして「Locate Object」ダイアログで次のように指定します。
Kind of object = “View”を選択, Application = “NDForum.nsf” を指定
View = “2.Author¥Threaded” を選択
⇒ 「Locate Object」ダイアログの指定後に斜体太字部分を追加入力します。
“Notes///4925732A003C6F66/nAuthorThreaded?OpenView&HideNavigator”
(下線文字部分はNSFのレプリカIDが自動で入力されます)
Category
“General” を選択
PSU_temp_0522
41
IBM Corporation I 8/4/05
© 2007 IBM Corporation
この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。
ビジネス・ユニットの名前
コンポジットアプリケーションの作成(1) - コンポーネントの組み合わせ⑤
⇒ 「Component Palette」に作成したコンポーネントとして追加されます。
「New NSF Component」ダイアログ
Component
Palette
「Component Palette」を
開いて右クリックメニュー
を実行します
PSU_temp_0522
42
IBM Corporation I 8/4/05
© 2007 IBM Corporation
この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。
ビジネス・ユニットの名前
コンポジットアプリケーションの作成(1) - コンポーネントの組み合わせ⑥
– 3.画面の構成(レイアウト)
① 「Component Palette」で ”PIM¥Notes Contacts View” コンポーネントを選択して中央のアプリケー
ションエリアへドラッグ&ドロップで配置します。
( ”PIM” カテゴリのコンポーネントは Lotus Notes 8 で予め登録されているNSFコンポーネントです)
ドラッグ&ドロップで配置します
アプリケーションエリア
PSU_temp_0522
43
IBM Corporation I 8/4/05
© 2007 IBM Corporation
この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。
ビジネス・ユニットの名前
コンポジットアプリケーションの作成(1) - コンポーネントの組み合わせ⑦
② 「Component Palette」で ”General¥NDForum - Author Threaded View” コンポーネントを選択して、
手順①と同じ要領でアプリケーションエリアにドラッグ&ドロップで配置します。
マウスのドラッグ中はコンポーネントの配置位置を示すイメージ枠が表示されます。
マウスボタンを離す(ドロップ)と位置が確定します。
配置済みのコンポーネ
ントが表示されます
配置位置を示すイメー
ジ枠が表示されます
PSU_temp_0522
44
IBM Corporation I 8/4/05
© 2007 IBM Corporation
この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。
ビジネス・ユニットの名前
コンポジットアプリケーションの作成(1) - コンポーネントの組み合わせ⑧
– 4.コンポーネントの関連付け(ワイヤリング)
① ナビゲータペインで ”Notes Contacts View” コンポーネントを選択して[Wiring]右クリックメニューを実
行します。
⇒「Wiring」ページが表示されます。
「Wiring」ページ
PSU_temp_0522
45
IBM Corporation I 8/4/05
© 2007 IBM Corporation
この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。
ビジネス・ユニットの名前
コンポジットアプリケーションの作成(1) - コンポーネントの組み合わせ⑨
② “Notes Contacts View” コンポーネントの “Common name changed” を選択してマウスで ”NDForum
– Author Threaded View” コンポーネントの方向へドラッグします。
青色矢印の先端を ”Select User by Name” の
マーク上でマウスボタンを離し(ドロップ)ます。
⇒ ワイヤリングのイメージが点線で表示されます。
③ [File¥Finished Editing]メニューをクリックしてコンポジット・アプリケーション・エディターを終了します。
※「Composite Application Editor」ダイアログ(終了確認と保存確認)で[Yes]ボタンをクリックします。
⇒ コンポジット・アプリケーション・エディターが終了してアプリケーションが開きます。
イメージが点線
表示されます
PSU_temp_0522
46
IBM Corporation I 8/4/05
© 2007 IBM Corporation
この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。
ビジネス・ユニットの名前
コンポジットアプリケーションの作成(1) - コンポーネントの組み合わせ⑩
完 成!
① 個人アドレス帳DBの
ビューでユーザーを選択
すると ・・・
② ディスカッションDBの
ビューで選択ユーザーの
スレッドにフォーカスが移
動します
PSU_temp_0522
47
IBM Corporation I 8/4/05
© 2007 IBM Corporation
この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。
ビジネス・ユニットの名前
3. コンポジットアプリケーションの作成(2)
~ Eclipseコンポーネントを使用したコンポジットアプリケーション ~
PSU_temp_0522
48
IBM Corporation I 8/4/05
© 2007 IBM Corporation
この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。
ビジネス・ユニットの名前
コンポジットアプリケーションの作成(2) - 概要
Eclipseコンポーネントを使用したアプリケーションを作成します
① 個人アドレス帳DBの
ビューでユーザーを選択
すると ・・・
② ディスカッションDBの
ビューで選択ユーザーの
スレッドにフォーカスが移
動して・・・
③ 選択ユーザーがディスカッ
ションしたトピックをリスト表示
します
PSU_temp_0522
49
IBM Corporation I 8/4/05
© 2007 IBM Corporation
この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。
ビジネス・ユニットの名前
コンポジットアプリケーションの作成(2) - 事前準備
– 1.ディスカッションDBの準備
※ 「2.Author¥Threaded」ビュー「Onselect」イベントに選択文書に対して行う処理を記述。
(Lotus Scriptコードにて記述)
– 2.Eclipseコンポーネントの準備
「UpdateSite」フォルダ(Eclipseコンポーネント)をCドライブに保存。
PSU_temp_0522
50
IBM Corporation I 8/4/05
© 2007 IBM Corporation
この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。
ビジネス・ユニットの名前
コンポジットアプリケーションの作成(2) - NSFコンポーネントの作成①
– 1.コンポーネント情報の定義
① ディスカッションDBをドミノ・デザイナーで開きます。
② ナビゲータペインのComposite Applications¥Wiring Propertiesを開き、設計ペインで ”NDForum” が
選択された状態で[Open File]ボタンをクリックします。
⇒ プロパティ・ブローカー・エディターの画面が表示されます。
③ プロパティ・ブローカー・エディターの画面で「Properties」、「Actions」タブを入力します。
プロパティ・ブローカー・エディターの入力内容
「Properties」タブ
Property Details
「Actions」タブ
Action Details
[Add]ボタンをクリックして以下項目を指定。
Name
“propTopicList”と入力
Type
“String”を選択
Title
任意の値を入力
例) Publish Topics
Description
任意の値を入力
例) Publish Topics for selected user
[Add]ボタンをクリックして以下項目を指定。
Name
任意の値を入力
例) publishTopics
Title
任意の値を入力
例) Publish topics by Selected User
Description
任意の値を入力
例) Topics by Selected User
Action Output Parameter
PSU_temp_0522
51
※「Properties」タブのProperty Details – Nameの値を選択して
[Add]ボタンをクリック。
IBM Corporation I 8/4/05
© 2007 IBM Corporation
この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。
ビジネス・ユニットの名前
コンポジットアプリケーションの作成(2) - NSFコンポーネントの作成②
④ [File¥Save]メニューをクリックして設定内容を保存して、[File¥Exit]メニューをクリックしてプロパティ・
ブローカー・エディターを終了します。
⇒ ドミノ・デザイナーの画面へ戻ります。
⑤ 設計ペインで ”NDForum” が選択された状態で[Refresh]ボタンをクリックします。
⑥ 「ファイルを開く」ダイアログの[開く]ボタンをクリックします。
※ 「ファイルの場所」と「ファイル名」は変更せず、初期値を使用します。
⑦ ドミノ・デザイナーを終了します。
PSU_temp_0522
52
IBM Corporation I 8/4/05
© 2007 IBM Corporation
この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。
ビジネス・ユニットの名前
コンポジットアプリケーションの作成(2) - コンポーネントの組み合わせ①
– 1.コンポーネントの追加
① コンポジットアプリケーションを開いて[Actions¥Edit Application]メニューをクリックします。
⇒ コンポジット・アプリケーション・エディターの画面が表示されます。
②画面右の「Component Palette」を開いて ”General” カテゴリの付近で[Add Components¥Add
Components from Update Site]右クリックメニューを実行します。
コンポジット・アプリケーション・エディターの画面
①
②
PSU_temp_0522
53
IBM Corporation I 8/4/05
© 2007 IBM Corporation
この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。
ビジネス・ユニットの名前
コンポジットアプリケーションの作成(2) - コンポーネントの組み合わせ②
③ 「Update Site Details」ダイアログを次のように指定して[OK]ボタンをクリックします。
Type = “Local Update Site” を選択, Location = “C:¥updatesite¥site.xml”
④ 「Select Components from an Update Site」ダイアロの[OK]ボタンをクリックします。
※ 「Components」で “Tag Cloud” が選択されているか確認して下さい。
⇒ 「Component Palette」リストに ”Tag Cloud” コンポーネントとして追加されます。
「Update Site Details」ダイアログ
「Select Components form an Update Site」ダイアログ
PSU_temp_0522
54
IBM Corporation I 8/4/05
© 2007 IBM Corporation
この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。
ビジネス・ユニットの名前
コンポジットアプリケーションの作成(2) - コンポーネントの組み合わせ③
– 2.画面の構成(レイアウト)
① 「Component Palette」で ”General¥Tag Cloud” コンポーネントを選択して中央のアプリケーションエリ
アへドラッグ&ドロップで配置します。
② 「Tag_Cloud Feature in IBM Lotus Notes」ダイアログで ”Install this plug-in” を選択して[OK]ボタンを
クリックします。
③ 「Restart」ダイアログで[Yes]ボタンをクリックします。
※ コンポジット・アプリケーション・エディターの終了を確認する「Composite Application Editor」ダイアロ
グが表示されるので[Yes]ボタンをクリックします。
⇒ Lotus Notes 8 が再起動します。
「Tag_Cloud Feature in IBM Lotus Notes」ダイアログ
「Restart 」ダイアログ
PSU_temp_0522
55
IBM Corporation I 8/4/05
© 2007 IBM Corporation
この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。
ビジネス・ユニットの名前
コンポジットアプリケーションの作成(2) - コンポーネントの組み合わせ④
– 3.コンポーネントの関連付け(ワイヤリング)
① Lotus Notes 8 の起動後、コンポジットアプリケーションを開いて[Actions¥Edit Application]メニューを
クリックします。
⇒ コンポジット・アプリケーション・エディターの画面が表示されます。
② ナビゲータペインで ”NDForum – Author Threaded View” コンポーネントを選択して[Wiring]右クリッ
クメニューをクリックします。
⇒「Wiring」ページが表示されます。
「Wiring」ページ
PSU_temp_0522
56
IBM Corporation I 8/4/05
© 2007 IBM Corporation
この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。
ビジネス・ユニットの名前
コンポジットアプリケーションの作成(2) - コンポーネントの組み合わせ⑤
③ ”NDForum - Author Threaded View” コンポーネントの “Publish Topics” を選択してマウスで ”Tag
Cloud” コンポーネントの方向へドラッグします。
青色矢印の先端を ”setPrimaryData” の
マーク上でマウスボタンを離し(ドロップ)ます。
⇒ ワイヤリングのイメージが点線で表示されます。
④ [File¥Finished Editing]メニューをクリックして終了します。
「Composite Application Editor」ダイアログ(終了確認と保存確認)で[Yes]ボタンをクリックします。
PSU_temp_0522
57
IBM Corporation I 8/4/05
© 2007 IBM Corporation
この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。
ビジネス・ユニットの名前
コンポジットアプリケーションの作成(2) - コンポーネントの組み合わせ⑥
完 成!
① 個人アドレス帳DBの
ビューでユーザーを選択
すると ・・・
③ 選択ユーザーがディスカッ
ションしたトピックをリスト表示
します
② ディスカッションDBの
ビューで選択ユーザーの
スレッドにフォーカスが移
動して・・・
PSU_temp_0522
58
IBM Corporation I 8/4/05
© 2007 IBM Corporation
この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。
ビジネス・ユニットの名前
4. 参考情報
PSU_temp_0522
59
IBM Corporation I 8/4/05
© 2007 IBM Corporation
この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。
ビジネス・ユニットの名前
参考情報
– Sandbox - Tutorial: Building Composite Applications for IBM Lotus Notes 8
Beta 3
http://www10.lotus.com/ldd/sandbox.nsf/ecc552f1ab6e46e4852568a90055c4cd/53833531887a
864d852572f10068e6a6?OpenDocument
(当資料で作成したコンポジットアプリケーションのファイルをダウンロードできます)
– Lotus Notes 8 における Composite Applicationの概要と開発手法
http://www-06.ibm.com/jp/developerworks/ysl/library/y-notes8ca/
– IBM Lotus Notes 8 技術概説
http://www-06.ibm.com/jp/developerworks/ysl/library/y-notes8/
PSU_temp_0522
60
IBM Corporation I 8/4/05
© 2007 IBM Corporation
この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。
ビジネス・ユニットの名前
【参考】 「2.Author¥Threaded」ビューアクションのLotus Scriptコード
Sub Click(Source As Button)
Dim s As New NotesSession, ws As New NotesUIWorkspace
Dim uidb As NotesUIDatabase, db As NotesDatabase, doc As NotesDocument
Set uidb = ws.CurrentDatabase
Set db = s.CurrentDatabase
Lotus Notes 8で
'Handle error 4719, when script is run without a property broker context
追加された新しいクラス
On Error 4719 Goto err4719
'NotesPropertyBroker code
Dim pb As NotesPropertyBroker 'create new NotesPropertyBroker object
Set pb = s.GetPropertyBroker
Dim pbInputProperty As NotesProperty, pbContext As Variant
pbContext = pb.InputPropertyContext 'array of NotesProperty objects
Set pbInputProperty = pbContext(0) 'handle to first NotesProperty object
Dim InputPropertyName As String, NameSpace As String
InputPropertyName = pbInputProperty.Name 'name of NotesProperty object
NameSpace = pbInputProperty.NameSpace 'namespace of NotesProperty object
Dim pbValue As Variant
pbValue = pb.getPropertyValue(InputPropertyName) 'array of values of NotesProperty
cName$ = pbValue(0) 'first value from array NotesProperty object
SkipPropertyBroker:
If cName$ = "" Then Exit Sub
Set doc = db.GetProfileDocument("SelectedAuthor", s.UserName)
Call doc.ReplaceItemValue("SelectedAuthor", cName$)
(個人アドレス帳のビュー
Call uidb.OpenView("2. Author¥Threaded", cName$ , False, False)
で選択したユーザーの)
Exit Sub
スレッドにフォーカスを移
err4719:
Print "Error " & Str(Err) & ": " & Error$
動する処理
Resume skipPropertyBroker
End Sub
PSU_temp_0522
61
IBM Corporation I 8/4/05
© 2007 IBM Corporation
この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。
ビジネス・ユニットの名前
【参考】 「2.Author¥Threaded」ビュー「Onselect」イベントのLotus Scriptコード
Sub Onselect(Source As Notesuiview)
Dim session As New NotesSession
Dim workspace As New NotesUIWorkspace
Dim view As NotesView
Dim category As Variant
Static lastCategory As String
Set uiview = workspace.CurrentView
Set view = uiview.view
category = uiview.CaretCategory
' Onselect can occur when the entry hasn't changed (because the user clicked the document)
' or, of course, they might be on a different row but still the same document.
If category <> lastCategory Then
' The selection has changed -- recalculate and publish the category summary.
lastCategory = category
Dim nav As NotesViewNavigator
Set nav = view.CreateViewNavFromCategory(category)
'check if selected document is top level category. If not, exit subroutine
Dim entryA As NotesViewEntry, entryB As NotesViewEntry
Set entryA = nav.GetFirstDocument
Set entryB = nav.GetParent(entryA)
If (entryB Is Nothing) Then
Exit Sub
End If
Dim TAGS List As Long
Dim prop As String
Call AssembleTagsFromNavigator(nav, TAGS)
prop = ConvertToProperty(TAGS)
Call publishProperty("propTopicList", prop)
ディスカッションのビューで
選択されているユーザー
のスレッド(カテゴリ)情報
をLotusScriptのProperty
クラスに送信する処理
End If
End Sub
PSU_temp_0522
62
IBM Corporation I 8/4/05
© 2007 IBM Corporation
この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。
ビジネス・ユニットの名前
【参考】 プロパティ・ブローカー・エディターで作成されたWSDLファイルの内容
<?xml version="1.0" encoding="UTF-8"?>
:
:
<types>
<xsd:schema targetNamespace="http://www.w3.org/2001/XMLSchema"/>
:
:
</types>
<message name="UserDisplayNamePart">
<part name="UserDisplayNamePart" type="xsd:string"/>
</message>
<message name="propTopicList">
<part name="propTopicList" type="xsd:string"/>
</message>
:
:
<operation name="actSelectUser">
<input message="tns:UserDisplayNamePart"/>
</operation>
<operation name="publishTopics">
<output message="tns:propTopicList"/>
プロパティ・ブローカー・エ
</operation>
ディターで入力した内容が
:
WSDL形式で保存される
:
</binding>
</definitions>
PSU_temp_0522
63
IBM Corporation I 8/4/05
© 2007 IBM Corporation
この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。
Fly UP