本文へジャンプ

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む


お客様が developerWorks に初めてサインインすると、お客様のプロフィールが作成されます。プロフィールで選択した情報(名前、国/地域や会社名)は公開され、投稿するコンテンツと一緒に表示されますが、いつでもこれらの情報を更新できます。

送信されたすべての情報は安全です。

  • 閉じる [x]

developerWorks に初めてサインインするとプロフィールが作成されますので、その際にディスプレイ・ネームを選択する必要があります。ディスプレイ・ネームは、お客様が developerWorks に投稿するコンテンツと一緒に表示されます。

ディスプレイ・ネームは、3文字から31文字の範囲で指定し、かつ developerWorks コミュニティーでユニークである必要があります。また、プライバシー上の理由でお客様の電子メール・アドレスは使用しないでください。

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む


送信されたすべての情報は安全です。

  • 閉じる [x]

Eclipse Galileo の接近調査

オープンソースの多目的 IDE 兼アプリケーション・プラットフォームの最新バージョンに盛り込まれた新機能

Mark Cappel, Content Developer, IBM
Author photo
以前、developerWorks Open source ゾーンのエディターを務めていた Cappel は、締め切りの 5 分後に記事を提出することが、ゾーンのエディターをどんなにイライラさせるか、そしてどれだけのタイプミスや文法の誤りがあると、ゾーンの Web エディターがその著者に殺し屋を差し向けるようになるかを知っています。彼は今年の Burning Man フェスティバルに参加するまでは、生きていたいと願っています。

概要: 33 の主要なプロジェクトからなる Eclipse Galileo リリースには、Eclipse エコシステムの多様性とその内部で進んでいる革新が明らかに現れています。この記事では、そのうちいくつかの Galileo プロジェクトの概要について、その詳細を記載しているリソースへのリンクと併せて紹介します。

日付:  2009年 6月 26日
レベル:  初級 この記事の原文:  英語
アクティビティー: 5923 ビュー
お気軽にご意見・ご感想をお寄せください: 


Galileo は 33 の主要な Eclipse プロジェクトの同時リリースです。Eclipse Foundation では、この Galileo リリース群は 33 のプロジェクトからなると言っていますが、そのうちの一部はプロジェクトに取り込まれたサブジェクトなので、Eclipse Foundation のマーケティング活動では 33 のプロジェクトすべてが強調されているわけではありません。それでもなお Galileo は、これまでの新技術の単独リリースのなかで最大となるものです。

Galileo をはじめ、Eclipse のリリース群全般に関して重要な点は、同時リリースとは言っても、各リリースに含まれるプロジェクトは統合されているわけではないことです。いずれのプロジェクトも独立したオープンソース・プロジェクトとして、それぞれに固有のプロジェクト・リーダーシップ、コミッター、開発計画で推進されています。リリース群という概念は、透過的かつ予測可能な開発サイクルを提供することを目的としています。

Galileo を入手する

Galileo を入手するには、主に 2 つの方法があります。まず 1 つは、自分に関係するパッケージだけを取得することで、これが推奨される方法となっています。もう 1 つの方法として、更新サイトを使って Galileo を入手することもできます。

パッケージ

Eclipse Galileo Packages サイトにアクセスしてください。このパッケージ・サイトには、それぞれのニーズに合わせてあらかじめバンドルされた 9 つの Galileo バージョンが揃っています。


図 1. Galileo パッケージ


Galileo 更新サイト

更新サイトを利用して Galileo を入手する場合は、Eclipse V3.5 SDK をダウンロードしてください。ダウンロードした後、Eclipse を起動して「設定 (Preferences)」 > 「インストール/更新 (Install/Update)」 > 「使用可能なソフトウェア・サイト (Available Software Sites)」の順に選択すると、ソフトウェア更新メカニズムを利用することができます (図 2 を参照)。Galileo の更新を入手するためのサイトが、使用可能なソフトウェア・サイトとしてまだ登録されていない場合は、適切な Galileo 更新サイト情報を入力します。Galileo 更新サイトに接続されると、Galileo リリース群に含まれる入手可能なフィーチャーの一覧が表示されます。手順はたったこれだけです。更新サイトに接続しさえすれば、後はお使いのEclipse にインストールしたいフィーチャーを選択することができます。


図 2. ソフトウェア更新



プロジェクト

Eclipse エコシステムは、怖気づくことさえあるほど大規模です。約 100 のプロジェクトが Eclipse Foundation によって監視されている Eclipse エコシステムでは、Galileo リリースはそのほんの一部でしかありません。しかし、Eclipse 技術を使用する Galileo リリース群は、Eclipse 技術を製品に統合しようとしている人々の役に立ちます。Galileo の各プロジェクトについての詳細は、以下のリンクを参照してください。


