...

コ コン ン ンポ

by user

on
Category: Documents
10

views

Report

Comments

Transcript

コ コン ン ンポ
®
Lotus Notes/Domino 8.5.1
コンポジットアプリケーション簡易開発機能拡
張
2009年12月
日本アイ・ビー・エム株式会社
ソフトウェア事業 Lotusテクニカルセールス
© 2008 IBM Corporation
IBM Software Group | Lotus software
特記事項
 当資料は、日本IBMのテストやレビューを受けておりません。内容について、で
きる限り正確を 期すよう努めてはおりますが、いかなる明示または暗黙の保証
も責任も負いかねます。本資料の情報は、使用先の責任において使用されるべ
きものであることを、 あらかじめご了承ください。
 掲載情報は不定期に変更されることもあります。他のメディア等に無断で転載
する事はご遠慮ください。
 本資料の著作権は日本アイ・ビー・エムにあります。非営利目的の個人利用の
場合において、自由に使用してもかまいませんが、営利目的の使用は禁止させ
ていただきます。
 IBM, AIX, Lotus, Lotus Notes, Lotus Domino, は International Business
Machines Corporationの米国およびその他の国における商標。その他、記載さ
れた社名および製品名は、それぞれ各社の商標または登録商標です。
2
IBM Software Group | Lotus software
アジェンダ




コンポジットアプリケーションの今まで
8.5.1コンポジットアプリケーション拡張内容
XPagesのコンポーネント化
まとめ
3
IBM Software Group | Lotus software
コンポジットアプリケーションの今まで
4
IBM Software Group | Lotus software
コンポジットアプリケーションとは
様々なテクノロジーで作成された複数のアプリケーションを、必要に応じてダイ
ナミックに同一画面上で再利用し、連携させたアプリケーション
SWT アプリ
(Java)
ポートレット
(Portal Client)
Web ブラウザー
(Web Client)
電子フォーム
(Web Client)
ActiveX
(Native Client)
Swing
(Java)
5
5
IBM Software Group | Lotus software
コンポジットアプリケーションの仕組み
Lotus Notes
コンポジットアプリケーション
Notes アプ リケ ーショ ン
(NSF アプ リケーシ ョン)
Java ア プリケーシ ョン
(Eclipse プラグイン)
WSDL
WSDL
イベント発生
プロパティ
アクション
ワイヤリング
アクション
プロパティ
イベント発生
プロパティ・ブローカー
各コンポーネントがプロパティ・ブローカーに対してインターフェースを
公開する事でワイヤリングが可能になり、コンポーネント間の連携を実現
6
IBM Software Group | Lotus software
従来のコンポジットアプリケーション開発モデル
スクリプト言語によ
る迅速な開発
Domino Designer
Portlet Factory
組 み 立て (結 合 )
Composite
Application Editor
(CAE)
統合開発環境を利用
した高度な開発
Eclipse SDK
Expeditor toolkit
Rational tools
コンポジットアプリケーショ
ン
各コンポーネントは作成時にコンポーネント
間連携の為のインターフェースを WSDL 形式
のファイルを用いて公開する必要がある
7
IBM Software Group | Lotus software
Composite Application Editor (CAE)
 コンポジット・アプリケーションの定義を行うためのツール
 コンポーネントの配置、ワイヤリング、コンポーネント・プロパテ
ィの追加や編集が可能
 コーディングの必要がない、パワーユーザー向けツール
 Lotus Notes に付属の機能 (インストールオプションで選択可能)
8
IBM Software Group | Lotus software
今までのコンポジットアプリケーションの問題点
 コンポーネントの新規開発は煩雑
– Java でのコーディング、WSDL の作成、プラグインやフィーチャーの配布な
ど
 WSDL 形式のファイルを作成する事が煩わしい
 複雑なアプリケーションを統合することが困難
– 複数のページやフォームから成り立っている Web アプリケーション
– 多くのスクリーンから構成されているホスト・アプリケーション
– 複数のシートをもつ表計算アプリケーション
コンポーネントの組み合わせは容易でも、そのコンポーネントの開発には多くの
時間とスキルセットを要する
9
IBM Software Group | Lotus software
8.5.1コンポジットアプリケーション拡張内容
10
IBM Software Group | Lotus software
8.5.1の新コンポジットアプリケーション開発モデル
Java でのコーディング、WSDL の作成、プラグイン
やフィーチャーの配布などが不要です。
プログラミングなし
でお手軽に開発
(Notesウィジェットは8.0.1から提供)
汎用コンテナ
XPagesコンポーネント
Notes ウィジェット
スクリプト言語によ
る迅速な開発
Domino Designer
Portlet Factory
統合開発環境を利用
した高度な開発
組 み立て (結 合)
Composite
Application Editor
(CAE)
コンポジットアプリケーショ
ン
Eclipse SDK
Expeditor toolkit
Rational tools
11
IBM Software Group | Lotus software
8.5.1 コンポジットアプリケーション簡易開発機能概要
 汎用コンテナの提供
