特集:後編 いま、知っておくべきJavaテクノロジー 2004dev Java(4/6 ページ)

» 2004年09月30日 17時17分 公開
[阿島哲夫(カサレアル),ITmedia]

開発行程の効率化を図るXDoclet

 XDocletはオープンソースのファイル自動生成ツールだ。

 XDocletを使うとソースコードや設定ファイル類を自動生成できる。EJBのホームインタフェースやリモートインタフェース、デプロイメントディスクリプタ、Strutsの設定ファイルなどは作成方法が決まっており、ほぼ機械的に作業できる部分だ

 これらは人間の手で行うと逆に記述ミスのおそれがあり、ツールで自動生成したほうがよい部分といえる。

 XDocletはAntから利用することが前提となっているが、Antをバックエンドで動かすIDEなどからも利用可能だ。商用の比較的高価なIDE製品では、XDocletなどを使わなくても設定ファイル類等を自動生成できる機能を持ったものも存在する。しかし、OSSの低コストで開発環境を整えたい場合には、頼りになるツールとなってくれるだろう。dev Java特集では「Strutsをチーム開発に生かす「XDoclet」の活用」が参考になる。

オープンソースソフトウェア利用の勘どころ

 近年、オープンソースソフトウェア(以下、OSS)がにわかに注目を集めている。

 OSSは、「ソースコードが公開されているフリーウェア」と同義ではない。ソースコードが公開されているだけでなく、再配布、再利用可能でなければならない。そのほかにも、OSSであるための定義は幾つかの項目があるが、詳細はOpen Source Initiative(OSI)のThe Open Source Definitionを参照してもらいたい。英文であるが、ここが基となっている。

 Javaテクノロジーの分野は、OSS利用が最も進んでいるもののひとつと言われている表9)。

表9■主なJava関連のOSSコミュニティ
コミュニティ URL 製     品
Apache Jakarta Project http://jakarta.
apache.org/
Tomcat(Servlet/JSPコンテナ)
Struts(フレームワーク)※a
Log4J(ロギングライブラリ)※b
Ant(ビルドツール)※c
など
JBoss.org http://jboss.org/ JBoss(EJBコンテナ)
JUnit.org http://junit.org/ JUnit(ユニットテストツール)
Eclipse.org http://www.eclipse
.org/
Eclipse(統合開発環境)
netbeans.org http://www.netbeans
.org/
NetBeans(統合開発環境)
※a 現在は「Apache Struts」プロジェクトで開発が進められている
※b 現在は「Apache Logging」プロジェクトで開発が進められている
※c 現在は「Apache Ant」プロジェクトで開発が進められている

 数々のライブラリやフレームワーク、開発ツールなどはまずオープンソースコミュニティにより開発され、それを商用製品ベンダーが取り込むという流れも多い。そして、OSSプロジェクトを商用ベンダーが支援するというケースも盛んだ。

 そのようなOSSの中には品質も高く、実業務での使用に何の問題もないソフトウェアも多い。もはや、商用製品とOSSとの間に品質の点では差が無いといっても過言ではない。

 OSSを使うメリットはさまざまだが、とりわけ次のような点が挙げられる。

 まず筆頭は、ソースコードが公開されているので、優れたエンジニアのソースコードを見ることができることだ。優れた設計、優れたコーディングテクニックを存分に勉強できる。開発者であれば、この点の意義が大きい

 OSSを利用することによって、ソフトウェアの内部動作に精通し、技術的なスキルアップが望めるだろう。設定ファイルの編集などは商用製品ではウィザード化されていることも多いが、OSSでは直接手で編集しなければならないことが多い。

 見方を変えると、どこにどのような設定を行うと、ソフトウェアがどのように動作するのかといった一連の動きも理解できる。また、OSSは特定のベンダに依存しないので、動作するプラットフォームが限定されることが少ないのも特徴だ。

 ただし、OSSを使うには、多少の技術力と多少の英語力が必要である。基本的に利用は自己責任なため、何か問題がある場合は自分でドキュメントやソースコードを読まなければならない。サポートに問い合わせ、といったシステムは存在しない。

 オープンソースコミュニティは世界各地に分散した技術者で構成されているので、メーリングリストやドキュメントでは事実上の共通言語である英語が使われることが多いのだ。

 情報が日本語化されるのはごく一部の情報に限られる。そして、活発な国内コミュニティがあったとしても情報伝達にはライムラグがある。そうとはいえ、EclipseやTomcat、Strutsのように十分に普及したソフトウェアであれば、商用製品に負けないほどの情報が書籍やWeb上に存在するので、それほど危惧する必要もないだろう。

 オープンソースソフトウェアはそのほとんどすべてが無償で入手可能である。また、商用製品よりも新しい技術が早く取り込まれる傾向にある。そのため、OSSの動向には常に注意を払って積極的に利用してもらいたい。

 オープンソースの最新動向の一端は、「国内代表者に聞くオープンソースの今」を参考にしてほしい。

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