IBM®
本文へジャンプ
    Japan [変更]    ご利用条件
 
 
検索範囲検索:    
    ホーム    製品    サービス & ソリューション    サポート & ダウンロード    マイアカウント    
skip to main content

developerWorks Japan  >  Lotus  >

IBM Lotus Notes 8 技術概説

Lotus 特集

developerWorks
ページオプション

JavaScript を要するドキュメントオプションは表示されません


レベル: 初級

佐藤 淳 (acchan@jp.ibm.com), WPLC 開発 & サービス WPLC Business Partner Technical Enablement/ソフトウェア開発研究所, IBM

2007年 6月 15日

2007 年 5 月に公開された IBM Lotus Notes 8 のベータ3モジュールをインストールし、IBM Lotus Notes 8 で実現されるクライアント環境の革新的な進化を体験済みの読者も多くいらっしゃるのではないかと思います。約20 年前に誕生し、今までに 7 回のメジャー・バージョンのリリースを経て、非常に完成度の高いPIM (Personal Information Management) や高度な情報共有の機能を提供するコラボレーション・プラットフォームへと成長してきたIBM Lotus Notes が、8 回目のメジャー・バージョンのリリースにて今まで以上に大きな飛躍を遂げようとしています。本稿では、IBM Lotus Notes 8 のベータ3モジュールをベースに、IBM Lotus Notes 8 が提供予定の新機能や大きく変更されたクライアント・プラットフォームのアーキテクチャーの紹介、ならびにIBM Lotus Notes 8 で実現可能な革新的なアプリケーション開発手法についてわかりやすく紹介します。

IBM Lotus Notes 8 の新機能の紹介

IBM Lotus Notes 8 (以下 Notes 8) では、より最適なコラボレーション・プラットフォーム、より優れたユーザー・エクスペリエンスを実現するために、新機能として以下のものが提供される予定となっています。

<全体的な新機能>

  • リッチテキスト・エディター上でのインラインスペルチェック機能
  • リッチテキスト・エディター上での MIMEレンダリング機能
  • 強化されたネームルックアップ機能
  • 様々なレベルでの「アンドゥー」機能
  • 「Open」ボタンの追加
  • 複数のウィンドウテーマの提供
  • 統一されたプリファレンスの提供
  • Notes ビュー上での Windows ライクな文書選択機能

図1. Notes 8 の画面イメージ
図1. Notes 8 の画面イメージ

<メールにおける新機能>

  • 対話形式でのスレッド表示機能
  • プリビュー機能強化 (下部への表示、横への表示が選択可能)
  • 送信メールのリコール機能
  • 「Out of Office」 機能の強化

<カレンダーにおける新機能>

  • 空き時間検索機能の強化
  • 未返答の会議招集をカレンダービュー上での表示機能

<個人アドレス帳における新機能>

  • 最近コラボレーションを行った人の検索機能
  • 最近コンタクトした人の検索機能
  • 名刺ライクな表示機能
  • 代理人の設定機能

以上のように、Notes 8 ではコラボレーション・プラットフォームとしての完成度をより高めるための新機能が豊富に搭載される予定になっています。上記以外にも多くの新機能の提供が予定されていますが、その中でも非常にインパクトの大きな点を2つ紹介します。

1 点目は、標準化団体 OASIS で標準化されたオフィス・ファイルのフォーマット規格である ODF (Open Document Format) に対応したオフィス文書エディター機能の提供です。ODF については以下の URL を参照してください。

http://www.oasis-open.org/committees/office/

これにより、Notes 8上で、ODF に準拠したワープロ文書や表計算文書、プレゼンテーション文書の編集・閲覧が行えるようになりました。Microsoft Office 形式のファイルも高い互換性を保ちながらの編集・閲覧を行うことが可能です。この機能の提供により、Notes 文書に添付されているファイルの多くは、別途オフィス・アプリケーションを起動することなく Notes 8 上で扱うことが可能となりました(図2)。


図2. Notes 8 上で動作する ODF エディターでワープロ文書を開いた状態
図2. Notes 8 上で動作する ODF エディターでワープロ文書を開いた状態

