Comments
Description
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