表 1. Galileo リリース群のプロジェクト
プロジェクト 概要 Web サイト
ATF (Accessibility Tools Framework)障害者を対象としたアプリケーションおよびコンテンツの作成 http://www.eclipse.org/actf/
BIRT (Business Intelligence and Reporting Tools)レポートの生成 http://www.eclipse.org/birt
CDT (C/C++ Development Tooling)C++ 言語でのコーディング http://www.eclipse.org/cdt
DTP (Data Tools Platform)拡張可能なフレームワーク兼ツール http://www.eclipse.org/datatools/
EMF (Eclipse Modeling Framework)モデリング・フレームワークおよびコード生成機能 http://www.eclipse.org/modeling/emf/
Eclipse Packaging Projectパッケージの作成、ダウンロード、インストール http://www.eclipse.org/epp/
Eclipse Platformコアとなるフレームワークおよびサービス http://www.eclipse.org/platform/
EquinoxOSGi R4 コア・フレームワーク仕様の実装 http://www.eclipse.org/equinox/
GEF (Graphical Editor Framework)グラフィカル・アプリケーションの開発 http://www.eclipse.org/gef/
GMF (Graphical Modeling Framework)グラフィカル・エディターの開発 http://www.eclipse.org/gmf/
JWT (Java™ Workflow Tooling)設計から監視に至るまでのワークフローおよびプロセスを対象としたツールセット http://www.eclipse.org/jwt/
JDT (Java Development Tools)Java アプリケーションの開発 http://www.eclipse.org/jdt/
M2T JET (Java Emitter Templates)モデルからのテキスト成果物の生成 http://www.eclipse.org/modeling/m2t/
Memory Analyzerメモリー・リークの検出とメモリー使用量の削減 http://www.eclipse.org/mat/
MTJ (Mobile Tools for Java)モバイル機器用 Java アプリケーション開発に対応した Eclipse フレームワークの拡張 http://www.eclipse.org/dsdp/mtj/
Mylynタスクをモニターすることによるタスク指向の GUI の提供 http://www.eclipse.org/mylyn/
PDT (PHP Development Tools)PHP のコーディング http://www.eclipse.org/pdt/
RAP (Rich Ajax Platform)Ajax のコーディング http://www.eclipse.org/rap/
SCA Toolsサービス・コンポーネント・アーキテクチャー標準に対応するためのツール http://www.eclipse.org/stp/sca/
SOA Toolsサービス指向アーキテクチャー・アプリケーションのコーディング http://www.eclipse.org/stp/
Swordfish拡張可能 SOA フレームワーク http://www.eclipse.org/swordfish/
Target Managementリモート・システムの構成および管理 http://www.eclipse.org/dsdp/tm/
TPTP (Test and Performance Tools Platform Project)アプリケーションのプロファイル作成およびテスト用ツール http://www.eclipse.org/tptp/
Xtext (Textual Modeling Framework)外部テキスト DSL のコーディング http://www.eclipse.org/modeling/tmf/
TmL (Tools for mobile Linux)モバイル・アプリケーションのコーディング http://www.eclipse.org/dsdp/tml/
WTP (Web Tools Platform)Web および Java EE アプリケーションのコーディング http://www.eclipse.org/webtools/

プロジェクトの紹介

ACTF (Accessibility Tools Framework)

ACTF プロジェクト・リーダーの浅川智恵子氏曰く、「ACTF V0.7 は、アクセシブルな Web アプリケーションのための第 1 級の開発環境として Eclipse Galileo リリースをサポートしており、米国のセクション 508 に法的に準拠することのみならず、誰にとっても使いやすいアプリケーションの実現を目指しています。」

浅川氏の説明によると、「ACTF は Web、J2EE、PHP のパースペクティブをシームレスなアクセシビリティー評価機能によって拡張します。これらの機能の例としては、自動でエラーを検出する機能、音声アクセスを使用するユーザーにとってのユーザビリティーを可視化する機能、そしてロービジョンのユーザーの視界を画像処理によってシミュレーションする機能などがあります。これらの機能によって、開発者はアプリケーションのアクセシビリティーをすぐに認識し、学び取り、改善することができます。」

「この統合は最初の一歩にすぎません。私たちの最終的な目標は、Eclipse IDE で生成または開発されたあらゆる成果物をすべての人にとってアクセシブルにすることです。」このように浅川氏は述べています。

CDT (C/C++ Development Tooling)

CDT のプロジェクト・リーダーを務める Doug Schaefer 氏によると、Debug Services Framework の CDT への移植は完了し、Debug Services Framework は CDT の新たなコンポーネントになったということです。この新規コンポーネントには、インデクサーがプロジェクトに含まれるヘッダー・ファイルを検出できるようにする新しいヒューリスティクスが組み込まれ、暗黙的参照と多重定義された演算子に対する索引のサポートも追加されました。

改善された「Convert to a C/C++ Project」では、プロジェクト・タイプ (例えば「Makefile プロジェクト (Makefile project)」など) が考慮されるようになっています。CDT の更新内容には、複数のセッションを同時に起動する「Launch Group」構成も追加されています。Schaefer 氏は CDT には現在、組み込み開発、RSE ベースのリモート起動、GCC クロスコンパイラーのビルド・サポートなどのための新機能だけでなく、ついに p2 サポートも含まれるようになり、C/C++ SDK の tar ファイルをインストールできるようになったと述べています。

DTP (Data Tools Platform)

「Galileo (V1.7) リリースでは、DTP は少数の主要な領域に絞って力を入れています。」プロジェクト・リーダーの Brian Fitzpatrick 氏はこう語っています。「その 1 つは、SQB (SQL Query Builder) などのビジュアル・ツールの追加と機能強化です。ユーザビリティーに関していくつかの簡単な機能強化を行い、ビジュアル・ツールを使いやすくしました。また、Schema Object エディター用のフレームワークを新しく追加したので、今後のリリースでは一層広範に採用されるようになることを願っています。今回のリリースでは、Sybase ASA 対応の標準的な Schema Object エディターを提供しました。これによって、コミュニティーの他のベンダーやメンバーが、テーブルや、索引、ストアード・プロシージャーなどを作成および変更する際のエディター・フレームワークのメリットを理解するようになってほしいと願っています。」

