もうひとつの無償IDE

Java開発でよく利用されているIDEといえばオープンソースであるEclipseかNetBeansだろう。本連載でもこれらのIDEを取り上げる機会が多く、充実した機能に加えて無償であるという点も個人ユーザにとっては嬉しいポイントだ。

上記2つ以外だと、中にはIntelliJ IDEAを使っているという方もいるかもしれない。IntelliJ IDEAは商用製品だが、オープンソース開発者には無償でライセンスを供与している。

しかしオープンソースではないものの、無償で利用でき、商用製品並みの機能と完成度を誇るIDEがもう1つ存在する。それが今回紹介する「Oracle JDeveloper」(以下JDeveloper)だ。なお、本稿の内容は執筆時点で最新のJDeveloper 10.1.3.2に基づいている。

JDeveloperの入手とインストール

JDeveloperはオフィシャルサイトからダウンロードすることができる。

初回は無料のユーザ登録が必要だ。なお、上記のサイトにはさまざまなドキュメントやチュートリアルも掲載されている。Windowsの場合、ダウンロードしたZIPファイルを任意の場所に解凍し、jdeveloper.exeをダブルクリックすれば起動する。初回起動時は以下のようにjava.exeを選択するためのダイアログが表示されるが、このときJDKに含まれるjava.exeを指定すること(JREに含まれるjava.exeを選んでもエラーとなり起動することはできない)。

図1 java.exeを選択

JDeveloperの機能

JDeveloperは以下のような機能を提供している。

  • コードアシスト、リファクタリング機能などを備えたJavaエディタ
  • Struts、JSF、EJB 3.0などの標準フレームワークのサポート
  • Swing用のWYSIWYG GUIビルダ
  • StrutsやJSFのカスタムタグにも対応したHTML/JSP用のWYSIWYGビジュアルエディタ
  • ビジュアルなXMLスキーマ、XSLTマッピングエディタなどのXML開発機能
  • ESBデザイナー、BPELデザイナー、Webサービス開発支援などのSOA対応機能
  • UMLモデリング機能
  • ER図によるDBモデリングやPL/SQLなどDB開発機能
  • ポートレット開発支援機能
  • Oracle独自のADF(Application Development Framework)による開発

クライアントアプリケーションの開発からエンタープライズ分野まで、Java開発に必要な機能がひと通り網羅されていることがわかる。また、OracleデータベースやOracle Application ServerなどのOracle製品との相性もよい。以下、主な機能について少し詳しく見ていこう。

Struts/JSF開発機能

StrutsおよびJSFの両方に対して画面遷移をビジュアルに編集するためのエディタが提供されている。また、画面遷移以外の設定項目についてはウィンドウの左下に配置されているツリー状の構造ビューから編集することが可能だ。

図2 画面遷移を編集

JSPはグラフィカルに編集することが可能で、StrutsやJSFのカスタムタグもビジュアルに表示される。デザインツールとして見た場合さすがに専用のオーサリングツールとは比べると厳しく、またある程度複雑な画面になると日本語入力が極端にもたつくといった問題もあるが、細かい部分は直接JSPを編集しデザイン画面でデザインを確認するといった使い分けをすればいいだろう。IDEに統合されたWYSIWYG JSPエディタとしては良くできている部類に入るのではないだろうか。

図3 JSPエディタ

UMLモデリング機能

クラス図、シーケンス図、アクティビティ図、ユースケース図といった主要なUMLダイアグラムを描画することができる。

図4 クラス図

図5 シーケンス図

クラス図ではJDeveloperのプロジェクトからダイアグラム上にドラッグ&ドロップでクラスを追加することができる。この場合、ダイアグラム上でアトリビュートやオペレーションを編集しようとすると、図6のようにソースコードがポップアップ表示され、ソースコードを編集することができ、ソースコードに加えた修正は即座にダイアグラムに反映される。

図6 クラス図上でソースコードを編集

ADFによる開発

ADF(Application Development Framework)はOracleが提供するSOAアプリケーションの開発フレームワークとして位置づけられており、JSR-227仕様に基づいたデータバインディングを実現するADF Modelと、それらをSwing、Struts、JSFアプリケーションと統合するためのモジュールを提供する。ADFを利用することでDBのテーブルやWebサービスなどからデータモデルを作成し、作成したデータモデルをドラッグ&ドロップで画面上に配置することが可能だ。ADFはJDeveloperの売りの1つでもあり、フレームワークの存在はもとよりIDEで強力にサポートされている点は心強い。

図7 データモデルから画面を作成

なお、ADFはOracle Application Server以外のアプリケーションサーバ上で利用する場合は別途ライセンスの購入が必要となる。

更新マネージャ

EclipseやNetBeansと同様、JDeveloperにも更新マネージャが付属しており、アップデートや追加モジュールをインターネット経由でインストールすることができる。アップデートセンターにはSubversion用のモジュールやJUnitインテグレーション、PHP向けの拡張など利用価値の高いモジュールも含まれている。

図8 更新マネージャ

まとめ - Oracleの製品との相性の良さが魅力

JDeveloperはもともと商用製品だっただけあり、その完成度は非常に高く、エンタープライズ向けの機能についてはEclipseやNetBeansよりも充実しているといっていいだろう。また、豊富な機能にも関わらずIDEのユーザインタフェースはシンプルにまとめられており、操作性も良好だ。

これだけの機能を備えたIDEが無償で利用可能というのも驚きだが、にもかかわらずJDeveloperはメインストリームと呼べる存在ではない。しかし冒頭でも述べた通り、Oracleの製品との相性の良さは大きな強みだ。Oracle製品と組み合わせて使うのであれば開発ツールの候補にJDeveloperを加えてみてはいかがだろうか。