その場でコードの実行結果を確認できるjshell
次に、OpenJDKのコミッターとしてJDK 9のjshellの開発に携わった、立命館大学の吉田真也氏がjshellのデモを行った。
jshellは文字どおり、Javaにシェル機能を提供するインタラクティブツールである。jshellを起動し、Javaのコードを入力すると、すぐにその実行結果が返ってくる。吉田氏は、jshellでJavaFXのクラスを生成してブラウザを表示し、コードに間違いがあってもjshell上で修正できることを示した。jshellを利用することで、jshell上でプロトタイプを作成し、結果を確認して問題がなければ、プロジェクトのコードに導入していく形でインタラクティブな開発が可能になる。
ウェアラブルデバイスから測定したデータを分析し、トレーニングに活かす
Blue Wych合同会社 柿木克之氏、グロースエクスパートナーズ株式会社 保坂好紀氏が登壇。スポーツの現場でJavaアプリケーションを活用している事例を紹介した。
自転車にパワーメーターを搭載して、レース中に選手がペダルを踏み込む力や脚の回転速度などを測定。そこから仕事率を算出し、ハンドルに取り付けたデータロガーに記録してクラウドに送って分析する。分析結果から、目標とするレースに必要な能力、選手の持久運動能力、トレーニングによる能力の向上度を定量化し、関連性を把握して、評価手法の確立、強化手法の体系化を図るという仕組みだ。パワーメーターで計測したデータはスマホアプリで収集し、REST APIによりクラウド上のサーバに送信する。サーバではメッセージキューにデータを蓄積し、データ分析を実行。分析データはRMI(Remote Method Invocation)によりコーチ側のデスクトップアプリに送られる。
このシステムを活用してトレーニングを行ったある選手は、半年で日本記録を2回更新し、世界選手権でも順位を上げた。日本代表チームでも活用しており、2008年の北京ではトップ選手との能力差が20%あったが、2012年のロンドンでは10%まで縮めている。
壇上では、東京大学 運動会自転車部競技班 井上功一朗選手が実際に競技用自転車を漕ぎ、収集されたデータが分析され、グラフに表示される様子が披露された。柿木氏は、「ウェアラブルデバイスをより効果的に活用するためにはソフトウェア技術の活用が不可欠であり、今後は運動科学の知見との融合により、ソフトウェアの応用先、そして技術者の活躍の場は広がり続ける」と指摘した。
Java EEはクラウド、マイクロフォーカスに対応するための機能を強化
Oracle CorporationのWill Lyons氏が登場。Java EEの歩みを振り返り、次期リリースのJava EE 8について説明した。
Java EEは1999年にエンタープライズ向けプラットフォームとして登場し、時代の流れとともにさまざまな技術を取り込みながら進化を続けている。多くのオープンソースプロジェクトがJava EEをベースとしており、近年ではオンプレミスのみならず、クラウドのニーズにも対応。統合されたエンタープライズプラットフォームとして、ユーザに大きな価値を提供している。
2017年7月にリリース予定のJava EE 8では、クラウドに加え、マイクロサービス構築に必要な機能を強化。Node.js、Ruby、PHP、Pythonなどマイクロサービス開発に使われる言語に対応し、HTTP/2、REST、SSE(Server Sent Events)、JSONをサポートする。また、CDI(Contexts and Dependency Injection)、Bean Validation、セキュリティフレームワークを改善し、処理の簡易化、開発者の生産性の向上を図っている。
APIとしては、IDストアの標準化認証、セキュリティコンテキストなどを扱うSecurity 1.0、JSONとJavaオブジェクトのマッピングを行うJSON-B 1.0を新規に追加。HTTP/2に対応するServlet 4.0のほか、JSON-P 1.1、CDI 2.0、JSF 2.3などが大きく改善される予定だ。特に、JAX-RS 2.1により、サーバからHTTP経由でクライアントへメッセージを送るSSEに対応するため、非同期でデータの変更が伝播するリアクティブなクライアントの構築が可能になる。
Java EE 8だけでなく、参照実装であるGlassFish 5.0、商用実装であるWebLogic Server 12.3.1の開発も進んでおり、順次リリースされる予定だ。Lyons氏は、「開発者が利用、参加しやすいようにJava EE関連の開発をGitHubに移行した」と述べ、「Java EE 8の情報を発信するブログとともにぜひ参照してほしい」と締めくくった。
