本文へジャンプ

Lotus > Lotus Developer Domain > 
   
 

IBM Workplace Managed Client Developer Toolkit のご紹介

 
   
 
コンテンツ
Workplace Managed Client Developer Toolkit
Workplace Managed Client アプリケーション
アプリケーション・ナビゲーター
クライアントでのアプリケーションの実行
Workplace サーバーへの Workplace Managed Client アプリケーションのデプロイメント
まとめ
リソース
筆者について(原文のまま)

Katherine Sewell, Software Engineer, IBM

レベル:中級
原文の掲載:2005年08月09日
更 新 日:2006年03月03日更新
原文はこちら


現在 alphaWorks で利用できる IBM Workplace Managed Client Developer Toolkit について紹介し、これを使用した IBM Workplace Managed Client アプリケーションの作成方法を解説します


IBM Workplace Managed Client (以前の IBM Workplace Client Technology, Rich Edition) は、サーバー管理型のコラボレーションをユーザーのデスクトップにもたらします。このコラボレーションはサーバーからの管理が可能で、システム管理者は各ユーザーに適したアプリケーションとコンテンツをサーバー上で決定できます。クライアントは、アプリケーション・コンポーネント(プラグインやフィーチャーなど)が必要に応じて管理サーバーからクライアント・マシンへダウンロードされるプロビジョニングを介して維持されます。Workplace Managed Client は Eclipse アーキテクチャーに基づいています。このアーキテクチャーは、カスタマイズと拡張が可能なアプリケーションを構築するためのフレームワークとして機能します。

IBM Workplace Managed Client Developer Toolkit は、新しいアプリケーションを用いて IBM Workplace Managed Client を拡張するアプリケーション開発者向けの Eclipse ツールキットです。新しいアプリケーションを開発して Workplace サーバーに配置する現在のプロセスは、エンタープライズ環境向けに設計されているため、少し複雑です。これに対し、ツールキットの機能を利用すると、前の Workplace での経験がなくても、簡単なアプリケーションを作成し、配置することができます。このツールキットは、Managed Client テクノロジーを初めて経験する開発者を対象とし、ビジュアルなアプリケーションを迅速に構築するための機能を提供することを目的としています。開発者は、サーバーによってプロビジョニングを行うアプリケーションのデプロイメント・プロセスを詳しく知らなくても、クライアント上でアプリケーションを直接テストしたり、デバッグすることが可能です。また、ツールキットには、サーバーのデプロイメントを簡素化する機能もあります。開発者に手順を示すウィザードを使用することで、ツールキットはアプリケーションの作成とデプロイメントに必要な時間を短縮します。ツールキットは、このWebサイト(US)からダウンロードできます。

この記事では、IBM Workplace Managed Client Developer Toolkit について解説します。この記事は、IBM Workplace および Eclipse製品にある程度慣れているアプリケーション開発者を対象に書かれています。

上に戻る

IBM Workplace Managed Client Developer Toolkit

前述のように、IBM Workplace Managed Client は Eclipse アーキテクチャーに基づいています。IBM Workplace Managed Client Developer Toolkit は、Eclipse プラグイン開発環境 (PDE) の拡張として提供されます。ツールキットは、Eclipse IDE または IBM Rational Application Developer IDE と共に使用できます。

このツールキットの目的は、Workplace Managed Client アプリケーションの作成と開発を支援することです。これを達成するための重要な機能として、ツールキットには [Application Wizard] があります。このウィザードは、Workplace Managed Client アプリケーションの作成プロセスを簡素化します。Workplace Managed Client アプリケーションは、いくつかの独立したプロジェクトで構成されています。このため、ツールキットは、アプリケーション自身のコンテキストでアプリケーション・プロジェクトの視覚化を可能にするナビゲーターを提供します。実行およびデバッグのメカニズムによって、Eclipse または Rational Application Developer IDE から直接アプリケーションをテストしたり、デバッグすることができます。ユーザー・クライアントへのプロビジョニングを管理する Workplace Collaboration Services サーバーへアプリケーションをデプロイするために、Workplace Managed Client アプリケーションのデプロイ可能なセットをエクスポートするエクスポート機能があります (「デプロイ可能なセット」は、プロビジョニング・サーバーへのデプロイメントを容易にするいくつかのファイルで構成されます)。次のセクションで、これらの機能について詳しく説明します。

上に戻る

Workplace Managed Client アプリケーション

