【特集】

JBoss Seam - EJB 3.0時代のフレームワークを使いこなす

14 これまでのJava EEのネックを解決するSeam

    杉山貴章  [2006/08/31]

    以上、JBoss Seamを用いて簡単なサンプルアプリケーションを作成する手順について紹介した。今回のアプリケーションはごくシンプルなものであり、ビジネスプロセスについてもなんの処理も行わないものしか使用していないが、ビジネスロジックをBPMとEJBで、インタフェースをJSFでそれぞれ作成し、それをSeamで繋ぎ合わせるという流れは本格的なアプリケーションの場合でもそれほど違いはない。

    Java EE 5の中心技術としてJSFとEJB 3.0が採り入れられたことで、Javaエンタープライズアプリケーションの開発は以前に比べて非常にシンプル行えるようになった。JSFもEJB 3.0も過去の反省を活かしながら発展してきた技術であり、個々の完成度は非常に高い。その一方で、JSFとEJBによってプレゼンテーション層とビジネスロジック層の独立が強調されるあまり、両者の結合に様々な手を凝らさなければならないという問題が生じた。

    JBoss SeamはJava EE 5プラットフォームの持つパワーを損ねることなく、この問題を解決することに挑んでいる。開発者はJBoss Seamを使用することによって以下のようなメリットを享受することができる。

    1 エンタープライズシステムのプログラミングを単純化する
    2 単純なデータドリブンアプリケーションの高速開発を可能にする
    3 EJB 3.0コンポーネントを扱う適切なプログラミングモデルを実現する

    サンプルアプリケーションの作成でも見せたように、Seamによる開発はEJB3に対してアノテーションを駆使することが基本となる。たった数個のアノテーションを追加するだけで、JSF側からはEJBコンポーネントを自然な形で利用できるようになる。複雑な概念を必要としない、非常にシンプルなスタイルだ。そこにjBPMやFaceletsなどといった周辺技術が統合れているため、開発環境としての利便性も高い。

    ひとつ厄介なのは、SeamはEJBを始めとするさまざまな技術を統合することを目的として作られているため、全体として見るとどうしても設定ファイルが多く必要になってしまうことだ。ただでさえ理解の難しい設定ファイルを、使用する各技術毎に用意しなければならないため、環境の設定に思いのほか時間がかかってしまう。

    またJBoss Seam自体がまだ開発されて間もなく、標準仕様としても策定が始まったばかりの段階であるため、ライブラリ間の互換性などの影響で設定の内容を変えなければならないようなケースもある。プログラミングそのものがアノテーションを追加するだけでほとんど完了するシンプルさを持つため、かえって設定の複雑さが目立ってしまう結果となっている。さらに環境設定に関するまとまったドキュメントが少ないという点も、これらの問題を一層引き立たせてしまっている。この点をどう解決していくかが、今後のJBoss Seamの普及を促す鍵となるだろう。

    いずれにしても、Javaエンタープライズシステムのベンダーや開発者がJBoss Seamにかける期待は大きいといえるだろう。JSR 299のExpert GroupにはJBossの他にSun MicrosystemsやOracle、Googleといった大手ベンダーも参加している。JBoss Seamが普及すれば、JSF、Seam、EJB 3.0の組み合せが今後のエンタープアライズシステム開発のスタンダードとなっていくだろう。

    今回の成果物: todolist.tgz

    関連記事

    関連サイト

    新着記事

    特設サイトの情報

      求人情報

      人気記事

      一覧

      イチオシ記事

      新着記事

      特別企画

      転職ノウハウ

      あなたの仕事適性診断

      4つの診断で、自分の適性を見つめなおそう!

      Heroes File ~挑戦者たち~

      働くこと・挑戦し続けることへの思いを綴ったインタビュー

      はじめての転職診断

      あなたにピッタリのアドバイスを読むことができます。

      転職Q&A

      転職に必要な情報が収集できます

      スカウト転職する

      企業からアプローチのメッセージが届きます。

      マイナビニュースマガジン