|
1995年、インターネットが爆発的に普及し始めたその年にJavaは誕生した。その10周年を目前に控えた今年、Java技術は大きな変化を遂げようとしている。果たしてその変化は開発者の心をとらえ、Java人口の増加をもたらすのだろうか?
@IT Java Solutionフォーラムが実施した第10回読者調査から、最新Java技術に対するエンジニアの関心を探ってみよう。
■主なJDKの利用バージョンは?
はじめに、読者のJava開発環境の実態を確認しておこう。まずJava開発の基盤であるJDK(Java2 SDK)について、読者が現在かかわる案件で主に利用しているバージョンを尋ねた結果が図1だ。調査時点で最新の「JDK
1.4.2」利用率が25%となったほか、マイナーバージョンアップ前の1.4.1/1.4.0を合計すると、全体の6割弱が現世代のJDK 1.4を利用していることが分かった。ただし、ほかのさまざまなミドルウェアとの互換性問題を考慮してか、一世代前の「JDK
1.3.x」利用者も29%に上っている。特に基幹系システムの開発者においては、いまだ1.3系の利用者が、1.4系を上回っていたことを付け加えておこう。
図1 主なJDKの利用バージョン(N=407) |
■主なJava開発ツールの利用状況は?
続いて、JDKとともに用いる主なJava開発ツールを1つだけ選択してもらったところ、オープンソース製品である「Eclipse」の利用率が49%に達した(図2参照)。少し前までは、Java開発環境といえば“エディタ+JDK”が常識であったが、無償かつ高機能なEclipseの登場により、Java開発においてもIDE(統合開発環境)の利用が一般的になってきたようだ。
なお商用版のIDE製品としては、老舗の「Borland JBuilder」が利用率トップを保っているものの、「IBM WebSphere Studio」がそのすぐ後につけている。WebSphere Studioは“商用版Eclipse”とも呼べる存在であるだけに、Java開発環境におけるEclipse系製品の存在感の高まりが感じられる。
図2 主なJava開発ツールの利用状況(N=407) |
■開発者のJavaテクノロジ利用状況/利用意向は?
では次に、読者のJavaテクノロジ利用状況を見てみよう。Javaはモバイルからエンタープライズに至る、さまざまな技術が集積されたシステム構築プラットフォームであるが、現状では「Java
Servlet」「JavaServer Pages(JSP)」および「JDBC」の3点が、突出して利用率の高いテクノロジとなっている(図3
棒グラフ(緑色)参照)。企業システム向けのJ2EE構成要素としては、Servlet/JSP/EJBがセットで語られることが多いが、いまのところEJBの利用率は、最も高い「Session
Bean」ですら26%にとどまっており、なかなか普及が進まない状況が続いている。
図3 Java関連技術の利用状況(N=407 複数回答) |
一方で読者が“今後利用したい”Javaテクノロジを見ると、XML/SOAPなどによる「Webサービス」を筆頭に、「JavaServer Faces(JSF)」やEJB諸技術の利用意向が上位に挙げられている(図3 折れ線グラフ(赤線)参照)。2003年11月に最終仕様がフィックスしたJ2EE 1.4では、JAX-RPC 1.1 APIの導入やWS-I Basic Profile 1.0対応など、“WebサービスのプラットフォームとしてのJava”を強化する方向性が打ち出されており、Javaが開発者の期待にこたえた進化を遂げていることが分かる。JSFやEJBについては、後述する「2004年に期待されるJava新技術」の節で、その可能性を見ることにしよう。
■Java開発の課題/問題点とは?
ところで、読者がJava開発を行ううえで、現在感じている課題/問題点とは、どのようなものなのだろうか? 複数回答で尋ねたところ、全体の44%が「オブジェクト指向に基づいた分析/設計がされていない」点を挙げており、ほかの項目を大きく上回る問題意識を示した(図4)。読者からは、
- 分析/設計が構造化設計で行われ、オブジェクト指向がほとんど理解されずに開発が始まるので、Javaを使用しても手続き型言語と同じ開発になっている
- オブジェクト指向設計なしでJava/UMLに取り組む傾向にあるが、本来の顧客要件を満たせない(保守性向上)
- オブジェクト指向で設計したクラスを実装するのに時間がかかるため、簡易に実装できる方法に設計を変えてしまうことが多々ある
といったコメントも多数寄せられており、分析/設計段階と実装段階のミスマッチが、現在大きな問題となっている様子が分かる。Eclipseの登場などにより、Javaプログラミングの効率は向上してきたが、今後は上流工程から一貫したプロジェクト全体の生産性改善が望まれそうだ。
図4 Java開発の課題/問題点(N=407 複数回答) |
さて最後に、2004年以降にリリースが予定される新しいJava技術について、開発者の期待はどこに向けられているのか、検証してみよう。前回のJavaONEで発表されたさまざまな新技術を提示し、読者の興味度を聞いた結果が、図5だ。今年最も期待される新技術の座には、図3でも触れたWebアプリケーションのインターフェイス構築フレームワーク「JavaServer Faces(JSF)」が選ばれ、JSFを中核としたGUIベースの開発ツール「Project RAVE」がそれに続いている。JSFを利用した開発ツールは、Visual Studioのようなドラッグ&ドロップによる開発スタイルを実現するため、図4の4番目に挙げられた現在のJava開発の課題(「使いやすく生産性の高いGUI開発ツールがない」)を解決する切り札となりそうだ。
図5 今後期待するJavaの新技術(N=407 複数回答) |
またEJBについても、DD作成の簡略化などが行われる「EJB 3.0」が準備されており、読者の注目度は上がっているようだ。EJBは2.0でパフォーマンス問題を解決し、3.0で“開発しやすさ”にフォーカスを当てることで、念願の実用性を獲得できるだろうか? ほかにもGenericsやMetadataなどの言語仕様変更が行われる「J2SE 1.5」の登場など、2004年のJavaはトピックが目白押しだ。今年がJava技術にとって飛躍の年となるかどうか、楽しみに注目していきたい。
■関連記事
- 特別企画「JavaServer Facesを理解する」(Java Solution)
- 安藤幸央のランダウン 「JavaOne 2003の注目トピックを振り返る」(Java Solution)
- ゴスリング氏、「Project RAVEは開発ツールを簡単にする」(NewsInsight)
- 「焦点はJSFへ」、JBuilderの未来像(NewsInsight)
- 「ようやくVBを超えた」、IBMの新開発ツールが提供開始(NewsInsight)
■調査概要
- 調査方法:Java SolutionフォーラムからリンクしたWebアンケート
- 調査期間:2003年11月25日〜12月19日
- 有効回答数:407件
- 実運用の障害対応時間比較に見る、ログ管理基盤の効果 (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に関する基礎知識を解説する。
|
|