Workplace Managed Client アプリケーションは、ツールキットによって提供される新しいプロジェクト・タイプです。これは、Eclipse プラグイン開発環境のフィーチャー・プロジェクト・タイプの拡張で、フィーチャー・プロジェクトの要素を維持しますが、アプリケーションのタイトルとアイコンを指定することもできます。アプリケーションのタイトルとアイコンはクライアントのアプリケーション切り替えバーのユーザー・インターフェースに表示され、アプリケーションを表します。

アプリケーション・プロジェクトは、ページ・レイアウトの各セクションの物理的なビューを提供するページ・レイアウト・プロジェクトとプラグインを参照します。図 1 は、Workplace Managed Client アプリケーションの構造を示す概念図です。

図 1. Workplace Managed Client アプリケーションの構造


この記事の「アプリケーション・ナビゲーター」セクションで説明しますが、アプリケーションの物理的な構造は、この概念ビューを反映していません。ツールキットは、これらの Workplace Managed Client アプリケーション (図 2 参照) の作成を簡素化する [Application Wizard] を提供します。

図 2. [Application Wizard]


[Application Wizard] を使用すると、新しい Workplace Managed Client アプリケーション・プロジェクトを作成するプロジェクトの各ステップが開発者に示されます。最初のステップでは、アプリケーションのタイトルとアイコンを指定します。これらは、アプリケーションがクライアントで実行されるときに、アプリケーションを識別するために使用されます。デフォルトでは、ウィザードはアプリケーション用の新しいページ・レイアウト・プロジェクトを作成します。このステップを実行するために、[Application Wizard] は 2 番目のウィザードである [Page Layout Wizard] を起動します。

ページ・レイアウト・プロジェクトは、アプリケーションのページ全体のレイアウトを提供します。アプリケーションの作成時に、多数の定義済みのレイアウトからレイアウトを選択できます。これらの各レイアウトは、図 3 に示すように、それぞれの編成を示すイメージ・ボタンで表されています。Rational Application Developer IDE を使用すると、ツールキットで定義されたレイアウトに加え、新しいレイアウトを定義したり、既存のページのレイアウトを編集できます。

図 3. ページ・レイアウトの定義


レイアウトの各セグメントは、1 つ以上のビューを持つことができます。複数のビューを選択した場合、各ビューはアプリケーション内で重ねて表示されるか、選択用のタブ・バーをともなって表示されます。ビューの表示方法を制御するビューの属性は、ツールキットで設定できます。[Page Layout Wizard] では、図 4 に示すように、これらのビューを定義します。

図 4. ページ・レイアウトのビューの定義


ビューは Eclipse の標準ユーザー・インターフェース・コンポーネントです。ツールキットを使用してレイアウトの各セグメントの最初のビューを作成したり、既存のビューを選択することができます。また、クライアントやサーバーの更新サイトに既に存在するビューへの参照を指定することもできます。ツールキットによって自動的に作成されたビューには、単純な「Hello Planet」というテキスト・コントロールが含まれています。これは、ビュー内のコンポジットにあります。コンポジットは、Java 用の Eclipse ビジュアル・エディターを使用して編集できます。ビジュアル・エディターは、グラフィカル・ユーザー・インターフェースを持つアプリケーションを設計するための Eclipse フィーチャーです。

アプリケーションの作成後、アプリケーション・レイアウトを再設計するときは [Page Layout Editor] コンポーネントにアクセスします。図 5 に示すように、このコンポーネントは [Page Layout Wizard] に似たインターフェースを持っています。このエディターを使用することで、ビューを再編成したり、新しいビューを作成できます。また、各ビューのパラメーターも変更できます。これらのパラメーターは、クライアントでのビューの表示方法に影響します。

図 5. [Page Layout Editor]


[Application Wizard] では、[Page Layout Wizard] を使用してレイアウトを作成したり、アプリケーション・ビューを作成または選択することにより、新しい Workplace Managed Client アプリケーションを簡単に作成できます。これで、アプリケーションが作成できたので、[Application Navigator] コンポーネントに進みましょう。

上に戻る

アプリケーション・ナビゲーター

Eclipse の既存のナビゲーターはプロジェクト指向です。プロジェクトの集まり (Workplace Managed Client アプリケーションを構成するものなど) を明確なエンティティーとして表示する方法はありません。代わりに、アプリケーションのコンポーネント・プロジェクトを記述する XML ファイルがアプリケーション・プロジェクトに含まれています。前述のように、Workplace Managed Client アプリケーション・プロジェクトは、既存の Eclipse フィーチャー・プロジェクト・タイプに基づいています。アプリケーションのコンポーネント・プロジェクトを記述するこの XML ファイルは、feature.xml というファイルです。これらの各コンポーネント・プロジェクトは、別のプロジェクトとしてビューに表示されます。このため、図 6 に示すように、アプリケーションの構造を見ることは困難です。

