BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Java EE 6 をクラウドに展開する WebLogic 12c

Java EE 6 をクラウドに展開する WebLogic 12c

原文(投稿日:2012/01/27)へのリンク

12月初め,Oracle が WebLogic Server 12c をリリースした。2009 年 7 月に初回リリースされた 11g の後継バージョンである。今回のこのバージョンは,2009 年 12 月に承認された Java EE 6 標準を完全サポートするアプリケーションサーバとして初のリリースとなる。さらに WebLogic Server 12c は,Oracle クラウド戦略全体において重要な位置を占めるとともに,Oracle Exalogic Elastic Cloud の推奨アプリケーションサーバ・インフラストラクチャでもある。Java EE Web Profile をサポートするベンダは他にも数多くあるが,パブリッククラウドに関する Oracle の計画はさらに広範なものだ。"Oracle Public Cloud での (Oracle WebLogic Server 12c を使用した) Java EE 6 サポート提供は,2012 年を目標としています。EJB 3.1 のサポートも含まれます。" Oracle 開発担当副社長 Cameron Purdy 氏は語る。"JMS もサポートする予定ですが,時期については未定です。"

Java EE 7 の公式テーマのひとつはクラウドのサポートである。クラウド展開の基盤として Java EE 6 がどのように適しているのか,Purdy 氏に訊いた。

Oracle WebLogic Server 12c の重要なテーマのひとつは,ミッションクリティカルで大規模なクラウド導入を支援することです。Oracle WebLogic Server 12c のユニークな点として,プライベートクラウドソリューションの構築に通常のデータセンタインフラを利用することができるのです。さらに,Oracle Exalogic Elastic Cloud の中心的存在でもあります – Oracle Exalogic Elastic Cloud は,高度に最適化および効率化されたオンプレミスのクラウドソリューションを即時使用可能な形式で提供する,Oracle のハードウェアとソフトウェアのエンジニアリングシステムです。そして最後に,Oracle Public Cloud の基盤インフラストラクチャでもあります。

ご質問に関して言えば,PaaS (Platform-as-a-Service) クラウドインフラストラクチャには,アプリケーションを効率的にホストするために最小限必要なコンポーネントのセットがあります。標準準拠の軽量 Java サーバ,クラウドアプリケーションを構築するための Java フレームワーク,キャッシュとクラスタ処理に利用するインメモリのデータグリッド,ワークロード変動に対応する柔軟性,変化するインフラストラクチャ全体のトラフィックをルート管理する組込型のトラフィック管理機構,サーバリソースを効率よく使用するための仮想化,セルフサービスインターフェースなどを通じた簡単なプロビジョニング,などが相当します。さらにこのような形式のクラウドソリューションは,機能を補完するために IaaS (Infrastructure-as-a-Service) と組み合わせられる場合が多くあります。Oracle WebLogic Sercer 12c では,次のようなコアコンポーネントを提供しています。

  • 開発フレームワークに関しては,CDI や EJB 3.1 Lite,マネージドBean,JAX-RS などの新技術を備えた Java EE 6 は,これまでで最も軽量かつ生産性の高い Java EE リリースです。Java EE 6 がこの面で発展したことは同時に,サードパーティ開発のフレームワークがもはや不要であることも意味します。しかし Oracle WebLogic Server 12c では,一般的なフレームワークに対する最新のサポートを組み込むことによって,既存アプリケーションの Java EE 6 への移行を容易にしています。
  • Oracle WebLogic Server 12c に組み込まれている Oracle Coherence In-Memory Data Grid (IMDG) が,分散キャッシュと,予測可能でハイパフォーマンスなスケールアウトを実現します。管理操作は Oracle WebLogic Server 内部から行うことができます。WebLogic Server をクラウドに配置する場合,IMDG は高性能で予測可能性と柔軟性を備えた,ユニークなインメモリデータグリッドを提供します。
  • Oracle WebLogic Server にはメッセージ機能として,エンタープライズクラスの性能を持った Java Messaging Service インフラストラクチャが提供されています。インメモリ,ファイル,データベース,Oracle AQ などのプロバイダ,順序単位 (unit-of-order) や作業単位 (unit-of-work) など高度な機能,外部メッセージへのブリッジインフラストラクチャ,ストアアンドフォワードのサポートを備えています。このようなクラウド規模のメッセージ配信機能は,ユーザにとって非常に重要なものです。
  • 効率性と柔軟性,透過性を持ったトラフィック管理が,高度に可視化されたクラウドインフラストラクチャにおいて重要な要件となっています。Oracle Exalogic Elastic Cloud および WebLogic Server 12c リリースでは,Oracle Traffic Deirector を提供します。
  • Oracle Enterprise Manager 12c の最新リリースが Oracle WebLogic Server 12c に統合されています。これにより,完全に統合された仮想化対応のセルフサービスソリューションが, WebLogic Server 12c クラウドソリューションに装備されます。

