サーバサイドJavaScript「Project Avatar」

さらに、寺田氏は、Java EE関連の注目トピックスとして、「Project Avatar」に触れた。

Project Avatarは、サーバサイドでJavaScriptによる実装を可能にするコンテナ。WebSocket、REST、Server-Sent Eventに対応するといった特徴がある。「2年前にコンセプトだけが紹介され、詳細は不明のまま」だったが、ついに成果物が公開される段階になったという。

サーバ向けのJavaScript環境としては「Node.js」が有名だが、Node.jsがUnix系OSに直接配備するのに対して、Project AvatarはJava実行環境上で動作する。寺田氏は、Project Avatarの特徴としてこの点を強調したうえで、「JavaアプリケーションからJavaScript、もしくはその逆の呼び出しが簡単に行える」と説明。さらに、「Node.jsではデータベース周りが不安という声もあるが、Project Avatarでは、信頼性が高くスケーラブルなJavaのアプリが利用できる」(寺田氏)と利点を強調した。

Project AvatarはOSSのプロジェクトとして開発が進められており、すでにjava.netのプロジェクトサイトにてダウンロードできる。

Project Avatarの位置づけ

Java SE 8の目玉機能「Lambda式」

発表会では最後に、次期Java SEの目玉機能としてLambda式も紹介された。

寺田氏は、Lambda式のメリットについて、「構文の簡易化」、「パフォーマンス向上」、「抽象化」、「並列処理実装の簡易化」の4点を紹介。なかでも並列処理実装の簡易化については、「PCでもマルチコアが当たり前になっている今の時代、非常に重要な要素」と強調した。

現在のJavaでは、普通に実装すると、1つのコアで処理が実行されることになる。「例えば、256のコアを備えたマシンがあるとして、それらをすべて活用して1つの処理を実装するには、大量のコードを書かなければならない」(寺田氏)という。

Lambda式を利用することでそうした場合も簡単に実装できると説明し、エンジニアの負担軽減が期待できることをアピールした。

Lambda式の特徴

Javaの今後のロードマップ