図 6. 既存の Eclipse Resource Navigator


そこで、この解決策として、Workplace Managed Client アプリケーションの表示に特化した新しいナビゲーターが作成されました。このナビゲーターは、アプリケーションのコンポーネントをアプリケーション・プロジェクトのサブプロジェクトとして表すことにより、アプリケーションの構造をより明確に示します (図 7 参照)。

図 7. 同じワークスペースを表示する Workplace Managed Client の [Application Navigator] ビュー


どちらのナビゲーターも同じワークスペースを表していますが、[Application Navigator] は、プロジェクトを組み合わせて Workplace Managed Client Application プロジェクトを構成しています。そして、Workplace Managed Client Application プロジェクトの各階層で、コンポーネントの [Page Layout] と [View Projects] が表示されています。アプリケーション・プロジェクトのコンポーネント・プロジェクトは、展開して編集することができます (図 8 参照)。これは、ワークスペースだけを表したものです。プロジェクトは、[Resource Navigator] などの他のビューに表示されるように、物理的に分離されたままです。

図 8. Workplace Managed Client アプリケーションのコンポーネント・プロジェクト


Workplace Managed Client Application プロジェクトだけが [Application Navigator] に表示され、煩雑さを減らすために他のプロジェクトはこのビューには表示されません。また、ナビゲーターには状況依存メニューがあり、開発者はこのメニューを使用してアプリケーション・プロジェクトに対してタスクを実行できます。ここまでは、ナビゲーターを使用してアプリケーションを簡単に開発できることを説明しました。次に、Workplace Managed Client でのアプリケーションのテストに進みます。

上に戻る

クライアントでのアプリケーションの実行

Workplace Managed Client アプリケーションをテストする通常のプロセスは、エンタープライズ環境でのアプリケーションのデプロイメントと基本的は同じです。このため、この手順は複雑で時間がかかります。まず、アプリケーションを Workplace サーバーにデプロイし (次のセクションで解説)、次に、テストを行うためにアプリケーションをクライアントにプロビジョニングする必要があります。代わりのプロセスとして、レイアウトを定義する新しいパースペクティブと、このパースペクティブを使用するカスタム・パーソナリティを作成する方法もあります。しかし、これらの手順はユーザーが手動で実行しなければなりません。どちらの方法も、繰り返し開発を行う環境には適しません。

これに対し、Workplace Managed Client Developer Toolkit を使用すると、クライアント上で直接アプリケーションを簡単に実行できます。これは、アプリケーションを正しく Workplace サーバーにデプロイした後、クライアントにプロビジョニングするために必要な設定プロセスを省略できることを意味します。この手順は、アプリケーションが正しく機能することを確認した場合、1 度実行するだけでかまいません。

アプリケーションをテストする前に Workplace サーバーにプロビジョニングする主な理由の 1 つは、ページのレイアウト方法と各ビュー用に実行するクラスに関する情報をクライアントが必要とするからです。この情報は、 Rich Client Platform Markup Language (RCPML) 形式のファイルとして提供されます。RCPML は Workplace Managed Client アプリケーションを記述する XML ベースのマークアップ言語です。RCPML は、ビューのレイアウト、アプリケーションのサポートに必要なサービス、必要なフィーチャーを定義します。また、オプションのインライン・データも提供します。この方法により、クライアントはアプリケーションのレイアウトと、アプリケーションのインターフェースを生成するために必要なフィーチャーおよびプラグインを決定できます。ツールキットは必要な RCPML を生成し、一時的なワークスペースでアプリケーションを直接実行します。このテスト・モードでの実行中、クライアントは、クライアントがスタンドアロンで実行される際に利用できるアプリケーションを表示または干渉しません。

Workplace Managed Client アプリケーションは、ページ・レイアウト・プロジェクトにレイアウト・ファイル (ibm-portal-topology.xml) を持っています。このファイルには、クライアントでアプリケーションをどのように表示するかが記述されています。ツールキットが Workplace Managed Client アプリケーションを構築するとき、このレイアウト・ファイルに XML 変換を実行し、レイアウトを表す RCPML を出力します。

