PR

Java Keynote

 Java KeynoteではSaab氏からバトンタッチして、Vice President of Product DevelopmentであるMark Cavage氏が司会を務めました。

Mark Cavage氏
Mark Cavage氏
[画像のクリックで拡大表示]

 Caves氏がまず触れたのが、Java EE(Java Platform, Enterprise Edition)です。すでに発表されている通り、Java EEはEclipse Foundationに寄贈されました。

 この寄贈にはJava EEに準拠しているかどうかをチェックするための「Technology Compatibility Kit(TCK)」を含んでいます。これまでOracleが作成・管理してきたTCKもオープンソースになることで、コミュニティーでTCKを作成できるようになります。

Fn Project

 Javaに対応したサーバーレスプラットフォームとして発表されたのが「Fn Project」です。Vice President of Product DevelopmentのChad Arimura氏によって紹介されました。

Chad Arimura氏
Chad Arimura氏
[画像のクリックで拡大表示]

 Fn Projectは以下の3つの要素から構成されています。

  • Fn Server
  • Java FDK
  • Fn Flow

 Fn ServerはFunction as a Serviceを実現する実行環境、Java FDKがFunctionを開発するためのSDK、Fn FlowがFunctionのワークフローを制御する環境となります。

 Arimura氏が示したコードはFlickrから取得した画像を処理してTwitterとSlackに投稿するというサンプルコードです。このサンプルコードでは5つのFunctionを実行しています。

Fn Projectのサンプルコード
Fn Projectのサンプルコード
[画像のクリックで拡大表示]

 このコードを見ると、invokeFunctionメソッドでFunctionを実行し、その結果はFlowFutureインタフェースで扱っています。FlowFutureインタフェースはjava.util.concurrent.CompletableFutureクラスのように使うようです。このため、Functionの実行フローを直感的に記述できそうです。キーノートセッションでの実行環境はJavaでしたが、GoやPythonなどでも実行可能です。

 Fn ProjectはOracleの社内プロジェクトとして開発されてきました。ところがキーノートのセッション中に司会のCavage氏がオープンソースにするべきだと話を向けると、その場でオープンソースとして公開されました。GitHubのFn Projectで試すことができます。