依頼人は金持ちだ!〜リッチクライアントに挑む

Eclipse RCP とは?

さて、SWT+JWS によるリッチクライアントが出来たところで、今度は SWT の「本家」である Eclipse の「RCP(Rich Client Platform)」という何か凄く偉そうなフレームワークによるリッチクライアントをしてみよう。

もはや周知のことだが、Eclipse はいわゆる IDE(統合開発環境)の一つで、オープンソースで開発されている。で、実際には Eclipse 3.0 から、これに「Rich Client Platform」という機能が追加された...だけではなくて、Eclipse 自体が「リッチクライアント」に化けてしまったのである!

これは要するに、Eclipse 自身が「リッチクライアントの恩恵を受けてやろうじゃないの!」ということで、ネットワーク配信によるアップデートを可能にする、という戦略なのだ。だから、どちらか言えば、「自分でリッチクライアントを開発できる!」というのはオマケな機能に近い。まだまだ Eclipse 以外にはそう実績はないし、手順もいろいろとややこしい。それでもまあ、これをやってみることにしよう。当然前提条件は、「Eclipse 3.0 がインストールされていること」だね。まあ、最近では雑誌付録なんぞにもガンガンついているものなので、こんなページを読む奴は特にダウンロードなんぞしなくても入手できようが、本家はこっちだ。

RCP のコンセプト

で、言うまでもなく Eclipse はIDEだ。フツーのスタンドアロンのプログラムから、Servlet だろうが EJB だろうが、「何でも開発できる!」のがウリなのだが、それを実現するのに一役買っているのが「プラグイン」である。「プラグイン」で後で機能を追加できまくり...というのが Eclipse のコンセプトであり、Eclipse 本体はそういったプラグインたちのドライバみたいなものとして作られている、というわけだ。

で、そのような個々のプラグインを、プラグイン単位で「リッチクライアント化」する、というのが大きな狙いであるわけで、そのためのプラットフォームとして「RCP」が用意されているのである。

これは言い換えるなら、「リッチクライアントを作るのならば、Eclipse のプラグインとして作る必要がある」ということでもある。だから、RCP を使った場合の、「リッチクライアント」は次の構成になる。

RCPリッチクライアント = Eclipseの本体 + 最小限のプラグイン + 独自開発内容

だから、RCP のリッチクライアントは、それ自身 Eclipse のエディタであるとかアウトラインであるとか、ああいったウィンドウとほぼ同様の内容であり、「ミニマルな Eclipse」として動く...そういうアプリケーションになるわけだ。なので、Eclipse が要求するさまざまな機能を実装する必要があるわけで、ここらへんはうまくフレームワークとして作り上げられている。

RCP の開発手順

まず最初に開発手順を整理しよう。見取り図が判っていると話が早い。

  1. 「プラグイン・プロジェクト」として開発を始める。「gomoku」というプロジェクト名にしようか。ここで Java を使って、プラグインが要求するさまざまなクラスを実装していく。 この「プラグイン・プロジェクト」が全体を纏め上げるデータとして、plugin.xml が重要なファイルとなる。
  2. 「フィーチャー・プロジェクト」を作る。「フィーチャー・プロジェクト」とは、作成したプラグインなどをひとまとめにして管理する単位である。「gomokuFeature」とでも名づけよう。ここでリビジョンの管理であるとか、更新サイトの指定とかがなされ、jar ファイルが作られるが、実際の更新サイトの作成とはまだ関係がない。この「フィーチャー・プロジェクト」を管理するファイルが feature.xml である。また、ここで作成された jar ファイルを、そのまま Eclipse 外で起動できるように、セット化してエキスポートできるようになる。
  3. 「更新サイト・プロジェクト」で、更新用のサイトを作る。これはローカルで更新サイトのデータを作って、それを適当なサーバに ftp すればOKなようにするわけである。「gomokuSite」とでも名づけよう。ここでの管理データは site.xml である。

で、筆者は古手のプログラマなので、実を言うとIDEは非常に苦手である。ましてや「はい、ここをクリックして...このフィールドにこう入れて...」なんて説明するのは個人的には悪夢に近い。そういう説明法が好きな人は、そういう人向きのホームページがあるので、まずそっちを見て輪郭をつかんでくれ。

ここでは、単に作成したファイルだけを示していくが、それでも Eclipse は内緒で勝手なデータファイルを作って...などという卑怯な真似はしないので、それで充分使えるものになると思う。適当に自分の Eclipse の workspace に、アーカイブファイルを展開すればそれで開発できるようになるので、試しておくれ。



copyright by K.Sugiura, 1996-2006