...

Lotus Notes/Domino開発者向けJavaScript入門 日本アイ・ビー・エム・株式会社 ソフトウェア事業 Lotus事業部 © 2007 IBM Corporation

by user

on
Category: Documents
129

views

Report

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の米国およびその他の国における商標。その他、
記載された社名および製品名は、それぞれ各社の商標または登録商標で
す。
Fly UP