|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
IBM Lotus Expeditorに、Eclipse RCP アプリケーションを移行する |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
レベル:中級 原文の掲載:2007年4月24日
Eclipse Rich Client Platform (RCP) アプリケーションは普及率が高まりつつあり、実際の企業向けアプリケーションの構築とデプロイメントにも利用されています。IBM Lotus Expeditor は IBM 提供の新製品で、Eclipse RCP アプリケーションを始めとする複合クライアント・アプリケーションの構築に役立ちます。ここでは、この 2 つのプラットフォームを比較対照していきます。
IBM Lotus ExpeditorIBM Lotus Expeditor は Eclipse RCP をベースにして構築された、一元管理型クライアント・ミドルウェア用の IBM の戦略的プラットフォームです。IBM Lotus Expeditor は Microsoft Windows 2000、Microsoft Windows XP、Linux などの各種オペレーティング・システムに対応しており、デスクトップやラップトップだけでなく、モバイル・デバイスやキオスク端末にも利用できます。これを実現しているのが、各種ランタイム環境、堅牢な OSGi コンポーネント・フレームワーク、追加コンポーネント・サービスを含む Managed Client Services です。 また、ダイナミック・プロビジョニングも Lotus Expeditor の重要な機能です。この機能を使用すると、クライアントや後続の更新を必要に応じてプロビジョニングできます。サーバー管理クライアントは、ソフトウェアのデプロイメントと保守にかかる管理コストを削減できます。Lotus Expeditor のこの機能は、Platform Management Services とも呼ばれます。このサービスには、Eclipse Update Manager や、クライアント・プラットフォーム上でアプリケーションやサービスのインストールと更新を行うための Enterprise Management Agent などが含まれています。
Lotus Expeditor には、一連のアクセス・サービスもあります。これらのサービスは、クライアント・コンポーネントとサーバー・コンポーネントを統合するためのミドルウェアとなります。Lotus Expeditor は Web サービス・プロバイダーとしての機能も果たすことができ、利用する側としての機能も可能です。また、Lotus Expeditor は任意の Web サービス対応アプリケーションと統合できます。Lotus Expeditor には、非同期プログラミング・パターンを使用可能にするローカル・メッセージング・プロバイダーのほか、データと同期サービス用のローカル・データベースも備わっています。これらの機能を利用すると、アプリケーションの切断モードが可能になります。サーバー側のコンポーネントと併用した場合は、ネットワークとターゲット側が使用可能なときにトランザクション同期を行うことができます。 最後に、Lotus Expeditor は複合アプリケーション用のクライアント統合プラットフォームとして設計されています。ユーザー・インターフェースの観点からは、SWT アプリケーション、Web アプリケーション、ポートレット・アプリケーション、ActiveX アプリケーション、Windows のネイティブ・アプリケーション、Swing などさまざまなアプリケーション・タイプを 1 つのクライアント・ビューにまとめることができます。Lotus Expeditor には J2EE Web コンテナーとポートレット・コンテナーが備わっており、従来サーバー・ベースのこれらのインターフェースをローカルで実行できます。この機能をインタラクション・サービスと呼びます。 図 1 に、Lotus Expeditor の概要を簡単な図で示します。 図 1. IBM Lotus Expeditor のスタック ![]() 前述したように、Lotus Expeditor は IBM の戦略的クライアント・プラットフォームです。IBM Lotus Sametime V7.5、IBM WebSphere Portal V6.0、および今後リリースされる IBM Lotus Notes V8 などの Lotus 製品ポートフォリオ全体で統一されたユーザー・エクスペリエンスを実現するための、基本的なプログラミング・モデルを提供します。
IBM Lotus Expeditor と Eclipse Rich Client Platform の比較IBM Lotus Expeditor は Eclipse RCP をベースに構築されているため、Eclipse RCP の全機能をはじめとする多くの機能が備わっています。 第 1 に、Lotus Expeditor は次のような幅広いアプリケーションの開発とデプロイメントに対応します。
このリストからもわかるように、Lotus Expeditor はクライアント側の Eclipse RCP アプリケーションをサポートするだけでなく、従来の J2EE サーバー側のアプリケーションをクライアント側で実行するように拡張することも可能です。これらのタスクの実行はすべて、Web コンテナー、ポートレット・コンテナー、およびトランザクション・コンテナーなどのミドルウェア・コンポーネントを組み込むことで可能になります。 第 2 に、Lotus Expeditor は複合アプリケーション用のプラットフォームであり、各種のスタンドアロン・アプリケーション (ActiveX、Swing、Eclipse SWT、ホスト・アクセス、ブラウザー・ベースのアプリケーション) を 1 つの複合ビューに統合することができます。複合アプリケーションは、複数のアプリケーションからの情報を統合して、ユーザーのロールとタスクに応じて必要なコンテンツを提供できるようにします。Lotus Expeditor では、プロパティー・ブローカーを使用してポートレットと Eclipse アプリケーションの統合を可能にしています。 ここでは、Lotus Expeditor での Eclipse RCP アプリケーションの開発とデプロイメントに重点を置いて説明します。Eclipse RCP アプリケーションを開発する場合、Expeditor をプラットフォームにするのが良いのはなぜでしょうか。答えは簡単です。Lotus Expeditor は、ベースとなる Eclipse RCP プラットフォームの全機能が備わっているだけでなく、さまざまな点で Eclipse RCP を強化しているからです。このため、ユーザーが自分でこれらの機能を最初から実装する必要はありません。 Eclipse には、すぐに使えるセキュリティー機能が備わっていません。このため、Eclipse RCP アプリケーションのセキュリティー保護をしたい場合は、ユーザーが自分で行う必要があります。一方、Lotus Expeditor プラットフォームは、アプリケーション・データをセキュリティー保護できる安全なプラットフォームです。オペレーティング・システムを使用したシングル・サインオン機能は、デフォルトでプラットフォームに組み込まれています。 Lotus Expeditor では、以下を行うことで、クライアント上で稼働するアプリケーションやアプリケーション・データのセキュリティー保護が可能です。
IBM Lotus Expeditor にはネットワーク・レイヤーがあり、このレイヤーによって、アプリケーションやプラットフォーム・コンポーネントがネットワーク呼び出しやネットワーク・エラーを処理するためのフレームワークが提供されます。これによりユーザーは、クライアント・プラットフォームの現在の状態を判別したり、リモート・サーバーや Web サービスなどの HTTP リソースに接続したりできるようになります。アプリケーションでは、クライアント状況の変更通知を受けることもでき、オフライン・マネージャー用のパブリック API を使用してクライアント・プラットフォームの状況をチェックすることも可能です。また、この機能と Synchronization Manager を併用すると、ユーザーやアプリケーションは 1 つ以上の同期サービスを使用して、ローカル・データ・ストアの同期を開始、制御、モニターできるようになります。RCP アプリケーションはこれらの機能を確実に活用することができます。 Lotus Expeditor は、次の 2種類の管理クライアントを提供します。
WebSphere Portal の管理者は、携帯電話や PDA など普及率の高いデバイスからブラウザー・ベースのデスクトップに至るまで、さまざまなタイプのデバイス上で稼働するアプリケーション・コンポーネントを扱います。ポータル管理クライアントを利用すると、共通の Portal のページ/プレース管理、ユーザー管理、アクセス制御を使用して、これらのアプリケーション・コンポーネントを統合、管理、再利用できます。また、ポータル管理クライアントをさらに拡張して、Lotus Expeditor クライアント・ベースのリッチ・クライアント・デスクトップ・アプリケーションをサポートすることも可能です。この管理はユーザー単位で行われます。 Lotus Expeditor は、ソフトウェアの管理とプロビジョニングをユーザー単位またはデバイス単位で一元的に制御します。この機能により、ソフトウェアのデプロイメントと保守にかかるコストを大幅に削減することができます。 今後 Eclipse RCP アプリケーションを Lotus Expeditor にデプロイすることをお勧めするもう 1 つの重要な理由は IBM サポートです。Lotus Expeditor を使用すれば、公式にサポートされる RCP スタックとクライアント・サービス用のミドルウェア・スタックをベースにして、ソリューションを構築できます。これにより、実動アプリケーションのデバッグやトラブルシューティングにかかる時間を減らすことができます
Lotus Expeditor ツールキットLotus Expeditor ツールキットは、Eclipse 3.2.1 をベースにしており、クライアント・サービスを利用するクライアント・アプリケーションの開発、デバッグ、テスト、パッケージ、デプロイに役立つツールをすべて一括して提供します。Lotus Expeditor ツールキットは、パスポート・アドバンテージ(US) を通じて入手できます。 ツールキットのウィザードを使用すると、クライアント・アプリケーションを開発するための Client Services プロジェクトを作成できます。このツールキットでは、ランタイム環境、ビルド時環境、およびプラットフォーム上で実行できるコンポーネント・セットを指定するための便利な手段として、ターゲット定義を使用します。たとえば、Client Services プロジェクトを作成する場合、ユーザーが利用可能なターゲットのリストからターゲット定義と一連の機能を選択すると、そのプロジェクト用の Java ビルド・パスとランタイムが自動的に設定されます。設定後は、プロジェクトの編集、コンパイル、およびデバッグを行うことができます。ツールキットにはターゲット定義のデフォルト・リストが用意されていますが、ユーザーが独自に定義を作成することも可能です。 このツールキットは、リッチ・クライアント・アプリケーションの開発で必要となるため、この記事の後述の作業に進む前にインストールしておいてください。
サンプル RCP アプリケーションの移行ここでは、既存の RCP アプリケーションを IBM Lotus Expeditor に移行する方法について説明します。 本書は RCP アプリケーションの開発方法の説明ではないので、詳しい作成手順は記載していません。ここでは、既存の Eclipse RCP アプリケーションをインポートした後、そのアプリケーションを移行します。作業を始める前に、この記事の「ダウンロード」セクションでサンプル・コードをダウンロードしておいてください。
図 4. Eclipse RCP メール ![]() これは、Eclipse のデフォルトの RCP メール・テンプレートで作成した RCP アプリケーションです。ここでは、このアプリケーションの作成方法については詳しく説明しません。詳しくは、RCP のマニュアルの『リソース』セクションを参照してください。 これで、この RCP メール・アプリケーションを Lotus Expeditor に移行する準備ができました。
リスト 1. Lotus Expeditor アプリケーションの定義
図 10. アプリケーションの選択 ![]() これで、Lotus Expeditor のデフォルトのパーソナリティー設定を使用して、オリジナルの RCP メール・アプリケーションが Lotus Expeditor 内で稼働するようになります (図 11 を参照)。 図11. IBM Lotus Expeditor 内のメール・アプリケーション ![]()
まとめこれで、Eclipse RCP アプリケーションを IBM Lotus Expeditor クライアントに正常に移行できました。おわかりのように、Lotus Expeditor ツールキットを利用すれば移行は単純にかつ簡単に実行できます。Lotus Expeditor プラットフォームの利点を十分に活用するには、セキュリティーなどの Lotus Expeditor 機能を利用したり、ニーズに合わせて Lotus Expeditor をカスタマイズおよびブランド化したりして、既存のアプリケーションを拡張することをお勧めします。Lotus Expeditor には、短期間で RCP アプリケーションを開発するための使いやすい機能やサービスが多数用意されています。
謝辞この記事のレビューをしてくださった J. Christopher Hawley 氏と James Robbins 氏に感謝します。
ダウンロード
リソース学ぶ
議論する
筆者について(原文のまま)
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||