TOP調査レポート> ビューによる機能画面の実装
オープンソースをこう使った! 〜 運用管理ツールHinemosの秘密
オープンソースをこう使った! 〜 運用管理ツールHinemosの秘密

第3回:Eclipseで実現した統合運用画面について

著者:NTTデータ  大上 貴充   2006/8/31
前のページ  1  2  3
パースペクティブの利用

   機能ごとに初期画面構成としてデフォルトのパースペクティブを用意しています。パースペクティブは、IPerspectiveFactoryインターフェースを実装する具象クラスとして実装し、createInitialLayout()メソッドで初期レイアウトを定義することができます。具体的な実装例を図5に示します。
IPerspectiveFactoryインタフェースの実装例
図5:IPerspectiveFactoryインタフェースの実装例
(画像をクリックすると別ウィンドウにコードを表示します)

   また、パースペクティブの保存機能を利用することで、カスタマイズした画面の保存が可能となります。これには特別な実装は必要ありません。Eclipse RCPの機能として提供されているものです。

   メニューの「パースベクティブ → パースペクティブ別名保管」を選択すると、パースペクティブの別名保管ダイアログが表示され、画面レイアウトの保存ができます(図6)。

画面の別名保存
図6:画面の別名保存


機能ごとにプラグインとして実装

   Hinemosの運用管理機能は複数の機能の集合体です。各機能のGUI部分をプラグインの形で実装しました。共通的に利用される機能については、共通プラグインとして実装し、他の機能のプラグインから参照されるモデルとしています。例えば、上記で説明したスコープツリーなどが共通プラグインで提供する部品となります。


マネージャとの通信方法

   Eclipse RCPはフレームワークとして、マネージャと通信する機能は持っていません。RMIやWebサービス、JMSといった従来の通信方法でデータをやり取りする必要があります。

   Hinemosでは、マネージャ(JBoss)との通信にRMIを利用しています。JBossにデプロイされているEJBをネットワーク経由で呼び出すことで、画面表示用データの取得、マネージャーへの設定情報登録を実現します。


WebRCPを使ったクライアントの配信

   Hinemosでは、クライアントアプリケーションをパッケージとしてインストールして実行する方法と、マネージャーからダウンロードして実行する方法の2つを提供しています。

   ダウンロードによる方法には、Eclipse RCPのアプリケーションをJava Web Startを使って配信するためのフレームワークであるWebRCPを利用しています。



   Eclipse RCPが利用しているツールキット(SWT)はOSのネイティブAPIを使用しているため、OSごとに必要とするライブラリが異なります。WebRCPは実行環境で必要なファイルのダウンロードとランタイム環境の構築を行った後、アプリケーションを実行することでこの問題を解決してくれます(図7)。

WebRCPを利用した配布イメージ
図7:WebRCPを利用した配布イメージ

   Eclipse RCPの実行に必要なファイルとHinemosのプラグインアプリケーションをまとめたものがwarファイル形式(hinemos.war)でJBossにデプロイされています。

   下記のように、javawsコマンドを実行することで、Hinemosクライアントがダウンロードされ実行されます。

$ javaws http://マネージャのホスト名:8080/hinemos/hinemos.jsp


まとめ

   今回は、Hinemosのクライアントアプリケーションの実装について解説いたしました。リッチクライアントフレームワークであるEclipse RCPを用いることで、実装量を削減しつつ、非常に柔軟なGUIを実現しています。

   次回は、Hinemosのマネージャ部分、EJBで実装した各運用機能について解説いたします。

前のページ  1  2  3


NTTデータ  大上 貴充
著者プロフィール
株式会社NTTデータ   大上 貴充
基盤システム事業本部 オープンソース開発センタ
2004年よりOSSを用いたシステム構築、運用管理ツールの研究開発に従事。現在はHinemosの開発メンバとして、より一層の機能充実、品質向上とコミュニティの創造を目指して活動中。

INDEX
第3回:Eclipseで実現した統合運用画面について
  はじめに
  Eclipse RCPの構成
パースペクティブの利用