Fitzpatrick 氏はこう続けます。「私たちが強化したもう 1 つの領域は、Connectivity APIです。現在 DTP では基本的に、データベースへの接続を API のみを利用して簡単に作成、使用するためのメカニズムを、その他の接続タイプと併せて提供しています。このことは、DTP を採用している主要なプロジェクトにとって重要な点でした。例えば BIRT では、レポートの作成時に内部で DTP の機能を使用していますが、それはユーザーが接続を作成、管理する際に別の環境に移る必要をなくしたかったからです。今では、これまで管理してきた API とプロパティーを使って、接続を生成したり、SQB を使用したりするなどのさまざまな操作を行えるようになっています。」

さらに Fitzpatrick 氏は、「全体的に見て、2006年に DTP の提供を開始して以来常に行ってきたように、今回も DTP を導入および拡張する人々にさらに多くの機能を提供すると同時に、コンポーネントと API の安定性を向上させたと思います。」と述べています。

EMF (Eclipse Modeling Framework)

Modeling プロジェクトは多数のサブプロジェクトからなります。EMF 自体を構成するのは、Core コンポーネントと、Teneo や CDO などのコンポーネントです。

プロジェクト・リーダーの Ed Merks 氏曰く、「モデリングの全体像のなかで、とりわけ興味深い 3 つの有望な技術的進歩としては、まず Xtext が挙げられます。Xtext は TMF (Textual Modeling Framework) プロジェクトのサブプロジェクトで、Galileo に今回新たに加わりました。次に挙げられるのは、CDO Model Repository です。この EMF プロジェクトのサブプロジェクトは前回のリリースから大幅な改善が行われ、改めて大きな関心を呼んでいます。そしてもう 1 つは、現在 EclipseLink との統合を提供するようになっている Teneo です。」

「また、M2 (Model to Text) プロジェクトの一部となっている新しい OMG 標準テンプレート言語、Acceleo もリリースする予定です。そして GMF が引き続き技術的な進化を遂げています。」こう Merks 氏は続けました。「私が直接指揮している EMF Core サブプロジェクトに関して言うと、最近新しいコミッターとして加わった Tom Schindl 氏の指揮により行ったデータ・バインディングのサポートの改善は、間違いなく注目に値します。さらに、フットプリントが削減された EObject の実装も同じく注目すべき点です。一部のクライアントは、この実装を使用して 60 パーセントを超えるフットプリントの削減を実現しました。」

CDO (Connected Data Objects)

CDO プロジェクト・リーダーの Elke Stepper 氏は CDO のことを、スケーラビリティー、トランザクション性、パーシスタンスに重点を置いた分散型共有 EMF モデルのフレームワークと表現しています。

「CDO Model Repository は、前回の CDO のリリース以来、新たな関心対象を大量に生成し、それによって NASA やカナダ宇宙庁および国防省など、主要な導入者たちの興味を引き付けました。チームのコミッターは今や 8 人に増え、実装した機能強化も 130 を数えます。これらの機能強化には、分散トランザクション、ペシミスティック・ロック、セーブ・ポイントの他に、インポート/エクスポート・ウィザードを備えた EMF リソース用仮想ファイル・システム、変更サブスクリプション・ポリシー、非同期クエリー・フレームワーク、リポジトリーのセキュリティー・フックなども挙げられます。CDO の特性は、コレクションの部分ロードやモデルの使用分析、そして適応型のプリフェッチなどの機能によって大幅に改善されています。」このように Stepper 氏は言っています。

Eclipse-Databinding

「Galileoでは、Eclipse データ・バインディングがいわゆる Properties-API を導入することから、このフレームワークの導入者には数多くの新しい機能が提供されます。その 1 つは、テーブルとツリーを含め、ドメイン・オブジェクトおよびウィジェットのネストされたプロパティーを直接サポートする機能です」。これはプロジェクト・リーダー、Tom Schindl 氏の言葉です。さらに、「観測対象オブジェクトの作成と観測対象プロパティーの定義との分離、テーブル/ツリーのサポートの改善、セットアップの簡易化、1 つのウィジェット内でのオブジェクト・タイプの混在、そしてカスタム監視対象オブジェクトの作成簡易化」などの機能も組み込まれていると説明しています。

EMF V2.5 は、Ecore をドメイン・モデル技術に選択し、これを中心に CDO、Teneo、EMF-Edit を含めたエコシステムを構築することを選択した Eclipse データ・バインディングの導入者に第 1 級のサポートを提供すると Schindl 氏は言っています。

EMF Compare

「Galileoで V1.0 となる EMF Compare では、チームワーク環境でモデルを区別およびマージすることが可能になります。Eclipse Team API と密接に統合された EMF Compare は、CVS、SVN または GIT チーム・プロバイダーと見事に連動します」。こう説明しているのは、プロジェクト・リーダーの Cedric Brun 氏です。

「Model To Text プロジェクトも便利なコンポーネントを提供します。これは、Acceleo プロジェクトのおかげです」。Brun 氏の説明によると、「これによって MTL (MOF Template Language) の実装が実現するため、コード生成テンプレートや作成標準テンプレートについて心配する必要は一切なくなります。さらに、コード補完、デバッグ機能、生成プレビューの一式を提供するこの完全なツールにより、モデルを利用して簡単にコードを生成できるようになります。」

さらに Burn 氏は、「Model-to-Model 変換の領域では、ATL ツールが大幅に改善され、より優れたユーザー・インターフェースとデバッグ支援の機能を提供するようになっています。」と説明しています。

Teneo

「Galileo V3.5 リリースで Teneo が追加する EMF-EclipseLink 統合は 2 つのパーツからなります。1 つは Ecore モデルをベースに JPA の標準的な ORM (オブジェクト・リレーショナル・マッピング) XML ファイルを生成するパーツ、もう 1 つは標準的な EMF の概念を EclipseLink と統合するためのランタイム層です」。これは、プロジェクト・リーダーの Martin Taal 氏の説明です。「Galileo V3.5 でのその他の改善点としては、Hibernate 固有の永続化アノテーションのサポート強化、そして JPA の標準的なアノテーションの完全サポートがあります。」