これらの機能は,ユーザがデータセンタに所有している既存のハードウェア上に,プライベートクラウドを構築する場合に現時点で利用できるものと同じです。Oracle ユーザが高度に最適化されたクラウドインフラストラクチャを,Oracle Exalogic Elastic Cloud 上に構築する場合に使用する機能とも同じです。さらには私たち自身が cloud.oracle.com の Oracle Public Cloud で使用している機能とも,基本的には同じなのです。ユーザとの作業やパブリッククラウドを提供する過程で私たちが学んだことの多くは,最終的に Java EE 7 の開発に積極的に取り組むワーキンググループへとフィードバックされます。あるコンセプトが標準となる前に,その将来性に確信を持てるような実装上の成功を見届けておきたい,というのは誰もが思うところです。Oracle WebLogic Server を基盤とする Oracle Public Cloud と Oracle Exalogic Elastic Cloud の提供には,Java EE 5 あるいは 6 でこれが実装可能であることの立証だけでなく,Java EE 7 の標準化プロセスに対して,フィールドテストによる実例を提供する意味もあるのです。

Purdy 氏が言及したように,WebLogic では Java EE 6 標準に加えて,さらに以下のような多彩な機能が実装されている。

  • Active GridLink for RAC (Real Application Clusters)

  • 迅速なシステムプロビジョニングとコンフィギュレーションのために設計された Visual Assembly Buiilder

  • Traffic Director レイヤ7ソフトウェアロードバランサ。開発者や管理者に対して,データベースやメッセージキュー,その他スタックの任意の場所で発する内部パケットのフロー制御を可能にすることによって, WebLogic Server クラスタ全域へのパケット到達を保証する。Traffic Director は Intel のチップセットに結合しているため,システムの暗号化処理の CPU 負荷を軽減することができる。Purdy 氏によれば,これによってロードバランシングプロセス全体が3~4倍のレベルで高速化されているという。

さらに氏は,

"仕様以外" に関連する作業としては,概ね次のようなテーマに注目しています – 配置と管理の簡略化,開発者の生産性,継続的なパフォーマンス監視,信頼性,可用性,スケーラビリティなど。

Java EE 仕様以外で最も強調したいのは,Oracle WebLogic Server 11g からのアップグレードがシームレスに可能なことです。前バージョンを利用している何千もの既存ユーザや顧客にとって,これは非常に重要なことです。さらに GlassFish Web アプリケーションのデプロイデスクリプタもサポートされるようになりました。GlassFish で開発されたアプリケーションの Oracle WebLogic Server への配置が,これまで以上に容易になります。

