「Java EEをクラウド時代のプラットフォームとして大きく発展させる」 Java EE 8の変更、Java EE 9を新たに提案──JavaOne 2016基調講演まとめ

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

米国オラクルは2016年9月18日から22日(米国時間)の5日間にわたり、恒例のJava開発者カンファレンス「JavaOne 2016」を米国サンフランシスコで開催した。今年のJavaOneでは、現在、仕様策定が行われているJava EE 8の仕様追加/変更と、Java EE 9の提案が新たに発表された。本記事では、これらの発表を中心とする基調講演の内容を、日本オラクルの伊藤敬氏が報告する。

Java SEをDockerコンテナで提供。Java SE 9のリリースは2017年7月


日本オラクル クラウド・テクノロジー事業統括. Fusion Middleware事業本部 シニアマネージャの伊藤敬氏

 JavaOne 2016の基調講演では、例年と同様、Java SEおよびJava EEに関する最新トピックや事例、今後のロードマップなどについて、米国オラクルの各責任者より発表が行われました。その中で特に大きな話題を集めたのが、仕様策定が進められているJava EE 8に対して、オラクルから機能追加/変更の提案が行われたこと、さらに新たにJava EE 9が提案されたことです。ニュース記事などにより、この発表に驚かれた方も多いのではないかと思います。

 ここでは、米国オラクルの責任者が基調講演でお話しした内容を基に、Java EEに関するオラクルからの提案の内容などをご紹介します。なお、今回ご紹介するオラクルの提案内容はJavaOne 2016開催時点のものであり、今後、変更が生じる可能性があることをご承知置きください。

 まずJava SEについては、米国オラクルでJavaプラットフォーム開発担当バイスプレジデントを務めるジョージ・サーブと、Java SEのチーフ・アーキテクトを務めるマーク・ラインホールドが発表に当たりました。その中でサーブが改めて強調したのは、次に挙げる5つの“Javaのフィロソフィー”を今後も引き続き堅守していくということです。

  • プラットフォームに依存しない
  • 高品質と強固なセキュリティ
  • 先進性とイノベーション
  • オープンで透過性の高い開発
  • 開発生産性と互換性

 Java SE 9のリリース時期は、現時点では2017年7月27日が予定されています。

 また、Java SEに関しては、オラクルからDockerコンテナ・ベースでJava SEを提供するとの発表がありました。最近はJavaアプリケーションをDocker上で実行するという使い方をされるケースが多いため、あらかじめDockerコンテナ上にインストール済みのものを提供しようというわけです。

クラウド時代にふさわしいプラットフォームに─Java EE 8/9の機能と方向性についてオラクルが新たな提案

 一方、Java EEについては、米国オラクルでクラウド・アプリケーション基盤とJava EEの開発を担当するバイスプレジデントのアニール・ガーが壇上に上り、オラクルとしてのJava EE 8の修整提案と、Java EE 9に関する新たな提案を発表しました。以降では、これらについて少しボリュームを割いてご紹介します。

Java EEはエンタープライズ・アプリケーション開発の標準技術

 初めにおさらいとして、現在のJava EEの立ち位置について確認しておきます。

 今日、Java EEはオンプレミスの領域ではエンタープライズ・アプリケーション開発技術の業界標準として世界中で広く利用されており、Java EE対応アプリケーション・サーバもベンダー各社やコミュニティから多数提供されています。そして現在、アプリケーション開発の主戦場は徐々にクラウドへとシフトしつつあり、オラクルがOracle WebLogic ServerをベースにしたPaaSとして「Oracle Java Cloud Service」を提供しているほか、主要なベンダーが同様または異なるアプローチにより、クラウド上でJava EEアプリケーションを実行できる環境を選択肢の1つとして用意し始めています。


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

 また、Java EEを構成するAPIはさまざまなオープンソース・プロダクトでも活用され、基礎技術として広く普及しています。今やJava EEのAPIや技術は、アプリケーション開発の領域を支える重要なインフラの一部にもなっていると言えます。


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

テクノロジー・トレンドの急激な変化

 Java EEの仕様に関しては、JCP(Java Community Process)でオープンに議論が重ねられており、次期バージョンであるJava EE 8については、コミュニティの要望も取り入れながら個別の仕様がJSR(Java Specification Request)として検討されています。これらの検討は時間をかけて進められてきたわけですが、その一方で世の中の見渡してみると、ここ1、2年の間でテクノロジー・トレンドに急激な変化が起きています。

 例えば、アプリケーションの開発/運用をクラウド上で行うというのはその1つですし、ビジネス要件がシステム開発に一層大きな影響を及ぼすようになってきていることも大きな変化です。また、クラウドと並んで、ビッグデータやIoT(Internet of Things)も次世代の主要な技術領域として定着しつつあります。

 ITシステムそのものに対する要求にも変化が見られます。アジリティ(俊敏性)やフレキシビリティ(柔軟性)の重要性が増し、従来の固定的なシステムだけでなく、常に変化/成長していく、あるいは状況に応じて変化するようなシステムを求める声が強まっています。これはビジネス上の必要性から生じる要求であり、その重要度は日に日に増しています。

 ITインフラに関しては、すでに仮想化環境が普及していますが、さらにそれがクラウド上に展開されるようになり、より大規模かつスケーラブルな環境を想定したシステム開発を行う必要性が高まっています。

 アプリケーション開発にも新たなトレンドが生まれています。マイクロサービスのような小さなサービスを多数連携させることで、アジリティの高い柔軟なシステムを実現するアプローチが登場してきました。ビジネスの要件に応じて、アジリティを重視するシステムとモノリシックな単一構造のシンプルなシステムを使い分けられることが求められているのです。これを受けて、アプリケーションの実行環境についても、アジリティやリソース使用効率を重視した軽量コンテナやマルチテナントなど、さまざまな形態が登場しています。

変化に対応するための軌道修正が必要

 このように、テクノロジーのトレンドが変わる中、アプリケーション開発で利用される技術にも変化が見られます。

 例えば、アプリケーションにアクセスするクライアントは、デスクトップやWebアプリケーション、モバイルなど多様化が進んでおり、XML/JSONデータをやり取りするようなクライアント/サーバ間の通信では、プロトコルとしてHTTPやHTTP/2、仕様としてJAX-RSやXHR、WebSocketといった具合にさまざまな技術が使われています。

 また、サーバ側を見ると、クライアントとのセッションの状態を保持しないステートレスなアプリケーションが多く稼働している状況があります。バックエンドのデータソースとしては、RDBのほかにNOSQL、データストリーム、ドキュメント型データ、時系列データなども扱わなければなりません。


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

 現在のJava EEは、これらのトレンドの全てに対応できているわけではありません。これまで仕様が議論されてきた次期バージョンのJava EE 8についても、十分にカバーできているとは言い難い状況です。そこで、オラクルはJava EE 8に対する新たな追加提案と、その次のバージョンであるJava EE 9に関して新たな提案を行うことを発表しました。

 この仕様案は、基本的にはすでに実績のある技術をベースにしており、先に触れたクラウドやマイクロサービスなど、従来のJava EEがカバーしていないテクノロジーに対応するものです。それらも含めたプログラミング・モデルやアプリケーションのパッケージング、管理機構など、必要な要素を全て盛り込んだ包括的な構成が考えられています。JavaOne 2016では、これをオラクルの提案として発表し、今後はJCPの中でベンダー各社やコミュニティとオープンに議論していきたいと考えています。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]