Lotus Notes/Domino開発者向けJavaScript入門 日本アイ・ビー・エム・株式会社 ソフトウェア事業 Lotus事業部 © 2007 IBM Corporation
by user
Comments
Transcript
Lotus Notes/Domino開発者向けJavaScript入門 日本アイ・ビー・エム・株式会社 ソフトウェア事業 Lotus事業部 © 2007 IBM Corporation
® Lotus Notes/Domino開発者向けJavaScript入門 日本アイ・ビー・エム・株式会社 ソフトウェア事業 Lotus事業部 © 2007 IBM Corporation IBM Software Group | Lotus software 目次 1. XPagesが提供する価値とJavaScript 2. LotusScript開発者向けJavaScriptの基礎 3. JavaScriptによるDominoオブジェクトの利用 4. より、XPagesを活用していただくために 参考資料 2 IBM Software Group | Lotus software 1. XPagesが提供する価値とJavaScript XPagesとは XPagesが提供する価値 (参考)LotusphereでもJavaScriptをテーマにしたセッションがありました 3 IBM Software Group | Lotus software Xpagesとは 1/3 データとUIの分離により、新たなユーザー体験を提供 様々なデータを自由度の高い レイアウトで統合して表示 今まで構築が難しかった アプリケーションが実現可能 複数サーバー、複数DB上の ビュー、文書が対象 データは、ビュー、文書以外 にもRDBなど順次拡張予定 4 IBM Software Group | Lotus software Xpagesとは 2/3 バージョン 8.5.1 から、Lotus Notesクライアント上でXPagesアプリケーションがそのまま稼動し ます。 WebブラウザーとLotus Notesクライアントの両方から利用するハイブリッドアプリケーションが容 易に構築可能です。 タグクラウドなどのWeb 2.0的なインターフェースをLotus Notesクライアントで利用可能です。 Lotus Notes クライアントでのXPages表示 WebブラウザーでのXPages表示 Notes DB • NotesのプロトコルであるNRPCでサーバーにアクセスします。 • Notes IDファイルでログインしていれば、Webパスワードを入力する必要あり ません。 • ローカルレプリカで、オフラインアクセスが可能です。 5 IBM Software Group | Lotus software Xpagesとは 3/3 サーバーサイドJavaScriptを利用したプログラミングが可能 6 IBM Software Group | Lotus software XPagesが提供する価値 Web開発の生産性向上 今まで実現が難しかったアプリケーションを実現 – 最新の技術を取り入れることにより、ルック&フィール、操作性を向 上させる – Notes/Dominoの画面仕様上、実現が難しかったアプリケーションを 実現 既存のNotes/Domino資産を利用した開発を実施 – データ – フォーム/ビュー – 一部のロジック(バックエンドの定期エージェント等) NotesクライアントとWebブラウザで画面、設計の共通化 NotesクライアントとWebブラウザで異なる画面を提供も可能 7 IBM Software Group | Lotus software (参考)LotusphereでもJavaScriptをテーマにしたセッションがありました Don't be afraid of Curly Brackets - JavaScript for IBM LotusScript Develepers 8 IBM Software Group | Lotus software 2. LotusScript開発者向けJavaScriptの基礎 逐次処理 条件分岐処理 ループ処理 エラー処理 9 IBM Software Group | Lotus software 逐次処理 LotusScript Function AAA JavaScript function AAA() { 処理1 処理2 処理3 End Function 処理1; 処理2; 処理3; } 10 IBM Software Group | Lotus software (参考)代入演算子 代入演算子は、右辺のオペランドの値に基づいて、値を左辺のオペラ ンドに代入します。基本的な代入演算子は、等号 (=) です。他の代入 演算子は、別の演算と代入を組み合わせて簡略化したものです。 ※「IBM Lotus Domino and Notes Information Center」内、[Lotus Domino Designer 8.5]-[Lotus Domino Designer XPageのリファレンス]-[JavaScript言語 エレメント]-[演算子]-[代入演算子] 11 IBM Software Group | Lotus software (参考)算術演算子 算術演算子は、基本的な算術演算を実行します。 ※「IBM Lotus Domino and Notes Information Center」内、[Lotus Domino Designer 8.5]-[Lotus Domino Designer XPageのリファレンス]-[JavaScript言語 エレメント]-[演算子]-[算術演算子]より抜粋 12 IBM Software Group | Lotus software (参考)ストリング演算子 ストリング演算子は、値を連結します。 ※「IBM Lotus Domino and Notes Information Center」内、[Lotus Domino Designer 8.5]-[Lotus Domino Designer XPageのリファレンス]-[JavaScript言語 エレメント]-[演算子]-[ストリング演算子]より抜粋 13 IBM Software Group | Lotus software (参考)リスト演算子 リストは、特定の演算子でエンティティとして処理することができます。 ※「IBM Lotus Domino and Notes Information Center」内、[Lotus Domino Designer 8.5]-[Lotus Domino Designer XPageのリファレンス]-[JavaScript言語 エレメント]-[演算子]-[リスト演算子]より抜粋 14 IBM Software Group | Lotus software 条件分岐処理 LotusScript If 条件A Then 処理1 ElseIf 条件B Then 処理2 Else 処理3 End If JavaScript if (条件A) { 処理1; } else if (条件B) { 処理2; } else { 処理3; } 15 IBM Software Group | Lotus software (参考)比較演算子 比較演算子は、2 つの値を比較して、論理 (ブール) 結果を生成します 。 ※「IBM Lotus Domino and Notes Information Center」内、[Lotus Domino Designer 8.5]-[Lotus Domino Designer XPageのリファレンス]-[JavaScript言語 エレメント]-[演算子]-[比較演算子]より抜粋 16 IBM Software Group | Lotus software (参考)比較演算子 論理演算子は、論理 (ブール) 演算を実行します。 ※「IBM Lotus Domino and Notes Information Center」内、[Lotus Domino Designer 8.5]-[Lotus Domino Designer XPageのリファレンス]-[JavaScript言語 エレメント]-[演算子]-[論理演算子]より抜粋 17 IBM Software Group | Lotus software ループ処理 LotusScript JavaScript While 条件式A 処理1 処理2 Wend while (条件式A) { 処理1; 処理2; } For x% = 1 To 10 処理1 処理2 Next for (i=0; i < 10; i++) { 処理1; 処理2; } 18 IBM Software Group | Lotus software エラー処理 LotusScript Function AAA On Error Goto Err_AAA 処理1 処理2 処理3 Err_AAA: 処理4 処理5 End Function JavaScript function AAA() { try { 処理1; 処理2; 処理3; } catch (e) { 処理4; } finally { 処理5; } } 19 IBM Software Group | Lotus software 3. JavaScriptによるDominoオブジェクトの利用 JavaScriptで扱うことが可能なDominoオブジェクト XSPオブジェクトを利用したプログラミング Dominoオブジェクトを利用したプログラミング 20 IBM Software Group | Lotus software JavaScriptで扱うことが可能なDominoオブジェクト XSPオブジェクト – XSPではブラウザコンテキストにアクセスするクラスが含まれます Dominoオブジェクト – Dominoのバックエンドにアクセスするクラスが含まれます 21 IBM Software Group | Lotus software XSPオブジェクトを利用したプログラミング document1.replaceItemValue("Subject", "abcdefg"); document1.save(); 22 IBM Software Group | Lotus software Dominoオブジェクトを利用したプログラミング var db:NotesDatabase = session.getCurrentDatabase(); //現在のDBを取得 var view:NotesView = db.getView("AllDocView"); //ビューを取得 var doc:NotesDocument = view.getFirstDocument(); //最初の文書を取得 //ビュー上の全文書をループ処理で処理を実施 while (doc != null) { var ndoc:NotesDocument = view.getNextDocument(doc); doc.replaceItemValue(“subject", “abcdefg"); doc.save(); doc.recycle(); doc = ndoc; } 23 IBM Software Group | Lotus software 4. より、Xpagesを活用していただくために Notes/Domino開発と他のWebアプリケーション開発 Notes/Dominoで利用できる一時データ すべてを一度に作り変える必要はありません 24 IBM Software Group | Lotus software Notes/Domino開発と他のWebアプリケーション開発 Notes/Domino ビュー 処理完了画面 (文書) 文書 このタイミングで データを保存 その他のWebアプリケーション 画面2 画面4 画面1 画面3 画面7 画面6 画面8 画面5 画面9 画面間のデータ受け渡し (一時データ)はSession等を 利用 データ 必要なタイミングでのみ データにアクセス 25 IBM Software Group | Lotus software Notes/Dominoで利用できる一時データ Notes/Dominoでもスコープ変数を定義することで、一時データを利用 することが可能です。 26 IBM Software Group | Lotus software すべてを一度に作り変える必要はありません XPagesを利用した開発の場合、画面単位で作成することが出来るた め、部分的なWeb化や段階的なWeb化が可能になります – 営業が外で参照するカタログデータ(参照系画面)のみをXPagesで 構築する – モバイル端末でも簡単に実施ができる機能(承認・否認ボタンを押す だけ、等)のみ、XPagesでWeb化を行う – データ入力業務を行う担当者は従来のNotesの画面を利用し、一般 ユーザーの画面のみをXPagesでWeb化する 27 IBM Software Group | Lotus software 参考資料 IBM Lotus Domino and Notes Information Center http://publib.boulder.ibm.com/infocenter/domhelp/v8r0/index.jsp Simple error checking in server-side XPages JavaScript http://www-10.lotus.com/ldd/ddwiki.nsf/dx/Simple_error_checking_in_server-side_XPages_JavaScript NotesName sample JavaScript code for XPages http://www-10.lotus.com/ldd/ddwiki.nsf/dx/NotesName_sample_JavaScript_code_for_XPages NotesMIMEEntity sample JavaScript code for XPages http://www-10.lotus.com/ldd/ddwiki.nsf/dx/NotesMIMEEntity_sample_JavaScript_code_for_XPages NotesViewEntryCollection sample JavaScript code for XPages http://www10.lotus.com/ldd/ddwiki.nsf/dx/NotesViewEntryCollection_sample_JavaScript_code_for_XPages NotesViewNavigator sample JavaScript code for XPages http://www-10.lotus.com/ldd/ddwiki.nsf/dx/NotesViewNavigator_sample_JavaScript_code_for_XPages NotesViewEntry sample JavaScript code for XPages http://www-10.lotus.com/ldd/ddwiki.nsf/dx/NotesViewEntry_sample_JavaScript_code_for_XPages NotesStream sample JavaScript code for XPages http://www-10.lotus.com/ldd/ddwiki.nsf/dx/NotesStream_sample_JavaScript_code_for_XPages NotesView sample JavaScript code for XPages http://www-10.lotus.com/ldd/ddwiki.nsf/dx/NotesView_sample_JavaScript_code_for_XPages 28 IBM Software Group | Lotus software 参考資料 NotesDocumentCollection sample JavaScript code for XPages http://www10.lotus.com/ldd/ddwiki.nsf/dx/NotesDocumentCollection_sample_JavaScript_code_for_XPages NotesDateRange sample JavaScript code for XPages http://www-10.lotus.com/ldd/ddwiki.nsf/dx/NotesDateRange_sample_JavaScript_code_for_XPages NotesDateTime sample JavaScript code for XPages http://www-10.lotus.com/ldd/ddwiki.nsf/dx/NotesDateTime_sample_JavaScript_code_for_XPages NotesDbDirectory sample JavaScript code for XPages http://www-10.lotus.com/ldd/ddwiki.nsf/dx/NotesDbDirectory_sample_JavaScript_code_for_XPages NotesDocument sample JavaScript code for XPages http://www-10.lotus.com/ldd/ddwiki.nsf/dx/NotesDocument_sample_JavaScript_code_for_XPages NotesSession sample JavaScript code for XPages http://www-10.lotus.com/ldd/ddwiki.nsf/dx/NotesSession_sample_JavaScript_code_for_XPages NotesXSPDocument sample JavaScript code for XPages http://www-10.lotus.com/ldd/ddwiki.nsf/dx/NotesXSPDocument_sample_JavaScript_code_for_XPages 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/ 29 IBM Software Group | Lotus software 特記事項 本資料の記載内容は、正式なIBMのテストやレビューを受けておりません。 内容について、できる限り正確を期すよう努めてはおりますが、いかなる明 示または暗黙の保証も責任も負いかねます。本資料の情報は、使用先の 責任において使用されるべきものであることを、あらかじめご了承ください 。 掲載情報は不定期に変更されることもあります。他のメディア等に無断で 転載する事はご遠慮ください。 本資料の著作権は日本アイ・ビー・エムにあります。非営利目的の個人利 用の場合において、自由に使用してもかまいませんが、営利目的の使用は 禁止させていただきます。 IBM, AIX, Lotus, Lotus Notes, Lotus DominoはInternal Business Machines Corporationの米国およびその他の国における商標。その他、 記載された社名および製品名は、それぞれ各社の商標または登録商標で す。