間もなくJava SE 9、Java EE 8が登場! それによってJava開発はどう変わるのか?──Java Day Tokyo 2017基調講演レポート

Oracle Java & Developers編集部
2017-08-03 11:00:00
  • このエントリーをはてなブックマークに追加

2017年5月、国内最大級のJava開発者カンファレンス「Java Day Tokyo 2017」が都内で開催された。今年も国内外からJavaのキーマンを多数参集して催された同イベントの基調講演の模様を紹介する。

Javaはクラウド時代もメインストリームの技術


米国オラクル ソフトウェア・デベロップメント担当バイスプレジデントのベルナルド・トラバース氏

 日本オラクルは2017年5月17日、グランドプリンスホテル新高輪 国際館パミールにおいて恒例のJava開発者向けカンファレンス「Java Day Tokyo 2017」を開催した。今年のJava Day Tokyoで大きなトピックとなったのは、年内のリリースが迫る「Java SE 9」と「Java EE 8」、そして国内のさまざまな領域で進むJavaの活用だ。同イベントの基調講演および各セッションでは、それらを中心に最新の技術情報や活用事例などが紹介された。ここでは、Javaに関する国内外のキーマン、およびJavaの活用を進める国内企業が登壇した基調講演の要旨を紹介する。

 初めに7月のリリースが予定されているJava SE 9の概要、および日本におけるJavaの最新の活用事例を紹介したのは、米国オラクルでソフトウェア・デベロップメント担当バイスプレジデントを務めるベルナルド・トラバース氏である。

 トラバース氏は、1995年にJavaが誕生してから今日に至るまでの間に、「次々と新たな競合技術が登場し、システム開発のトレンドが移り変わる中で、Javaは今後も生き残れるのか?」という懸念が幾度も噴出したことに言及したうえで、「ご覧のとおり、現在もメインストリームの技術として生き残っています」と話し、オラクルによるサン・マイクロシステム買収後もオープンな開発プロセスを継続したことで、Javaの将来性に対する不安は払拭されたと強調した。

 また、トラバース氏はJavaがリリース以来守り続けてきた“哲学”について説明。「プラットフォームとしての完全性」、「品質とセキュリティ」、「モダナイゼーションとイノベーション」、「オープンで透明性の高い進化」、「開発生産性と互換性」、「活発なエコシステムの拡大」といった哲学を、今後もクラウド時代を通じて堅守していくという。

 「誕生から22年を経た現在もJavaは成長を続けています。世界中で1,000万人を超えるJava開発者が活躍しており、1,300億以上のデバイスがJavaで動いています。Javaは今後も、システム開発の世界で支配的な技術であり続けるでしょう」(トラバース氏)


※クリックすると拡大画像が見られます

 Javaをより広範な領域で利用できるようにするための取り組みも精力的に進めている。例えば、オラクルは米国Dockerとの提携に基づき、Javaをはじめとする各種ソフトウェアのDocker対応やDocker Storeにおけるオフィシャル・イメージの配布を進めるなど、Docker上におけるJavaの価値向上に積極的に取り組んでいるという。

モジュール機構、JShellなど122の新機能が追加されるJava SE 9

 そうした取り組みの最新の成果として近くリリースが予定されているのがJava SE 9だ。Java SE 9では、JEP (JDK Enhancement Proposal)として提案された122の新機能が追加されるが、なかでも期待を集めているのが「Project Jigsaw」として進められてきたモジュール機構の導入である。


※クリックすると拡大画像が見られます

 このモジュール機構は、機能強化に伴って肥大化が進んだJavaを再構築するものだ。同機構を使うことで、開発者は必要な機能を選別して独自のライブラリを作成したり、外部に公開するパッケージを制限してセキュリティを高めたりすることが可能になる。

 このほか、Java SE 9ではJavaコードを対話的に実行可能な「JShell」、セキュリティ・レベルを高める「Encapsulate Internal API」、アプリケーションを事前にネイティブ・コンパイルし、必要に応じてJavaアプリケーションのパフォーマンスを高める「Ahead of Time Compilation(AOT)」などの機能が導入される。

 また、トラバース氏は今後予定されているJavaの機能強化として「Project Valhalla」と「Project Panama」を紹介した。これらはいずれも、JavaをよりモダンなOSやハードウェアに対応させ、メモリ利用の効率化やパフォーマンスの最適化を実現するものである。

 例えば、Project Valhallaでは、「Value型」と呼ばれるデータ型が新たに導入される。このValue型としてクラスを定義することにより、メモリ上でのデータ配置がシンプルになり、メモリ使用効率やCPUキャッシュのヒット率を高められるという。

 一方、Project Panamaがターゲットとするのは「ビッグデータにおけるGPUコンピューティング」だとトラバース氏は話す。データ・レイアウトをJVMが自動的にコントロールすることで、「Java開発者はラムダ式でロジックを書いておけば、後はJVMが自動的にCPUとGPUのいずれで処理を行うかを判断し、実行してくれる」(トラバース氏)という。これによって開発生産性を高めつつ、Javaアプリケーションのパフォーマンスを劇的に向上させることが可能になるわけだ。