Xtext

Xtext プロジェクト・リーダーの Sven Efftinge 氏曰く、「Xtext はテキストによる DSL (ドメイン特化言語) の開発用フレームワークです。EBNF で文法を記述する Xtext の単純な言語を使って独自の DSL を記述するだけで、後はジェネレーターがその記述から、パーサー、(EMF に実装される) AST メタ・モデル、そして完全な機能を備えた Eclipse テキスト・エディターを作成します。」

Efftinge 氏はこう続けています。「このフレームワークは、EMF、GMF、M2T、そして EMFT の一部など、Eclipse Modeling の技術を統合しています。Xtext での開発はすぐに変更できるように最適化されているため、わずか数分で、既存の DSL に新機能を追加することができます。このフレームワークでは、高度なプログラミング言語を実装することが可能です。」

Eclipse Packaging Project

「ほとんどの人は気付いていませんが、毎日のように何千ものユーザーが Eclipse のメイン・ダウンロード・ページからダウンロードしているパッケージはすべて、EPP (Eclipse Packaging Project) が作成したものです。」こう語っているのは、プロジェクト・リーダーの Markus Knauer 氏です。「Galileo では、すべてのパッケージの更新バージョンに加え、多くの開発者の興味をそそる非常に画期的な 2 つのパッケージを新たに用意しています。その 1 つは、私たち全員が毎日のように使っている携帯電話などのモバイル機器用のアプリケーション開発に利用できる Pulsar パッケージです。そしてもう 1 つの新しいパッケージは、PHP 開発者向けに作成されているもので、最も頻繁にダウンロードされるパッケージの 1 つになると確信しています。」

Knauer 氏はこう続けます。「しかし今年行った最大の変更は、まったく新しいビルド・インフラストラクチャーへの切り替えです。現在、すべてのパッケージは p2 技術を利用してビルドされるようになっています。そのため、パッケージが完全に p2 に準拠するだけでなく、パッケージの一層柔軟なカスタマイズが可能になります。」

Eclipse Platform

プロジェクト・リーダーの Steve Northover 氏は次のように語りました。「私にとって Eclipse Galileo で最もエキサイティングなことは、Mac Cocoa への SWT の移植です。Cocoa は今後の Macintosh におけるユーザー・インターフェースであり、Eclipse がそこに加わることになるわけです。この移植が短時間で実現したのは、コミュニティー、Adobe、IBM® による協力のおかげです。」

Equinox

プロジェクト・リーダーの Jeff McAffer 氏の言葉です。「Equinox の Galileo リリースに、私たちは非常に興奮しています。私たちが実装した最新の OSGi 仕様には、数々の機能強化が組み込まれており、分散システムやエンタープライズ・システムを始めとする広範な現実のシナリオでの、OSGi の能力が高まっています。現在、最新の仕様に合わせて更新され、PDE で完全サポートされるようになった Equinox OSGi Declaratives Services 実装が標準的な Eclipse ダウンロードに含まれています。」

McAffer 氏はさらにこう続けています。「私たちのプロビジョニング・プラットフォームである p2 では、堅牢性、パフォーマンス、柔軟性が大きく改善されています。このことから、高度なソフトウェア・ソリューションを実現するために p2 が使用されるケースが急激に増えてきています。また、形の上では Galileo に含まれていませんが、Equinox Aspects プロジェクトは次の段階へと進みつつあり、AOP コミュニティー自体を含めた多数のプロジェクトで採用されるようになっています。さらに一般的な話としては、ランタイム環境で Eclipse を使用する EclipseRT が、Galileo にランタイム固有の機能を提供している多くのプロジェクトから注目されるようになってきています。」

GMF (Graphical Modeling Framework)

「ランタイム・コンポーネントに対して多数のバグ・フィックスとパフォーマンスの改善が行われただけでなく、このリリースでは生成ツールが大々的に変更されました。」こう語るのは、プロジェクト・リーダーの Richard Gronback 氏です。「具体的に言うと、私たちが採用している Xpand コード・ジェネレーターは、Xpand で元々使われている Xtend とベースとなる式言語の代わりに、OCL (Object Constraint Language) と QVT OML (Operational Mapping Language) を使用するようにリファクタリングされています。これにより、モデルとテキストの間の変換機能を改善するとともに、以前は Java コードで行われていたマッピング・モデルとジェネレーター・モデル間の変換オプションとして QVT を追加して補完しています。」

JWT (Java Workflow Tooling)

JWT は、Eclipse プラットフォームにオープンソースのビジネス・プロセス設計および開発をもたらします。」これは、プロジェクト・リーダーの Florian Lautenbacher 氏の説明です。「ビジネス・プロセス管理 (BPM) は、ビジネス、ミドルウェア、そして統合の岐路にあるため、決してそのアクターの選択肢を固定するべきではありません。そのことから、JWT でモデル化されたプロセスは、アナリストの望む方法に対応し、開発者が加えたあらゆる実装情報を保持し、任意のランタイム・プラットフォームにデプロイできるようになっています。」

