JSFのManagedBeanのうちビューモデル(?)に相当する部分をEntity Bean、
アクションリスナをSession BeanとしてEJB3コンテナで管理。
※JSFのアクションリスナにあたるSession Beanを仮に「SEAMアクション」と呼ぶことにします。
ビューモデルについてはデータベースに永続化しないEntity BeanをEJB3では定義可能
(Seam1.0のサンプルから類推)なようなので、問題ない感じ。
SEAMアクションについてはWEB TierのリスナメソッドでわざわざSession Beanを呼び出す
コードを書く必要が無く、JSFタグリブから直接Session Beanにアクセスするイメージでいける。
SeamはEJB3側でManaged Beanに相当する機能を用意してWeb Tier側でのManaged Bean
の実装をいらなくしている感じ。
AJAXについてはブラウザからXML HTTPRequsetを介してSEAMアクションを呼び出すという
一連の手順を、(X)HTML上では"Seam Remoting"というライブラリを用意してカプセル化し、
SEAMアクションをあたかもJavaScriptのオブジェクト であるかのように扱えるようにしている。
メモメモφ。図がいい感じ。