レベル: 初級 小野 充志 (onoat@jp.ibm.com), WPLC&PvCソリューション開発 / ソフトウェア開発研究所, IBM
2007年 2月 16日
前回(Lotus Expeditor6.1入門(1)~Expeditor概要~)の記事では、Lotus Expeditor 6.1の概要を紹介しました。Lotus Expeditor ClientがEclipse RCPをベースとして構築されていること、このEclipse RCPをベースに企業向けリッチクライアントのプラットフォームとしてさまざまな機能を搭載していることなどを、ご理解いただけたと思います。本稿では、Lotus Expeditor 6.1 Client上で動作するアプリケーションをLotus Expeditor 6.1 Toolkitを使用して実際に開発する手順をご紹介します。
Lotus Expeditor 6.1Toolkitによるアプリケーション開発
Lotus ExpeditorはEclipse RCPを拡張したプラットフォームであるため、その上で動作するアプリケーションはEclipse Plug-inとして開発します。通常のEclipse Plug-in開発と同様の手順でExpeditorアプリケーションを開発できますが、JREやターゲット・プラットフォーム、プラグインの依存関係などはLotus Expeditorで使用されている特有の環境に設定した上で開発を行う必要があります。これらの開発環境を提供してくれるのがLotus Expeditor 6.1 Toolkitです。Toolkitをインストールすれば、上記の開発環境設定をすべて自動で行うことができます。
Toolkitは以下のいずれかの開発環境にプラグインとしてインストールすることが可能です。
- Rational Application Developer (RAD) 7.0
- Rational Software Architect (RSA) 7.0
- WebSphere Application Server Toolkit (AST) 6.1.1
- Eclipse 3.2.1 + Web Tools Project (WTP) 1.5.1
本稿では、Eclipse3.2.1 + WTP1.5.1上にToolkitをインストールして開発を行っていきます。なお、Eclipse + WTPの環境では、サンプル・ギャラリーやポートレット・ツールなどの一部の機能を使用することができません。これらを含めたToolkitのフル機能を使用したい場合には、RAD, RSAまたはASTにToolkitをインストールして開発を行ってください。
開発環境の構築
Eclipse3.2.1 + WTP1.5.1のインストール
Lotus Expeditor 6.1 Toolkitをインストールする前提開発環境として、本稿ではEclipse3.2.1 + WTP1.5.1をインストールします。これらはこちらのサイトからダウンロードすることが可能です。また、必要に応じてLanguageパックもインストールしてください。(なお、Eclipse3.2.1を使用するには、お手持ちの環境にJRE1.5がインストールされている必要があります。)
Lotus Expeditor 6.1 Toolkit のインストール
Lotus Expeditor 6.1 ToolkitをEclipse + WTPにインストールします。Eclipseを起動し、メニューから「ヘルプ」->「ソフトウェアの更新」->「検索およびインストール」を選択し、インストールする新しいフィーチャーとしてToolkitのフィーチャーを指定することでToolkitのインストールを行います。詳しい手順については、Toolkitに同梱のインストール・ガイドに記述されていますので、そちらを参考にしてください。
Eclipseの設定
ToolkitをインストールしてEclipseを再起動すると、「Lotus Expeditor Toolkitを自動で設定しますか?」というダイアログが表示されます(図1)。ここで「OK」をクリックすると、Lotus Expeditor Toolkitを使用するためのデフォルトJREの設定(jclDesktop Win32 x86)やターゲット・プラットフォームの設定(eclipse_dir\plugin\com.ibm.pvc.wct.runtimes_6.1.0.0-20061108\eclipse)が自動で行われます。「キャンセル」をクリックした場合にはこれらの設定は行われないため、Eclipseを再起動してダイアログを再度表示させて設定するか、あるいは手動で設定する必要があります。
なおこのダイアログは、使用するワークスペースにLotus Expeditor Toolkitの設定がされていない場合、起動ごとに毎回表示されます。一度「OK」ボタンをクリックして設定が完了すれば、そのワークスペースに対するLotus Expeditor Toolkitの設定が保持され、次回起動時以降ダイアログが表示されなくなります。
(図1) Lotus Expeditor Toolkitの環境設定ダイアログ
ウィザードによるExpeditorサンプル・アプリケーションの作成
Lotus Expeditor 6.1 Toolkitをインストールして開発環境構築が終わったら、いよいよアプリケーションの開発です。ここではウィザードを元にリッチ・サンプル・アプリケーションを作成します。
まず、メニューから「ファイル」->「新規」->「プロジェクト」を選択します。新規プロジェクトウィザードに「Client Services」というカテゴリーが追加されているので、その中から「Client Servicesプロジェクト」を選択して「次へ」ボタンをクリックします。
(図2) プロジェクトの作成(1) - Client Serviceプロジェクトの選択
プロジェクト名を入力します。ここでは「SampleApp」として、「次へ」ボタンをクリックします。
(図3) プロジェクトの作成(2) - プロジェクト名の入力
プラグインIDやプラグイン名などのプラグイン関連情報を入力します。ここではデフォルトのまま「次へ」ボタンをクリックします。
(図4) プロジェクトの作成(3) - プラグインのプロパティ設定
プロジェクトがターゲットとするフィーチャーを選択します。ここでチェックをつけたフィーチャーに属するプラグインが、このプロジェクトのプラグイン依存関係に自動で追加されます。もし使用したいフィーチャーがあれば、ターゲット・フィーチャーとしてそのフィーチャーにチェックを付けてください。
ここで作成するリッチ・サンプル・アプリケーションは特に追加のフィーチャーを使用しないので、デフォルトの「Eclipse Core Components」のみを選択した状態で「次へ」ボタンをクリックします。
(図5) プロジェクトの作成(4) - ターゲット・フィーチャーの選択
作成するプラグインのテンプレートを選択します。ここでは「基本リッチ・サンプル・アプリケーション」を選択して、「次へ」ボタンをクリックします。(特にテンプレートを使用したくない場合は、「以下のテンプレートを使用してプラグインを作成」のチェックを外して、「次へ」ボタンをクリックしてください。)
(図6) プロジェクトの作成(5) - テンプレートの選択
基本リッチ・サンプル・アプリケーションをテンプレートとして選択した場合、そのアプリケーションのウインドウ・タイトル、アプリケーションID、Javaパッケージ名、アプリケーション・クラスを指定する画面が続きます。ここではデフォルトの名前のまま「終了」ボタンをクリックします。
(図7) プロジェクトの作成(6) - アプリケーションの設定
以上でウィザードは終了です。パッケージ・エクスプローラを見ると、自動でサンプル・アプリケーションが作成されていることがわかります。ここで、作成されたサンプル・アプリケーションのplugin.xmlを開き、「拡張」タブを選択してみます。すると「com.ibm.eswe.workbench.WctApplication」という拡張ポイントが拡張されていることがわかります(図8)。これは作成したサンプル・アプリケーションのパースペクティブをExpeditor上でアプリケーションとして表示するための設定であり、Expeditor上で動作するSWTアプリケーションには必須となる設定です。このように、ウィザードを使用することによって、ここに挙げたplugin.xmlの設定やJREのライブラリの設定など、Expeditor上で動作するアプリケーション特有の設定をすべて自動で行うことができます。
また、図6でテンプレートを指定した場合、ビューやパースペクティブに関するJavaのコードも自動で生成されます。このJavaのコード自体は通常のEclipse Plug-inアプリケーションでのJavaコードと同じで、Expeditor特有のコードはありません。したがって、Eclipse Plug-in開発に倣って生成されたコードに変更を加えていけば、独自のアプリケーションを作成することが可能です。
(図8) 自動生成されたリッチ・サンプル・アプリケーションのプロジェクトとplugin.xmlの設定
ローカル開発環境でのExpeditorアプリケーションの実行
開発したアプリケーションの動作を検証するために、Toolkitをインストールしたローカルの開発環境でExpeditorアプリケーションを実行することができます。ここでは、先ほど作成したリッチ・サンプル・アプリケーションを元にして実行手順を紹介します。
まず、作成したアプリケーションのプロジェクトを選択し、メニューから「実行」->「構成および実行」を選択します。左側のリストに「Client Services」というカテゴリーが追加されているので、これを選択してダブルクリックします。すると、「新規構成」という名前の新しい構成が作成されます。このままでも問題はありませんが、例えば分かりやすいように名前の部分を「新規作成」から「SampleApp」に、またメイン・タブのロケーションのフィールドで、「.../runtime-新規作成」の部分を「.../runtime-SampleApp」として、この構成に名前を付けておきます。これ以外の複雑なパラメータなどは自動的に設定されているため、あとは右下の「適用」ボタンをクリックして構成を保存した上で「実行」ボタンをクリックすれば、ローカル開発環境でアプリケーションが開始します。
(図9) テスト実行環境の構成設定
起動したLotus Expeditor上で、まずパスワードを入力する画面が表示されます。初回はパスワードを決めることができますので、適当にパスワードを決定して入力してください。2回目以降に起動する際には、初回に入力したパスワードを入力してください。
(図10) Expeditor初回起動時のパスワード入力画面
パスワード入力が完了すると、Lotus Expeditor上でアプリケーションが実行されます。ここでは、「開く」->「Client Service Sample Rich Application」を選択すると、作成したリッチ・サンプル・アプリケーションのパースペクティブが起動します。このサンプル・アプリケーションは、ビュー上の「click me!」ボタンをクリックするとメッセージボックスが表示される、という非常にシンプルなものであることを確認できます。
(図11) テスト実行したリッチ・サンプル・アプリケーション
以上でテスト実行の手順は終了です。Lotus Expeditorを閉じればテスト実行は終了します。実行時のログなどは、開発環境上のコンソールに表示されます。また、通常のEclipse IDEでのJavaアプリケーション開発と同様、ブレイクポイントなどを設定してデバッグモードで実行することも可能ですので、必要に応じて使用してみてください。
アプリケーションのパッケージング
作成したPlug-inアプリケーションをLotus Expeditor Clientに配布してインストールできるようにするためには、Plug-inをJAR形式にし、それを「フィーチャー」と呼ばれる単位でパッケージングする必要があります。フィーチャーは、複数のPlug-inを1つのアプリケーションとしてまとめたもので、アプリケーションのインストール/アンインストールの単位となります。フィーチャーの実体は、feature.xmlという名のXMLファイルで、この中にどのPlug-inを必要としているかなどの情報がまとめられています。まずは、フィーチャー・プロジェクトを作成する手順を紹介します。
フィーチャー・プロジェクトの作成
まず、メニューから「ファイル」->「新規」->「プロジェクト」を選択します。新規プロジェクトウィザードに「Plug-in Development」というカテゴリーがありますので、その中から「Feature Project」を選択して「次へ」ボタンをクリックします。
(図12) フィーチャー・プロジェクトの作成(1) - Feature Projectの選択
プロジェクト名を入力します。ここでは「SampleAppFeature」として、「次へ」ボタンをクリックします。
(図13) フィーチャー・プロジェクトの作成(2) - プロジェクト名の入力
次に、このフィーチャーに含めるプラグインを選択します。ここでは、先ほど作成してテスト実行したサンプル・アプリケーションである「SampleApp」プラグインを選択して、「終了」ボタンをクリックします。
(図14) フィーチャー・プロジェクトの作成(3) - フィーチャーに含めるプラグインの選択
以上でフィーチャー・プロジェクトの作成は完了です。プロジェクトの中にfeature.xmlというファイルが作成されます。feature.xmlを開き、「プラグイン」タブを選択すると、先ほど選択した「SampleApp」プラグインがこのフィーチャーに必要なPlug-inとしてリストアップされていることがわかります。
(図15) フィーチャー・プロジェクトの作成(4) - feature.xmlの確認
リストアップされている「SampleApp」をダブルクリックすると、SampleAppプラグインのplugin.xmlが開きます。plugin.xmlの中で「ビルド」というタブを開くと、パッケージングのときにPlug-inのJARファイルに含めるファイルを指定することができます。JARファイルに含めたいファイルがある場合には、ここでチェックを付けておくようにしてください。なお、plugin.propertiesファイルにデフォルトでチェックが付いていない場合があるので、その場合にもここでチェックを付けてplugin.xmlを保存しておいてください。
(図16) plugin.xmlのビルド設定の確認
サイト・プロジェクトの作成
作成したフィーチャーは、「サイト」という形で公開することができます。サイトとは「更新サイト」のことで、サイトにいろいろなフィーチャーを登録しておくと、Lotus Expeditor Clientからそのサイトにアクセスしてインストール/アップデートしたいフィーチャーを選択できるようになります。
このサイト・プロジェクトを作成する手順を紹介します。まず、メニューから「ファイル」->「新規」->「プロジェクト」を選択します。フィーチャー・プロジェクト作成の時にも利用した「Plug-in Development」というカテゴリーの中から、「Update Site Project」を選択して「次へ」ボタンをクリックします。
(図17) サイト・プロジェクトの作成(1) - Update Site Projectの選択
プロジェクト名を入力します。ここでは「SampleAppSite」として、「終了」ボタンをクリックします。
(図18) サイト・プロジェクトの作成(2) - プロジェクト名の入力
サイト・プロジェクトが作成されると、site.xmlというファイルが専用エディターによって自動で開かれます。site.xmlの中で「サイト・マップ」タブを開き、「フィーチャーの追加」ボタンを選択します。
(図19) サイト・プロジェクトの作成(3) - フィーチャーの追加
フィーチャーの選択で、先ほど作成したフィーチャーの名前である「SampleAppFeature」を入力し、表示された「SampleAppFeature(1.0.0)」を選択して「OK」ボタンをクリックします。
(図20) サイト・プロジェクトの作成(4) - フィーチャーの選択
site.xmlのサイト・マップに、先ほど選択した「SampleAppFeature」が追加されます。これを選択して「ビルド」ボタンをクリックすると、フィーチャーおよびPlug-inのビルドが開始します。
(図21) サイト・プロジェクトの作成(5) - フィーチャーのビルド
ビルドが完了すると、サイト・プロジェクトの中にフィーチャー(features)とPlug-in(plugins)の2つのフォルダーが作成され、その中にそれぞれビルドされたJARファイルが生成されます。
(図22) サイト・プロジェクトの作成(6) - ビルド完了
あとはこのサイト・プロジェクトをエクスポートして、Webサイトなどで公開してLotus Expeditor Clientからアクセスできるようにするだけです。Webサイトでなくてもローカルのファイルシステム、またはZIP/JAR形式の圧縮ファイルでもLotus Expeditor Clientからアクセス可能です。
以上でアプリケーションのパッケージングは終了です。Eclipse Plug-inアプリケーションを開発してパッケージングしたことのある方は、その際の手順と全く同じであることに気付かれたことと思います。その通り、Lotus Expeditorのアプリケーションは、Eclipse Plug-inと全く同じ手順でパッケージングすることが可能なのです。
パッケージングしたアプリケーションのLotus Expeditor Clientへのインストール
次に、パッケージングしたアプリケーションを実際にLotus Expeditor Clientにインストールしてみます。
まず、Lotus Expeditor Clientを起動してログインしてください。ログイン後、メニューから「ファイル」->「アプリケーション」->「インストール」を選択します。
(図23) アプリケーションのインストール(1) - インストールメニューの選択
フィーチャーの更新ダイアログで、「インストールする新しいフィーチャーの検索」を選択して、「次へ」ボタンをクリックします。
(図24) アプリケーションのインストール(2) - フィーチャーの更新
次に、アプリケーションのロケーションを指定します。ロケーションで指定するのはサイトの場所です。Webサイトで公開されている場合には「リモート・ロケーションの追加」を、ローカルのフォルダーにある場合には「フォルダー・ロケーションの追加」を、ZIP/JARファイル形式でローカルに保管してある場合には「ZIP/Jarファイル・ロケーションを追加」を選択します。
ここでは、先ほど作成した更新サイト・プロジェクトのフォルダーを直接参照しますので、「フォルダー・ロケーションの追加」ボタンをクリックします。
(図25) アプリケーションのインストール(3) - ロケーションの追加
フォルダの参照ダイアログで、先ほど作成したサイト・プロジェクトのあるフォルダ(このEclipse開発環境で使用しているワークスペース・フォルダの下にあるはずです)を選択し、「OK」ボタンをクリックします。
(図26) アプリケーションのインストール(4) - サイト・プロジェクトのフォルダを選択
ローカル・サイトの編集ダイアログが表示されます。ここでサイトの名前を編集することができます。ここではそのままの名前で「OK」ボタンをクリックします。
(図27) アプリケーションのインストール(5) - ローカル・サイトの編集
アプリケーションのロケーションの追加が完了したら、追加したロケーションにチェックを付けて「終了」ボタンをクリックします。
(図28) アプリケーションのインストール(6) - ロケーションの追加完了
選択したサイトに登録されているフィーチャーの一覧が表示されます。この中から、先ほど作成した「SampleAppFeature フィーチャー 1.0.0」にチェックを付けて、「次へ」ボタンをクリックします。
(図29) アプリケーションのインストール(7) - インストールするフィーチャーの選択
フィーチャーのライセンス同意画面が表示されます。「使用条件の条項に同意します」にチェックを付けて「次へ」ボタンをクリックします。
(図30) アプリケーションのインストール(8) - フィーチャー・ライセンスへの同意
インストールするフィーチャーの一覧が表示されます。先ほど選択した「SampleAppFeature フィーチャー 1.0.0」が表示されていることを確認して、「終了」ボタンをクリックします。すると、アプリケーションのインストールが開始します。
(図31) アプリケーションのインストール(9) - インストールするフィーチャーの確認
インストールが完了すると、Lotus Expeditor Clientの再起動ダイアログが表示されます。「はい」ボタンをクリックしてLotus Expeditor Clientを再起動してください。
(図32) アプリケーションのインストール(10) - 再起動ダイアログ
再起動後、Lotus Expeditor Clientの「開く」メニューに「Client Service Sample Rich Application」が追加されています。起動すると、作成したリッチ・サンプル・アプリケーションのパースペクティブが起動します。図11でローカルのテスト環境上で実行した際と同じアプリケーションがインストールされたことを確認できます。
(図33) アプリケーションのインストール(11) - インストールされたアプリケーションの実行
以上でLotus Expeditor Clientへのアプリケーションのインストールが完了です。
まとめ
本稿では、Lotus Expeditor Client上で動作するアプリケーションを作成する手順を説明しました。Eclipse Plug-in開発を行ったことのある方であれば、アプリケーション作成の手順や方法がEclipse Plug-in開発とほとんど同じであることをご理解いただけたでしょう。また、今までEclipse Plug-inを作成したことのない方でも、Eclipse Plug-inの開発はオープンなテクノロジーですので、誰でも情報を入手して開発を進めることが可能です。Eclipse Plug-in開発を少し試してみていただくだけで、あっという間にLotus Expeditorアプリケーション開発へと取り組んでいけるようになります。Eclipse RCPというオープンなテクノロジーをベースにすることで、アプリケーション開発がより容易になったことを実感できることでしょう。
次回は、より実践的なアプリケーション作成の例として、SWTアプリケーションやPortalアプリケーション、さらにそれらを組み合わせたCompositeアプリケーションを作成する手順を、サンプル・コードを元にご紹介します。
参考文献
著者について  | |  | 筆者は2003年入社後、ソフトウェア開発研究所・PvC開発に配属、主にPvC製品のサービス・プロジェクトに従事し、Expeditorの前身であるWCTMEを使用したプロジェクトなどに携わってきました。昨年9月Workplaceプロジェクト配属となり、Workplace FormsやLotus Expeditorなどを初めとしたWorkplace製品に携わり始めたばかりの新米です。現在、Workplace 製品のアプリケーションの開発に取り組んでいる ISV/BP様に対する技術支援を行っています。趣味はサッカーで、週末によくフットサルなどをやります。ポジションはキーパー以外お断りです。先日2ヵ月ぶりくらいにちょっとレベルが高めのフットサルの大会に参加したところ、キーパーしかやっていないのに翌日から筋肉痛が3日も続き、あまりの体の衰えにショックを受けてジムに通おうかと悩み始めた今日この頃です。 |
記事の評価
|