常に Oracle WebLogic Server の重点領域であるパフォーマンスとスケーラビリティについては,Oracle Real Application Clusters (RAC) の統合により,従来のマルチデータソース実装に比べて大幅に改善されています。また "GridLink データソース" 機能が新たに RAC 対応となり,パフォーマンスとランタイム接続ロードバランスが大きく向上しました。例えばアプリケーションが新たな接続を要求する場合,基盤としての通知サービスがデータベースへの負荷分散状態を常にアクティブに監視していることによって,最適な RAC ノードを選択することができます。

WebLogic を Oracle Exalogic Elastic Cloud プラットフォーム上で使用する場合には,Oracle Traffic Director (OTD) が高い可用性とパフォーマンスを備えた帯域共有とルーティング機能,動的に構成可能なキャッシュ機能とロードバランシング,さらには Oracle WebLogic Server と Oracle Fusion Middleware 上で動作する HTTP ベースアプリケーションへのハイパフォーマンスなプロキシサポートを提供します。Oracle Traffic Director は Oracle WebLogic Server と Oracle Fusion Middleware 上で動作するアプリケーションに対して,従来型 Web ベースアーキテクチャの3~4倍というパフォーマンス向上を実現します。これは Oracle Exalogic Elastic Cloud Engineered System が備えている Intel の新しい Advanced Encryption 命令セットと Integrated Performance Primitive を用いた,SSL のフルハードウェアアクセラレーションと動的圧縮などの最適化によって達成されたものです。

さらに Oracle は,Oracle WebLogic Server と Oracle Real Application Cluster の統合によって,信頼性と可用性の面においても優れた成果を上げている。

例えば Oracle WebLogic Server には,障害の自動検出と対応を行う機能があります。これはデータベースノードの可用性をリアルタイムで認識することによって実現されたもので,よりインテリジェントに,より低い停止率で負荷分散を実施します。すでに多くのユーザが,データベースの高可用性実現のために Oracle GoldenGate あるいは Oracle Active Data Guard を使用しています。今回 Oracle WebLogic Server でも,データセンタ全体での Java EE アプリケーションの高可用性の実現のために,これと同じ機能を利用可能になりました。また Oracle WebLogic Server は,トランザクションログやJMS メッセージ,その他のアプリケーションデータを Oracle Database 上に保存します。これによってシンプルで堅牢,なおかつ広く理解され実装されている障害回復アーキテクチャのメリットを活用しています。これらすべてが Acrtive Gridlink など,すでに説明した機能と協調しながら動作するのです。

WebLogic (プロセッサあたり約 45,000 ドル,年間サポート費用 9,900 ドル) と GlassFish (無償,ただし Oracle のサポートするバージョンはプロセッサあたり 5,000 ドル,年間メンテナンス費用 1,100 ドル) という価格の大きな違いを考えたとき,GlashFish よりも WebLogic が選ばれるのはどのような場合なのだろう。我々は Purdy 氏に質問してみた。

まず考えなければならないのは,エンタープライズソフトウェアの購入は,自動販売機で飲み物を買うようなものではない,ということです。長期にわたって Oracle と関係を持っているユーザには,数多くの製品のライセンスを大量に購入していることがよくあります。そのような場合は各部署や部門の購買力を集約することで,ユニット単位のコストを抑えることが可能です。Oracle としても,特に中小規模のビジネス支援を目的に設定された購入プログラムや,エンタープライズ製品に低コストでアクセス可能なスタートアップ製品などを多数用意しています。

2つめは,最低でも2~5年の期間にわたって使用するエンタープライズソフトでは,システム全体のコストに対するライセンス費用の比率が比較的小さい,ということです。その例として,5年以上使用する場合の Oracle WebLogic Server のコストは, JBoss に比べて 35% 低い ということが最近の調査で確認されました。つまり期間中の運用コストの抑制が,システム全体のコスト低減に非常に大きく寄与している,ということです。例えば Oracle WebLogic Server には,一定の負荷量に対して必要なサーバの数が少ない,という傾向があります。さらに同じ数のサーバに対して,その運用維持に必要な管理者の人数も少ないのです。別の選択肢である "フリー" ソフトウェアを使用した場合に比べて,大幅な費用節減が可能であることを理由に Oracle WebLogic Server を採用する企業の数は,すでに何千社にも上っています。

