48
IBM Software Group ® Lotus Domino XML 活用の基礎! 2004/12/01 日本・アイ・ビー・エム株式会社 ソフトウェア事業 ソフトウエア・テクニカルセールス

Lotus Domino XML活用の基礎! - IBMpublic.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/Domino...Domino Document Manager、Lotus Discovery Server、Lotus Extended Search、Lotus Workplace

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Lotus Domino XML活用の基礎! - IBMpublic.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/Domino...Domino Document Manager、Lotus Discovery Server、Lotus Extended Search、Lotus Workplace

IBM Software Group

®

Lotus Domino XML 活用の基礎!

2004/12/01日本・アイ・ビー・エム株式会社ソフトウェア事業ソフトウエア・テクニカルセールス

Page 2: Lotus Domino XML活用の基礎! - IBMpublic.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/Domino...Domino Document Manager、Lotus Discovery Server、Lotus Extended Search、Lotus Workplace

IBM Software Group | Lotus software

2

特記事項本資料の記載内容は、正式な IBM のテストやレビューを受けておりません。内容について、できる限り正確を期すよう努めてはおりますが、いかなる明示または暗黙の保証も責任も負いかねます。本資料の情報は、使用先の責任において使用されるべきものであることを、あらかじめご了承ください。掲載情報は不定期に変更されることもあります。他のメディア等に無断で転載する事はご遠慮ください。本資料の著作権は日本アイ・ビー・エムにあります。非営利目的の個人利用の場合において、自由に使用してもかまいませんが、営利目的の使用は禁止させていただきます。IBM、AIX、WebSphere、は IBM Corporation の商標。Lotus、Lotus Domino、Lotus Notes、Lotus Workplace Messaging、Lotus Enterprise Integrator、Lotus Enterprise Script Builder、Lotus Domino Unified Communications Service、Lotus Instant Messaging/Web Conferencing、Lotus Team Workplace、Lotus Workplace Team Collaboration、Lotus Learning Management System、Lotus Virtual Classroom、Lotus LearningSpace、Lotus Workplace Collaborative Learning、Lotus Domino Document Manager、Lotus Discovery Server、Lotus Extended Search、Lotus Workplace Web Content Management、Lotus Workflow、は IBM-Lotus の商標。

その他、記載された社名および製品名は、それぞれ各社の商標または登録商標です。

Page 3: Lotus Domino XML活用の基礎! - IBMpublic.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/Domino...Domino Document Manager、Lotus Discovery Server、Lotus Extended Search、Lotus Workplace

IBM Software Group | Lotus software

3

Agenda

Domino XML の概要Domino XML で見栄えの良い Lotus Domino Webアプリケーションを作成するデータ交換のために XML を利用した Lotus Domino Webアプリケーションを作成するフォームで XML を利用するサーバー・サイドで XML の生成を行う付録:用語集

Page 4: Lotus Domino XML活用の基礎! - IBMpublic.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/Domino...Domino Document Manager、Lotus Discovery Server、Lotus Extended Search、Lotus Workplace

IBM Software Group | Lotus software

4

Domino XML Language (DXL)とは

XML フォーマットで記述された Lotus Domino データベース構造を表すために設計された言語。Lotus Notes/Domino R5 から利用可能 (注:本書の内容は Lotus Notes/Domino 6.x を基にしています。)DXL のスキーマ言語には DTD を使用(Domino DTD)。<DominoDirectory>¥xmlschemas¥ に定義。

Page 5: Lotus Domino XML活用の基礎! - IBMpublic.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/Domino...Domino Document Manager、Lotus Discovery Server、Lotus Extended Search、Lotus Workplace

IBM Software Group | Lotus software

5

どのように DXL を利用できるのか

ブラウザーに Lotus Domino のデータを渡し、XSLやDHTML/Javascript/CSS と組み合わせてアプリケーションを作成する。別システムとのデータ交換に利用する

Page 6: Lotus Domino XML活用の基礎! - IBMpublic.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/Domino...Domino Document Manager、Lotus Discovery Server、Lotus Extended Search、Lotus Workplace