– 汎用コンテナとは、異なる技術のアプリケーションを包含し、コンポジットアプリケーション
のコンポーネントとして利用する仕組み
Notes文 書
Notesビ ュー
ホストアプリ
5250, 3270
オフィス
アプリ
Webア プリ
デスクトップ
アプリ
– 8.5.1で提供される汎用コンテナ
•
•
•
•
Lotus Notes ビューコンテナ
Lotus Notes 文書コンテナ
Symphony Spreadsheet コンテナ
管理対象ブラウザコンテナ
 XPagesがコンポーネントとして利用可能
 Notes ウィジェットは、8.5.1以前から開発なしでコンポーネント利用可能
12
IBM Software Group | Lotus software
汎用コンテナの構成 (1/4)
汎用コンテナでは、コンポーネントが「
「どういう状態で何が起きたら何をどうする 」
を定義することで、既存アプリケーションをコンポーネント化します。
どういう状態で
(ラ ン ド マ ー ク )
何が起きたら
(イ ベ ン ト )
何を
(プ ロ パ テ ィ )
どうする
(操 作 )
※ Symphony Spreadsheetコンテナの例
13
IBM Software Group | Lotus software
汎用コンテナの構成 (2/4)
 ランドマーク(どういう状態で)
– ランドマークとは、コンポーネントが他のコンポーネントと連携する動作を
開始する必要のある”コンテンツの状態”を表す。
– ランドマークの指定例
•
•
•
•
URL パターン (http://www.ibm.com/*)
Webサイトのタイトル
スプレッドシートのタイトル
Lotus Notes フォーム名
14
IBM Software Group | Lotus software
汎用コンテナの構成 (3/4)
 イベント(何がおきたら)
– コンテナ内のアプリケーション上で発生する状態の変化を指定
– イベントの例
•
•
•
•
•
•
外部からプロパティを受信
Webページのロード終了
Webページ上のフォームに値が入力された
スプレッドシート上にデータが入力された
Lotus Notesフォーム上のフィールド値が変更された
文書が変更された
15
IBM Software Group | Lotus software
汎用コンテナの構成 (4/4)
 プロパティ(何を)
– コンポーネントに“プロパティ”として変数を定義する
– 各プロパティに設定する値を指定する。
– プロパティの例
•
•
•
•
HTML DOM 内の要素
表計算のセルの値
Notes ビューにおける @ 関数の実行結果
Notes文書におけるフィールド値
 操作(どうする)
– “パブリッシュ”
• プロパティ値をプロパティブローカーに渡す。
– “受信”
• プロパティブローカーから値を受け取り、プロパティにセットする
16
IBM Software Group | Lotus software
コンテナを簡単に構成する”ツールバー”
 コンテナは、”コンポーネント・プロパティの編集”画面の各パラメータを個々に設定
することで定義が出来るが、”ツールバー”でより簡単に定義することが可能。
 コンテナの種類に合わせて、ツールバーの動作は変わり、最適なダイアログを提供する
。
⑤ このボタンをクリック
することにより、①~④の
設定内容がセットされる。
① プルダウンメニューから
、イベントを選択する。
② 操作を選択する
③ プロパティを指定す
る。既存のプロパティ
を選択するか、新規で
直接指定する。
⑥ コンテナをリフレッシ
ュし、セットされた指定
内容を有効化する。
④ プロパティの値を指定する。
コンテナの種類によって、指定
方法は異なる。簡単に指定でき
るダイアログが提供されるコン
テナもある。
17
IBM Software Group | Lotus software
管理対象ブラウザコンテナ
 主な利用方法
– 他のコンポーネントからURLを受け取って表示
– Webページ上のデータを他のコンポーネントにパブリッシュ
 ツールバー独自機能
– ページのHTML DOMを自動分析し、Webページ上のデータをマウスで指定すること
により、自動的にxpath記述を生成する。
③ 選択されたDOM要素
に対して、xpathが自動
生成される。
① このボタンをクリッ
クすると、DOM分析モー
ドとなる。
② HTMLのDOMが自動分析さ
れ、マウスを動かすと、青
の四角でDOM要素が選択され
るようになる
18
IBM Software Group | Lotus software
Symphony Spreadsheet コンテナ
 主な利用方法
– Notesビュー上の文書データをスプレッドシート上に自動展開してグラフ化
– Notes文書データをスプレッドシートの報告書雛形上に自動展開して整形し
てPDF化
– スプレッドシート上で計算した結果をWebフォームにパブリッシュ
 1つのセル、セルのレンジ(列方向、行方向)をプロパティとして定義可能。
※ Symphony Spreadsheetコンテナの利用例
19
IBM Software Group | Lotus software
Lotus Notes 文書コンテナ
 主な利用方法
– ビューコンテナで選択された文書を表示
– 文書中のデータを使ってURL文字列を組み立て、管理対象ブラウザにパ
ブリッシュして表示させる
 ツールバー独自機能
– フィールドをまとめてパブリッシュ、受信
するためのインターフェースが提供される。
このボタンをクリックして
ダイアログを表示
ランドマーク、イベント、
操作、プロパティを一挙に
設定できる
20
IBM Software Group | Lotus software
Lotus Notes ビューコンテナ
 主な利用方法
– 選択した複数の文書のデータをスプレッドシート上に自動展開
– ビューの列の合計を外部コンポーネントにパブリッシュ
– 他コンポーネント上のフィールド値を元に、特定のカテゴリのみを表示
 ツールバー独自機能
– 列の値を加工してパブリッシュ可能
• 最大、最少
• 合計、平均、数
• @関数で加工
21
IBM Software Group | Lotus software
汎用コンテナの利用例 ~ 案件管理データベースの場合
特定営業の案件
のみを表示
Notesビューコンテナ
Notesビューコンテナ
選択された文書
を表示
管理対象ブラウザコンテナ
担当営業のプロフィールを社内
のWebサイトから検索
Notes文書コンテナ
Symphony Spreadsheetコンテナ
選択された文書の営業別売
り上げデータをグラフ化
22
IBM Software Group | Lotus software
XPagesのコンポーネント化
23
IBM Software Group | Lotus software
XPagesアプリケーションのコンポーネント化
 XPagesをLotus Notes 8.5.1クライアント上で実行可能
– WebブラウザーとLotus Notesクライアントの両方から利用するハイブリッドアプリケーションが容易に構築可能。
– タグクラウドなどのWeb 2.0的なインターフェースをLotus Notesクライアントで利用可能。
 XPagesをコンポジットアプリケーションのコンポーネントとして利用可能
Lotus Notes クライアントでのXPages表示
WebブラウザーでのXPages表示
Notes DB
• NotesのプロトコルであるNRPCでサーバーにアクセスします。
• Notes IDファイルでログインしていれば、Webパスワードを入力する必要ありません。
• ローカルレプリカで、オフラインアクセスが可能です。
24
IBM Software Group | Lotus software
新設計要素 ”コンポーネント”
 新設計要素 ”コンポーネント” により、以下を定義し、コンポーネント化
–
–
–
–
ソースの定義 (どういう状態で)
イベントの定義(何が起きたら)
パラメータの定義(何を)
汎用コンテナの”操作”(どうする)にあたる部分は、シンプルアクションやJavaScriptで作
成。
定 義 し た コ ン ポ ー ネ ン ト は 、 iWidgetと
として
公 開 で き 、 Lotus Mashupsで
で利用可能
※ iWidgetは、IBMが推進するウィジェットの規格
25
IBM Software Group | Lotus software
コンポーネントの定義(1/5)
 ソース(どういう状態で)
– コンポーネント化するXPagesを選択する。
• “ビューモードの場合” で選択
• ビューモード、編集モード、ヘルプモードというのは、iWidgetで利用する場合
のみ必要な設定であり、コンポジットアプリケーションのコンポーネントとして
利用する場合は設定の必要はない。
26
IBM Software Group | Lotus software
コンポーネントの定義(2/5)
 イベント(何が起きたら)
– ここで定義するのは、ワイアリングするのにCAEがコンポーネント
が持っているイベントを把握できるようにするのが目的。
– 実際のイベントの発行、受信は、XPages上のコントロールの
onClickなどのイベントの中で、コーディングして実装する。(後述
)
27
IBM Software Group | Lotus software
コンポーネントの定義(3/5)
 パラメータ(何を)
– コンポーネントとしてのプロパティを”パラメータ”として追加する。
– CAEから値を設定可能。
28
IBM Software Group | Lotus software
コンポーネントの定義(4/5)
 操作のコーディング(どうする)
– プロパティのパブリッシュ
• JavaScript
– XSP.publishEvent(イベント名, 値, 値のタイプ)
• シンプルアクションを利用
29
IBM Software Group | Lotus software
コンポーネントの定義(5/5)
– プロパティの受信
• 各XPages設計要素のイベントに、”コンポーネント(受信)” が追加
– コンポーネント設計要素上で設定したイベント名と同一の名前を指定
– プロパティブローカーからプロパティを受信すると、ここで定義したイベントに
対応するシンプルアクションやJavaScriptが起動する。
– JavaScirpt上では、以下のコードで、プロパティブローカーから渡されたプロパ
ティ値にアクセスする。
> context.getSubmittedValue()
30
IBM Software Group | Lotus software
まとめ
 コンポジットアプリがより簡単に開発可能
 アイデア次第で生産性アップ
 XPagesでさらにコンポジットアプリは進化
31
IBM Software Group | Lotus software
参考資料
 コンポジットアプリケーションWiki
– http://www.lotus.com/ldd/compappwiki.nsf
– チュートリアル / サンプル / リンク集などを提供
 Bob Balfe のブログ
– http://balfes.net
– コンポジットアプリケーションに関するIBMのリーダー
 XPagesブログ
– http://xpagesblog.com/
– XPages界をリードするパートナー様、IBM社員が共同で書いているブログ
32
Fly UP