日本の開発者コミュニティが次世代Java仕様策定に貢献、Lambdaを手に入れたJavaテクノロジのその先へJava Day Tokyo 2015基調講演(3/3 ページ)

» 2015年05月01日 05時00分 公開
[星暁雄ITジャーナリスト]
前のページへ 1|2|3       

楽天はJSF 2.3の新仕様に貢献

 基調講演の最後に登壇したのは日本オラクルの伊藤敬氏である。伊藤氏は、まず子ども向けのイベント「Java for Kids」「Java for Students」を紹介し、続いて日本のJavaコミュニティから3人を壇上に招いて、「日本発」のJavaコミュニティへの貢献について語った。

左から楽天 技術理事 仲宗根徹也氏、日本Javaユーザーグループ会長 鈴木雄介氏、「関西Javaエンジニアの会」阪田浩一氏

 1人目に紹介されたのは、楽天 技術理事の仲宗根徹也氏である。「楽天というとPHPやRubyという印象があるかもしれないが、各サービスのコア部分はほぼ全てJavaで作られている」。楽天は、2014年9月、JCP(Java Community Process)に参加した。

 同社は、「全てを標準のJavaで開発する」目標を立てている。Java EEはいわばフルスタックの技術なので、全てを標準のJavaで開発するなら、複数のソフトウエアを組み合わせる手間なく単体のJavaアプリケーションサーバーで開発環境、運用環境を構築できるというメリットが得られる訳だ。

 特筆すべき点は、楽天が新しいJavaテクノロジの仕様であるJSR 372 JavaServer Faces(JSF 2.3)の仕様策定に貢献したことだ。「Faceletのリファクタリング、@PageScopedと@TemplateScopedの仕様の追加で貢献した」。日本の開発者コミュニティがエンタープライズJavaの仕様に直接的に貢献したという報告は珍しい。これにより「将来、JSF 2.3とJava EE 8をサポートしたアプリケーションサーバーがリリースされるようになれば、自分たちが貢献した仕様で自らのサービスを開発することになる」と仲宗根氏は語った。

JJUGはJSR 371(MVC)のレビューで貢献

 続いて、日本Javaユーザーグループ(JJUG)の会長である鈴木雄介氏が同団体の取り組みを説明した。同団体は大型のイベントCCCを年に2回、「ナイトセミナー」を毎月開催している。今年に入ってからの特筆すべき点は、JCPに参加したことだ。「JSR 371: Model-View-Controller(MVC 1.0)Specification」のレビューを実施するなどの貢献を行っている。

 JSR371は、Java EE 8の一部に取り込まれる予定のフレームワークである。従来、JavaテクノロジにはMVCモデルの良いフレームワークがなく、開発の現場ではJava EE仕様の範囲外であるStrutsフレームワークが長年使われてきた経緯がある。JSR 371はこの状況を打破しようと登場したものだ。このJSR 371は、将来は商用アプリケーションサーバー製品にも入ることになるだろう。

Javaの開発者コミュニティの独自構造とは

 ここで、楽天やJJUGが「JCPに参加した」とはどのような意味なのか、説明を加えておきたい。

 Javaテクノロジを支えるコミュニティは、独特の構造を持っている。多くのオープンソースソフトウエアのコミュニティがソフトウエアの実装に貢献する個人の集まりなのに対して、Javaテクノロジのコミュニティは、主にJavaテクノロジの開発に参加する企業の集まりとして出発しているのだ。ITベンダーの一社である旧サン・マイクロシステムズが、Javaテクノロジに賛同、協力するITベンダー企業を集めて技術開発と普及活動を進めてきた経緯が引き継がれて、現在に至っている格好だ。

 こうした企業などから成るコミュニティがJavaテクノロジの仕様策定と開発を進めるプロセスが、先ほどから何回か名前が挙がっているJCP(Java Community Process)だ。多くのオープンソースコミュニティでは実装先行でコンセンサスを形成していくが、JavaテクノロジではJCPとして文書化されたプロセスに基づいて仕様策定と参照実装の開発を進めていく。JSR(Java Specification Request)と呼ぶ個別技術分野ごとに「エキスパートグループ」を形成し、仕様書のドラフトを作成、公開し、グループ内の投票で仕様を決定した上で、最終的な仕様書作成と参照実装の開発を進める。エキスパートグループのメンバーの多くは企業の肩書きを背負った専門家であり、そこに有力な個人、有力なユーザーグループも参加する形となる。

楽天によるJCP参加の概要

 JCPで新仕様が提案されから公開されるまでのプロセスには、1年半以上の時間がかかる。最近の活発なオープンソースプロジェクトと比べると、新技術を取り入れるスピードはどうしてもゆっくりになる。その代わり、新仕様が登場した時点ではIT業界のコンセンサスが取れており、商用製品での採用がほぼ約束された状態となっている。

 このように、Javaテクノロジは、純粋な商用製品とも、純粋なオープンソースソフトウエアとも、国際標準とも異なる、独特のやり方で仕様策定と実装を進めている。議論を繰り返しながらコンセンサスを形成し、2年間隔でメジャーバージョンを作っていくのが、最近のJavaテクノロジのスタイルである。

 2年刻みで新たなバージョンのJavaテクノロジが登場する──ソフトウエア関連技術を取り巻く環境、ニーズが激変している今、時代に対応するためにはこれぐらいのスピードは必要なのだろう。とはいえ、多くのエンタープライズ開発の現場にとっては、2年刻みのメジャーアップデートは速過ぎると感じられる場合もあるだろう。2011年に登場したJava 7は、この2015年4月30日にサポート終了となった。その一方で、Java 6より古いバージョンが使われている開発現場もまだまだ残っている模様だ。エンタープライズ開発者にとっては悩ましい問題である。

「おらが町のJUGが必要だ」

 最後に登壇したのは、「関西Javaエンジニアの会」、略称「関ジャバ」の阪田浩一氏である。前述のJJUGに続いて日本で2番目にJUG(公式のJavaユーザーグループ)として認定された団体である。

 「おらが町のJUGが必要なんです」と阪田氏は語る。地方の小さなコミュニティだからこそ可能な、現場に密着した双方向のコミュニケーションに価値があるというのだ。「地方は現場のエンジニアの発表が多い。地域特有の情報も入る。エンジニア同士の横のつながりを作りたい」。

 こうして、Java Day Tokyoの基調講演は締めくくられた。Javaテクノロジのカンファレンスでは開発者コミュニティの力を称えることが「お約束」のようになっているのだが、中でも今回は日本の企業やユーザーグループがJavaテクノロジの進化に貢献しつつある状況が具体的に語られた点は記憶に留めておきたい。

前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。