X

An Oracle blog about WebLogic Channel

ユーザー企業、フレームワーク・ベンダーのアーキテクトらが語るJava EE 6の魅力【前編】――「WebLogic Server 12c Forum 2012」レポート

エンタープライズITの世界でさまざまなビジネス要求への迅速な対応やさらなるコスト削減が強く求められている今日、システム・アーキテクチャの策定を主導するアーキテクトらには、最新の標準技術を取り入れて“車輪の再発明”を避けることで無用の手間やコストを減らし、自社のビジネス価値を最大化できる領域に注力することが求められている。そうしたアーキテクトらの要求に応える最新のシステム基盤として2009年に登場したのがJava EE 6だ。2012年8月に開催された「WebLogic Server 12c Forum 2012」では、ユーザー企業やフレームワーク・ベンダーのアーキテクトらがセッションに登壇し、Java EE 6が今日のエンタープライズ・システム開発にもたらすメリットなどを語った。(編集部)

アーキテクトらが説くJava EE 6の利点


 2009年に正式リリースされ、WebLogic Server 12cをはじめとするアプリケーション・サーバ側での対応が進められているJava EE 6。これまで本サイトでも、このJava EE 6に備わる機能や、Java EE 6が実現する最新のシステム基盤を使うメリットなどを紹介してきた。


 それらのメリットをいち早く享受すべく、国内ユーザー企業やフレームワーク・ベンダーでは、Java EE 6への移行を見据えた準備が急ピッチで進められている。2012年8月に都内で開催された「WebLogic Server 12c Forum 2012」では、三菱東京UFJ銀行、楽天、NECのアーキテクトらがセッションに登壇したが、その中でも、それぞれの経験を踏まえてJava EE 6のメリットが語られた。本企画では2回にわたり、各アーキテクトが挙げたJava EE 6の利点を紹介する。

Java EE 6で旧Java EEからの乗り換えのハードルは大きく下がる


 ご存じのとおり、かつてのJava EEでは、世界中の企業が協力してエンタープライズ・システムに必要な機能を標準規格として取り込むことに力点が置かれていた。そしてJ2EE 1.4で必要な機能がひととおり揃うと、それまで長年にわたって使われてきた「メインフレーム+COBOL」に代表される従来のミッション・クリティカル・システムをリプレースする技術として期待が高まり、Java EEによるエンタープライズ・システム開発が国内でも本格化する。以降、Java EEは名実ともにエンタープライズ・システム開発の中核技術の座を占めることになる。


 前述のとおり、J2EE 1.4に対する期待は大きく、積極的にエンタープライズ・システムに活用されたが、一方で「いかにして開発を容易にするか」という要件を満たすものではなかった。そのため、開発容易性(Ease of Development)を高めるために、多くのJava EEを利用する企業はオープンソースや独自開発の外部フレームワークの活用を選択した。開発容易性とは、例えばWebLogic Server 12c Forum 2012で講演した楽天の鈴木渉氏(オークションサービス開発グループ チームリーダー)によれば、次のようなものだ。


●開発者が早く動けるように導入コストが低い

●影響範囲が限定されており、細かくリリースできる

●サービスとシステム両面の変化に強い


 ネット・オークション「楽天オークション」のシステムを手掛ける鈴木氏のグループでは、短い周期でのサービス・リリースと、若手エンジニアの早期戦力化および継続的な成長を可能にするシステム基盤をJava EEによって実現すべく取り組みを進めてきた。その中で、かつては巨大なサイロ状だったシステムのアーキテクチャを刷新し、機能単位で細かく分割した。また、毎週のように追加/改修される機能の実装をAPIとして公開し、それを介して機能間の連携を行うことで、アプリケーションの疎結合を実現。そして、開発容易性を高める目的から、Java EEに各種のオープンソース・フレームワークを組み合わせてシステムを構成した。


 このように、各社はそれぞれ工夫して開発容易性の課題に対処してきたが、これではJava EEの上に個別/独自の技術が乱立してしまう。そこで、こうした状況への反省から“開発容易性の向上”を合い言葉に仕様が大幅に改訂されたのが、2003年に登場したJava EE 5である。Java EE 5では、画面単位での業務アプリケーション開発を実現する技術として「JSF(JSF 1.2)」が追加されたほか、軽量なPOJOによるビジネス・ロジックの実装を可能にするDI(Dependency Injection)技術を導入した「EJB 3.0」、O/Rマッピング技術も取り入れてより柔軟なデータ・ソースの扱いを可能にするJPA(JPA 1.0)などが標準技術として取り込まれ、Java EEそのもので開発容易性を大幅に高めることに成功した。


 このJava EE 5の登場を受け、国内企業でも、それまでのシステム開発で培ったノウハウを生かしながら、Java EE 5ベースの内製フレームワークを整備する。WebLogic Server 12c Forum 2012で講演した三菱東京UFJ銀行の場合、既存のノウハウを活用するために、フレームワークの各部分で各種オープンソース・フレームワークを差し替え可能な部品として利用。それらに対してプレゼンテーション層にはJSF、ビジネス・ロジック層にはEJB、インテグレーション層にはJPAを使うというJava EE 5の基本思想を適用して認証連携や非同期処理、システム連携といったシステム共通機能を整備したという。


 その後、Java EE 5の使い勝手をさらに高めるかたちで2009年に登場したのがJava EE 6だ。Java EE 5にはまだ未完成な部分があったが、Java EE 6ではそれが次のように改善されている。


