図3●Apache Software Foundationが運営するJava関連ソフト開発プロジェクト「Jakarta Project」のWebページ
図3●Apache Software Foundationが運営するJava関連ソフト開発プロジェクト「Jakarta Project」のWebページ
[画像のクリックで拡大表示]
表2●Apache Software Foundationが開発している主なオープンソース・ソフト
表2●Apache Software Foundationが開発している主なオープンソース・ソフト
[画像のクリックで拡大表示]
表3●ASP .NETで利用できる主なオープンソース・ソフト
表3●ASP .NETで利用できる主なオープンソース・ソフト
[画像のクリックで拡大表示]
図4●オープンソースの統合開発環境であるEclipse 3.1
図4●オープンソースの統合開発環境であるEclipse 3.1
[画像のクリックで拡大表示]
表4●Eclipseで利用できる主なオープンソースのプラグイン
表4●Eclipseで利用できる主なオープンソースのプラグイン
[画像のクリックで拡大表示]

数多くのJava関連ツールを
提供するJakartaプロジェクト

 オープンソースでは,スクリプト言語関連とともに,Java関連の開発ツールが多いのも特徴です。Javaそのものはオープンソースではありませんが,サン・マイクロシステムズのWebサイトから無償でダウンロードして利用できます。

 オープンソースで用意されているJava関連ツールは多岐にわたります。エンタープライズ向けのJava仕様であるJ2EE(Java 2 Platform, Enterprise Edition)の実行環境としては,サーブレット/JSP(JavaServer Pages)コンテナであるTomcatや,EJB(Enterprise JavaBeans)コンテナのJBossなどが有名です。最近では,使いづらいEJBへのアンチテーゼとして登場したSpring FrameworkSeasar2といった「軽量コンテナ」と呼ばれる実行環境も人気です。

 また,現在のJavaを使ったシステム開発では,フレームワークを使うのが一般的になっています。代表的なのが,Webアプリケーションの開発ではデファクト・スタンダードの地位を確立したStrutsです。ユニット・テスト用のフレームワークのJUnitもよく使われています。最近ではさらに,オブジェクト指向のプログラムとリレーショナル・データベースの間をマッピングするHibernateなどのフレームワークも注目されています。

 こうしたJava関連ツールの多くを開発しているのが「Jakartaプロジェクト図3[拡大表示]」です。WebサーバーApacheの開発元としても有名なApache Software Foundationが運営しているソフトウエア開発プロジェクトで,主にサーバーサイドJavaで利用可能なライブラリやツールを数多く提供しています(表2[拡大表示])。前述したTomcatはJakartaで開発されています。Strutsも,現在は独立したプロジェクトになっていますが,元はJakartaで開発されていたものです。

 Jakartaプロジェクトは単に多くのソフトウエアを公開しているだけではありません。TomcatやJSPで利用可能な標準タグライブラリJSTL(JSP Standard Tag Library)など,Java標準化組織のJCP(Java Community Process)で策定されたJSR(Java Specification Requests)の忠実な参照実装も提供しています。サーバーサイドJavaを利用して開発を行う場合には,利用可能なライブラリがJakartaで提供されていないかを確認すると良いでしょう。

ASP .NETで利用できる
ソフトウエアすらある

 Javaと並んでWebシステムの構築によく用いられている技術としては,米Microsoftが提供するASP .NETがあります。JavaやPHP,Perlなどの環境とは異なり,後付けで様々なライブラリやツールを付け加えるというよりは,開発に必要なライブラリ/フレームワークをあらかじめ「オールインワン・パッケージ」として提供しており,難しいことはあまり考えずに手軽に導入できる点が魅力です。もっとも,そのイメージが災いして,これまでは「ASP .NETでオープンソースを活用する」という発想はあまりありませんでした。何より,「Microsoft」と「オープンソース」は,水と油のような印象があります。

 しかし,いかにASP .NETが優れたサーバーサイド実行環境であるからといって,常に標準的な機能だけを使って一からアプリケーションを構築するのは,無駄の多い選択です。実はオープンソースにも,ASP .NETで利用できる完成度の高いアプリケーションが数多く存在します(表3[拡大表示])。ASP .NETでこれらを利用することによって,より高度なWebアプリケーションをより簡単に構築できます。

統合開発環境では
Eclipseがスタンダードに

 もう一つ,オープンソースの開発ツールで見逃せないのが,統合開発環境(IDE:Integrated Development Environment)です。統合開発環境とは,プロジェクト管理機能やコード・エディタ,デバッガなどアプリケーション開発に必要な機能を備えたソフトウエアのことです。アプリケーション開発において統合開発環境は必須というわけではありませんが,コンパイルやコードの自動補完,デバッグなど,定型的な作業を隠ぺいしてくれますので,開発の手間を削減できます。

 かつて,統合開発環境と言えば,ほとんどが数万~数十万円もするものばかりで,おいそれとは手が出せないイメージがありました。しかし,現在では商用製品に負けない機能を持つオープンソースの統合開発環境が無償で提供されています。これを利用しない手はありません。

 オープンソースの統合開発環境として知名度が高く,機能も充実しているものといえば,なんといってもEclipse(図4[拡大表示])でしょう*8。Eclipseは,もともとは米IBMがアプリケーション・サーバー用の統合開発環境として開発したものです。その後,オープンソースの開発団体であるEclipse.orgに提供されたことから爆発的な普及を遂げました。

 Eclipse本体はとてもシンプルで,基本的なプロジェクト管理機能とコード・エディタ,デバッガのみを備えた軽快な開発環境です。「プラグイン」と呼ばれる拡張コンポーネントを導入することで,必要に応じて様々な機能を追加できます(表4[拡大表示])。Eclipseは現在,主にJava用の統合開発環境として利用されていますが,プラグインを導入すれば,C#やPHP,JavaScriptといった言語の開発環境としても利用できます。また,UML(Unified Modeling Language)モデリング,データベース管理,テスト・ツールなどの機能も付加できます。それこそ上流工程から下流工程まで,開発にかかわるすべての工程をEclipseでまかなうことも可能なのです。

 Eclipseの開発は現在も精力的に進められています。新バージョンのEclipse 3.xでは,GUI開発を行うためのVisual EditorやJ2EE開発を行うためのJ2EE Standard Toolsなどに対応しました。今後,適用分野の拡大が期待できます。

 オープンソースという言葉が一般に使われるようになって,かなりの年月が経ちます。そのキーワードがいまだに色あせず,ますます注目を浴びているのは,単に無償で利用できるという理由からだけではありません。多くのソフトが何百,何千人という有志の手を経て育まれた結果,商用製品にも負けない機能性と信頼性を兼ね備えているからです。

 今回は,オープンソースの全体像を眺めてみました。この記事で挙げたソフトは,オープンソース全体から見ればごく一部にすぎません。インターネット上を探せば,まだまだ魅力的なソフトウエアが見つかるはずです。ぜひ,皆さん自身でも,様々なソフトウエアを探し出してみてください。

 次回からは,オープンソース・ソフトの中から特に使いでのあるツールをピックアップし,その機能や簡単な使い方を紹介していく予定です。


山田 祥寛(やまだ よしひろ)

千葉県鎌ヶ谷市在住のフリーライター(http://www.wings.msn.to/