CoolなEclipseプラグイン(特別編)

徹底解剖!! Eclipse3.3 Europaの“新世界”


NTTデータ
基盤システム事業本部 岡本隆史
2007/7/4


新しく追加されたプラグイン


新たな開発スタイルを示唆するMylyn

 開発を行う中で、1つのワークスペースの中にたくさんのプロジェクトが存在し、また、1つのプロジェクトの中に多数のディレクトリやパッケージが存在するのは、日常茶飯事だと思います。このような環境で作業を行うときに、ある作業に対して自分がどのファイルを編集したのか知るのは、困難です。ある機能追加を行った場合、その機能追加によりバグが発生したときに、CVSSubversionのコミットログとにらめっこをしながらバグを埋め込んだ個所を特定する必要があります。

 Mylynを利用すると、あるタスクに対する変更範囲に絞り込んでリソースを表示できるため、タスクと作業内容の対応付けをより詳細に行えます。

 例えば、Mylynを利用しない場合、図9のようにビューにだらだらとリソースが表示され、作業範囲が明確ではありませんが、Mylynを利用すると、図10のようにタスクの作業範囲にフォーカスして作業できます。図10の例では、「サービスの変更」というタスクの作業範囲がBookStoreServiceImpl.javaを変更することを示しています。

図9 mylynを利用しない場合
図9 mylynを利用しない場合(画像をクリックすると拡大します)

図10 mylynを利用した場合
図10 mylynを利用した場合(画像をクリックすると拡大します)

 タスクはTracJIRAなどのITS(Issue Tracking System)BTS(Bug Tracking System)上のタスクを扱うことができるようになっています。筆者自身はまだMylynを使い込んでいるわけではありませんが、Eclipse IDE for Java、Java EE、RCP/Plugins DevelopersにMylynが含まれることから、MylynはEclipseによる新たな開発スタイルを示唆しているように感じます。

SOAによる開発をサポートするSTP

 従来のWebサービスの開発機能がWTPにあり、SOAによるアプリケーションを開発するための基本的な機能は提供されていました。Europaからは、SOA(サービス指向アーキテクチャ)による開発をサポートするツールを提供します。また、SOAを実現するためのコンポーネント仕様SCA(Service Component Architecture)に対応しています。

 ビジネスフローを記述する言語であるBPEL(Business Process Execution Language)からJavaのコードを生成したり、ビジネスプロセスを分かりやすく標記するためのBPNM(Business Process Modeling Notation)ダイヤグラムを作成できます。BPNMモデラーによるBPNMダイヤグラムを図11に示します。

図11 BPNMダイアグラム
図11 BPNMダイヤグラム

 なお、BPELエディタは現在のところEuropaには含まれず、Eclipseでは、XMLエディタによるXMLの編集のサポートのみとなっています。グラフィカルにBPELを編集するには、Oracle BPEL Process Managerや、NetBeansのEnterprise Packなどに含まれるBPELエディタで作成する必要があります。Eclipse FoundationでもBPELデザイナ(図12)を開発中なので、将来的にはSTPのみでSOAの開発がスムーズに行われるようになるでしょう。

図12 開発中のBPELデザイナ
図12 開発中のBPELデザイナ(画像をクリックすると拡大します)

リモートアクセスと組み込み開発を支援するプラグイン

 RSE(Remote System Explorer)によるサーバ上のリソースへのアクセスとシェルコマンドの実行をサポートします。C/C++を利用した開発では、開発用のマシンがWindows端末で、実際にアプリケーションを動作させるマシンがUNIXサーバの場合、UNIXサーバ上でアプリケーションのビルドとテストを行う必要があり、煩雑な作業となります。

 RSEを利用すると、Eclipse上からシームレスにサーバ上のリソースを閲覧、編集、ビルドスクリプトなどのシェルスクリプトの実行、デバッグを行うことができます。

 また、DSDP(Device Software Development Platform)として、組み込みソフトウェアの開発をサポートする機能を提供します。

編集部注:DSDPの詳細について知りたい読者は、「組み込み開発でもEclipseを!」をご参照ください。

スクリプト言語に対応したDLTK

 近年、PythonRubyの普及によりスクリプト言語が注目を浴びており、スクリプト言語をサポートするプラグインもサードパーティからいくつかリリースされていました。しかしながら、Eclipseの正式なプラグインとしては、スクリプト言語はサポートされていませんでした。

 Europaからは、テストレベルではありますが、本家からスクリプト言語をサポートするDLTKプラグインが提供されTCL/Python/Rubyなどの開発をサポートするようになりました。

コミュニケーションツールの開発をサポートするECF

 ECF(Eclipse Communication Framework)とは、Eclipseプラットフォーム上でコミュニケーションベースのアプリケーションを開発するためのフレームワークです。ECFを利用することにより、チャットインスタントメッセンジャーなどのアプリケーションを簡単に開発できます。

 今後の開発者間のコミュニケーションをサポートするプラグインの提供が期待できます。

待望のUMLエディタ UML Tools

 UML Toolsとして、UMLエディタが提供されるようになりました。UML ToolsはUMLの最新仕様であるUML 2.0に対応しており、アクティビティ図、クラス図、コンポーネント図、ステートマシーン図(UML 1.xにおけるステートチャート図に相当)、プロファイル図を作成できます。

図13 サンプルのUMLエディタによるクラス図
図13 サンプルのUMLエディタによるクラス図(画像をクリックすると拡大します)

 ただし、現在のところ、モデリングでの利用となっており、UMLモデルとJavaクラスの同期機能などは提供されてないようです。モデルと実装を同期するには、EclipseUMLAmaterasUMLなどを利用する必要があります。

