|
あなたがJavaシステム開発にかかわっているならば、「Tomcat」や「Struts」の名前は毎日のように耳にしているだろう。あまたあるJava開発製品の中で、これら存在感あるツールをオープンソースで続々と提供しているのが、“Apache Jakarta Project”だ。ではJakarta Projectの成果は、実際の開発業務の中でどのくらい活用されているのだろうか? Java Solutionフォーラムが実施した第7回読者調査から、その現状を報告しよう。
Jakarta Projectの業務活用率:56% |
始めにJakarta Project全般について、読者の業務への活用状況を聞いた結果が図1だ。ご覧のとおり「すでに開発業務に活用している」との回答が全体の半数を超えたのに加え、「まだ業務で活用したことはないが、評価/研究はしている」人も25%に達している。Jakartaは、Java開発者にとって必修のプロジェクトとなっているようだ。
図1 Jakarta Project成果の業務活用状況(N=521) |
Jakarta Projectが多くの成果を生み出している背景には、同時進行で開発を続ける多数のサブ・プロジェクトの存在がある。以下では、Jakartaのカテゴリ別に、読者の各サブ・プロジェクト(製品)活用状況を見ていこう。
ライブラリ/ツール/API: 基本は Ant+Log4j |
まず開発の基盤となる「ライブラリ/ツール/API」カテゴリでは、Javaベースのビルドツール「Ant」およびロギングライブラリ「Log4j」の利用率が高かった(図2)。サーバサイドJavaではIDEに依存しない開発者が多いが、Ant+Log4jの組み合わせは、そうした“JDK+エディタ”スタイルの開発効率を高めるポピュラーな環境となっているようだ。また読者が今後活用したいツールでは、負荷テスト/パフォーマンス測定アプリケーション「JMeter」や、JSPカスタムタグ・ライブラリ集「Taglibs」のポイントが高くなっている。
図2 ライブラリ/ツール/API 活用状況(複数回答 N=521) |
フレームワーク/エンジン: Jakartaを盛り上げる“支柱” 「Struts」 |
続いて「フレームワーク/エンジン」カテゴリでは、Webアプリケーション構築用MVCフレームワーク「Struts」のポイントが、現在活用率/今後の活用意向とも最高となった(図3)。Strutsに関しては、日本IBMから機能拡張版(Extension
for Struts)が無償リリースされる動きなどもあり、現在Jakartaで最も注目を集めているプロダクトといえそうだ。
またStruts以外に読者の興味度が高かったツールとして、JUnitベースのサーバサイドJava単体テスト用フレームワーク「Cactus」や、もう1つのMVCフレームワーク「Turbine」がある。JUnitはXPなどアジャイルな開発プロセスの標準ツールとなっているが、Servlet/JSP/EJBを含むJ2EE開発で“テスト・ファースト”を実現するCactusには、今後より多くの注目が集まりそうだ。
図3 フレームワーク/エンジン活用状況(複数回答 N=521) |
サーバ・アプリケーション:やはりJakartaといえば、これ |
最後のカテゴリ「サーバ・アプリケーション」には、Servlet/JSPベースのアプリケーションサーバ「Tomcat」が分類されている(図4)。グラフ中でTomcatのみバージョン別に表記しているのは、Jakarta Projectの分類にそろえたためだ。バージョンを問わずに集計すると、Tomcatの現在利用率は読者全体の5割を超え、商用アプリケーションサーバ製品と比べてもダントツの普及率を誇っている。TomcatはJakarta Projectを代表するにとどまらず、Java Webシステムのロジック層を代表する製品といえるだろう。
図4 サーバ・アプリケーション活用状況(複数回答 N=521) |
Jakarta Project普及のカギ: 日本語情報源の充実 |
ここまで見てきたように、AntやTomcatが浸透し、StrutsやCactus、JMeter など有望なプロジェクトを多数抱えるJakartaの将来には、大きな期待がかかる。では今後Jakartaがより業務に活用されるためには、どのような課題を克服する必要があるのだろうか? 最後にその点を検証してみよう。
図5 Jakarta Project活用時の課題(3つまでの複数回答 N=521) |
図5は、読者がJakarta Projectの成果を業務に活用するとき、課題に感じる点を聞いた結果だ。複数回答であるにもかかわらず、全体の7割から回答が集中したのは、「日本語による技術情報が少ない」点だった。読者からは、
- 商用製品と比較すると、日本語・英語を含めてドキュメントが整備されていない。とくに導入段階で必要なドキュメントが不足している。そのため、習得するまでに労力を要する
- TomcatやStrutsなど、方々で取り上げられ有名になっているプロジェクト以外にも埋もれてしまっているプロジェクトをどう探し、使っていくかが課題
といったコメントも多く寄せられた。逆に商用製品に比べた品質/機能性/生産性といった点を課題視する声は少ないだけに、現段階では日本語情報源の充実が急務といえそうだ。Java SolutionフォーラムでもJakarta Projectに関する連載記事があるので、ぜひそちらの内容もチェックしてほしい。
■調査概要
- 調査方法:Java SolutionフォーラムからリンクしたWebアンケート
- 調査期間:2002年10月15日〜11月8日
- 回答数:521件
関連記事/リンク |
Javaプログラマになるための定番Javaサイトの歩き方 |
NewsInsight:日本IBMがStrutsでコミュニティに恩返し |
Ja-Jakartaプロジェクト(Jakarta Project成果の翻訳/日本語化やフィードバックを行うユーザーグループ) |
読者調査記事一覧 |
- 実運用の障害対応時間比較に見る、ログ管理基盤の効果 (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に関する基礎知識を解説する。
|
|