2点目の注目すべき新機能は、Notes 8 と OS の間にクライアント・ミドルウェア技術を採用した点になります。詳細は次章で説明します。クライアント・ミドルウェア技術を採用することにより、従来は Lotus Domino Designer で設計された NSF ベースのアプリケーションしか動作しなかった Notes クライアント上で、Eclipse Plug-in 形式のアプリケーションも動作させることが可能となりました。これによって、今まで NSF の制限によって表現できなかった 3D などのリッチな GUI を持つアプリケーションを Notes 8 上でも動作させることが可能になりました。さらに、Eclipse Plug-in 形式で開発されたアプリケーションと従来の NSF ベースのアプリケーションとを連携させる仕組みも提供されました。連携を実現したアプリケーションはComposite Application と呼ばれ、NSF ベースのアプリケーションで発生したイベントを起点として他のテクノロジーで開発されたアプリケーションのデータを書き換えるなどといった、従来は実現不可能であったフロントエンドでのアプリケーション間のシームレス連携を、エンド・ユーザーにテクノロジーの違いを意識させることなく実現することが可能になりました。Composite Application により、従来はクライアント・アプリケーション上で人がコントロールしていたプロセスを、クライアント技術を用いて自動化することが可能となり、業務効率の向上を期待することができるようになります。

図3はこの Composite Application のサンプルになります。左上の2つのフレームと下側の 1 つのフレームがそれぞれ NSFベースのアプリケーションです。また右上にはEclipseアプリケーションが組み込まれています。これら3つのアプリケーションによって Composite Applicationが構成されており、それぞれのアプリケーション上の操作に連携して他のアプリケーションでの表示内容が自動的に変わるようになっています。


図3. Notes 8 上での Composite Application の例
図3. Notes 8 上での Composite Application の例

Composite Application の詳細については、次回の記事で説明します。

以上のように、Notes 8 では従来の Lotus Notes が持つコラボレーションのための機能を強化するだけでなく、新たなクライアント・プラットフォームとしての新機能が多く提供されます。ベータ版でその可能性を感じていただければ幸いです。





上に戻る


IBM Lotus Notes 8 のアーキテクチャー

Notes 8で提供される多くの新機能のうち、最も大きなインパクトを与えているのがアーキテクチャーの変更による Eclipse Plug-in 形式のアプリケーションの実行環境の提供です。この機能を実現するために、Notes 8 では OS と Notes 8 との間にクライアント・サイドのミドルウェア技術を採用しました。この技術は Lotus Expeditor という製品で提供されており、IBM Lotus Sametime 7.5のベース・テクノロジーとしても採用されています。ここで、Notes 8 のクライアント・スタックについて少し掘り下げて説明したいと思います。

図4を参照してください。OS に一番近レイヤーに存在するのは IBM Virtual Machine J9 です。バーチャル・マシンの採用によって OS の違いを意識する必要がなくなるというメリットがあります。そのバーチャル・マシンの上に位置しているのが Eclipse RCPです。Eclipse RCP は統合開発環境としてよく知られている Eclipse の実行環境部分のみを指しており、このEclipse RCP によって強力な GUI のフレームワークとPlug-in による高い拡張性が提供されています。また、Eclipse RCP が多くのプラットフォームをサポートしている関係で、Notes 8 では Windows 版のほかに Linux 版の提供も予定されています。また Mac OS 版も Notes 8 以降のリリースで提供予定となっています。その Eclipse RCP上 に、企業用のクライアントとして必要不可欠な機能(IBM Value-add Extensions)や、バックエンドに存在するビジネス・ロジックをクライアント・マシンで実行するためのサービス(Enterprise Access Service Components)が、 Eclipse Plug-in の形式で提供されています。この部分までを Lotus Expeditor で提供しています。Notes 8 は Lotus Expeditor 上に Notes の持つ機能を Eclipse Plug-in 形式で実装し、適用しています。つまり Notes 8 では Notes という機能を Eclipse Plug-in 形式にして Lotus Expeditor 上で動作していることになります。(Notes 8 では従来のアーキテクチャーで実装された Basic 版も提供予定です。)


図4. IBM Lotus Notes 8 Standard版のアーキテクチャー
図4. IBM Lotus Notes 8 Standard版のアーキテクチャー



上に戻る


IBM Lotus Notes 8 アプリケーション開発環境