Europaの“新世界”を体験しよう

 新バージョンのEclipseでは、Eclipse自身、細部にわたって改良が加えられ、さらに快適に利用できるようになっています。

 また、同時に提供されたプラグイン群もSOAや組み込み機器、サーバとの開発の連携のサート、実験的なスクリプト言語のサポートと、Javaの開発ツールという枠組みを大きく超えて発展し始めました。UMLエディタも機能的にまだ十分とはいえませんが、基本的な機能は提供され始めました。

 ただ、筆者にとって残念なことが3点だけありました。1点目は構成管理ツールであるSubversionが公式に提供されていない点です。先進的な技術を導入するチームでは、CVSに代わりSubversionを利用しているところが多いので、次のバージョンではデフォルトのアップデートサイトで提供されることを期待したいです。

 2点目はVisual Editorの開発が停滞し、Europa対応が進んでおらず、Europaのリポジトリに含まれなかったことです。NetBeansでは、JDK 5から採用されたGroupLayoutにいち早く対応し、リッチクライアント向けの対応を強化しています。Visual EditorでのGroupLayout対応に期待していただけに、残念です。

 3点目は、最近Webブラウザの新しい実装技術としてAjaxが注目されていますが、AjaxをサポートするATF(Ajax Toolkit Framework)はまだIncubation段階であり、Europaには含まれませんでした。

 細かい不満はあるとはいえ、EclipseにとってEuropaは大きなステップアップであることには変わりはありません。本稿を読んでEuropaに興味を持った方は、ぜひEuropaによる“新世界”を体験していただければと思います。

@IT関連記事

Eclipse 3.1を使おう
いよいよ登場したEclipse 3.1を導入し、基本的な使い方と、Webアプリケーションの開発方法を紹介。Eclipseの利用に必要な基本スキルを習得する

第1回 Eclipse 3.1の導入と日本語化 (2005/7/28)
第2回 Eclipse 3.1の統合環境を使いこなす (2005/9/28)
第3回 Webアプリ作成の標準プラグイン「WTP」 (2005/11/12)
第4回 Eclipse WTPを使ったWebアプリケーション構築 (2005/11/29)
連載各回の解説は
こちら
/fjava/index/index_eclipsejava.html Eclipseではじめるプログラミング 
これからプログラミングを学習したい方、Javaは難しそうでとっつきづらいという方のためのJavaプログラミング超入門

第1回 EclipseでJavaプログラミング超入門 (2004/5/29)
第2回 Eclipseの操作に慣れよう (2004/6/30)
第3回 Javaの変数の型と宣言を理解する (2004/7/29)
第4回 Javaの条件式を理解する (2004/9/9)
第5回 Javaの反復処理を理解する (2004/11/3)

第6回 Javaの配列を理解する
(2005/2/5)
第7回 Javaのクラスとインスタンスを理解する
(2005/3/19)
第8回 Javaのメソッドを理解する
(2005/4/23)
第9回 Javaの参照型変数を理解する
(2005/6/4)
第10回 Javaのインターフェイスを理解する
(2005/7/13)
第11回 Javaのパッケージを理解する
(2005/7/30)
連載各回の解説はこちら
MyEclipseでAjax+Javaをやさしく開発
サーバサイドにJava EEを、クライアントサイドにAjaxを用いたWebアプリケーションを、MyEclipseを使って容易に開発する手法を紹介していく

第1回 Ajax+Java連携のEoDを実現するMyEclipse (2006/12/15)
第2回 DWRでAjaxアプリを作りたいJava開発者にお勧め (2007/1/27)
第3回 O/Rマッピングで郵便番号検索Ajaxアプリ作成! (2007/4/10)

第4回 リバースAjax機能はAjax+Javaをもっとやさしくする? (2007/6/11)
連載各回の解説はこちら

4/4

 INDEX 「徹底解剖!! Eclipse3.3 Europaの“新世界”」
  Page1
  6月はEclipseが生まれ変わる月
  Europa、Callistoは木星の衛星の名前
  新たな進化の局面
用途別にパッケージを変更してセットアップ
  いままでのEclipseの本体 ― Eclipse Classic
  Javaアプリ開発 ― Eclipse IDE for Java Developers
  Java EE開発 ― Eclpise IDE for Java EE Developers
  C/C++アプリ開発 ― Eclipse IDE for C/C++ Developers
  Eclipseプラグイン/RCP開発 ― Eclipse IDE for RPC/Plugin-in Developer
  Page2
  コラム Europaの日本語化
Eclipse本体(Eclipse Classic)の新機能
  ハイパーリンク機能をデバッグ時に
  コマンドへのクイックアクセス
  エラーチェックの強化
  ソースコード保存時にアクションを指定
  エディタ上のカーソルの位置を保存
  プラグインの署名を検証
  Page3
  標準プラグインの強化点
  WTPの新機能でらくらくJava EE開発
  DBの開発をサポートするDTP
  帳票の作成支援機能BIRTも強化
Page4
  新しく追加されたプラグイン
  新たな開発スタイルを示唆するMylyn
  SOAによる開発をサポートするSTP
  リモートアクセスと組み込み開発を支援するプラグイン
  スクリプト言語に対応したDLTK
  コミュニケーションツールの開発をサポートするECF
  待望のUMLエディタ UML Tools
Europaの“新世界”を体験しよう


Java Solution全記事一覧



Java Agile フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Java Agile 記事ランキング

本日 月間