IBM Software Group | Lotus software

6

Lotus Domino で XML のアプリケーションを作る利点

Lotus Domino のデータが、そのまま XML として利用でき、別システムを用意する必要がないLotus Domino の優れた機能がそのまま利用できる

セキュリティー

レプリカ/クラスタリング※/エージェント/全文索引 など

Lotus Domino と XML アーキテクチャの親和性実装方法によっては、既存のデータベースがほぼそのまま使用できる

※ブラウザーをご利用で、本格的なクラスタリングのフェール・オーバーが必要な場合、別途専用機器を導入する必要があります。

Page 7: Lotus Domino XML活用の基礎! - IBMpublic.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/Domino...Domino Document Manager、Lotus Discovery Server、Lotus Extended Search、Lotus Workplace

IBM Software Group | Lotus software

7

DXL を使い Lotus Domino Webアプリケーションを作成する

考慮すべき点

Web 化による負荷は考慮されているか?

Lotus Notes Client とブラウザーの機能やユーザービリティの違い、利用方法は考慮されているか?(付録参照)

ブラウザーの修正モジュールによる動作の違いを吸収できるか。セキュリティー対策ができているか。

アプリケーション作成の指針(Lotus Notes Client -> Web 化)

Page 8: Lotus Domino XML活用の基礎! - IBMpublic.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/Domino...Domino Document Manager、Lotus Discovery Server、Lotus Extended Search、Lotus Workplace

IBM Software Group | Lotus software

8

DXL を使い Lotus Domino Webアプリケーションを作成する

Web及びXML化する範囲の特定

表現のために XML を使うのか or データ交換のためにXML を使うのか?

ブラウザーからのアクセスのみ発生するのか、Lotus Notes Clientなどからのアクセスもありうるのか?

ユーザーの入力が必要になるのか、参照のみか?

アプリケーション作成の指針(Lotus Notes → Web及びXML 化)

Page 9: Lotus Domino XML活用の基礎! - IBMpublic.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/Domino...Domino Document Manager、Lotus Discovery Server、Lotus Extended Search、Lotus Workplace

IBM Software Group | Lotus software

9

DXL を使い Lotus Domino Webアプリケーションを作成する

一般的な XML アプリケーションの実装方法

XML と XSL をサーバーから取り寄せて使用する。

XML と スクリプト言語/DHTML などを組み合わせて使用する

サーバー側で XML データを処理し、 HTML データとしてブラウザーに渡す。

アプリケーション作成の指針(XML 化の実装方法)

Page 10: Lotus Domino XML活用の基礎! - IBMpublic.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/Domino...Domino Document Manager、Lotus Discovery Server、Lotus Extended Search、Lotus Workplace

IBM Software Group | Lotus software

10

DXL で見栄えの良いLotus Domino Webアプリケーションを作成する

Page 11: Lotus Domino XML活用の基礎! - IBMpublic.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/Domino...Domino Document Manager、Lotus Discovery Server、Lotus Extended Search、Lotus Workplace

IBM Software Group | Lotus software

11

DXL で見栄えの良い Lotus Domino Webアプリケーションを作成する

?ReadViewEntriesブラウザーがビューから XML として取得するための URLコマンド

通常の Lotus Domino のビューにアクセスするときの URL に ?ReadViewEntries の URLコマンドをつける

Domino DTD に沿った DXL の形式で XML データを生成

URLコマンドでビューからDXL を取得する

Page 12: Lotus Domino XML活用の基礎! - IBMpublic.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/Domino...Domino Document Manager、Lotus Discovery Server、Lotus Extended Search、Lotus Workplace

IBM Software Group | Lotus software

12

(Browser)

DXL をビューから取得する

http://servername.co.jp/database.nsf/viewname

?ReadViewEntries

http://servername.co.jp/database.nsf/viewname

(Lotus Domino の データベースのビューを元に DXL を生成)