質問にあった GlassFish Server は,GlassFish Open Source Edition の商用版製品です。GlassFish は Java EE のリファレンス実装のベースなど,いくつかの役割を持っています。Java 開発者からの支持も絶大です。GlassFish は今後も,Java EE コミュニティの礎石としての役割を続けます。GlashFish が選択されること,Java EE プラットフォームの発展を支えていること,活気あるコミュニティを育み続けていること,ユーザに選択肢を提供していることなどについて,私たちは誇りを持っています。

しかし業務用エンタープライズアプリケーションのインフラストラクチャとしては,Oracle WebLogic Server の方がはるかに多く採用されています。その理由は,本格的なエンタープライズ機能 – その多くはこれまで説明したとおり, WebLogic Server 12c リリースに含まれています – が非常に充実している点にあります。WebLogic Server 12c は,ユーザが10年以上にわたって大規模なエンタープライズサービスの運用を続けてきた,堅牢かつセキュアで,高い信頼性と可用性と拡張性を備え,そのパフォーマンスが実証されたアプリケーションサーバと同じインフラストラクチャをベースにしています。この点にぜひ注目してください! さらに今回のリリースでは,Oracle RAC との密接な統合,Oracle Coherence とのネイティブ統合,完全な Oracle Enterprise Manager 12c による管理運用と診断機能,Oracle VM と Oracle Virtual Assembly Builder によって最適化された仮想インフラストラクチャ,その他の拡張機能が追加されています。これらは Oracle GlassFish Server にはない機能です。さらにその多くは,他のどのアプリケーションサーバにもない機能なのです。Oracle RAC 統合や Active GridLink for RAC などいくつかの機能は,製品全体のコストを補って余りある運用効率を備えています。

それらに加えて,ディザスタリカバリ (DR / Disaster Recovery) を統合した Oracle WebLogic Server の新しい連続稼働支援アーキテクチャがあります。継続的な可用性のソリューションをこれまでの数分の一のコストで,かつ迅速に提供することができます。
 
Oracle WebLogic Server 12c が開発者の新たな関心を引きそうな部分としては – Java EE 6 Full Profile 完全準拠に加えて – 非常に迅速で軽快かつアジャイルなエクスペリエンスを生み出すべく設計された,驚くほど多彩な機能があります。依存性を管理する Apache Maven の直接統合,軽量な zip 展開 – 完全デプロイ形式のプラットフォームデプロイに比較してサイズが約1/6になります – や,認証済みの Java SE 7 統合などの機能が用意されています。

これらすべての特徴に加えて Oracle WebLogic Server は,Oracle Fusion Middleware と Oracle Fusion Applications を始めとする Oracle アプリケーションのポートフォリオ全体が,エンタープライズサーバとして依存するプラットフォームでもあるのです。ユーザが Oracle Fusion Middleware あるいは Oracle Fusion Applications の他のコンポーネントを必要とする場合には,それらとの密接かつ即時使用可能な統合性を備えた Oracle WebLogic Server が既定の選択になります。さらに Exalogic Elastic Cloud に特化した最適化も組み込まれていて,Oracle の Engineered System アプローチの一環として,パフォーマンスと信頼性の大幅な向上を実現しています。最後に Oracle WebLogic Server は,Oracle Public Cloud 上で提供される Java サービス用インフラストラクチャでもあります。これによって WebLogic のユーザは,自身のインフラストラクチャ,Exalogic Engineered System,Oracle Public Cloud の3つの間を容易に移行することができます。全体として,大部分のユーザが開発機能とエンタープライズ機能提供という2つの理由から,Oracle WebLogic Server をエンタープライズ規模のアプリケーション用に採用しているのです。