Lautenbacher 氏は、こう続けます。「これを可能にしているのは、コミュニティーとベンダーがベースとして使える柔軟なフレームワークであり、このフレームワークによって、拡張可能なビュー、モデル、変換が実現されます。JWT には、UML アクティビティー図やイベント駆動型プロセス・チェーン (EPC) ビュー、BPMN インターオペラビリティー、コード生成 (例えば、XPDL や AgilPro 統合での WSBPEL コードだけでなく、HTML 文書も含まれます) など、いくつかの組み込み拡張機能が付属しています。実際、JWT を統合するソリューションはすでにいくつか存在しています。例えば、OW2 Consortium のSOA を重点とした Scarbo や SourceForge での AgilPro などです。」

「Galileo で焦点が置かれていたのは、Bonita などの一般的なビジネス・プロセス・ランタイムとの互換性の追加、そして特に BPMN、SCA、IM をはじめとする STP (SOA Tools Platform) のプロジェクトとのコラボレーションによるサービス指向の機能の統合でした。」このように Lautenbacher 氏は語りました。

JDT (Java Development Tools)

「このコンパイラーには、いくつかの新しい診断機能 (デッド・コードの検出など) が追加されていて、診断によって報告される問題ごとに、その問題を解消するためのクイック・フィックスが提供されます。」これは、プロジェクト・リーダーの Dani Megert 氏の説明です。

「Java エディターにはコンストラクターの補完機能が追加され、メソッドの実装に直接ジャンプできるようになりました。フォーマッターは既存の改行を保持できるようになり、そしてついに、Java 比較エディターがコンテンツ支援をはじめ、通常の Java エディターで使用可能な多くの機能を提示するようになっています。」Megert 氏はこのように述べています。

M2T JET (Java Emitter Templates)

JET2 は、Eclipse 環境を対象としたテンプレート・エンジンです。

「Galileo で主に重点を置いたのは、テンプレートの読み易さです。」プロジェクト・リーダーの Paul Elder 氏はこのように述べると、次のように続けました。「基本的に、テンプレートは静的なテキストにそのテキストをカスタマイズするマークアップを組み合わせたものです。優れたテンプレートでは、テキストの構造、そしてマークアップがテキストに与える影響を素早く読み取ることができます。しかしマークアップを追加し過ぎると、テンプレートはほとんど判読不可能になってしまいます。」

Elder 氏はさらに次のように述べました。「Galileo では、マークアップの干渉を抑えるための多数の革新が JET2 に導入されています。まず第 1 に、マークアップを大幅に簡潔にできるようになりました。第 2 に、共通の生成パターンを簡潔に記述する新しいマークアップが導入されています。個人的に気に入っている新しい c:deepIterate タグは、後者のカテゴリーに分けられます。このタグを使用すると、ネストされたデータまたは再帰データから生成されるテキストを簡潔に記述することができます。以前のリリースでこれと同じ内容を記述するには、2 つのテンプレートと再帰テンプレート、そして遙かに多くのマークアップが必要だったので、読み易いどころの話ではありませんでした。」

Memory Analyzer

プロジェクト・リーダーの Andreas Buchen 氏の言葉です。「Galileo は、Memory Analyzer が搭載された初の同時リリース群です。」

「まさに素晴らしい気分です。私たちはこの機に、いくつかの新しい機能を用意しました。その 1 つは、 PHD およびシステム・ダンプを含めた IBM Virtual Machines ファミリーによるヒープ・ダンプのサポートです。その他の機能強化には、ヒープ・ダンプ取得時に実行中のスレッドについてのスタック・トレースのサポートや、OSGi ランタイムの完全な状態を確認できる Equinox バンドル・ブラウザーの他、ダンプから SWT アイコンを再現して表示するなどの細々とした拡張もあります。」こう Buchen 氏は説明しました。

MTJ (Mobile Tools for Java)

MTJ プロジェクトが Eclipse 群の一部としてリリースされるのは、今回が初めてです。プロジェクト・リーダーの Christian Kurzke 氏は、このように述べています。「昨年中、私たちはモバイル開発者をターゲットとした 2 つの Eclipse プロジェクト (EclipseME と MTJ) を 1 つのジョイント開発としてマージしました。その結果が、この「新生」Eclipse MTJ です。」

Kurzke 氏は、次のように続けます。「Galileo リリースの一環として、私たちはモバイル・アプリケーション開発者をターゲットに事前統合した Eclipse のダウンロード・パッケージ (Pulsar Package) も作成しました。また、MTJ プロジェクトは Galileo リリース群でバージョン 1.0 にレベルを上げています。このリリースでの主な目標は、MTJ API を定義することでした。この API によって、サード・パーティーのツールの開発者は、それぞれ独自のプラットフォーム、さらにはSDK 固有の機能をサポートするように MTJ を拡張することが可能になります。」

Mylyn

Mylyn V3.2 に組み込まれている内容のなかで特に画期的なのは、Mylyn コネクターを検出およびインストールするための新たな App Store 風の UI です。このリリースでは、Mylyn は Eclipse ユーザーに人気のある変更管理ソリューションのほとんどをサポートします。しかも、これらの統合ソリューションは、何回かのクリック操作だけでワークスペースにインストールすることができます。」こう語るのは、Mylyn プロジェクトのリーダー兼 Tasktop Technologies 社の CEO でもある Mik Kersten 氏です。

Kersten 氏はさらにこう語りました。「日常的な作業に関して私が気に入っている改善点は、新しいタスク・エディターのレイアウトです。このレイアウトによって、タスクをひと通り読んで (それらのタスクに) 優先順位をつける作業を、E メールをスキャンするのと同じくらい、あるいはそれよりも素早く行うことが可能になります。」

PDT (PHP Development Tools)

