TOP
>
調査レポート
> ビューによる機能画面の実装
オープンソースをこう使った! 〜 運用管理ツールHinemosの秘密
第3回:Eclipseで実現した統合運用画面について
著者:
NTTデータ 大上 貴充
2006/8/31
前のページ
1
2
3
パースペクティブの利用
機能ごとに初期画面構成としてデフォルトのパースペクティブを用意しています。パースペクティブは、IPerspectiveFactoryインターフェースを実装する具象クラスとして実装し、createInitialLayout()メソッドで初期レイアウトを定義することができます。具体的な実装例を図5に示します。
図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を利用しています。
WebRCP
http://sourceforge.net/projects/webrcp/
Eclipse RCPが利用しているツールキット(SWT)はOSのネイティブAPIを使用しているため、OSごとに必要とするライブラリが異なります。WebRCPは実行環境で必要なファイルのダウンロードとランタイム環境の構築を行った後、アプリケーションを実行することでこの問題を解決してくれます(図7)。
図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データ 大上 貴充
基盤システム事業本部 オープンソース開発センタ
2004年よりOSSを用いたシステム構築、運用管理ツールの研究開発に従事。現在はHinemosの開発メンバとして、より一層の機能充実、品質向上とコミュニティの創造を目指して活動中。
INDEX
第3回:Eclipseで実現した統合運用画面について
はじめに
Eclipse RCPの構成
パースペクティブの利用