※クリックすると拡大画像が見られます

国内大規模ユーザーとしてマツダが登壇。自転車競技の分野でもJavaの活用が進む

 続いて、壇上には複数のゲストが招かれた。初めに国内の大規模Javaユーザーとして紹介されたのはマツダである。同社ITソリューション本部の吉岡正博氏は、マツダの工場における生産ラインのプロセス管理システムなどでJavaが活用されていることを紹介した。

 同社のビジネスを支える基幹系業務アプリケーションのプラットフォームは、多くの機能要件/非機能要件を満たし、高い開発生産性と保守性を両立させることが求められる。また、業務アプリケーションは長く使われることになるため、そのプラットフォームも長期間にわたって存続し、下位互換性が保たれることが必須要件だという。

 「プラットフォームのバージョンアップはビジネス価値を生まない作業でもあり、できる限り低いコストで早く行えることが望ましいと考えています。Javaは一定の互換性を保ちながらバージョンアップが行われていると評価しています」(吉岡氏)


マツダ ITソリューション本部の吉岡正博氏

 さらに、吉岡氏は今後のJavaに期待することとして「モジュール化」と「ビッグデータ対応」を挙げる。

 「マツダの開発者は共通の開発フレームワークを利用していますが、業務部門からのさまざまな要望に対応していく中で課題も生じています。そうした課題を解消し、Javaの利便性をより高める仕組みとして、Java SE 9のモジュール機構に期待しています。また、近年はシステムで大量のデータを扱うケースが増え、Javaのガーベジ・コレクション(GC)に起因する性能問題に悩まされることがあります。(Project ValhallaやProject Panamaを通じて)ビッグデータやAI時代のJavaがどう進化していくのか、大いに注目しています」(吉岡氏)

 次に招かれたゲストは、立命館大学の吉田真也氏だ。吉田氏はコミッターの1人として、OpenJDKやJShellの開発に携わってきた。その吉田氏が、Java Day Tokyoの基調講演では自らJShellの機能紹介を行った。


立命館大学の吉田真也氏

 JShellは、Javaの学習や開発/テストの際、Javaコードを入力して対話形式で結果を評価することのできるシェル環境であり、いわゆるREPL(Read-Eval-Print-Loop)ツールに当たる。吉田氏は今回、JavaFXを用いたアプリケーションを例にとり、JShellを使ってインタラクティブに開発作業が行えることを示した。例えば、JShellを通じてターミナルにWebブラウザのクラスを呼び出してアプリケーションの画面サイズを変更したり、画面表示を修正したりといった具合だ。吉田氏のデモが終わると、トラバース氏は「吉田さんは、世界中の開発者がJavaのイノベーションに参加できることを示してくださいました。会場の皆さんも、ぜひOpenJDKの各プロジェクトへの参加を通じて、Javaをよりよいものにしていくことに力を貸してください」と訴えた。

 3組目のゲストとして登壇したのは、BlueWychの柿木克之氏とグロースエクスパートナーズの保坂好紀氏、そして東京大学 自転車部 競技班の井上功一朗選手だ。3氏はスポーツ科学分野におけるJavaの活用事例を紹介した。


写真左より、BlueWychの柿木克之氏、グロースエクスパートナーズの保坂好紀氏、東京大学 自転車部 競技班の井上功一朗選手

 彼らがJavaを活用しているフィールドは「自転車競技」だ。この世界では、2000年代半ばより自転車をこぐ際のトルク値(クランクの歪みから計測)とケイデンス(ペダルの回転速度)を基にパワー値を測定する「パワーメーター(仕事率測定器)」を用いたトレーニングの普及が進んでいる。BlueWychとグロースエクスパートナーズでは、このパワーメーターをウェアラブルな測定器として使い、定量的なデータに基づくトレーニング手法の確立に活用しているのだという。


※クリックすると拡大画像が見られます

 実際に柿木氏らの指導を受けてトレーニングに励む東京大学の井上選手が、ステージ上でスプリントを実演。自転車に取り付けられたパワーメーターで取得したデータが即座に分析を終え、グラフ上にプロットされる様子が紹介された。

 パワーメーターで取得した各種データを収集し、リアルタイムに分析/可視化するシステムは、グロースエクスパートナーズがJavaで開発したものであり、日本代表選手の育成/強化にも使われているという。柿木氏は、「今後はスポーツ分野においてパワーメーターのようなウェアラブル・デバイスを取り入れたトレーニングがさらに浸透し、それに伴ってソフトウェア開発者の活躍の場も広がっていくでしょう」と展望を示した。


※クリックすると拡大画像が見られます