デフォルトの起動プロセスが不便であることのもう 1 つの原因として、クライアントを正しく起動するために、ユーザーはクラスパス、クライアントの場所、クライアント用の引数などの設定情報を手動で追加しなければなりません。これは、エラーが生じやすいプロセスです。これを解決するために、Workplace Managed Client アプリケーションに適した新しい起動設定タイプが作成されました。この新しい設定は、必要なフィールドを生成することによって、プロセスを自動化します (図 9 参照)。

図 9. Workplace Managed Client の起動設定


Workplace Managed Client の起動設定は既存の Eclipse PDE 起動設定に基づいています。ほとんどのフィールドはデフォルト設定のまま使用できますが、説明が必要なフィールドもいくつかあります。

起動時にワークスペース・データを削除するには、[Clear workspace data before launching] を選択します。ただし、この設定によってクライアントのクリデンシャルが削除されるので、再認証のためにサーバーへの接続が必要となります。起動時にワークスペース・データを削除するかどうかを確認する場合は、[Ask for confirmation before clearing] を選択します。この設定により、起動ごとに確認用のダイアログ・ボックスが表示されるようになります。

PDE 起動設定を使用するとき、[Program to Run] フィールドは org.eclipse.ui.ide.workbench に設定されます。この設定によって、ランタイム・ワークベンチ (ワークスペースにプラグインを持つ Eclipse の他のコピー) が起動されます。これに対し、Workplace Managed Client Developer Toolkit の起動設定を使用する場合、デフォルトで実行されるファイルは com.ibm.rcp.platform.RCPApplication です。これによって、選択した Workplace Managed Client アプリケーションと共に Workplace Managed Client が起動されます。

Eclipse SDK は Java Runtime Environment (JRE) を含まず、代わりにプリインストールされている JRE を使用します。クライアントは適切なセキュリティー・コンテキストを提供し、適切な仮想マシンを使用するので、クライアントの起動に使用する JRE のバージョンは、クライアントによって提供されるバージョンに一致させる必要があります。Windows では、JRE は <Client>\rcp\eclipse\features\com.ibm.rcp.jre.win32.feature_1.2.0\jre にあります。同様に、Linux では、JRE は <Client>/rcp/eclipse/features/com.ibm.rcp.jre.linux.feature_1.2.0/jre にあります。<Client> は Workplace Managed Client の場所です。

前述のように、クライアントを起動するには、Java 仮想マシンとクライアントのプログラム自身のためにさまざまな引数を設定する必要があります。仮想マシンの設定内容としては、クライアントのクラスパスの設定 (必要な JAR ファイルを提供するため) とマシン上でのクライアントの場所などがあります。

クライアント・プログラム用の引数の中でたいへん重要なものに pbcache 引数があります。これは、デフォルトの場所である <workspace>\.metadata\.plugins\com.ibm.rcp.pagebuilder の代わりに、指定したディレクトリーをページ・キャッシュ・ディレクトリーとして使用するようクライアントのページ・ビルダー・コードに指示します。ページ・キャッシュ・ディレクトリーには、表示するアプリケーションを記述する RCPML があります。クライアントでアプリケーションを実行するとき、Workplace Managed Client アプリケーションのページ・レイアウト・プロジェクトにある RCPML ディレクトリーがページ・キャッシュ・ディレクトリーであるとみなされます。たとえば、次のディレクトリーです。

<Eclipse_workspace>\viewInteraction\com.ibm.wcttoolkit.sample.viewInteraction.MainPage\PortalConfiguration\.RCPML

利用できる引数の詳細については、IBM Workplace Collaboration Services API Toolkit(US)に含まれる『IBM Workplace Client Technology API Toolkit User's Guide』を参照してください。

アプリケーションの起動プロセスを大幅に簡素化するために、IBM Workplace Managed Client の新しい起動設定の作成時に、引数フィールドの値が自動的に生成されます。[JRE] と [Target Platform] を正しく設定した後 (この方法の詳細については、ツールキットのマニュアルを参照)、アプリケーションを選択して起動設定を作成し (編集は不要)、[Run] をクリックします。Workplace Managed Client が起動され、選択したアプリケーションが実行されます (図 10 参照)。

図 10. クライアントで実行された Workplace Managed Client アプリケーション


メモ: ツールキットでは、サーバーがアプリケーションを実行する必要はありませんが、実行前にサーバーに対して Workplace Managed Client を少なくとも 1 回は認証しなければなりません。このため、開発者は、最初にクライアントをインストールするとき、または新しいワークスペースから初めてアプリケーションを実行するときに、サーバーにアクセスする必要があります。