「Eclipse PDT は、Eclipse プラットフォームをベースにした PHP スクリプトの開発環境を提供します。このプロジェクトは PHP の開発に必要な開発コンポーネントを網羅し、機能の拡張を容易に行えるようにします。そんな Eclipse PDT は、最近では PHP 開発のデファクト・スタンダードとなっています。」これはプロジェクト・リーダー、Roy Ganor 氏の言葉です。

「Eclipse PDT の最大のファンは、おそらく現在の Web 標準に従っている Web 開発者たちだと思います。チーム・リーダーと製品マネージャーにとっても、Eclipse と PHP を使用して次世代の製品をプロトタイプ化する際に便利なツールであることがわかるはずです。」Ganor 氏はこう続けました。

さらに Ganor 氏は、「オープンソース・プロジェクトの力は、業界標準に従ったときに浮き彫りにされます。これがまさに、Eclipse PDT が Galileo リリース群に参加することを決めた理由でした。Galileo リリース群への参加によって、プロジェクトがある一定レベルの品質および成熟度であることを約束できるフレームワークとして認められるからです。さらに今回の Eclipse PDT では、その評判と認知度に今までとは大きな違いが認められます。私としては、次回のリリースが待ちきれません。」と語りました。

Eclipse PDT は約 3 年前、Zend Technologies と IBM による構想として始まりました。Ganor 氏は、「私たちは、PHP 開発者が特にチームで作業する際、そしてアジャイル開発手法を実践する上で、Eclipse と Eclipse エコシステムからさまざまなメリットが得られるはずだと予測していたからです。」と述べています。

さらに Ganor 氏は、PDT V2.1 に関して人々を驚かせることになる新しい 2 つの大きな発表があると言いました。「まず 1 つは、PDT V2.1 は Eclipse PHP フレーバーの最初のリリースとなることです。この Eclipse PHP フレーバーは、Eclipse プラットフォームと Eclipse PDT プロジェクトをベースとしています。今まで Eclipse の Java フレーバーをダウンロードして、PHP の機能を追加することに慣れていた開発者が、これからは PHP 固有のパッケージを Eclipse のメイン・ダウンロード・サイトから直接ダウンロードできるようになります。もう 1 つの発表は PHP 5.3 に関連します。PHP チームは 2、3 年の開発作業を経た後、名前空間やクロージャーなどの新しい言語機能を多数備えた次世代の PHP エンジンをリリースする予定ですが、嬉しいことに、Eclipse PDT はこれらの新機能をサポートします。」このことは、Eclipse と PHP という 2 つのコミュニティーの緊密な関係を表していると、Ganor 氏は述べています。

Ganor 氏は最後に、「Eclipse PDT チームは今後も常に品質改善に努め、標準をサポートしていきます。そのため、私たちは次のメンテナンス・リリースでは安定性とユーザビリティーに重点を置くことにしています。また、さらに多くの拡張機能を開発することで、世界中の PHP フレームワーク・チームがその開発メンバーのために PDT をターゲット環境として利用できるようにしたいと思っています。」と締めくくりました。

RAP (Rich Ajax Platform)

RAP V1.2 によって、RCP および RAP との間でデスクトップ・アプリケーションと Web アプリケーションのソースを 1 つに統一しやすくなります。プロジェクト・リーダーの Jochen Krause 氏は次のように述べています。「私たちはよく使われている API を RAP で提供することを重点に、他のいくつかの Eclipse プロジェクトと協力してコードの単一ソース化に取り組んでいます。一例として、Eclipse メモリー・アナライザーの場合、RCP と RAP でのコードの再利用率は 98.4 パーセントにも上っています。単一ソースによるプロジェクトの編成方法に関するウェブキャストとガイドラインでは、Web UI を RCP アプリケーションに効果的に追加する方法を説明しています。」

Krause 氏は次のように続けます。「そのまま使える Web スタイルの新しいルック・アンド・フィールと、新しいユーザビリティー機能が、RAP アプリケーションをエンド・ユーザーにとって一層魅力的なものにしています。また、クライアント・サイドとサーバー・サイドのパフォーマンスの向上によって RAP アプリケーションの動作が速くなり、サーバー当たり数百のユーザーにまでスケーリングできるようになっています。」

SCA Tools

プロジェクト・リーダーの Stephane Drapeau 氏は、2008年の Ganymede リリース以来、SCA Tools プロジェクトで行われてきた新しい開発は膨大な量に上ると言っています。「SCA 標準のアセンブリー・ファイルを極めて簡単に編集、更新できるように、私たちは XML エディターを追加しました。Java 開発者は今後、SCA アセンブリー定義を作成し、その定義から Java コードを生成することになるでしょう。さらに、既存の Java コードから始めたいという場合でも、コードを調べて自動的に SCA アセンブリーを生成する特殊なイントロスペクターを追加しています。Java SCA プロジェクトを作成しさえすれば、後は Eclipse が提供する優れた機能を使ってそのプロジェクトの実行およびデバッグをすることができます。私たちはまた、開発者がプロセスの初期段階でエラーを突き止められるように、作成された SCA 成果物に対して確実に適切な検証が行われるようにしました。さらにはグラフィックの更新にも時間を費やしたので、SCA Composite Designer の見栄えが以前よりも良くなっています。」

Drapeau 氏は、さらに続けます。「私にとって最も画期的な特徴は、コアとなる SCA モデルが、追加機能をツールとして作成したいという開発者たちによって拡張できるように作成されていることです。このモデルの心臓部には SCA 標準仕様が含まれていて、Apache Tuscany V1.4 と Frascati V0.5 という主要なオープンソース SCA ランタイムをサポートする各種の拡張機能も作成されています。この拡張メカニズムを使用することで、遙かに簡単に、新しい概念を SCA に追加し、これらの概念を組み込むようにツールを拡張することができます。」