DXLで見栄えの良いLotus Domino Webアプリケーションを作成する

Page 13: Lotus Domino XML活用の基礎! - IBMpublic.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/Domino...Domino Document Manager、Lotus Discovery Server、Lotus Extended Search、Lotus Workplace

IBM Software Group | Lotus software

13

<?xml version="1.0" encoding="UTF-8"?>

<viewentries toplevelentries="2">

<viewentry position="1" unid="727F4F956E9114A149256F38001B7BD3" noteid="936" children="2" descendants="4" siblings="2">

<entrydata columnnumber="1" name="TITLE">

<text>親文書</text></entrydata>

<entrydata columnnumber="2" name=“BODY">

<text>親文書テキスト</text></entrydata>

<entrydata columnnumber="3" name=“DATE">

<datetime>20041025T140049,54+09</datetime></entrydata>

<entrydata columnnumber="4" name=“AUTHOR">

<text>Haruto Nakamura/LotusBPTech</text></entrydata>

</viewentry>

(... 続く)

</viewentries>

?ReadViewEntries で取得したDXL の一例(一部)

DXLで見栄えの良いLotus Domino Webアプリケーションを作成する

Page 14: Lotus Domino XML活用の基礎! - IBMpublic.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/Domino...Domino Document Manager、Lotus Discovery Server、Lotus Extended Search、Lotus Workplace

IBM Software Group | Lotus software

14

DXL の中身

日付と時刻のデータ。datetime

文字列形式のデータ。text

このエントリが含まれる列の名前。name

このエントリを含む列のインデックス番号。columnnumber

ビューの 1 列に対するデータの単一列のセルを表す。entrydata

ビュー階層でこのエントリに属する同レベルの文書の数 (このエントリを含まない) 。siblings

ビュー階層でこのエントリに属する全子エントリの数 (このエントリを含まない) 。descendants

ビュー階層で、このエントリの直属の子エントリの数。children

文書の NoteID。noteid

文書のユニバーサル ID (UNID) 。unid

ビュー階層でのエントリの位置。position

ビューの 1 行を示す。view entry

ビュー内のトップレベルエントリまたは主要文書の数。toplevelentries

Lotus Domino データベースのビューの構造を定義。ルート要素。viewentries

DXLで見栄えの良いLotus Domino Webアプリケーションを作成する

Page 15: Lotus Domino XML活用の基礎! - IBMpublic.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/Domino...Domino Document Manager、Lotus Discovery Server、Lotus Extended Search、Lotus Workplace

IBM Software Group | Lotus software

15

XML と XSL と結びつける

取得した XML と XSL を結びつけるためには

?ReadViewEntries で取得した XML に対して XSL に結びつける方法は?

<? xml-stylesheet type=“text/css” href=“style.xsl” ?>

?Readviewentries には↑上記の↑のようなタグを直接XML データに埋め込む簡単な方法がない

DXLで見栄えの良いLotus Domino Webアプリケーションを作成する

Dynamic XML を利用する。

本書では HTML と Javascript を組み合わせて、Dynamic XML を利用

Page 16: Lotus Domino XML活用の基礎! - IBMpublic.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/Domino...Domino Document Manager、Lotus Discovery Server、Lotus Extended Search、Lotus Workplace

IBM Software Group | Lotus software

16

サンプルのご紹介

DXLで見栄えの良いLotus Domino Webアプリケーションを作成する

Page 17: Lotus Domino XML活用の基礎! - IBMpublic.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/Domino...Domino Document Manager、Lotus Discovery Server、Lotus Extended Search、Lotus Workplace

IBM Software Group | Lotus software

17

コーディングのポイント 1. – 設計要素の[ページ]を利用する

ページとは

クライアントに画面を表示するための設計要素。フォームと異なり、文書にひもづけられてなく、アプリケーションのどの部分でも使用可能

Web/XML 化でのページの使用

ページのプロパティの[ページ情報]

タブの Web アクセスを HTML にする

ブラウザーからページにアクセスする。

http://server/test.nsf/page

