Comments
Transcript
XPagesを使用した Lotus Dominoアプリケーションへの 移行ガイド 2011/11/30
ISE Residency 2011 XPagesを使用した Lotus Dominoアプリケーションへの 移行ガイド 2011/11/30 ISE レジデンシー 成果物 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド 特記事項 本資料の記載内容は、正式な日本IBM のテストやレビューを受けておりません。内容 について、できる限り正確を期すよう努めてはおりますが、いかなる明示または暗黙の 保証も責任も負いかねます。本資料の情報は、使用先の責任において使用されるべき ものであることを、あらかじめご了承ください。 本資料は、ワーキング・グループにより作成したものであるため、コンテンツの中身に関 する個別の問い合わせ等には対応できませんので、あらかじめご了承ください。 掲載情報は不定期に変更されることもあります。他のメディア等に無断で転載する事は ご遠慮ください。 本資料の著作権は日本アイ・ビー・エム システムズ・エンジニアリング株式会社にあり ます。 IBM, Lotus, Lotus Notes, Lotus Domino は、International Business Machines Corporationの米国およびその他の国における商標。 他の会社名、製品名およびサービス名等はそれぞれ各社の商標。 2 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド 目次 1. はじめに 2. XPagesの概要 の概要 1. 2. 3. XPages化が推奨されるケース 化が推奨されるケース 1. 2. 4. XPages化に必要なスキルセット XPages化の作業 XPages化の移行・導入計画 化の移行・導入計画 1. 2. 3 XPages化の利点 Domino Webアプリケーション開発診断チャート XPages化の基本方針 化の基本方針 1. 2. 5. 従来のDomino Webアプリケーション XPagesとは 移行の前に 移行の方針 6. まとめ 7. 参考 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド 1. はじめに 当ガイドは2011年10月~11月に実施されたISE Residencyプログラム「XPagesを使 用したLotus Dominoアプリケーション構築スキル習得」の成果物です。 ISE Residencyとは・・・ – お客様の成功のために IT技術で貢献するためには、常に新技術を吸収しながら、自らをスキ ルアップし、お客様が IBMに期待する IT技術の変化に適応することがますます重要となってい ます。 ISEでは IBMグループ社員が集中して体得することをご支援するために、一連のTOT (Transfer of Technology) 活動を 、「ISE Residency プログラム」 として 2005年より推進して おります。 ISE Residency は 研修とは違った Residencyスタイルによる演習で、参加者が ビジネスに活 用できる成果物を作成することが 大きな特長です。 4 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド 当ガイドの目的 目的 – 当ガイドは、 Lotus Dominoのアプリケーション開発技術であるXPagesに関する、以下の2点を 目的としています。 • XPagesの利点を理解することで、XPagesの説明・提案が可能なスキルをつける。 • XPages化の計画・作業を理解することで、XPagesへの移行のデリバリースキルをつける。 前提スキル – 当ガイドは、Lotus Notes/Dominoのアプリケーションを独力で作成できる、もしくは、助言を 受けながら作成できる程度の製品スキルを保有していることを前提として記述されています。 内容 – 当ガイドは、以下のような内容を記述しています。 • 第1章では、当ガイドについて説明します。 • 第2章では、従来のDomino Webアプリケーションと比較してXPagesの概要を説明します。 • 第3章では、XPages化の利点及び移行を判断するための診断方法について説明します。 • 第4章では、XPages化に必要なスキルセット及び作業内容について説明します。 • 第5章では、XPages化の移行・導入計画及びキャパシティ・プランニングについて説明します。 環境 – 当ガイドは、Lotus Notes/Domino 8.5以降のXPagesが使用可能な環境を想定しています。 5 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド 2.XPagesの概要 6 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド 2.XPagesの概要 2.1. 従来のDomino Webアプリケーション 7 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド 2.1. 従来のDomino Webアプリケーション: 動作環境(1/2) 基本的にはDomino HTTPエンジン上で動作を実行 エンジン上で動作を実行 基本的には – Domino HTTPエンジンが動的にHTMLを作成 – Webエージェント、Javaサーブレットの実行も可能 – Domino URLでブラウザからのリクエストを受け取り、実行 8 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド 2.1. 従来のDomino Webアプリケーション: 動作環境(2/2) クライアント(Webブラウザ ブラウザ)側で動作を補足 クライアント ブラウザ 側で動作を補足 – Web クライアント技術で、サーバーの自動変換を補足する • HTML/JavaScriptによる、基本的なページ構造と動きを定義 • ブラウザの機能にあわせ、CSSやDHTML、XML/XSLなどの技 術を利用 Domino サーバー Webブラウザ HTML生成 HTTP/Cookie ノーツDB HTTPエンジン エージェント サーブレット 9 HTML HTML/CSS DHTML,JavaScript Javaアプレット XML+XSL © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド 2.1. 従来のDomino Webアプリケーション: Web化作業の基本的な流れ 1. Domino Web サーバーが自動変換した をWeb サーバーが自動変換したHTMLを 自動変換した ブラウザから閲覧し、表示結果や動作を確認 表示結果や動作を確認。 ブラウザから閲覧し、表示結果や動作を確認。 2. 上手く表示されない見た目部分の判別・回避。 上手く表示されない見た目部分の判別・回避。 – 原因をDesignerヘルプなどで確認しつつ、Webアプリケー ションの仕組みを考慮しながら、回避手段を検討。 3. 変換されなかった既存ロジックをJavaScriptで補強 で補強。 変換されなかった既存ロジックを で補強。 – @関数(例:入力確認式) → JavaScriptで置き換え。 – ウィンドウ操作等 → JavaScriptで代替機能を作成。 4. 参照・保存時の処理の一部を、サーバーエージェントな 参照・保存時の処理の一部を、サーバーエージェントな どで補強。 どで補強。 10 – 例:メール送信 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド 2.1. 従来のDomino Webアプリケーション: アプリケーション開発 文書 データ 開発 フォーム 設計 アプリケーション 開発者 文書 データ ビュー データ 11 ビュー 設計 Domino HTTP エンジン アクセス エンドユーザー © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド 2.XPagesの概要 2.2. XPagesとは 12 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド 2.2. XPagesとは: 技術的な特徴 標準テクノロジーである JavaServer Faces(JSF) をベー スに採用 • 柔軟な拡張性を持つランタイム(実行環境) • 開発した設計要素は、XML の形式で NSF に格納される – 従来のDomino Web アプリケーション開発における様々な 問題を解決 • UI とデータの分離、HTML 生成コントロール、サーバーのス テート管理、ローカライズ、拡張など: – CSS、AjaxやDojoといった近代的な Web 技術/ツールキット もビルトイン これら最新技術でのコーディングを隠蔽化し、ノンプログラミングで開発可能 これら最新技術でのコーディングを隠蔽化し、ノンプログラミングで開発可能 13 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド 2.2. XPagesとは: アプリケーション開発 フォーム 設計 文書 データ 文書 データ ビュー データ ビュー 設計 XPage 設計 開発 アプリケーション 開発者 XPagesランタイム (JSFベース) Domino HTTP エンジン アクセス エンドユーザー 14 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド 2.2. XPagesとは: 用語① コントロール あらかじめ用意されたWebページ上の主要な部品(コン ページ上の主要な部品(コン あらかじめ用意された ポーネント) – Xpage設計要素に配置するもの • Notesフォームで言えば「xxxフィールド」、表、セクション、ボタン といった部品 • HTMLで言えば「xxxタグ」 「ボタン」コントロール 「編集ボックス」コントロール 「リッチテキスト」コントロール 15 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド 2.2. XPagesとは: 用語② プロパティ 従来のNotes設計要素でいう「プロパティ」とほぼ同じもの 設計要素でいう「プロパティ」とほぼ同じもの 従来の – フィールドのプロパティ、設計のプロパティなど – CSSを含む表示スタイルの設定、編集可能フィールドのサイ ズ制御など 編集可能フィールドではXPages特有のプロパティが用意 特有のプロパティが用意 編集可能フィールドでは – 「データソース」と紐付けるためのバインド情報 – 入力された値のチェックを行う「妥当性検査」 – キー入力に応じて選択候補を提示する「タイプアヘッド」 – etc 16 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド 2.2. XPagesとは: 用語② 補足)妥当性検証 コーディングなしで入力値チェック機能を実現可能 – 必須フィールドの指定と、エラーメッセージの指定も可能 – 編集可能フィールドのデータタイプに応じた、検証設定が簡 単に実現 • 文字列、数値、日付/時刻、マスク 17 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド 2.2. XPagesとは: 用語② 補足)タイプアヘッド コーディングなしでタイプ・アヘッド機能を実現可能 – Ajaxの技術をビルトイン済みのためコーディングは不要 – 複数のオプションを提供 • 動的計算による選択候補の提示も可能 以下のような@関数などの計算 ロジックを組み込み可能 @Unique(@DbColumn(@DbN ame(),"AltFullName",6)) 18 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド 2.2. XPagesとは: 用語③ データソースとバインド コンポーネントに入出力データソースを割り当てることを 「バインド」と呼ぶ – 単純な例では「ノーツ文書」のフィールド値をデータソースと して割り当て ノーツ文書(フォーム)の 文字列フィールド 「Subject」 ノーツ文書(フォーム)の リッチテキストフィールド 「Body」 19 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド 2.2. XPagesとは: 用語④ イベント ユーザー操作によって発生する様々な「イベント」に動作 を追加する – コントロールのイベント • フィールド、ボタンなどのコントロールに対するマウス、キー操作 やフォーカスなど – onClick、onBlur、onKeyPress、onChangeなど – XPageのイベント • Webページ(XPage設計要素)が呼び出されるタイミングで発生 – beforePageLoad、afterPageLoad – データソースのイベント • ノーツ文書では queryOpenDocument、querySaveDocument • ノーツビューでは postOpenView、queryOpenView 20 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド 2.2. XPagesとは: 用語④ 補足)ページの部分更新 ページの一部分だけをリフレッシュする機能 – 更新対象としてページ内のコントロールを指定(複数指定可) 21 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド 2.2. XPagesとは: 用語④ 補足)イベントと動作 クライアント・サイドの動作は JavaScript で自由に記述 – 主にコントロールのイベントで利用 サーバー・サイドの動作は様々な場面・方法で対応可能 – 主にXPageのイベントで利用 – GUIで簡単に動作を指定できる「シンプルアクション」 • 確認メッセージのポップアップ出力、データの保存(Submit)、別 ページを開くなど – カスタム・ロジックを実現する「サーバーサイドJavaScript」 • LotusScriptのバックエンドクラスやノーツ@関数に似た JavaScriptライブラリが利用可能 • Javaの呼び出しも可能 22 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド 2.2. XPagesとは: まとめ 文書データ ページ(XPage) ページ プロパティ イベント ビューデータ コントロール プロパティ データ データソース 妥当性検査 設計 タイプアヘッド XPagesランタイム (Dominoサーバー) HTTP イベント ロジック XPagesでは、データ層が完全に分離されており では、データ層が完全に分離されており XPagesでは、データ層が完全に分離されており では、データ層が完全に分離されており アプリケーション層とプレゼンテーション層のみを開発できる アプリケーション層とプレゼンテーション層のみを開発できる 23 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド 3.XPages化が推奨されるケース 24 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド 3.XPages化が推奨されるケース 3.1. XPagesの利点 25 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド XPagesの利点(1) Lotus Notes と Web ブラウザの両方に対応できる Web ブラウザでの表示 Lotus Notes での表示 – プロパティの設定のみで Lotus Notes 上で動作可能 ※8.5.1より 26 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド XPagesの利点(2) モバイル・アプリケーションを開発できる – iPhone, Android, Blackberry – Dojo Mobile を利用 (Notes/Domino 8.5.3からバンドル) 27 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド XPagesの利点(3) ビジュアルにアプリケーションを作成できる – 様々な UI コントロールをドラッグ&ドロップして開発 ドラッグ & ドロップ 28 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド XPagesの利点(4) 既存資産を再利用できる – フォーム • XPages で表示/処理するデータソースとして利用 • フォームのフィールドと XPages のコントロールをバインド – ビュー • Notes ビューをそのまま XPages 上に表示可能 • Notes ビューの設計を引き継いだビュー・コントロールの表示 • 追加の検索条件の設定が可能 – エージェント • JavaScript を用いて、エージェントを呼び出し可能 29 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド XPagesの利点(5) XPages 開発用のビュー(パースペクティブ 開発用のビュー パースペクティブ) パースペクティブ が提供される – 設計要素は変更可能 • 「プリファレンス」 - 「Lotus Domino Designer」 - 「アプリケーションナビゲータ」 ※8.5.3より 30 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド XPagesの利点(6) ソース・コントロール・サーバーを利用して共同開発できる – NSFベースの設計要素をソース制御リポジトリに保存 – 他の開発者の変更を監視 – ソース制御プラグイン: • Subversion(SVN) • ClearCase Remote Client(CCRC) 詳細は以下を参照: http://publib.boulder.ibm.com/infocenter/domhelp/v8r0/index.jsp?topic=/com.ibm.designer.domino.ui.do c/wpd_srcecontrol_top.html ※8.5.3より 31 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド XPagesの利点(7) XPages Extension Libraryによる柔軟な機能追加ができる による柔軟な機能追加ができる 例) 32 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド XPagesの利点(8) ソーシャル機能との連携ができる 例) Dorpbox IBM connections Facebook 33 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド XPagesの利点のまとめ 生産性 Lotus Notes と Web ブラウザの両方に対応できる ○ モバイル・アプリケーションを開発できる 34 拡張性 ○ ○ ビジュアルにアプリケーションを作成できる ○ 既存資産を再利用できる ○ XPages 開発用のパースペクティブが提供される ○ ソース・コントロール・サーバーを利用して共同開発できる ○ XPages Extension Library による柔軟な機能追加ができる ○ ソーシャル機能との連携ができる 運用性 ○ ○ © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド 3.XPages化が推奨されるケース 3.2. Domino Webアプリケーション開発診断チャート 35 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド Domino Webアプリケーション開発診断チャート 新規のWebアプリ開発 である はい いいえ NotesクライアントとWeb はい クライアントでUIを共通化 したい いいえ Web化の目的はUIの刷 はい 新 (Web2.0対応)? はい XPages化の コストは確保 はい できている XPages 化推奨 いいえ Web化の目的はモバイ ル機能の追加? はい いいえ はい いいえ はい 将来的にポータル/クラ ウド化/ソーシャル連携 いいえ したい HTML自動変 換でほぼ対応 できている いいえ はい HTML自動変換 (従来型)による Web化推奨 長期的視野ではXPages化を検討すること推奨 36 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド 診断チャートの各条件について 新規にDominoの のWebアプリを作成 アプリを作成 新規に – 新規に開発するWebアプリケーションであれば積極的にXPagesを取 り入れるべきである 37 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド 診断チャートの各条件について Notesクライアントと クライアントとWebクライアントで クライアントでUIを共通化したい クライアントと クライアントで を共通化したい – XPiNC(XPages in Notes Client) • Lotus Notesクライアント上でXPagesアプリケーションがそのまま稼動(Notes 8.5.1以上のStandard版利用時) – プロトコルはNRPC – NotesIDでログオンしていれば、インターネットパスワードは不要 – Lotus Notes クライアント上でのXPages利用の流れ ①Notes起動オプションを“指定されたXPageを開く (Standard版クライアント)”にセットする。 ※この場合、BASIC版では、デフォルトのビューが代わりに 表示される。 ②Standard版から開くと画面のロードが行われたのち、指 定したXPageが表示される。 38 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド 診断チャートの各条件について Web化の目的は 化の目的はUIの刷新 対応)? 化の目的は の刷新 (Web2.0対応 対応 – 下記のような機能は従来のDomino Webでは実現困難。XPagesで実現できる。 • 今風の画面設計 • 画面遷移を伴わない動的なWebアプリケーションの製作 • グラフ・チャートの表示 ★考慮点★ – Dojo toolkit(オープンソース)の利用については、製品同梱のものについても考慮が必要 • 出典「ソフトウェア・サポート・ハンドブック」 第三者ソフトウェアとオープンソースソフトウェア(http://www06.ibm.com/software/jp/supportguide/handbook/practices.html#4) • 39 <前略> IBMが提供するソリューションにオープンソース・ソフトウェアが含まれる場合があります。コードはオープンソース・コミュニティの所有でありIBMの 所有ではないため、ライセンス資料やライセンス資料の添付によって確認することになります。コードがIBMの所有するものではないため、保証な どはされません。 しかしながら、上記第三者ソフトウェアにて述べたように、IBMはオープンソース・ソフトウェアと共に作動し、正しく機能することをテストしています。 第三者ソフトウェアのケースと同様に、IBMソフトウェア・サポートは、IBMコードとオープンソース・ソフトウェアを共に作動させるための知識を利用 して、疑わしい不具合の原因を特定するようにします。 いくつかのケースでは、ソースコードを持っており、報告されている問題の回避策を提供することが可能な場合がありますが、修正策が提供可能 かどうかの最終的な判断は、オープンソース・コミュニティによって行われます。 (従って、"保証しない"ことを意味します) © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド 診断チャートの各条件について Web化の目的はモバイル機能の追加 化の目的はモバイル機能の追加? 化の目的はモバイル機能の追加 – XPagesによるオープンなモバイル開発フレームワークの利用 • 従来型のWeb化も不可能ではないが、XPagesはWebの標準技術を取 り入れることができるため、さまざまなオープンモバイルフレームワー クを利用可能。 • Lotus Domino 8.5.3にはDojo Mobile (Dojo Toolkitの1.5.1) が同梱 されているため、これを利用するのが、最も標準的な方法といえる。 ★考慮点★ – Dojo toolkit(オープンソース)の利用については、製品同梱のものについても考 慮が必要(前述) 40 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド 診断チャートの各条件について XPages化のコストは確保できている 化のコストは確保できている – コストとは・・・・・ • ヒト – スキルパーソンの確保 – お客様システム担当者への研修(運用管理研修) • モノ – インフラ整備(HW/SW) – クライアント環境の整備(XPiNC使用時のNotesクライアントなど) • サービス – サービスインまで十分な時間の確保。(特に初めてのXPages開発の場合は、 テスト期間は長めに設定しておくこと) – バグ対応等も考慮し、SS&S契約は必須 41 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド 診断チャートの各条件について 将来的にポータル/クラウド化/ソーシャル連携したい – Lotus製品はProject Vulcanの構想の元に製品拡張が予定されていて、 Notes/Dominoに関してはXPagesの技術をベースに拡張予定。 – “OneUI” を適用し、標準的Web技術に即したソーシャルアプリケーション 開発を効率的に開発可能。 – 将来的にOpenSocial コンテナを提供し、Embedded Experienceに対応す ることができる。 42 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド 診断チャートの各条件について HTML自動変換でほぼ対応できている 自動変換でほぼ対応できている – HTML自動変換で対応可能な部分が多い場合、従来型で最低限 のコストで対応可能。 – HTML自動変換で対応可能な部分が少ない場合、従来型で対応 するメリットが少ない。従来型と比較してXPages化にかかるコスト のほうが安くなることも想定されるため、将来的にXPages化を検 討。 43 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド 4. XPages化の基本方針 44 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド 4. XPages化の基本方針 従来アプリケーション開発とXPagesの主な違い – XPagesはDominoアプリケーション開発環境にWeb2.0の 技術を取り込んだもの 45 従来アプリケーション開発 XPages メリット Notesクライアントを前提とした フォーム、ビュー、エージェントなど の設計要素を用いて開発 従来のフォーム、ビューから切り 離された(データとUIの分離)、新 しいWebアプリケーションプラット フォーム Dominoアプリケーションを最新 のWebアプリケーションにするこ とが可能 Domino Webアプリケーションは 基本的にフォームをHTMLで表示 するだけで、他Webアプリケーショ ンプラットフォームに比べて見劣り するもの Ajaxを利用した動的なUIをAjax を意識せず比較的簡単に作成可 能 要素技術の多い操作性の良い アプリケーションを比較的容易 に作成可能 データとUIが同じ設計要素に混在 MVCモデルの開発 (データとUI が分離) データとUIが分離されメンテナ ンス性が向上 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド 4.XPages化の基本方針 4.1. XPages化に必要なスキルセット 46 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド 4.1. XPages化に必要なスキルセット 従来アプリケーション開発 – Dominoアーキテクチャー、従来アプリケーション開発知識 • XPagesではDomino文書構造をそのまま利用 • XPages機能マッピングのための従来Dominoアプリケーション機能分析 • 開発環境はDomino Designer利用のため従来と変わらない XPages全般 – Web2.0開発フレームワーク知識 • MVCモデル • Ajax HTMLとCSS – Webサイト画面作成では一般的なHTMLやCSSの知識が必要 47 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド 4.1. XPages化に必要なスキルセット クライアントサイドJavaScript – クライアント上での入力値の妥当性検査など動的な処理を 行うには、一般的なクライアントサイドJavaScriptを使う Dojo – 更に高度なUIを作成する場合、クライアントサイド JavaScriptのAjaxフレームワークとしてDojo toolkitを利用 可能 サーバーサイドJavaScript – XPagesではサーバーサイド処理はJavaScriptで記述する • Dominoビルトインクラスを利用 • @関数に似たJavaScriptライブラリを利用 48 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド 4.1. XPages化に必要なスキルセット 技術分野別 Dominoア プリケー ション開発 スキル 従来アプリケーション開発 ○ XPages全般 全般 ○ 適用 Domino: 現行分析、XPages機能マッピング、開発環境 ○ Domino: Dominoオブジェクト利用の知識 Web: MVC、Web開発フレームワークの知識 HTML・ ・CSS ○ Web: 画面記述 クライアントサイドJavaScript クライアントサイド ○ Web: クライアント側の処理記述 Dojo ○ Web: Toolkitフレームワーク利用 ○ Domino: Domino提供ライブラリ、バックエンドクラス利用 Web: サーバー側の処理記述 サーバーサイドJavaScript サーバーサイド 49 Webアプ リケーショ ン開発ス キル ○ © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド 4.1. XPages化に必要なスキルセット 担当分野別 担当分野 作業 全体設計 移行(機能マッピング)、統合、新機能追加 → Domino / Webアプリケーション開発両方のスキルが必要 個別設計 実装 50 モデル (ビジネスロジック ビジネスロジック) ビジネスロジック LotusScriptでエージェント作成 → 従来のDominoアプリケーション開発者向き ビュー (画面表示 画面表示) 画面表示 CSSで画面作成、クライアントサイドJavaScript記述 → Webアプリケーション開発経験者向き コントローラー (入力と制御 入力と制御) 入力と制御 XPagesプロパティ・イベント・コントロール記述、サーバーサイ ドJavaScript記述 → Domino / Webアプリケーション開発両方のスキルが必要 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド 4.XPages化の基本方針 4.2. XPages化の作業 51 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド 4.2. XPages化の作業 移行のための作業概要 1. 既存アプリケーションの分析 • • • ナビゲーション (フォーム・ビューなどのユーザー操作) コンテンツ表示 (ユーザーが必要な情報、見た目) ビジネスロジック (アプリケーション処理、データ検査) 2. 移行機能検討 • • 52 要件調査・検討 (要不要、他と統合、新機能) 機能マッピング © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド 4.2. XPages化の作業 1. 既存アプリケーション分析 ナビゲーション コンテンツ情報へのアクセス方法を調査 • アプリケーション起動方法 – 独立したアプリケーションか大規模サイトの一部か – Notesクライアント かWebブラウザか XPagesではデータソースが同一DBでなくてもよいので最適化を検討 • 画面切り替え (ページ遷移) 典型的なNotesアプリケーション – ビューナビゲーションでビューを選択 – アクションバーのボタンクリックでフォームを開く – データを参照・登録する Notesアプリケーションのナビゲーションとして作成されたものを Webアプリケーションとして見直す 53 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド 4.2. XPages化の作業 1. 既存アプリケーション分析 コンテンツ表示 コンテンツ情報の表示について分析を行う • ユーザーが必要な情報 – フィールド、データタイプ、作成更新機能、妥当性検査 • どのように見せるか – レイアウト、非表示制御 従来アプリケーション表示を、XPagesで置き換えるための 資料となる 54 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド 4.2. XPages化の作業 1. 既存アプリケーション分析 ビジネスロジック アプリケーション処理を抽出 • エージェント • フォームイベント処理 • 妥当性検査ロジック • 段落非表示式 ユーザーインターフェースと混在したものはロジックのみを 抜き出し、分散しているものはまとめて、ロジックの再利用を検討 55 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド 4.2. XPages化の作業 2. 移行機能検討 要件調査 XPages化するアプリケーションの要件を調査する • • • • 56 不要になった機能 他のアプリケーションと統合可能な機能 他のアプリケーションへ移す機能 追加する機能 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド 4.2. XPages化の作業 2. 移行機能検討 機能マッピング 1. 現行アプリケーションのモックアップを作成 – 必要な要素が盛り込まれたシンプルな画面を作成 ビューナビゲーション アクションバー Notes Tab コンテンツ View or Form 57 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド 4.2. XPages化の作業 2. 移行機能検討 機能マッピング 2. XPages化後のモックアップを作成 画面レイアウトを検討 – 標準のWebアプリケーションのレイアウトに合わせる – 新たなレイアウトを採用する (例: IBM Lotus標準のOneUI) ロゴ サイト名 ナビゲーション ナビゲーション コンテナー コンテンツ フッター 58 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド 4.2. XPages化の作業 2. 移行機能検討 機能マッピング 3. 機能マッピングを行う モックアップ上の各セクションを比較して移行方法を検討する – 同じ機能を提供するXPagesコントロールで置き換え – 同じ機能がないものを代替コントロールを作成 – ビジネスロジックはエージェント化による再利用を検討 59 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド 4.2. XPages化の作業 2. 移行機能検討 機能マッピング表 Dominoアプリケーショ ン機能 XPages機能へのマッピング フォーム イベント サーバーサイドJavaScript化、エージェント化して呼び出し フィールド テキスト リッチテキスト 編集ボックス リッチテキストコントロール 添付ファイル アップロード/ダウンロード・コントロール利用 名前フィールド ネームピッカーのカスタムコントロールを用意 イベント サーバーサイドJavaScript化 要素 60 表 HTML表、または表コントロール作成 非表示式 表示プロパティ式 セクション セクションコントロール利用 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド 4.2. XPages化の作業 2. 移行機能検討 機能マッピング表(続き) Dominoアプリケーショ ン機能 XPages機能へのマッピング ビュー 従来のビューをそのまま利用、または新たなビューを作成 ビューのアクション リンクコントロール利用 アウトライン CSSで調整されたリンクのリストを利用 検索 新たに実装、またはOpenNTFで検索用コントロールを取得して利用 ビジネスロジック エージェント ライブラリ 61 既存エージェントを呼び出して利用、またはサーバーサイドJavaScriptで書き直し © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド 4.2. XPages化の作業 2. 移行機能検討 機能マッピング表(続き) Dominoアプリケーショ ン機能 XPages機能へのマッピング セキュリティ 制限付きアクセスのセ クション カスタムコントロールで代替可能か検討 署名・編集者権限の必 要なフィールド フォームベースのセ キュリティ 62 エージェントセキュリティを使用 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド 5.XPages化の移行・導入計画 63 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド 5.XPages化の移行・導入計画 5.1. 移行の前に 64 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド 移行開発における考慮点 既存のJ2EE開発と比べて考慮すべきこと 開発と比べて考慮すべきこと 既存の – 最低限のNotesアーキテクチャの理解が必要 • 各コントロールがNotesのアーキテクチャで作られている • 基本的にはデータソースはNotes DB (NSFファイル)となる – 通常のチーム開発、構成管理の概念が異なる • 各リソースがNSF内に格納される • NSFファイルをサーバー上に置くだけで、Deploymentは完了 • NSFファイルの設計を複数のユーザーが編集ことは可能だが、個別の 設計要素はロックされる • 標準の構成ではバージョン管理の概念はない 65 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド 最低限のNotesアーキテクチャの理解が必要 ただし、コントロールを利用するために は、Dominoの知識が必要 JSFライクなコントロール群、開 発環境もEclipseの操作性を備 えている。 66 例:Dominoデータソースへのアクセス @Unique(@DbColumn(@DbName(), "AltFullName",6)) © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド XPagesやカスタムコントロールはNSF内に格納 67 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド スタイルシートもNSF内に格納される 68 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド 既存のDomino開発と比べて考慮すべきこと – 外部の設計要素が存在する • CSS等の画面デザイン 等の画面デザイン • JPG等のイメージリソース 等のイメージリソース • Javaのライブラリ のライブラリ – オープンな技術要素を把握する必要がある • ヘルプや参照情報が従来のNotesの世界に属さない場合があ の世界に属さない場合があ ヘルプや参照情報が従来の り、より広範なリファレンスソースが必要になる ※JavaScript自体の文法、 自体の文法、CSSの文法、 の文法、Dojo等々 等々 自体の文法、 の文法、 69 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド 5.XPages化の移行・導入計画 5.2. 移行の方針 70 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド 5.2. 移行の方針 Web/Notesの特徴の把握 の特徴の把握 XPagesの位置づけの把握 の位置づけの把握 移行パターンの比較検討 71 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド Web/Notesの開発における特徴の把握 Web 長所 大規模/長期開発も可能 大規模 長期開発も可能 仕様に基づく要求管理 長所 迅速/堅牢な開発 迅速 堅牢な開発 ユーザー参加型要求管理 – 技術者が比較的多く存在する – 独自の強固なセキュリティーモデル – 分析・設計・開発・テストの一連のメソッドが 確立されている – シェアドナッシング型のシンプル且つ強固なクラ スターモデル – 支援するツール類が充実している – フェーズ分け、機能別の分業、それをまとめ る構成管理等の仕組みが充実しているため、 要員によるスケールメリットが出やすい – 最新技術の早期取り込みが可能 考慮点 – 個々の技術要素の積み重ねのため、目的の 開発に必要なスキルの定義・習得が難しい – Java、 、Java Script、 、Dojo、 、XML、 、Ajax等々、 等々、 すべて個別の技術要素で個別に習得の必 要がある 72 Notes – シンプルな配布管理 考慮点 – チーム開発を支援する標準機能がない – 構成管理/変更管理の機能が標準ではない 構成管理 変更管理の機能が標準ではない – 仕様・設計の文書化が標準化されていない © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド XPagesの位置づけの把握 長所 – Notesの長所、 の長所、Webの長所を併せ持つ の長所を併せ持つ の長所、 – Webブラウザ、 ブラウザ、Notesクライアント双方をサポート クライアント双方をサポート ブラウザ、 – Eclipseの技術を利用した実績のある多機能な開発環境 の技術を利用した実績のある多機能な開発環境 考慮点 – Notesの開発の考慮点と同種の考慮点を持つ の開発の考慮点と同種の考慮点を持つ – Notes+Webに加えて に加えてXPagesのスキルが必要 のスキルが必要 に加えて • 特殊なデバッグ環境 • サーバーサイドスクリプト • XPagesでも利用できる既存機能の把握 でも利用できる既存機能の把握 73 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド Eclipse技術の利用 74 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド サーバーサイドデバッグ 75 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド クライアントサイドデバッグ ただし、追加のツールが必要 ブラウザー:FireBug http://www.lotus.com/ldd/ddwiki.nsf/dx/FireBug ノーツクライアント:Firebug Lite http://hnagasim.blog8.fc2.com/blog-entry-338.html 76 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド SSJSで利用可能な@関数一覧 ※使用頻度の高いと思われるものを太字 使用頻度の高いと思われるものを太字で示す 太字で示す @Abs @Do @IsNull @Name @Sum @Abstract @Element @IsNumber @NewLine @Text @Adjust @Elements @IsResponseDoc @No @TextToNumber @AttachmentLengths @Ends @IsText @Now @TextToTime @AttachmentModifiedTimes @Error @IsTime @Null @Time @AttachmentNames @Explode @IsUnavailable @ProperCase @Today @Attachments @Failure @Left @Random @Tomorrow @Author @False @LeftBack @Repeat @Trim @Begins @GetField @Length @Replace @True @Char @Hour @List @ReplaceSubstring @Unique @ClientType @If @LowerCase @ReplicaID @UpperCase @Contains @Implode @Max @Return @UserName @Count @Integer @Member @Right @Weekday @Created @IsAvailable @Middle @RightBack @Word @Date @IsDocBeingLoaded @MiddleBack @Round @Year @Day @IsDocBeingSaved @Min @Second @Yes @DbColumn @IsError @Minute @Select @Yesterday @DbLookup @IsMember @Modified @SetField @DbName @IsNewDoc @Modulo @Subset @DbTitle @IsNotMember @Month @Success 77 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド 移行パターン比較 案1 案2 案3 Notesクライアント併用 クライアント併用 Notesクライアント併用 クライアント併用 Notesクライアント廃止 クライアント廃止 既存環境はそのまま、一部Web利用 利用 既存環境はそのまま、一部 ハイブリッドDB化して移行 ハイブリッド 化して移行 アプリのWeb対応 対応 アプリの × 既存影響がほとんどない形でSmall Startが可能 データと表示を分離できる点を活かし ていることで、XPagesのメリットが出や すいパターンと言える × 既存リソースでHTTPサービスは困難な場合が多いと思われるので、 基本的にH/W更改を伴う Notes8.5.1以上では、ノーツとWebで 同様なUIを提供できる点が他パ ターンにない特徴 Web化で失われる機能もあるなど、Web化一般の考慮事項はどのパターンでも認識が必要 78 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド 移行パターン比較 (詳細) 案1:Notesクライアント併用 比較項目 既存アプリケーショ ンへの影響 少 XPagesの機能・長所と親和性の高い ものだけXPages化する等影響度を考 慮した計画が可能 案2:ハイブリッド 大 必要な機能のみXPages化すれば良 いため、リスクは少ない 開発の難易度 低 最高 新規開発、および移行対象のみの設 計。 テストの範囲も限定的 開発のワークロード 最小 アプリケーションの 機能の制約 UIの統一化 少 保守コスト 高 79 Notes、XPages双方のスキルセットを 保持する必要有 必要性、難易度、ユーザー種別等、 各種要件から段階的に移行計画を立 案可能 段階的 フォールバックも可能 大 複数タイプのクライアントを意識し、且つ 全てのアプリケーションの機能をXPages の機能の範囲内で実現する設計を行う 必要有 全てのアプリケーションをXPagesの機能 で再設計する必要有 既存アプリケーションのリグレッションテ ストやブラウザ向け、クライアント向けの 複数のテストパターンの網羅等、検証に かかるワークロード大 高 既存Notesクライアント向けアプリ ケーションは刷新が必要 すべてのアプリケーションの機能を XPagesの機能の範囲内で実現する 設計を行う必要有 すべてのアプリケーションをXPages の機能で再設計する必要有 中 中 基本的にXPagesでサポートする機能の みでアプリケーションを構築する必要有 有 可能 サーバー、Notesクライアントのバージョ ンに制約有 有 中 基本XPagesのスキルセットで対応可。一 部Notesスキルが必要 低 不可能 ほぼ想定される全環境で利用可能 バージョンの制約 移行計画 高 最新機能を享受しつつ、ノーツクライ 最小 アントの利便性も残せる 案3:全面移行 基本的に案3と同じ 大 XPagesでサポートされる機能で実現 する必要有 可能 サーバーのバージョンに制約有 XPages向けのスキルセットで対応可 Notesクライアントが残されるため段階的 Notesクライアント廃止や、最新Notes 移行も可能だが、クライアントはR8.5以 クライアント導入等アプリケーション 上、ブラウザユーザーのみが使用するア 環境、クライアント環境等と整合性を プリケーションは自動変換Webを併用す 制約有 一括 取った移行計画が必要になる。 るなどの制約が考えられる 基本的にはフォールバックは困難 制約はあるがフォールバックも可能 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド 6.まとめ まとめ 80 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド XPagesを使用したLotus Dominoアプリケーションへの移行 まとめ XPagesは多様化するアクセス手段に対して は多様化するアクセス手段に対してDominoアプリケーションを対応させ アプリケーションを対応させ は多様化するアクセス手段に対して るための最重要な技術 – モバイルデバイス等からのアクセスに対して従来のHTML自動変換でのWeb化作業の限界 – データとUIの開発分離による自由度の向上 – Web開発の標準的な技術の採用 XPagesを使用したアプリケーション開発は を使用したアプリケーション開発はWebアプリケーション開発技術者の参 アプリケーション開発技術者の参 を使用したアプリケーション開発は 画も必要 – 従来のLotus Script、関数中心による開発に加えてWeb開発のスキルが必要 – 開発チームとして可能な限り、従来のDomino開発者とWeb開発者の混成チームが必要 従来のDominoアプリケーションの全てを アプリケーションの全てをXPages化するのではなく、 化するのではなく、XPages化 化 従来の アプリケーションの全てを 化するのではなく、 が必要とされるアプリケーションの分類・分析を行うことが重要 – UIの観点、アクセスデバイスの観点でのXPages化必須の判断を行う – 簡易診断チャートによる初期段階での分類も有効 新規Webアプリ開発及びモバイル対応追加等の場合はXPages適用を検討 81 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド 7.参考 参考 82 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド 注意事項①XPagesの制限事項 クライアントとしてブラウザを使用する上での制限事項は、 従来のWeb化と同様 化と同様 従来の – 制限事項例 • フィールドの暗号化は使用できない – フィールドの暗号化は、ユーザーIDファイル内にキーを格納するため • 「コピー不可」の機能は利用できない – Notesクライアントの機能であるため 83 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド 注意事項②リッチテキストコントロールの制限事項 8.5.2FP1で検証にて確認 で検証にて確認 – インデント/アウトデントが保存されない。 – イメージの幅・高さは、保存後、反映されない。 84 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド 注意事項③サーバーサイドJavascriptのコーディング Lotus Notesのオブジェクトは のオブジェクトはRecycle() メソッドにより明示的にメモ のオブジェクトは リを開放することを推奨 – XPagesのDominoライブラリはサーバーサイドJavascriptは Lotus DominoのJavaクラスをコールしている。そのため、 Lotus Domino上でJavaを使用する場合と同様の考慮点が ある。詳細は下記参照。 『Lotus Notes/Domino における Java 実行環境とその問題判別につ いて 』 http://www-01.ibm.com/support/docview.wss?uid=swg21466201 利用がサポートされるライブラリ/クラスはヘルプに記載されたもの 利用がサポートされるライブラリ クラスはヘルプに記載されたもの – Java/JSF/XPages Extensiblity APIも利用可能だが、すべ ての利用がサポートされるわけではない。 85 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド 参考:Domino Web パフォーマンスチューニング Tips – .最大スレッド数の設定 最大スレッド数の設定 • 1CPUあたり最大に増やしても あたり最大に増やしても80まで。 あたり最大に増やしても まで。 それ以上必要になる場合は、他の方法を試す方が良いと言われている。 – .Webエージェント同時実行の有効化 エージェント同時実行の有効化 • 十分なメモリやCPU資源がない場合は逆に処理を圧迫する可能性がありますので、検証が必要です。 資源がない場合は逆に処理を圧迫する可能性がありますので、検証が必要です。 十分なメモリや – .最大キャッシュユーザーを増やす 最大キャッシュユーザーを増やす • サーバーあたり1000ユーザー以上アクセスしている場合は、この値をデフォルト値よりも増やすと効果があることがありま ユーザー以上アクセスしている場合は、この値をデフォルト値よりも増やすと効果があることがありま サーバーあたり す。 – .GZIP圧縮を使用する 圧縮を使用する • クライアント側がHTTP1.1に対応しているブラウザを利用している場合は、この設定を施すことである程度パフォーマンス クライアント側が に対応しているブラウザを利用している場合は、この設定を施すことである程度パフォーマンス を向上する場合があります。 – .メールボックスの数を増やす メールボックスの数を増やす • このメールボックスは、個々人のメールファイルではなく、送信時にサーバーが利用する「Mail.box」という名前のファイル 」という名前のファイル このメールボックスは、個々人のメールファイルではなく、送信時にサーバーが利用する「 です。通常一つだけ利用されているのですが、これを複数個にすることでメールルーティングの効率を向上させることもで きるかもしれません。 – .Listenキューのサイズを増やす キューのサイズを増やす • デフォルト512なのですが、この値を調整することでチューニングできる場合がありますが、高度な調整項目なため、変更 なのですが、この値を調整することでチューニングできる場合がありますが、高度な調整項目なため、変更 デフォルト には慎重な検討が必要です。 – .「アイコンの有効期限を延ばす」について 「アイコンの有効期限を延ばす」について • イメージファイルの要求を少なくすることでサーバーの負荷を小さくすることができます。 – .「ログ書き込み」をテキスト形式にする 「ログ書き込み」をテキスト形式にする • ノーツDBへの書き込みがデフォルトの形式なのですが、ログが肥大化するとこれが負荷になってしまっている場合があり ノーツ への書き込みがデフォルトの形式なのですが、ログが肥大化するとこれが負荷になってしまっている場合があり ます。この場合は、テキストファイルへの保存へ変更することで負荷が軽減する場合があります。 86 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド 参考:パフォーマンスチューニングについて XPagesのパフォーマンスオプション のパフォーマンスオプション – 独自のパフォーマンスオプションがあります • ・XPageプリロードオプション プリロードオプション – XPagesのアプリケーションの初回の起動を早くするオプション のアプリケーションの初回の起動を早くするオプション – 特定のDBのみ指定することも可能 特定の のみ指定することも可能 • ・JavaScript/CSS集約機能 集約機能 – 複数のDojoモジュールまたは複数の モジュールまたは複数のCSS を1 つのファイルに動的に集約する新規オ 複数の モジュールまたは複数の つのファイルに動的に集約する新規オ プション – サーバー送信要求数を削減し、構文解析速度も向上させます • 詳しくは – http://publib.boulder.ibm.com/infocenter/domhelp/v8r0/index.jsp?topic=/co m.ibm.designer.domino.ui.doc/wpd_whatsnew.html 87 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド 参考:パフォーマンス向上 TIPS XPagesのパフォーマンス向上の最も大きな部分は、画面とデータを分離す のパフォーマンス向上の最も大きな部分は、画面とデータを分離す ることにより、リクエスト⇒画面遷移⇒フォームのロードが都度発生するという 実行モデルから脱却したことです そのフォームのロードについては下記3種類のオプションが設定できます そのフォームのロードについては下記 種類のオプションが設定できます – パフォーマンス優先:文書をメモリ内に保持しておく – スケーラビリティー優先:ページはディスクに保持しておく – 折衷案:現行ページだけメモリに保持しておく 設定方法等は下記を参照ください – http://www10.lotus.com/ldd/ddwiki.nsf/dx/High_level_introduction_of_XPages#Performa nce+Improvements+related+to+XPages 88 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド 参考:コーディング上のテクニック – 複雑な処理はサーバーサイドJavaスクリプトよりも、 スクリプトよりも、JavaClassと と 複雑な処理はサーバーサイド スクリプトよりも、 して実行した方が良い – 大きな配列はJavaScriptの配列よりも の配列よりもJavaの のHashMap等のクラ 等のクラ 大きな配列は の配列よりも スを利用した方が効率が良い – サーバーサイドJavaスクリプトよりも スクリプトよりもELの方が効率が良い サーバーサイド スクリプトよりも の方が効率が良い – サーバーサイドJavaスクリプトの設定を「 スクリプトの設定を「compute サーバーサイド スクリプトの設定を「 dynamically 」ではなく「compute on page load 」にしておくと 」ではなく「 良い – 画面については、部分的な更新の機能を使うと良い 89 © 2011 IBM Japan Systems Engineering Co.Ltd. XPagesを使用したLotus Dominoアプリケーションへの移行ガイド 参考情報リンク一覧 XPages入門 http://ltsbwass001.sby.ibm.com/developerworks/jp/lotus/education/xpages/ XPagesの活用 http://ltsbwass001.sby.ibm.com/developerworks/jp/lotus/library/domdes-xpages/ 新人SEが学ぶ XPages http://www.ibm.com/developerworks/jp/lotus/education/xpages_beginner/index.html Lotus Domino Designer での XPages 機能の活用 http://ltsbwass001.sby.ibm.com/developerworks/jp/lotus/education/ls-ddxpages/ IBM Lotus Notes/Domino 8.5 におけるアプリケーション開発 http://www.ibm.com/developerworks/jp/ysl/library/lotus/y-lot-notes85-appdev/ XPages による Web アプリケーション開発: 前編 http://www.ibm.com/developerworks/jp/ysl/library/lotus/y-lot-xpages1/ XPages による Web アプリケーション開発: 後編 http://www.ibm.com/developerworks/jp/ysl/library/lotus/y-lot-xpages2/ XPages でのアプリケーション開発の実際 http://ltsbwass001.sby.ibm.com/developerworks/jp/lotus/ldd_tech/20091009xpages.html IBM Lotus Notes/Domino 8.5.1における XPages 新機能 http://ltsbwass001.sby.ibm.com/developerworks/jp/ysl/library/lotus/y-lot-xpages851newfunction/ XPagesでDojoウィジェットを利用する http://ltsbwass001.sby.ibm.com/developerworks/jp/ysl/library/lotus/y-lot-dojoonxpages/ [AVP] XPages Tips 集 http://www.ibm.com/developerworks/jp/lotus/ldd_tech/2010jun04_avp11.html [AVP]XPages 8.5.2新機能について http://www.ibm.com/developerworks/jp/lotus/ldd_tech/2011mar_avp11.html IBM Lotus Domino 8.5.2 XPages ディスカッション・データベースのサーバー・パフォーマンス http://www.ibm.com/developerworks/jp/lotus/library/domino85-xpages-perf/ XPagesデモアプリケーション http://xpages.info/XPagesHome.nsf/DemosJapan.xsp XPages リンク集 http://www-10.lotus.com/ldd/ddwiki.nsf/dx/XPages_%E3%83%AA%E3%83%B3%E3%82%AF%E9%9B%86 XPages 技術者コミュニティー 7f5e54c6c72a OneUI関連ドキュメント http://www-12.lotus.com/ldd/doc/oneuidoc/docpublic/index.htm Notes/Domino開発者向けJavaScript入門 http://www.ibm.com/developerworks/jp/lotus/ldd_tech/2011apr_nd_js.html XPages Framework Template http://www.openntf.org/blogs/openntf.nsf/d6plinks/SCAE-7X7MK3 Lotus Notes and Domino Application Development wiki http://www10.lotus.com/ldd/ddwiki.nsf/xpViewCategories.xsp?lookupName=%E6%97%A5%E6%9C%AC%E8%AA%9E%20-%20Japanese New Release of XPages Demo Application for 8.5.1 including Notes Client http://www.openntf.org/blogs/openntf.nsf/d6plinks/NHEF-8427T9 XPages_Extension_Library http://www-10.lotus.com/ldd/appdevwiki.nsf/dx/XPages_Extension_Library ICS Business Partner Technical Enablement team Japan Blog https://www.ibm.com/developerworks/mydeveloperworks/blogs/bptej/?lang=ja 90 https://www.ibm.com/developerworks/mydeveloperworks/groups/service/html/communityview?communityUuid=f7384262-0ce6-4adf-b0fa- © 2011 IBM Japan Systems Engineering Co.Ltd.