SOA Tools

「この Galileo リリースで、SOA Tools プロジェクトは成熟を遂げています。BPMN Modeler や SCA Tools などのサブプロジェクトは今や極めて高い品質になっており、SOA 開発者が使用する類のツールに本格的に貢献するようになっています。」これは、プロジェクト・リーダーの Oisin Hurley 氏による説明です。

「SCA Tools サブプロジェクトは昨年、目覚ましい進歩を遂げ、バージョン 2.0 への主要な更新を完了しました。Policy Editor に対する拡張機能により、WS-Policy 文書の作成に手こずっていた開発者たちが、今ではカスタマイズ可能な方法で出発点となる宣言を作成し、その場で検証のために変換するという方法を選択できるようになっています。この規範的モデルから SCA への新しい変換とともに、私たちの SOA Model は今後も進化し続けます。今後の展望としては、楽しみな可能性がいくつか見えてきています。そのためにも、私たちは SOA Tools プロジェクトへの参加を拡大するとともに、新しいサブプロジェクトを導入していきたいと思っています。」このように Hurley 氏は語りました。

Swordfish

プロジェクト・リーダー Oliver Wolf 氏の言葉です。「今年の Galileo 同時リリースで Swordfish が初公開されることに、私たちは本当にワクワクしています」。

Wolf 氏は次のように続けます。「Swordfish プロジェクトの目標は、実証済みの Eclipse Equinox ランタイム技術をベースに、拡張可能な SOA フレームワークを提供することです。このフレームワークは、サービス・レジストリーやメッセージング・システム、そしてプロセス・エンジンなどの他のオープンソースを追加して補完することにより、確立されたオープン標準と新しく登場したオープン標準の両方をベースとした包括的なオープンソース SOA ランタイム環境を形成するように設計されています。Galileo で提供している 0.9.0 リリースにも、コードから開始するアプローチ、または WSDL から開始するアプローチでサービスを容易に作成できるようにするツールがいくつか組み込まれています。」

Target Management

「私が個人的に大きな期待を抱いているのは、ローカル・ファイル・システムとリモート・ファイル・システムを比較同期する機能、そして同じ 1 つのホストに対する複数の異なる接続を処理する機能です。この 2 つの機能は、長年にわたってコミュニティーから求められてきました。」プロジェクト・リーダー、Martin Oberhuber 氏の言葉です。

「しかしローカル・システムだけで作業するとしても、この新しい「Show in Remote Systems View」アクションは重宝します。このアクションによって、RSE は TAR、TGZ、ZIP、そして JAR アーカイブを簡単に参照できるからです。リモート・システムでプログラムを起動するユーザーは、起動の一部としてリモート側で任意のコマンドを実行できる機能を気に入ってくれると思います。この機能は CDT プログラム用に実装されてきましたが、ダミー CDT プロジェクトを設定すれば、他のあらゆる種類のリモート・アプリケーションにも使用することができます。」Oberhuber 氏はこのように語っています。

TPTP (Test and Performance Tools Platform Project)

プロジェクト・リーダーの Oliver Cole 氏は、Eclipse TPTP (Test and Performance Tools Platform) V 4.6 の Galileo リリースで重点を置いたのは、Ganymede に対して行う改良、安定性の改善、そしてドキュメントであると言っています。

Cole 氏曰く、「Galileo でのリリース、そして Helios を推し進めるなかで、TPTP の目標となっているのは、欠陥をゼロにすることです。ありふれた目標に聞こえるかもしれませんが、これは実際にはかなり興味深い試みです。欠陥ゼロのプラットフォーム (例えば TPTP) とは何を意味するのでしょうか。プラットフォームに欠陥がなければ、コミュニティーのエンド・ユーザーと、そのプラットフォームを使用する製品の両方が頼りにすることができます。つまり、未解決のバグがあるプラットフォームよりも、遙かに価値があるということです。それに、欠陥のないソフトウェアが今までにあったでしょうか。」

Cole 氏はさらにこう続けます。「バグがゼロということは、「優れた」製品で行われるべきことが、すべて行われているということです。例えば、文書化が不十分であると認識されるバグは修正しなければなりません。いいかげんなワークフローであると認識されるバグも、改良の必要を示すバグも、すべて修正しなければなりません。TPTP の大量なコードに存在する本質的な価値は、それが機能するからこそ生きてきます。」

「具体的には、POG (Profiler of the Gods) という活動によってすべてのプロファイラーのバグを修正し、コミュニティーに世界第 1 級の Java プロファイラーを提供することを目指しています。」Cole 氏はこう結びました。

TmL (Tools for mobile Linux)

「モバイル業界全体のなかでモバイル・アプリケーションの開発がスポットライトを浴びている今、革新技術を実現しようとしている開発者にとって刺激的な時代となっています」。こう語っているのは、Motorola Inc. のシニア・プロダクト・マネージャーであり、Eclipse TmL (Tools for mobile Linux®) のプロジェクト・リーダーを務める Eric Cloninger 氏です。

「次回の Galileo 同時リリースの一環として、私たちは開発者たちが携帯電話とエミュレーター上で簡単にアプリケーションを作成、デバッグ、診断できるように取り組んでいます。この共通モバイル・アプリケーション開発プラットフォームによって、開発者が使い慣れた 1 つの開発環境を一貫して使用しつつ、複数の機器を対象としたモバイル・アプリケーションを作成できるようになります。Motorola は、開発者がその革新技術を実現するために必要なツールを提供することを目的に、進んで業界各社と提携しています。」こう、Cloninger 氏は述べています。

WTP (Web Tools Platform)