DXLで見栄えの良いLotus Domino Webアプリケーションを作成する

Page 18: Lotus Domino XML活用の基礎! - IBMpublic.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/Domino...Domino Document Manager、Lotus Discovery Server、Lotus Extended Search、Lotus Workplace

IBM Software Group | Lotus software

18

コーディングのポイント 1. – 設計要素の[ページ]を利用する

DXLで見栄えの良いLotus Domino Webアプリケーションを作成する

Page 19: Lotus Domino XML活用の基礎! - IBMpublic.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/Domino...Domino Document Manager、Lotus Discovery Server、Lotus Extended Search、Lotus Workplace

IBM Software Group | Lotus software

19

Demo:Javascript 内

function applyXSL() {oResults = document.getElementById("results");oXML = document.getElementById("testxml");oXSL = document.getElementById("testxsl");

oResults.innerHTML = oXML.transformNode(oXSL.documentElement);}

デモのデータベース内で、testxml, testxsl は xml island, results は div として設定されている

コーディングのポイント 2. - xslの差し替え(Dynamic XML)

DXLで見栄えの良いLotus Domino Webアプリケーションを作成する

Page 20: Lotus Domino XML活用の基礎! - IBMpublic.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/Domino...Domino Document Manager、Lotus Discovery Server、Lotus Extended Search、Lotus Workplace

IBM Software Group | Lotus software

20

Demo:XLS 内

<td class="Ccol"><a id="anchor_{../@unid}" href="0/{../@unid}"><xsl:value-of select="." /></a>

</td>

文書の unid を URL に指定することで文書を開く。ビューを明示的に指定しない方法として 0/ を指定する方法がある。

コーディングのポイント 3. - リンクの作成

例:http://server.co.jp/test.nsf/0/9F7BCBB6ED1746E449256F3B002FC16C

ビュー名 (or ID) 文書の unid

DXLで見栄えの良いLotus Domino Webアプリケーションを作成する

Page 21: Lotus Domino XML活用の基礎! - IBMpublic.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/Domino...Domino Document Manager、Lotus Discovery Server、Lotus Extended Search、Lotus Workplace

IBM Software Group | Lotus software

21

階層構造のビュー

列構造により、親文書と子文書が同じフィールドの値を取れるとは限らない

対象のビューを階層構造にしないか、ブラウザー側で加工

パフォーマンス

一度に多くの文書を読み込まない(列数も考慮する)

ブラウザーのレンダリング能力/スクリプトの処理能力/パーサーの処理能力を考慮

?ReadViewEntries を使うときの注意点(1)

DXLで見栄えの良いLotus Domino Webアプリケーションを作成する

Page 22: Lotus Domino XML活用の基礎! - IBMpublic.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/Domino...Domino Document Manager、Lotus Discovery Server、Lotus Extended Search、Lotus Workplace

IBM Software Group | Lotus software

22

ビューの列の順番

ビューの列順どおりに DXL に読み込まれる

entrydata の name 属性の値

列名ではなく、設計要素名が利用される

<entrydata columnnumber="1" name="TITLE">

各種ブラウザーとの乗り入れ

各種ブラウザー用のコーディング

?ReadViewEntries を使うときの注意点(2)

DXLで見栄えの良いLotus Domino Webアプリケーションを作成する

Page 23: Lotus Domino XML活用の基礎! - IBMpublic.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/Domino...Domino Document Manager、Lotus Discovery Server、Lotus Extended Search、Lotus Workplace

IBM Software Group | Lotus software

23

?ReadViewEntries のオプション(一部)

StartKey の種類を指定します。引数が指定されていない場合、デフォルトはテキストです。