最後に Oracle が WebLogic の Java EE 6 準拠バージョンの開発に約2年を要した点について,プラットフォームとしての重要性が低下したことの表れと考えているか,Purdy 氏に質問してみた。

Oracle は Java プラットフォームに対する自身の責務を非常に重要なものと捉えています。さらに Sun から加入した優秀な技術的人材から,多大な恩恵を受けてもいます。Java EE 6 を最初に市場に投入したのは Oracle です - 2年以上も前に!- Glash Fish Sever を Java EE 6 のリファレンス実装として,Java EE コミュニティすべてにオープンソースで提供しました。当時から現在まで,Java EE 6 へのニー ズに応えるために,Oracle はユーザが早期適用可能なオプション機能として JavaServer Faces 2.0 や Java Persistence API 2.0,Java API for RESTful といった,Java EE 6 API で最もニーズの多い機能を WebLogic Server 11g にひとつひとつ追加してきました。今回の Oracle WebLogic Server 12c のリリースと,それにより Java EE 6 が完全にプラットフォームサポートされたことにより,すべての API にアクセス可能になったのです。

今回のリリースを2年前に行うべきではなかったのか,ということですね? もちろんそうです! ですから私たちは,今回それが提供できることを嬉しく思っています。そしてOracle WebLogic Server 12c の普及率は,これまでに蓄積したニーズがついに解き放たれたかのように,非常に高くなっています。

今回のこのリリースが私たちの希望よりも遅くなったのは,BEA 買収後 Oracle WebLogic Server を Oracle Fusion Middleware に完全に統合するための作業が,他のどのプラットフォーム機能よりも時間を費やしたためなのです。これまでの数年間に発表された機能 – 今回 Oracle WebLogic Server 12c リリースに追加されたいくつかの大規模な機能,例えば Active GridLink for RAC などもそうです – の多くが,開発に何人年もの作業を費やしています。管理ツールなどのインフラストラクチャとの緊密な統合には,さらに大きな投資が必要でした。しかしユーザにとって価値のあることは明らかですので,今回の取り組みが成功したことについて,私たちは大変嬉しく思っています。

Java EE プラットフォーム自体,特にアプリケーション開発者をクラウドに移行させるためのシームレスなパス形成という視点において,非常にその重要性を増していると Oracle では考えています。Java EE 6 に対する開発者コミュニティの関心も大きく増しています。標準をベースとする最新の軽量プラットフォームとして,多くの面で目標を達成しているのです。事実,Java EE のバージョン5と6では,これまでのバージョンにまとわりついていた "ヘビー級" というレッテルの払拭に成功しています。Java のまとめ役として Oracle が行っている活動 – 最近の例では,昨夏の Java SE 7 ローンチや JavaOne 2011 の大盛況など – に見られるように,私たちは Java プラットフォームに引き続き多大な投資を行っています。業界やコミュニティとの緊密,かつ協調的な関係のもとで開発を続けることによって,単独ではこれまで誰もなし得ていない成功を収めるプラットフォームを生み出そうとしているのです。

私たちは Java EE を業界全体の共同開発領域として,あるいは標準として,特定のモデルへのユーザのロックインを回避しつつ,業界としてクラウドを推進するために重要なものだと考えています。Java EE 7 については,この業界でクラウドを開拓する私たちにとって,数多くの革新を標準化するための肥沃な大地であると考えています。そこから企業ユーザは,堅牢で生産効率が高く,標準をベースとするクラウド用エンタープライズインフラストラクチャを手にすることができるのです。

Oracle WebLogic Server 12c は現在,Eclipse (Oracle Enterprise Pack を使用) と NetBeans IDE でサポートされている。Oracle JDeveloper のサポートは 2012 年後半の予定だ。より詳細な情報の入手とダウンロードは,いずれも こちら で可能である。

この記事に星をつける

おすすめ度
スタイル

BT