Java EE 7はクラウドのPaaS基盤に進化、来年Q3にリリース予定。JavaOne 2011

2011年10月13日

Java EEの次のバージョンとなる「Java EE 7」では、クラウド対応が最大の目標となることを、サンフランシスコで先週、10月4日から開催された「JaveOne 2011」の基調講演で、Java EE Specification Lead、Linda DeMichiel氏が明らかにしました。

クラウド上に展開したサービスごとのコンフィグレーションを記述するメタデータの追加やマルチテナントへの対応、クラウドに対応するためのAPIの拡張などが行われると説明されています。

Java EE 7のフォーカスはPaaS

Java EE Specification Lead、Linda DeMichiel氏。

fig

Java EEプラットフォームの最新動向は、Java EEのクラウド対応。

fig

Java EE 7のフォーカスはPaaS。パブリッククラウド、プライベートクラウド、ハイブリッドクラウドの実現手段を提供する。

Java EEの登場からJava EE 6までのフォーカスは、リソースやサービスへのアクセス手段の標準化、そしてマルチベンダに対するアプリケーションのポータビリティの提供だった。

Java EE 7のフォーカスは、Java EEプラットフォーム自身をサービスとすること。これは革新的なものとなる。

fig

ロードマップは次のようになっている。

PaaSに対応した新しいプラットフォームの役割を定義し、メタデータによってプロビジョニングの設定、QoSや伸縮性(Elasticity)などを実現する。

クラウド環境のためのAPIを追加し、既存のAPIにはマルチテナント対応の拡張を行う。

fig

メタデータでコンフィグレーション

Java EE 7のPaaS上で動作するクラウドアプリケーションは、コンテナが提供するサービスを利用する。サービスとは、パーシステンス、キューイング、メール、キャッシングなどが想定される。

サービスのコンフィグレーションなどはメタデータによってカスタマイズされる。このメタデータがあることで、クラウド環境のプロビジョニングを容易にする。

例えば、あるアプリケーションはOracle Databaseをデータソースとして想定し、さらにトランザクションのアイソレーションレベルはどうか、といった設定が行える。

fig

Java EE 7のマルチテナンシーについて。

SaaSの環境としてマルチテナント機能を提供することを計画している。1つのアプリケーションを、テナントごとに分離されたインスタンスで提供する。インスタンスはメタデータによってテナントごとにカスタマイズされる。

テナントIDは、アプリケーションとそのサブシステムで利用可能。例えばJPAは、テーブルが複数のテナントで使われるときに、データとテナントIDを関連させておく必要があるだろう。

fig

クラウドへのデプロイを容易にする

Java EE 7で、アプリケーションをクラウドへデプロイするのがいかに簡単か。デモを見ていただこう。

このJava EEアプリケーションは、JSFをフロントエンド、EJBをミドルティア、JPAをデータベースへのコネクティビティとしている。

そしてアプリケーションにどんなサービスが必要か、環境を設定するメタデータを備えている。ここでは、Java EEサービス、データベースサービス、メッセージングサービスを必要としている。

これをGlassfishでPaaS環境にデプロイしてみよう。

fig

Glassfishの最新のビルドを使っている。

fig

ログインするとまだアプリケーションはない。デプロイをクリックしてアプリケーションのアーカイブを開く。

このアプリケーションはシンプルな「コンファレンスオーガナイザー」で、コンファレンスのトラック、セッション、スピーカーを表示する。JavaOneのデータをサンプルにしている。

fig

メタデータによって必要なサービスの設定が読み込まれた。

ロードバランスサービス。Java EEサービスとそのインスタンスが2個から4個のあいだで負荷に応じてスケールする範囲。そしてデータベースサービス。

データベースサービスに対して、データベースの作成を行うSQLスクリプトファイルを読み込ませる。

fig

そして「デプロイ」ボタンをクリックすると、デプロイメント作業が始まる。

fig

これでデプロイは終了した。初期状態ではロードバランスサービス、2つのJava EEサービス、データベースサービスが起動し、さきほどのSQLスクリプトでデータベースも準備された。

fig

Oracle VMマネージャで仮想マシンの状況を見てみると、4つのサービスに対応した4つの仮想マシンが起動しているのが分かる。負荷が高まれば、Java EEサービスが4インスタンスに増え、そのために新たに仮想マシンが2つ立ち上がり、合計6仮想マシンとなる。

fig

Java EE 7は以下のさまざまな仕様が含まれる予定だ。

fig

その策定過程では透明性を実現し、議論したメールアーカイブも公開、仕様書やドラフトなどもダウンロード可能にする。

fig

Java EE 7は2012年第3四半期をリリースターゲットとしている。

fig

あわせて読みたい

Java プログラミング言語 Oracle PaaS




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本