本章以降で、Notes 8 上で動作する Eclipse Plug-in 形式のアプリケーションを開発する際の開発環境の構築方法を説明します。今回、統合開発環境にはEclipse Web Tool Platform (http://www.eclipse.org/webtools/main.php) を使用します。本稿では最新バージョンである Eclipse + WTP 1.5.4 を使用して説明します。Eclipse + WTP 1.5.4 のインストールモジュールは以下の URL からダウンロードすることが可能です。

Eclipse downloads - mirror selection

Eclipse + WTP 1.5.4 の導入はダウンロードしたモジュールをC:\ などの適当なディレクトリーに展開することをもってインストール完了となります。インストール後に eclipse.exe を実行し Eclipse を起動します。通常、 Eclipse Plug-in はインストールされた Eclipse に適用する Plug-inであるという前提で開発されます。適用する Eclipse の環境を Target Platform と呼び、デフォルトでは現在起動中の Eclipse が Target Platform として設定されています。今回、Notes 8 上に Plug-in を適用するので Target Platform を Notes 8 に含まれている Eclipse に設定します。設定手順は以下になります。


統合開発環境上で :

1. メニューバーよりWindow > Preferences を選択する。

2. Plug-in Development > Target Platform を選択する。

3. Location にNotes 8 のベースに適用されている Eclipse へのパスを入力する。これは <Notes がインストールされているパス>\framework\eclipse になる。

(例:C:\Notes\framework\eclipse)

ここまでの操作で図5のような画面になる。

4. OK をクリックし、Preferences ダイアログを閉じる。


図5. Target Platform の設定画面
図5. Target Platform の設定画面

次に、開発する Plug-in を動作させるための JVM を Notes 8 に含まれている JVM へ変更します。変更の手順は以下になります。


統合開発環境上で :

1. メニューバーより Window > Preferences を選択する。

2. Java > Installed JREs を選択し、Add をクリックする。

4. JRE Name に適当な名前を入力。(例 : Notes 8 JRE)

5. JRE home directory にNotes 8 に含まれている JRE のディレクトリーを設定する。

これは <Notes がインストールされているパス>\framework\ rcp\eclipse\plugins\

com.ibm.rcp.j2se.win32.x86_1.5.0.SR4-200705170110 になる。

(例 :

C:\Notes\framework\rcp\eclipse\

plugins\com.ibm.rcp.j2se.win32.x86_1.5.0.SR4-200705170110)

ここまでの操作で図6のような画面になる。

6.OK をクリックし、Add JRE ダイアログを閉じる。



図6. Installed JRE の設定画面
図6. Installed JRE の設定画面

Installed JREs にNotes 8 JRE が追加されていることを確認し、Notes 8 JRE の横にあるチェックボックスにチェックを入れてから、デフォルトで利用されるJREに指定して Preference 画面を閉じます。

以上で、Notes 8 をターゲットにした Eclipse Plug-in アプリケーションの開発する準備が整いました。次に、開発している、 Eclipse Plug-inを統合開発環境上での動作の確認やデバッグを行うための設定をします。設定方法は以下になります。


統合開発環境上で :

1. メニューバーから Run > Run… を選択する。

2. Eclipse Application を選択し、新規の設定を作成する。

3. Program to Run にて、Run a product を選択し、ドロップダウン・リストより com.ibm.notes.branding.notes を選択。また Runtime JRE には前ステップで設定した追加 Notes 8 用の JRE が指定されていることを確認する。

ここまでの操作で図7のような画面になる。


図7. Notes 8 用の実行とデバッグの設定画面
図6. Installed JRE の設定画面

4. Arguments タブに移動し、以下のパラメーターを設定する。

フィールド入力するパラメーター
Program arguments -personality com.ibm.rcp.platform.personality
-product com.ibm.notes.branding.notes
-debug
-console
-nl en_US
VM arguments -Xshareclasses
-Drcp.home=${rcp.home}
-Dcom.ibm.rcp.install.id=${install_id}
-Drcp.install.config=user
-Dosgi.install.area=${rcp.home}\eclipse
-Dcom.ibm.pvc.osgiagent.core.logfileloc=${rcp.home}\rcp
-Dcom.ibm.pvc.webcontainer.port=0
-Declipse.pluginCustomization=${rcp.home}\rcp\plugin_customization.ini
-Declipse.registry.nulltoken=true
-Djava.protocol.handler.pkgs=com.ibm.net.ssl.www.protocol
-Djava.util.logging.config.class=com.ibm.rcp.core.internal.logger.boot.LoggerConfig
-Dosgi.hook.configurators.exclude=org.eclipse.core.runtime.internal.adaptor.EclipseLogHook
-Dosgi.framework.extensions=com.ibm.rcp.core.logger.frameworkhook
-Xbootclasspath/a:${rcp.home}\rcp\eclipse\plugins\com.ibm.rcp.base_${rcp.base_version}\rcpbootcp.jar;

これらの設定がされると図8のような画面になる。


図8. Arguments の設定画面
図8. Arguments の設定画面

5. VM Arguments の下部にある Variables ボタンをクリックし、前ステップで設定したパラメーターの環境変数の設定を行う。

6. Edit Variables ボタンをクリックする。

7. New ボタンをクリックし、New String Substitution Variableダイアログで以下の値を入力する。(図9)


NameValue
rcp.home<Notes がインストールされているパス>\framework
(例 : C:\Program Files\Lotus\Notes\framework)

図9. 環境変数の設定画面
図9. 環境変数の設定画面

同様に以下の2つの変数を設定する。


NameValue
rcp.base_version<Notes がインストールされているパス>\framework\rcp\
rcplauncher.properties 内のrcp.base.location の値として書かれているcom.ibm.rcp.base_6.1.1.200705170110 のバージョン番号であるアンダースコア以降の数値を入力 (例 : 6.1.1.200705170110)
install_id<Notes がインストールされているパス>\framework\rcp\
rcplauncher.properties 内のrcp.install.idの値として書かれている数値を入力 (例 : 118005246415)

これらの設定がされると図10のような画面になる。


図10. 環境変数がセットされた後の Preferences 画面
図10. 環境変数がセットされた後の Preferences 画面
(拡大して表示)

8. CancelボタンをクリックしてPreferencesダイアログを閉じ、再度CancelボタンをクリックしてSelect Variableダイアログを閉じます。Select Variableダイアログで OK を選択してはいけません。

以上で、Plug-in の開発から実行、デバッグまでが統合開発環境上で行えるようになります。

最後に、 Lotus Expeditor のサンプルとして公開されているアプリケーションを Notes 8 上で動作させる方法を紹介します。サンプル・アプリケーションのファイルは以下の URL より入手することができます。

Lotus Expeditor 6.1入門 (3): コンポジット・アプリケーションの開発 ダウンロード

ダウンロードしたサンプル・コードを作業用ディレクトリーに展開します。Eclipse のメニューバーより Import > Generalで Import/Select ダイアログを表示し、Existing Projects into Workspace を選択してNext ボタンをクリックします。Import/Import Projects ダイアログでSelect Root Directory の値にサンプル・コードを展開した作業用のディレクトリーを指定して、Finish をクリックしてください。Eclipse にサンプル・コードが取り込まれます(図11)。


図11. サンプル・コードが取り込まれた Eclipse
図11. サンプル・コードが取り込まれた Eclipse

Lotus Expeditor と Notes 8 は共通のプラットフォーム上で実現された製品であるため、 Lotus Expeditor 用に作られたこのサンプル・コードはそのまま Notes 8 でも動作させることが可能です。以下の手順で動作確認を行います。


統合開発環境上で :

1. メニューバーより Run > Run… を選択する。

2. 設定済みの Notes 8 用の設定を選択し、Run構成 ボタンをクリックする。

3. Notes 8 にパスワードを入力する。

4. Open から Sample Composite Application を選択する。

Notes 8 上で Lotus Expeditor 用に開発されたサンプル・アプリケーションの動作が確認できます (図12)。このアプリケーションはリッチクライアント・アプリケーションとWebアプリケーションを連携して Composite Applicationにしたものです。左側のリッチクライアント・アプリケーションで入力した商品情報が、連携した右側のWebアプリケーションの表示に反映されます。


図12. Notes 8 上で動作するサンプル・アプリケーション
図12. Notes 8 上で動作するサンプル・アプリケーション

以上のステップで Notes 8 上で動作する Eclipse Plug-in 形式のアプリケーションの開発を行うことができます。




上に戻る


まとめ

Lotus Notes 8 では従来 Lotus Notes が提供していたコラボレーション機能をより強化し、企業の生産性を高めるために最良のコラボレーション・プラットフォームを提供するだけでなく、高い拡張性と柔軟性を備えたクライアント・プラットフォームとして大きな進化を遂げようとしています。クライアント・プラットフォームの機能はベースに Lotus Expeditor を採用することで実現し、また Lotus Expeditor アプリケーションも Lotus Notes 8 で動作させることが可能であり、プログラミングモデルの統一を図ることで開発生産性の向上も実現します。次世代のコラボレーション環境、クライアント・プラットフォームである IBM Lotus Notes 8 をぜひお試しください。



参考文献



著者について

佐藤 淳はソフトウェア開発研究所のWPLC開発 & サービスに属し、IBM Lotus Notes/Domino や IBM Lotus Sametime, IBM WebSphere Portal などすべての WPLC 製品に対応したアプリケーションの開発に取り組んでいる ISV/BP 様の技術支援を行っています。最近は、買い換えた携帯電話に付属しているゲームにどっぷりはまり通勤電車の中で一喜一憂しています。




記事の評価


サイト改善のため、ご意見をお寄せください。こちらのフォームからお願いいたします。



はいいいえわからない
 


 


54321
大変素晴らしい不充分・不完全である
 


上に戻る


    日本IBMについて プライバシー お問い合わせ