レポート

レガシーJava環境から世界標準のJava EEに─オラクルが推奨する"Java EE 6のススメ"

この記事を読むのに必要な時間:およそ 3 分

「4月に開催したJavaOne 2012 Tokyoで日本のJava開発者の熱い思いを再認識した。オラクルとしても国内市場においてJavaをさらに推進し,情報発信を含めた積極的な開発者へのアクションを取っていきたい」⁠ ─6月29日,日本オラクル ソフトウェアライセンス事業 製品事業統括 Fusion Middleware事業統括本部 ビジネス推進本部 シニアマネジャー 伊藤敬氏は「JavaテクノロジとWebLogic Serverに関する説明会」でこう発言しました。

伊藤敬氏

伊藤敬氏

オラクルによるサン買収から2年余りが経過し,昨年はオラクルの下ではじめてJava SEがリリースされました。現在,オラクルはコミュニティとともにJava SE 8,そしてエンタープライズ版のJava EE 7を鋭意開発中です。本稿では,年内にもリリースが噂されているJava EE 7の現状,およびオラクルのJava EE実装製品である「Oracle WebLogic Server 12c」について,説明会の内容をもとに紹介します。

Java EE 7の前に6への移行を! ─Javaエバンジェリスト 寺田氏

JavaOne 2012 TokyoではJava EE 7について「クラウドに特化したエディション」という紹介がなされましたが,そのJava EE 7にスムースに移行するためにも「現在の最新バージョンであるJava EE 6の重要性をしっかり認識してほしい。Java EE 6を使いこなせずして7への移行はあり得ない」と日本オラクル Fusion Middleware事業統括本部 ビジネス推進本部 シニアJavaエバンジェリスト 寺田佳央氏はJava EE 6の重要性を強調します。

Java EE 7はJava EE 6をベースとしており,Javaの標準的技術と呼ぶにふさわしい機能,Web開発に必要な技術がすべて含まれていることがその理由とのこと。⁠Java EE 6におけるアプリケーション開発では,Javaクラス数25%削減,コード行数50%削減,XML行数80%削減という試算もあり,開発生産性が大幅に向上している点も特徴。EclipseやNetBeansといったメジャーな開発環境はすべてJava EE 6に対応済み」⁠寺田氏)

寺田佳央氏

寺田佳央氏

寺田氏がJava EE 6の重要性を訴える背景には,国内におけるJava EEの普及率がStrutsの後塵を拝しているという状況があります。フレームワーク活用のシェアを見ると国内ではStrutsが33%,Java EEは24%,Springが23%でこれに続きます。一方,世界的なトレンドから見るとStrutsはバージョン1もバージョン2もシェアは1.3%というわずかな数字で,⁠世界のエンタープライズJava技術者はJava EEに回帰している」⁠寺田氏)といっても過言ではないでしょう。

「StrutsやSpringで独自に組み合わせた環境はすべてJava EE 6で置き換えることができる。それぞれの連携に苦労する必要もなく,ベンダロックインのリスクを大幅に軽減できる」⁠寺田氏)と,国内においてもエンタープライズJavaの標準としてJava EE 6を確立させたいオラクルの意向が伺えます。国内にはまだJ2EE 1.4時代のアプリケーション資産が数多く残っているとされていますが,Java EE 7がリリースされる前にこれらのレガシーをJava EE 6に移行すべきというのが同社の主張でもあります。

では,⁠幅広い業界やコミュニティとともに作り上げている」⁠寺田氏)というJava EE 7はどんな特徴をもっているのでしょうか。クラウドに特化したというJava EE 7のポイントは大きく3つ挙げることができます。

  • プロビジョニング
  • Elasticity(伸縮性)
  • マルチテナンシー

第一の特徴であるプロビジョニングについては「これまでの運用を一新させる」と寺田氏。これまでは運用管理者が事前にデータベースやメッセージサービス(MQ)⁠ディレクトリサービスなど必要となるリソースを事前に設定してから,アプリケーションを配備するというステップを踏む必要がありましたが,Java EE 7では運用管理者の手を煩わすことなく,プログラマやアプリケーションデプロイヤ(配備者)が直接,リソースの設定/管理を行うことができます。

具体的に言うと「アプリケーションサーバ上ではなく,プログラム上でプログラマがアノテーションを使い,必要なリソースを設定/管理できる。配備者であればXML設定ファイルを使えば同様のことが可能」⁠寺田氏)になります。これはほかのフレームワークでは実現されていない,Java EE 7だけの機能です。クラウド化が進めば必然的にマルチテナント化も進みますが,アノテーションでリソースをプロビジョニングできれば迅速な横展開が可能になるので,大きなメリットといえます。

Java EE 7ではプログラムソースでリソース設定を記述できるように

Java EE 7ではプログラムソースでリソース設定を記述できるように

2つめのElasticityは,まさにクラウドの特性を活かすためのものです。Java EE 7ではリソースの状況において動的にサービスを増減することが可能です。たとえば最初は1台のマシン上でサービスを開始した場合でも,あらかじめ「CPU使用率80%を超えたら割り当てを増やす」といったしきい値を設定しておくことで,自律的なサービスレベル管理が実現します。シングルノードからマルチノード,さらにはIaaSまでカバーする配備対象の広さもポイントです。

3つめのマルチテナンシーは「同一アプリケーションをテナントごとに分離」⁠アプリケーションレベルでテナントを識別可能」の2つが実現します。同一のアプリをテナントごとに分離できれば他のテナントに影響を及ぼすことはありません。また,それぞれのテナントごとに用意するデータベースは専用か共有かを選ぶことができます。開発ニーズに応じて,またはハードウェアのパフォーマンスを適切に扱うために,柔軟な選択肢が用意されています。

説明の最後にもう一度「Java EE 7を最大限活かすためにもJava EE 6への移行を!」と強く呼びかけた寺田氏。オラクルとしても今後,Java EE 6利用を促進するため,教育サービスやコンサルティングサービスに注力していくと表明しています。また,開発者向けにJava EEセミナーを8月23日に開催する予定で,Javaエバンジェリストとして世界的に有名なArun Gupta氏の基調講演,世界でも数名しかいない"Java Champion"の称号をもつBert Ertman氏の特別講演が行われます。

著者プロフィール

五味明子(ごみあきこ)

IT系の出版社で編集者としてキャリアを積んだ後,2011年からフリーランスライターに。フィールドワークはオープンソースやクラウドコンピューティング,データアナリティクスなどエンタープライズITが中心。海外カンファレンス取材多め。Twitter(@g3akk)やFacebookで日々IT情報を発信中。

北海道札幌市出身/東京都立大学経済学部卒。

コメント

コメントの記入