KeyType = text|time (

UntilKey は StartKey といっしょに使用するときだけ有効です。StartKey で指定した文書で始まり UntilKey で指定した文書で終わるビューエントリの範囲を表示することができます。

UntilKey = string

string はソートされたビュー内の文書へのキーです。StartKey = string

n には、ビューの表示を開始する行番号を指定します。階層表示ビューの行番号にはサブインデックスを含めることができます。

Start = n

サーバーの全データ型をテキストに変換します。PreFormat

n は表示する文書数です。Count = n

DXLで見栄えの良いLotus Domino Webアプリケーションを作成する

Page 24: Lotus Domino XML活用の基礎! - IBMpublic.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/Domino...Domino Document Manager、Lotus Discovery Server、Lotus Extended Search、Lotus Workplace

IBM Software Group | Lotus software

24

Count = nデフォルトでは 30文書に設定

(例) http://servername/db.nsf/view?ReadViewEntries&Count=100

あまり多くの文書を読み込むと、パフォーマンス低下の可能性

Start = n表示する文書の順番のうち、最初に表示させる文書を指定

(例) http://servername/db.nsf/view?ReadViewEntries&Start=100

Count との組み合わせで使用すると効果的

(例) http://servername/db.nsf/view?ReadViewEntries&Start=20&Count=20

<viewentry position=“n”....> の n に相当

?ReadViewEntries のオプション(一部)

DXLで見栄えの良いLotus Domino Webアプリケーションを作成する

Page 25: Lotus Domino XML活用の基礎! - IBMpublic.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/Domino...Domino Document Manager、Lotus Discovery Server、Lotus Extended Search、Lotus Workplace

IBM Software Group | Lotus software

25

StartKey = stringDXL で最初に取得する文書のキー

(例) http://servername/db.nsf/view?ReadViewEntries&StartKey=親文書50

ビューがソートされている必要あり。

UntilKey = stringDXL で最後に取得する文書のキー

(例) http://servername/db.nsf/view?ReadViewEntries&StartKey=親文書50&UntilKey=親文書75

必ず StartKey の指定が必要。

?ReadViewEntries のオプション(一部)

DXLで見栄えの良いLotus Domino Webアプリケーションを作成する

Page 26: Lotus Domino XML活用の基礎! - IBMpublic.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/Domino...Domino Document Manager、Lotus Discovery Server、Lotus Extended Search、Lotus Workplace

IBM Software Group | Lotus software

26

Preformattext 型以外のデータ型をサーバーが自動変換

(例) http://servername/db.nsf/view?ReadViewEntries&Preformat<datetime>20041025T140049,54+09</datetime>

<text>2004/10/25 14:00:49</text>

?ReadViewEntries のオプション(一部)

DXLで見栄えの良いLotus Domino Webアプリケーションを作成する

Page 27: Lotus Domino XML活用の基礎! - IBMpublic.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/Domino...Domino Document Manager、Lotus Discovery Server、Lotus Extended Search、Lotus Workplace

IBM Software Group | Lotus software

27

DXL による Web 化 -> ポータル化

考慮する点

認証

• シングルサインオン

(参考)Web サイト領域認証文書

管理

• 表示させるポータル画面の管理

テンプレート開発

• ポータルの実装のコストと手間

Portal化

本格的なポータルをご検討される場合には、既存の弊社ポータル製品をお勧め致します。

DXLで見栄えの良いLotus Domino Webアプリケーションを作成する

Page 28: Lotus Domino XML活用の基礎! - IBMpublic.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/Domino...Domino Document Manager、Lotus Discovery Server、Lotus Extended Search、Lotus Workplace

IBM Software Group | Lotus software

28

データ交換のために XMLを利用したLotus Domino Web アプリケーションを作成する

Page 29: Lotus Domino XML活用の基礎! - IBMpublic.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/Domino...Domino Document Manager、Lotus Discovery Server、Lotus Extended Search、Lotus Workplace

IBM Software Group | Lotus software

29

データ交換に使える Lotus Domino Webアプリケーションを作成する

簡単に自動で持ってくる反面、要素名が固定要素名が長く、階層深い必要以外のデータが含まれているデータ交換には不向き

?ReadViewEntries での特徴

データ交換のためには

必要な要素名のみを使う交換しやすいように要素を決定する

Page 30: Lotus Domino XML活用の基礎! - IBMpublic.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/Domino...Domino Document Manager、Lotus Discovery Server、Lotus Extended Search、Lotus Workplace

IBM Software Group | Lotus software

30

xml のタグを直接ビューに含めるような設計にする

列の先頭/末尾に文書を示すタグを含める

各列に文書の要素を示すタグを含める

View の設定

データ交換に使える Lotus Domino Webアプリケーションを作成する

xml のルートタグがxml のタグ

を含めることが出来ないため、このままでは使用できない。

Page 31: Lotus Domino XML活用の基礎! - IBMpublic.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/Domino...Domino Document Manager、Lotus Discovery Server、Lotus Extended Search、Lotus Workplace

IBM Software Group | Lotus software

31

1. page に埋め込みビューとしてビューを埋め込む[作成 - 埋め込み設計要素 – ビュー]ヘッダの内容もブラウザーに渡されるので、必要なければオフにする

page の設定

データ交換に使える Lotus Domino Webアプリケーションを作成する

Page 32: Lotus Domino XML活用の基礎! - IBMpublic.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/Domino...Domino Document Manager、Lotus Discovery Server、Lotus Extended Search、Lotus Workplace

IBM Software Group | Lotus software

32

2. page に必要なタグを埋め込む

page の設定

データ交換に使える Lotus Domino Webアプリケーションを作成する

Page 33: Lotus Domino XML活用の基礎! - IBMpublic.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/Domino...Domino Document Manager、Lotus Discovery Server、Lotus Extended Search、Lotus Workplace

IBM Software Group | Lotus software

33

3. ブラウザーに表示できる設定を行う

ビューの設定 → ビューの設定を HTML として扱う

埋め込みビューの設定 → HTML を使用

ページの設定 → コンテントタイプ text/xml (xml island などを使い html データにしたい場合には、 html をチェック)

page の設定

データ交換に使える Lotus Domino Webアプリケーションを作成する

Page 34: Lotus Domino XML活用の基礎! - IBMpublic.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/Domino...Domino Document Manager、Lotus Discovery Server、Lotus Extended Search、Lotus Workplace

IBM Software Group | Lotus software

34

データ交換に使える Lotus Domino Webアプリケーションを作成する

直接ビューに表示する文書数を操作する方法がないビューに SELECT 文を追加してビューで文書を振り分ける

メンテナンスフィールドの追加/変更には注意を払う

注意事項

Page 35: Lotus Domino XML活用の基礎! - IBMpublic.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/Domino...Domino Document Manager、Lotus Discovery Server、Lotus Extended Search、Lotus Workplace

IBM Software Group | Lotus software

35

DXL を使い Lotus Domino Webアプリケーションを作成する

サンプルのご紹介

Page 36: Lotus Domino XML活用の基礎! - IBMpublic.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/Domino...Domino Document Manager、Lotus Discovery Server、Lotus Extended Search、Lotus Workplace

IBM Software Group | Lotus software

36

フォームで XML を利用する

フォームは必ずしも XML 化を行う必要はありません。

ビューだけで機能が充足されるのであれば、必ずしも XML 化を行う必要はない。

場合によっては複雑な処理やメンテナンスが必要になる場合がある

Page 37: Lotus Domino XML活用の基礎! - IBMpublic.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/Domino...Domino Document Manager、Lotus Discovery Server、Lotus Extended Search、Lotus Workplace

IBM Software Group | Lotus software

37

ビューデータベースにひもづけられた設計要素であり、データベースに複数作成することが可能。

フォーム文書にひもづけられた設計要素であり、基本的に文書に一つのみ。

フォームを DXL を用いて表現する

フォームの XML化 - ビューとフォームの特性の違い

Page 38: Lotus Domino XML活用の基礎! - IBMpublic.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/Domino...Domino Document Manager、Lotus Discovery Server、Lotus Extended Search、Lotus Workplace

IBM Software Group | Lotus software

38

簡単なフォームで、表現力が必要でない場合

機能的に必要でなければ、無理に XML にしない(DHTML と CSS で十分

な場合もある)

Lotus Domino Designerで作成したフォームは自動変換によりブラウザー

に表示可能

Form を XML で表現したい場合

フォームのプロパティのデフォルトタブの Webアクセス内、コンテントタイプに [HTML] またはその他にチェックを入れ “text/xml” を指定する

Lotus Notesとブラウザー両方からアクセスする場合には、

そのための仕組みを実装することが必要

DXL を使い Lotus Domino Webアプリケーションを作成する

フォームの XML化 - 実装方法

Page 39: Lotus Domino XML活用の基礎! - IBMpublic.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/Domino...Domino Document Manager、Lotus Discovery Server、Lotus Extended Search、Lotus Workplace

IBM Software Group | Lotus software

39

DXL を使い Lotus Domino Webアプリケーションを作成する

フォームの XML化 - Lotus Notes とブラウザーのためのフォームの切り分け方法の例

フォーム内の非表示式で切り分ける

一つのフォーム内の非表示式で Web と Lotus Notes を切り分ける

設計が複雑になりやすいので注意

パススルー HTML を使用する

Lotus Notes 使用時のデザインが通常と異なる

計算結果のサブフォームを利用する

フォームの中に Lotus Notes/ Web で表示するサブフォームを埋め込む

@Clienttype, @Browserinfo などを利用する

同じ別名を持つフォームを作成する

設計要素のプロパティの設定で、使用するフォームを変更する

Page 40: Lotus Domino XML活用の基礎! - IBMpublic.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/Domino...Domino Document Manager、Lotus Discovery Server、Lotus Extended Search、Lotus Workplace

IBM Software Group | Lotus software

40

DXL を使い Lotus Domino Webアプリケーションを作成する

サンプルのご紹介

Page 41: Lotus Domino XML活用の基礎! - IBMpublic.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/Domino...Domino Document Manager、Lotus Discovery Server、Lotus Extended Search、Lotus Workplace

IBM Software Group | Lotus software

41

サーバー・サイドで XML の生成を行う

Page 42: Lotus Domino XML活用の基礎! - IBMpublic.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/Domino...Domino Document Manager、Lotus Discovery Server、Lotus Extended Search、Lotus Workplace

IBM Software Group | Lotus software

42

サーバー・サイドで XML を生成する

サーバー・サイドで XML の生成を行う

長所

クライアント側に負荷がかかりづらい

柔軟なコーディングが可能

Lotus Script や Java で用意されている XML のクラスが使用できる (DOM parser/SAX)

短所

サーバーに負荷がかかる

Page 43: Lotus Domino XML活用の基礎! - IBMpublic.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/Domino...Domino Document Manager、Lotus Discovery Server、Lotus Extended Search、Lotus Workplace

IBM Software Group | Lotus software

43

サーバーサイドで XML を生成する

サーバー・サイドで XML の生成を行う

手順1. Lotus Domino Designerで処理を行うエージェントを作成

2. ブラウザーからエージェントを呼び出す

3. ブラウザーに結果が表示される

詳細はLotus Domino Designerヘルプ “LotusScript で XML を使用する“を参考

Page 44: Lotus Domino XML活用の基礎! - IBMpublic.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/Domino...Domino Document Manager、Lotus Discovery Server、Lotus Extended Search、Lotus Workplace

IBM Software Group | Lotus software

44

まとめ

XML 内で XSL を指定してブラウザーで表示する

page/form ではこの方法が使用できる。

?ReadViewEntries では直接この方法は利用できない

xsl はブラウザーの種類により大きく依存する

XML と スクリプト言語、 DHTML、CSS などを組み合わせて使用する

ご紹介したすべての設計要素で使用できる

スクリプト言語はブラウザーの種類に依存する部分がある

クライアントの負荷に注意。

サーバー側で XML データを処理し、 HTML データとしてブラウザーに渡す。

柔軟なコーディングが可能だが、若干難度が高い

標準的なHTML をクライアント側に渡せば、クライアントにはほぼ依存しない。

サーバー側の負荷に注意

アプリケーション作成の指針(XML 化の実装方法)

Page 45: Lotus Domino XML活用の基礎! - IBMpublic.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/Domino...Domino Document Manager、Lotus Discovery Server、Lotus Extended Search、Lotus Workplace

IBM Software Group | Lotus software

45

参考:XML関連の資料

DXL に関する資料

Lotus Domino Designerでの XML のエクササイズ

http://www-6.ibm.com/jp/domino07/lotus/home.nsf/Content/DN5_X_XML_Designer

XML Powered by Domino How to use XML with Lotus Domino (英語)

http://www.redbooks.ibm.com/redbooks.nsf/0/7fccf9355f830c15852569510043ef2a?OpenDocument

(管理者ヘルプ)XML の生成にビューを使用する

Page 46: Lotus Domino XML活用の基礎! - IBMpublic.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/Domino...Domino Document Manager、Lotus Discovery Server、Lotus Extended Search、Lotus Workplace

IBM Software Group | Lotus software

46

参考:XML関連の資料

?ReadviewEntries に関する資料

Using Domino data in Web Applications: XML lessons from iNotes Web Access (英語)

http://www-10.lotus.com/ldd/today.nsf/Lookup/XML_iNotes

Creating dynamic categorized views (英語)

http://www-10.lotus.com/ldd/today.nsf/lookup/DynamicCategorizedViews

xml islands に関する資料

Lotus Domino Designerで XML データ・アイランドを使うhttp://www-6.ibm.com/jp/domino07/lotus/home.nsf/Content/DN5_X_20000501-1

Page 47: Lotus Domino XML活用の基礎! - IBMpublic.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/Domino...Domino Document Manager、Lotus Discovery Server、Lotus Extended Search、Lotus Workplace

IBM Software Group | Lotus software

47

参考:Web化に関する資料

Web 化全般に関する資料

Building dynamic collapsible views for Web applications(英語)

• http://www-10.lotus.com/ldd/today.nsf/Lookup/DynamicCollapsibleViews

Webifying an existing Notes Application(英語)

• http://www-10.lotus.com/ldd/today.nsf/lookup/Webifying_Notes_applications

Domino URL 虎の巻

• http://www-6.ibm.com/jp/domino07/lotus/home.nsf/Content/DN5_X_Domino_URL_cheat_sheet

(管理者ヘルプ)Notes および Web アプリケーションを設計するためのヒント

Page 48: Lotus Domino XML活用の基礎! - IBMpublic.dhe.ibm.com/software/dw/jp/lotus/ldd_tech/Domino...Domino Document Manager、Lotus Discovery Server、Lotus Extended Search、Lotus Workplace

IBM Software Group | Lotus software

48

付録:用語集

xml Document Object model。XML にアクセスするための API。階層化構造。

xmlDOM

HTML 内に存在する xml 文書。 <xml></xml> タグで括られる。xml island

見栄えのための情報を記述したもの。CSS などが含まれる。スタイルシート

Lotus Notes/Domino R5 から使用できる設計要素で、フォームと似ているが文書にはひもづいていない。HTML などの記述も可能

ページ

データベースの文書の位置情報を示す一意の IDNoteID

Universal IDの略。Lotus Notes/Dominoの文書を一意として識別するための ID。すべてのレプリカDB上の同じ文書には、同じ UNID が振られる。

UNID

URL の引数として URL の後ろに付けるコマンド文。サーバー側で処理するための引数として使われる。

URL コマンド

Dynamic に XML 文書にアクセスするための API。Dynamic XML

タグ定義を行う文書の広義。DTD や XML Schema がそれにあたる。スキーマ言語

埋め込まれたタグの定義を行う定義文書DTD

XML のスタイルを記述するための言語XSL

Domino DTD で制定されている Lotus Domino 用の XMLDXL

マークアップ言語の一つ。任意のタグを埋め込んでデータを表現できる。XML