徹底解剖!! Eclipse3.3 Europaの“新世界”
NTTデータ 基盤システム事業本部 岡本隆史
2007/7/4
新しく追加されたプラグイン
■ 新たな開発スタイルを示唆するMylyn
開発を行う中で、1つのワークスペースの中にたくさんのプロジェクトが存在し、また、1つのプロジェクトの中に多数のディレクトリやパッケージが存在するのは、日常茶飯事だと思います。このような環境で作業を行うときに、ある作業に対して自分がどのファイルを編集したのか知るのは、困難です。ある機能追加を行った場合、その機能追加によりバグが発生したときに、CVSやSubversionのコミットログとにらめっこをしながらバグを埋め込んだ個所を特定する必要があります。
Mylynを利用すると、あるタスクに対する変更範囲に絞り込んでリソースを表示できるため、タスクと作業内容の対応付けをより詳細に行えます。
例えば、Mylynを利用しない場合、図9のようにビューにだらだらとリソースが表示され、作業範囲が明確ではありませんが、Mylynを利用すると、図10のようにタスクの作業範囲にフォーカスして作業できます。図10の例では、「サービスの変更」というタスクの作業範囲がBookStoreServiceImpl.javaを変更することを示しています。
図9 mylynを利用しない場合(画像をクリックすると拡大します) |
図10 mylynを利用した場合(画像をクリックすると拡大します) |
タスクはTracやJIRAなどの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ダイヤグラム |
なお、BPELエディタは現在のところEuropaには含まれず、Eclipseでは、XMLエディタによるXMLの編集のサポートのみとなっています。グラフィカルにBPELを編集するには、Oracle BPEL Process Managerや、NetBeansのEnterprise Packなどに含まれるBPELエディタで作成する必要があります。Eclipse FoundationでもBPELデザイナ(図12)を開発中なので、将来的にはSTPのみでSOAの開発がスムーズに行われるようになるでしょう。
図12 開発中のBPELデザイナ(画像をクリックすると拡大します) |
■ リモートアクセスと組み込み開発を支援するプラグイン
RSE(Remote System Explorer)によるサーバ上のリソースへのアクセスとシェルコマンドの実行をサポートします。C/C++を利用した開発では、開発用のマシンがWindows端末で、実際にアプリケーションを動作させるマシンがUNIXサーバの場合、UNIXサーバ上でアプリケーションのビルドとテストを行う必要があり、煩雑な作業となります。
RSEを利用すると、Eclipse上からシームレスにサーバ上のリソースを閲覧、編集、ビルドスクリプトなどのシェルスクリプトの実行、デバッグを行うことができます。
また、DSDP(Device Software Development Platform)として、組み込みソフトウェアの開発をサポートする機能を提供します。
編集部注:DSDPの詳細について知りたい読者は、「組み込み開発でもEclipseを!」をご参照ください。
■ スクリプト言語に対応したDLTK
近年、PythonやRubyの普及によりスクリプト言語が注目を浴びており、スクリプト言語をサポートするプラグインもサードパーティからいくつかリリースされていました。しかしながら、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エディタによるクラス図(画像をクリックすると拡大します) |
ただし、現在のところ、モデリングでの利用となっており、UMLモデルとJavaクラスの同期機能などは提供されてないようです。モデルと実装を同期するには、EclipseUMLやAmaterasUMLなどを利用する必要があります。
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関連記事
- Java TIPS 「Java 5へのEclipse 3.2のインストールと日本語化を行う」
- Java TIPS 「Eclipse 3.2でJava 5版Javadocとライブラリを関連付ける」
- Java TIPS 「Java 5版MergeDocでEclipse 3.2のホバーを日本語化」
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) 連載各回の解説はこちら |
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全記事一覧 |
- 実運用の障害対応時間比較に見る、ログ管理基盤の効果 (2017/5/9)
ログ基盤の構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。今回は、実案件を事例とし、ログ管理基盤の有用性を、障害対応時間比較も交えて紹介 - Chatwork、LINE、Netflixが進めるリアクティブシステムとは何か (2017/4/27)
「リアクティブ」に関連する幾つかの用語について解説し、リアクティブシステムを実現するためのライブラリを紹介します - Fluentd+Elasticsearch+Kibanaで作るログ基盤の概要と構築方法 (2017/4/6)
ログ基盤を実現するFluentd+Elasticsearch+Kibanaについて、構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。初回は、ログ基盤の構築、利用方法について - プログラミングとビルド、Androidアプリ開発、Javaの基礎知識 (2017/4/3)
初心者が、Java言語を使ったAndroidのスマホアプリ開発を通じてプログラミングとは何かを学ぶ連載。初回は、プログラミングとビルド、Androidアプリ開発、Javaに関する基礎知識を解説する。
|
|