WTP プロジェクトは 5 年前、Eclipse を Web アプリケーションのドメインにまで拡張するために開始されました。それ以来、最も人気の高い Eclipse プロジェクトとして、Web アプリケーション開発者向けの非常に豊富なツール、そしてツール・ベンダー向けのプラットフォーム・アプリケーション・プログラミング・インターフェース (API) を提供し続けています」。これはプロジェクト・リーダー David Williams 氏の言葉です。

WTP Galileo には、XSL 編集および統合デバッグ機能を提供するまったく新しい XSL Tools のセット、Ganymede で導入された JavaScript Development Tools に対する数々の改良、そして既存の XML、XML Schema、JSP、HTML、CSS、および DTD サポートに対する改善と追加が組み込まれています。

Williams 氏によれば、「Dali Java Persistence Tools には新たに改善された Entity Generation ウィザードが追加され、エンティティーを生成する前に大幅にカスタマイズできるようになっています。また、Dali には EclipseLink JPA に対する高度なツール・サポートと、JAR からのバイナリー・コンテンツのマッピング、プロジェクト・クラスパス、またはプラグインの広範なサポートも追加されているため、ツールの柔軟性が極めて向上しています」。


まとめ

この記事で目的としたのは、Galileo リリース群について一通り説明し、このリリースに含まれるプロジェクトを紹介することです。そのために、プロジェクト・リーダーの言葉を引用しながら、Galileo プロジェクトから抜粋して説明してきました。

その内容がわかったところで、もう待つ必要はありません。早速 Eclipse のリリース群、Galileo を試してみてください。


謝辞

この記事に情報と見解を提供してくださったすべてのプロジェクト・リーダーに感謝いたします。そして developerWorks で Eclipse に関する記事を数多く投稿している Chris Aniszczyk に、この記事で彼のフォーマットを使用することを許可してくれたことを感謝いたします。


参考文献

学ぶために

  • Galileo リリース群での Eclipse 最新バージョンについて詳しく学んでください。

  • Eclipse コミュニティーの最新情報を探すには、PlanetEclipse にアクセスしてください。

  • Eclipse の初心者は、developerWorks の記事「Eclipse Platform 入門」を読んでください。Eclipse の起源とアーキテクチャー、そしてプラグインで Eclipse を拡張する方法を学べます。

  • Eclipse の推奨読み物リスト」を読んでください。

  • developerWorks ですべての Eclipse 関連記事を調べてください。

  • developerWorks を Twitter でフォローしてください。

  • IBM developerWorks の Eclipse project resources を調べて、Eclipse のスキルを磨いてください。

  • ソフトウェア開発者を対象とした興味深いインタービューや討論については、developerWorks podcastsをチェックしてください。

  • developerWorks の Technical events and webcasts で最新情報を入手してください。

  • 無料の developerWorks On demand demos で、IBM およびオープンソースの技術と製品機能を調べて試してみてください。

  • 世界中で近日中に予定されている IBM オープンソース開発者を対象とした会議、見本市、ウェブ放送やその他のイベントをチェックしてください。

  • オープンソース技術を使用して開発し、IBM の製品と併用するときに役立つ広範囲のハウツー情報、ツール、およびプロジェクト・アップデートについては、developerWorks Open source ゾーンを参照してください。

製品や技術を入手するために

議論するために

  • Eclipse に関する質問を投じる最初の場所として、Eclipse Platform newsgroups があります (このリンクをクリックすると、デフォルト Usenet ニュース・リーダー・アプリケーションが起動され、eclipse.platform が開きます)。

  • Eclipse newsgroups には Eclipse を利用し、拡張することに関心を持つ人達のために、さまざまなリソースが用意されています。

  • developerWorks blogs から developerWorks コミュニティーに加わってください。

著者について

Author photo

以前、developerWorks Open source ゾーンのエディターを務めていた Cappel は、締め切りの 5 分後に記事を提出することが、ゾーンのエディターをどんなにイライラさせるか、そしてどれだけのタイプミスや文法の誤りがあると、ゾーンの Web エディターがその著者に殺し屋を差し向けるようになるかを知っています。彼は今年の Burning Man フェスティバルに参加するまでは、生きていたいと願っています。

不正使用の報告のヘルプ

不正使用の報告

ありがとうございます。 このエントリーは、モデレーターの注目フラグが設定されました。


不正使用の報告のヘルプ

不正使用の報告

不正使用の報告の送信に失敗しました。


developerWorks: サイン・イン


IBM ID が必要ですか?
IBM IDをお忘れですか?


パスワードをお忘れですか?
パスワードの変更

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 利用条件

 


お客様が developerWorks に初めてサインインすると、プロフィールが作成されます。 プロフィールで選択した情報は公開されますが、いつでもその情報を編集できます。 お客様の姓名(非表示設定にしていない限り)とディスプレイ・ネームは、投稿するコンテンツと一緒に表示されます。

表示名をお選びください

developerWorks に初めてサインインするとプロフィールが作成されますので、その際にディスプレイ・ネームを選択する必要があります。ディスプレイ・ネームは、お客様が developerWorks に投稿するコンテンツと一緒に表示されます。

ディスプレイ・ネームは、3文字から31文字の範囲で指定し、かつ developerWorks コミュニティーでユニークである必要があります。また、プライバシー上の理由でお客様の電子メール・アドレスは使用しないでください。

(半角英数字で3文字以上31文字以下にする必要があります)


「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 利用条件

 


この記事を評価する

コメント

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Open source
ArticleID=415418
ArticleTitle=Eclipse Galileo の接近調査
publish-date=06262009
author1-email=markcappel@gmail.com
author1-email-cc=