JAX-RSによるリアクティブクライアントの構築
続いて、Oracle CorporationでJava EE Evangelistを務めるDavid Delabassee氏が登壇し、リアクティブクライアントのデモを行った。
たとえば、旅行会社のアプリケーションをマイクロサービスで構築する場合、相互に依存性のある大量のリクエストをユーザから受け取って処理することになる。Java EE 8以前では、同期処理または非同期処理の選択肢しかない。同期処理ではコードは簡単だが、レスポンスは遅くなる。逆に非同期処理ではレスポンスは速いが、複雑なコードを書かなければならない。
Java EE 8では第三の選択肢として、JAX-RSを利用してリアクティブクライアントを構築できる。リアクティブクライアントは、コードを書くのは簡単で、非同期処理と同等のレスポンス速度を実現可能だ。デモでは、同期処理では処理時間は4秒以上、非同期処理、リアクティブクライアントでは1秒以内という結果が出た。リアクティブクライアントは、コードの書きやすさ、処理速度のほか、エラー処理やデバッグ・保守が容易で、Java SEの機能を活用できるといったメリットがある。
Delabassee氏は、HTTP/2とHTTP/1.1の速度の比較を行った。写真を表示する処理では、HTTP/2を使う場合、HTTP/1.1の場合より処理時間が半分以下になる。Java EE 8では、既存のアプリケーションを変更することなく、HTTP/2を利用することが可能だ。
コラボレーションを促進し、コミュニティの選択肢を増やすために
JCP(Java Community Process)のHeather Vancura氏は、「Javaの人気の理由は、JCPを通じて開発が行われている点にある」と主張。JCPではJava EやJava EEの仕様であるJSR(Java Specification Requests)を作成するが、その内容はコミュニティが検討し、何を標準化すべきかを合意したうえで決定する。つまり、選択権は開発者にあるのだ。JCPは、開発者のニーズに応えるために、コラボレーションを促進し、コミュニティの選択肢を増やすという役割を担っている。
JCPには企業や組織だけでなく、開発者が個人で参加することもできる。個人の場合、年会費はかからず、市場動向などJava関連の情報を得られる、技術やスキルを磨けるといったメリットがある。企業は年会費が必要だが、JSRのエキスパートグループに参加すれば、自社の要望をJSRに反映する機会を得られる。Vancura氏は、「ぜひJCPに参加してほしい」と呼びかけた。
バイクで各地を巡るJavaツアーに加え、温泉イベントを実施
続いて、Javaエバンジェリスト、Stephen Chin氏、Sebastian Daschner氏が登壇し、東京、名古屋、岡山、福岡などをバイクで巡ってセッションを行うOracle Code Japan Tourの様子を紹介した。今年は、約20名のJava開発者が温泉を楽しみながらJavaについて語り合うイベント、JOnsenも実施。来年もぜひ開催したいとの意気込みを示した。
コミュニティに参加してJavaに貢献しよう
最後に登壇した日本Javaユーザーグループ(JJUG)の鈴木雄介氏は、JJUGの登録者数が6,300名を超え、2年間で2倍近く増えたと述べた。Javaのコミュニティは非常にアクティブで、イベントなどの参加者の約8割は20代、30代の開発者だ。JJUGは、年に2回、JJUG CCC(Cross Community Conference)というワンデイイベントを開催するほか、定期的に平日の夜にナイトセミナーを開催している。「開発者は誰でも何かの悩みに直面する。コミュニティに参加すれば、同じ悩みを抱える仲間だけでなく、その悩みを解決した先輩に会うこともできる。ソースコードをコミットするだけでなく、コミュニティに参加することもJavaへの貢献になる」と、鈴木氏は語った。JJUGには、DoorkeeperのJJUGページの[コミュニティに参加]ボタンから参加できる。