アプリケーションのテストを十分に行い、正しく機能することが確認できた後は、次の手順としてアプリケーションを Workplace Collaboration Services サーバーにデプロイします。このサーバーから、アプリケーションがユーザーのマシン上の Workplace Managed Client にプロビジョニングされます。

上に戻る

Workplace サーバーへの Workplace Managed Client アプリケーションのデプロイメント

新しいアプリケーションを使用して Workplace Managed Client のユーザー・インターフェースを拡張するには、各アプリケーションを IBM Workplace Collaboration Services サーバーにデプロイし、サーバーから Workplace Managed Client にプロビジョニングする必要があります。アプリケーションのビューを表すために、ポートレットが使用されます。ポートレットは、レイアウトの各セクションを記述する RCPML を生成します。クライアントはこの RCPML を解析し、必要に応じて新しいコンポーネントを取得してパースペクティブとビューを構築します。

Workplace Managed Client アプリケーションを Workplace サーバーにデプロイし、さらにクライアントにプロビジョニングするには、コンポーネント・ファイル (フィーチャー、プラグイン、イメージ)、ポータル・ページ、およびページ用の「プレース・ホルダー」ポートレットを得るために更新サイトが必要となります。これらのポートレットは、サーバーで RCPML を生成するために必要な情報を持っています。各ビューは、プレース・ホルダー・ポートレットのインスタンスとして表されます。ユーザー・クライアントへのプロビジョニングを管理する Workplace Collaboration Services サーバーへアプリケーションをデプロイするために、ツールキットには [Export Wizard] (図 11 参照) が含まれています。このウィザードを使用すると、Workplace Managed Client アプリケーションをデプロイメント・セットとしてエクスポートできます。

図 11. [Export Wizard]


デプロイメント・プロセスの最初の手順は、[Export Wizard] を実行することです。これによって、Workplace Managed Client アプリケーション・プロジェクトが更新サイト用の JAR ファイルにパッケージングされます。この結果、アプリケーション用のフィーチャー JAR を含むフィーチャー・ディレクトリー、ビュー・プラグインの JAR ファイル (ページ・レイアウト内の各ビューごとに 1 つ) を含むプラグイン・ディレクトリー、およびアプリケーション用のアイコンを含むイメージ・ディレクトリーが得られます。

次の手順として、これらのファイルを使用して更新サイトを更新します。ファイルは、手動でサーバーにコピーする必要があります。新しいコンテンツを含むよう更新サイトの site.xml を更新しなければなりません。このファイルは、サイト上のファイルのマニフェストを提供します。ウィザードはこのファイルを自動的に更新しませんが、これに追加する XML コードを生成します (更新サイトの詳細については、developerWorks: Lotus 記事『IBM Workplace での更新のデプロイ』を参照してください)。

デプロイメント・プロセスの最後の手順として、アプリケーション用のページとポートレットをサーバー上で作成し、生成します。これが最も複雑な手順です。しかし、ウィザードによって、アプリケーションをサーバーにデプロイする適切な XMLAccess スクリプトが [Page Layout] プロジェクトに基づいて作成されます。また、ウィザードには、作成済みファイルに基づいてアプリケーションをデプロイする方法も示されます。

このため、ウィザードを使用して、Workplace Managed Client アプリケーションをサーバーにデプロイする手順は、次のようになります。

1. 更新サイトにファイルをコピーします。
2. 生成された XML コードを使用して、site.xml ファイルを更新します。
3. 説明に従って、生成された XMLAccess スクリプトを実行します。

上に戻る

まとめ

Workplace Managed Client Developer Toolkit を使用すると、クライアントを拡張するために、迅速かつ容易にアプリケーションをセットアップできます。また、ツールキットは、クライアントでのアプリケーションの起動手順を自動化することで、アプリケーションのテストとデバッグを支援します。アプリケーションが正しく動作することを確認した後は、ツールキットを使用して、アプリケーションのデプロイメント・プロセスを実行できます。これらの各機能によって、クライアント・アプリケーションの開発プロセスが大幅に簡素化されます。

上に戻る

リソース


上に戻る

筆者について(原文のまま)

Katherine Sewell is a Software Engineer working for the Dublin Software Lab within IBM Software Group. She has an MSc in Computer Science from University College Dublin, Ireland. She joined IBM in September 2002.

上に戻る