●Java EE 5では、DI/AOPの対象にできるのはコンテナ管理クラスに限定されていたため、EJBが不要なケースでもDIを使いたいがためにEJBコンポーネントを作らざるをえないケースがあった。それに対して、Java EE 6ではCDI(Contexts and Dependency Injection)技術が導入され、すべてのクラスに対してDI/AOPを適用可能になった


●JSF 1.2にはテンプレート・エンジンやAJAXコンポーネントが用意されていなかったため、オープンソースのテンプレート・エンジンやAJAXコンポーネントと組み合わせて使わなければならなかった。それに対して、Java EE 6のJSF(JSF 2.0)ではテンプレート・エンジン(Facelets)やAJAX対応が追加され、業務システムのフロント開発に必要な機能が満たされた


●JPA 1.0には悲観ロックやCriteriaなど、ミッション・クリティカル・システムに必要な機能が不足しており、その点ではオープンソースのO/Rマッピング・フレームワークに劣っていた。それに対してJava EE 6のJPA(JPA 2.0)では悲観ロックやCriteriaがサポートされ、ミッション・クリティカルな用途での利用に堪えるデータ・アクセス技術となった


 このように問題が解消されたことにより、既存のJava EE基盤からの乗り換えに伴うハードルが大きく下がったのである。

フレームワーク・ベンダーもJava EE 6を高く評価


 「乗り換えのハードルが下がり、開発容易性のメリットを享受しやすくなるだけでなく、Java EE 6に移行することには旧来のJava EE環境が企業に強いてきた負担を軽減できるという利点もある」という指摘も聞かれる。WebLogic Server 12c Forum 2012で講演したNECの小泉健氏(ソフトウェア生産革新部 主任)の主張だ。


 小泉氏は現在、NECで「SystemDirector Enterprise(SystemDirector Enterprise for Java。以下、SDE)」の開発を主導している。これは、品質の高い業務システムのJava EEによる効率的な開発を支援すべく、NECが長年培ってきたノウハウを凝集して「開発方法論」と「開発/実行環境」、「サポート・サービス」を提供する業務システム構築基盤だ。現在、同社が提供する各種システム開発サービスの多くがSDEを基盤に利用している。


 今日の業務システム開発では、考慮すべき課題が多岐にわたる一方で、与えられる開発期間は短くなってきている。個々のシステムの開発者らをビジネス・ロジック開発に専念させるための環境を整えるうえで、従来のようにJava EEに足りない機能を自社で開発したり、オープンソースで補うべくフレームワーク選定や整備、導入に時間をかけたりしていたのでは、とてもではないが間に合わなくなってきているのが実情だ。


 そこで小泉氏らは、そうした悩みを解消するものとしてJava EE 6に注目した。これをいち早くSDEに取り込むべく、2011年にWebLogic Server 10g上でオープンソース・フレームワークを組み合わせてJava EE 6対応の業務システム構築基盤を実現。これにより、個々のシステム開発者の生産性を高めることに成功する。そして翌2012年、Java EE 6に準拠したWebLogic Server 12cが登場してくることになる。後編では、Java EE 6対応アプリケーション・サーバも登場したことで、Java EE 6が開発容易性の向上のほかにどのようなメリットを実現したのかを見ていこう。

Be the first to comment

Comments ( 0 )
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.Captcha
Oracle

Integrated Cloud Applications & Platform Services