〜jboss seamとembedded ejb3で見る〜 次世代のjava eeアプ … ·...
TRANSCRIPT
![Page 1: 〜JBoss SeamとEmbedded EJB3で見る〜 次世代のJava EEアプ … · PostBack問題の解決方法 リダイレクトすれば正しいURLの表示になる いわゆるPost-Then-Redirectパターンの導入](https://reader033.vdocument.in/reader033/viewer/2022060505/5f1e7656ea005a314541d8f8/html5/thumbnails/1.jpg)
1
〜 JBoss Seamと Embedded EJB3で見る〜次世代の Java EEアプリケーション開発
株式会社カサレアルプロフェッショナルサービスセンター阿島哲夫岡本充洋
![Page 2: 〜JBoss SeamとEmbedded EJB3で見る〜 次世代のJava EEアプ … · PostBack問題の解決方法 リダイレクトすれば正しいURLの表示になる いわゆるPost-Then-Redirectパターンの導入](https://reader033.vdocument.in/reader033/viewer/2022060505/5f1e7656ea005a314541d8f8/html5/thumbnails/2.jpg)
2
Agenda
JBoss Seamとは
JBoss Seamのコンテキスト管理
JBoss Seamと JSF
JBoss Seamのその他の機能
JBoss Embeded EJB3
まとめ
![Page 3: 〜JBoss SeamとEmbedded EJB3で見る〜 次世代のJava EEアプ … · PostBack問題の解決方法 リダイレクトすれば正しいURLの表示になる いわゆるPost-Then-Redirectパターンの導入](https://reader033.vdocument.in/reader033/viewer/2022060505/5f1e7656ea005a314541d8f8/html5/thumbnails/3.jpg)
3
JBoss Seamとは
![Page 4: 〜JBoss SeamとEmbedded EJB3で見る〜 次世代のJava EEアプ … · PostBack問題の解決方法 リダイレクトすれば正しいURLの表示になる いわゆるPost-Then-Redirectパターンの導入](https://reader033.vdocument.in/reader033/viewer/2022060505/5f1e7656ea005a314541d8f8/html5/thumbnails/4.jpg)
4
JavaEEコンポーネント - JSF
Java EE標準の Webアプリケーションフレームワーク
高機能なアプリケーションを簡単に作成
UIComponent アーキテクチャ
POJO ベースのコンポーネント開発
イベントドリブンなアプリケーションの制御
ステート (Session) 管理
拡張可能で柔軟なアーキテクチャ
Facelets
Ajax4jsf
etc...
![Page 5: 〜JBoss SeamとEmbedded EJB3で見る〜 次世代のJava EEアプ … · PostBack問題の解決方法 リダイレクトすれば正しいURLの表示になる いわゆるPost-Then-Redirectパターンの導入](https://reader033.vdocument.in/reader033/viewer/2022060505/5f1e7656ea005a314541d8f8/html5/thumbnails/5.jpg)
5
JavaEEコンポーネント - EJB3
EJB(Enterprise JavaBeans)3.0
分散オブジェクト仕様
POJO+アノテーションによる開発
アノテーションによる DIJPA (Java Persistence API) による O/R マッピング
エンタープライズシステムに必要な様々な機能を持つ
分散トランザクション・トランザクション制御
リモート呼び出し
セキュリティ
ステート管理
![Page 6: 〜JBoss SeamとEmbedded EJB3で見る〜 次世代のJava EEアプ … · PostBack問題の解決方法 リダイレクトすれば正しいURLの表示になる いわゆるPost-Then-Redirectパターンの導入](https://reader033.vdocument.in/reader033/viewer/2022060505/5f1e7656ea005a314541d8f8/html5/thumbnails/6.jpg)
6
JSFと EJBを連携させた場合の問題
Managed Beanと Stateful Session Bean
HTTPSessionによるセッション管理とStateful Session Bean によるステートの2重管理
View(JSFページ )からは常に ManagedBean経由で EJBにアクセスする必要がある
開発者はManagedBean を作成し、設定ファイルを書かなければならない
JSFページ ManagedBean Session Bean
![Page 7: 〜JBoss SeamとEmbedded EJB3で見る〜 次世代のJava EEアプ … · PostBack問題の解決方法 リダイレクトすれば正しいURLの表示になる いわゆるPost-Then-Redirectパターンの導入](https://reader033.vdocument.in/reader033/viewer/2022060505/5f1e7656ea005a314541d8f8/html5/thumbnails/7.jpg)
7
JBoss Seamとは
JavaEEアプリケーションの Web層と EJB層を「縫い合わせる」フレームワーク
「 Seam 」は「縫い目」という意味
JSF とEJB3 のコンポーネント、ステート管理を統合する
OSS( LGPLライセンス)
自由に利用可能
JBoss(Red Hat)の Gavin King氏が開発
Hibernate の作者でもある
![Page 8: 〜JBoss SeamとEmbedded EJB3で見る〜 次世代のJava EEアプ … · PostBack問題の解決方法 リダイレクトすれば正しいURLの表示になる いわゆるPost-Then-Redirectパターンの導入](https://reader033.vdocument.in/reader033/viewer/2022060505/5f1e7656ea005a314541d8f8/html5/thumbnails/8.jpg)
8
JBoss Seamの特徴
Seamコンテキストによるステート管理
EJB 層で独自のステート管理を行う
ステートの管理に HTTPSession を使わない
HTTPSessionに縛られない豊富なスコープ
アノテーションによるアプリケーションの設定
DI+αを利用したコンテキスト操作
Injection・ Outjection ・ Bijection
![Page 9: 〜JBoss SeamとEmbedded EJB3で見る〜 次世代のJava EEアプ … · PostBack問題の解決方法 リダイレクトすれば正しいURLの表示になる いわゆるPost-Then-Redirectパターンの導入](https://reader033.vdocument.in/reader033/viewer/2022060505/5f1e7656ea005a314541d8f8/html5/thumbnails/9.jpg)
9
JBoss Seamで Viewと Modelをつなぐ
JBossSeamが管理する EJBコンポーネントに @Nameで一意な名前を付ける
JSFページからはこの名前で ManagedBeanと同様にアクセスできる
ManagedBean不要!
@Entity@Name("user")@Scope(SESSION)public class User implements Serializable{
<h:inputText id="username" value="#{user.username}" />
![Page 10: 〜JBoss SeamとEmbedded EJB3で見る〜 次世代のJava EEアプ … · PostBack問題の解決方法 リダイレクトすれば正しいURLの表示になる いわゆるPost-Then-Redirectパターンの導入](https://reader033.vdocument.in/reader033/viewer/2022060505/5f1e7656ea005a314541d8f8/html5/thumbnails/10.jpg)
10
JBoss Seamのコンテキスト管理
![Page 11: 〜JBoss SeamとEmbedded EJB3で見る〜 次世代のJava EEアプ … · PostBack問題の解決方法 リダイレクトすれば正しいURLの表示になる いわゆるPost-Then-Redirectパターンの導入](https://reader033.vdocument.in/reader033/viewer/2022060505/5f1e7656ea005a314541d8f8/html5/thumbnails/11.jpg)
11
HTTP Sessionの限界
Sessionスコープの問題点
複数ウィンドウの同時立ち上げ
ウィザードなどの複数リクエストにまたがるスコープ
Session コンテキストへのバインド・アンバインドをアプリケーションで管理
戻るボタン対策
Conversationスコープで解決
![Page 12: 〜JBoss SeamとEmbedded EJB3で見る〜 次世代のJava EEアプ … · PostBack問題の解決方法 リダイレクトすれば正しいURLの表示になる いわゆるPost-Then-Redirectパターンの導入](https://reader033.vdocument.in/reader033/viewer/2022060505/5f1e7656ea005a314541d8f8/html5/thumbnails/12.jpg)
12
Conversationスコープ
Seamコンテキストで管理されるスコープの一つ
Stateful Session Bean を利用
複数の画面遷移(ページフロー)に対応
二度押し、戻るボタン、複数ウィンドウにも対応
スコープの開始・終了はアノテーションで設定
コンテキストへのバインド・アンバインドをアノテーションで設定できる
入力ウィザード等に適用可
![Page 13: 〜JBoss SeamとEmbedded EJB3で見る〜 次世代のJava EEアプ … · PostBack問題の解決方法 リダイレクトすれば正しいURLの表示になる いわゆるPost-Then-Redirectパターンの導入](https://reader033.vdocument.in/reader033/viewer/2022060505/5f1e7656ea005a314541d8f8/html5/thumbnails/13.jpg)
13
Conversationスコープ
ページ ページ ページ
Faces Context/Seam Context
Conversation スコープ
@Begin @End
<<Bean>>@Scope(ScopeTypeCONVERSATION)
![Page 14: 〜JBoss SeamとEmbedded EJB3で見る〜 次世代のJava EEアプ … · PostBack問題の解決方法 リダイレクトすれば正しいURLの表示になる いわゆるPost-Then-Redirectパターンの導入](https://reader033.vdocument.in/reader033/viewer/2022060505/5f1e7656ea005a314541d8f8/html5/thumbnails/14.jpg)
14
その他の JBoss Seamのスコープ
Stateless - 状態を持たない
Event - Servletの requestスコープ + α
Page - JSPの pageスコープと同等
Conversation - 対話状態を保持
Session - Servletの sessionスコープと同等
BusinessProcess - ビジネスプロセスが有効 な間
Application - Servletの application スコープと同等
![Page 15: 〜JBoss SeamとEmbedded EJB3で見る〜 次世代のJava EEアプ … · PostBack問題の解決方法 リダイレクトすれば正しいURLの表示になる いわゆるPost-Then-Redirectパターンの導入](https://reader033.vdocument.in/reader033/viewer/2022060505/5f1e7656ea005a314541d8f8/html5/thumbnails/15.jpg)
15
Statelessスコープ
状態を全く保持しないスコープ
EJBの Stateless Session Beanと同等
Faces Context/Seam Context
ページ
ページ
ページ
<<Bean>>@Scope(ScopeTypeSTATELESS)
![Page 16: 〜JBoss SeamとEmbedded EJB3で見る〜 次世代のJava EEアプ … · PostBack問題の解決方法 リダイレクトすれば正しいURLの表示になる いわゆるPost-Then-Redirectパターンの導入](https://reader033.vdocument.in/reader033/viewer/2022060505/5f1e7656ea005a314541d8f8/html5/thumbnails/16.jpg)
16
Eventスコープ
JSFのライフサイクルイベントの間(一回の画面遷移の間)のみ有効なスコープ
画面遷移にリダイレクトが使われても OK
Servlet API の request スコープとここが違う
SeamRedirectFilterが必要
FacesContext/Seam Context
リクエスト
レスポンス
<<Bean>>
@Scope(ScopeType.EVENT)
![Page 17: 〜JBoss SeamとEmbedded EJB3で見る〜 次世代のJava EEアプ … · PostBack問題の解決方法 リダイレクトすれば正しいURLの表示になる いわゆるPost-Then-Redirectパターンの導入](https://reader033.vdocument.in/reader033/viewer/2022060505/5f1e7656ea005a314541d8f8/html5/thumbnails/17.jpg)
17
Faces Context/Seam Context
BusinessProcessスコープ
ビジネスプロセス実行中は有効なスコープ
JBoss jBPM等と連携
承認ワークフロー等に適用
申請 承認 決済 確認
@StartTask @EndTask<<Bean>>
@SCOPE(ScopeType.BUSINESS_PROCESS)
BusinessProcessスコープ
![Page 18: 〜JBoss SeamとEmbedded EJB3で見る〜 次世代のJava EEアプ … · PostBack問題の解決方法 リダイレクトすれば正しいURLの表示になる いわゆるPost-Then-Redirectパターンの導入](https://reader033.vdocument.in/reader033/viewer/2022060505/5f1e7656ea005a314541d8f8/html5/thumbnails/18.jpg)
18
Injection・ Outjection・ Bijection
アノテーションによる DI
DI(Dependency Injection)とは依存( Dependency)オブジェクトをコンポーネント外部から設定( Injection )する仕組
JBoss Seamでは各スコープにごとにオブジェクトを管理する
![Page 19: 〜JBoss SeamとEmbedded EJB3で見る〜 次世代のJava EEアプ … · PostBack問題の解決方法 リダイレクトすれば正しいURLの表示になる いわゆるPost-Then-Redirectパターンの導入](https://reader033.vdocument.in/reader033/viewer/2022060505/5f1e7656ea005a314541d8f8/html5/thumbnails/19.jpg)
19
@Inアノテーション( Injection)
フレームワークからオブジェクトを取得し、フィールドにセットする
Seamコンテキストが管理するオブジェクトが取得され、フィールドにセットされる
@Stateful@Name("bookingList")public class BookingListAction implements BookingList, Serializable { @In private User user; ・・・・
UserWelcomeBean
@In private User
Seamコンテキスト
![Page 20: 〜JBoss SeamとEmbedded EJB3で見る〜 次世代のJava EEアプ … · PostBack問題の解決方法 リダイレクトすれば正しいURLの表示になる いわゆるPost-Then-Redirectパターンの導入](https://reader033.vdocument.in/reader033/viewer/2022060505/5f1e7656ea005a314541d8f8/html5/thumbnails/20.jpg)
20
@Outアノテーション( Outjection)
オブジェクトを Seamコンテキストに登録する
@Stateful@Scope(EVENT)@Name("changePassword")public class ChangePasswordAction implements ChangePassword{ @In @Out private User user; ・・・・
UserWelcomeBean
@Out private User
Seamコンテキスト
![Page 21: 〜JBoss SeamとEmbedded EJB3で見る〜 次世代のJava EEアプ … · PostBack問題の解決方法 リダイレクトすれば正しいURLの表示になる いわゆるPost-Then-Redirectパターンの導入](https://reader033.vdocument.in/reader033/viewer/2022060505/5f1e7656ea005a314541d8f8/html5/thumbnails/21.jpg)
21
Injection + Outjection = Bijection
@Inと @Outを併記する
メソッド実行前に @Inでオブジェクトを取得
多くの DIコンテナとは違い、毎回のメソッド実行時に Injectが行われるメソッド実行後に @Outでオブジェクトを任意のスコープへセット
public class ChangePasswordAction implements ChangePassword{ @In @Out private User user; ・・・・
![Page 22: 〜JBoss SeamとEmbedded EJB3で見る〜 次世代のJava EEアプ … · PostBack問題の解決方法 リダイレクトすれば正しいURLの表示になる いわゆるPost-Then-Redirectパターンの導入](https://reader033.vdocument.in/reader033/viewer/2022060505/5f1e7656ea005a314541d8f8/html5/thumbnails/22.jpg)
22
JBoss Seamと JSF
![Page 23: 〜JBoss SeamとEmbedded EJB3で見る〜 次世代のJava EEアプ … · PostBack問題の解決方法 リダイレクトすれば正しいURLの表示になる いわゆるPost-Then-Redirectパターンの導入](https://reader033.vdocument.in/reader033/viewer/2022060505/5f1e7656ea005a314541d8f8/html5/thumbnails/23.jpg)
23
JSFの問題点
JSFの UIコンポーネントアーキテクチャ自体は良い
POJOベース、イベントドリブン、 EoD
だが容認し難い問題点がある
第 1位 URLが遅れる (Postback)
第2位 GET Methodのパラメータは取得不可
第3位 戻るページ対策、二度押し対策の不備
JBoss Seamの機能で解決
![Page 24: 〜JBoss SeamとEmbedded EJB3で見る〜 次世代のJava EEアプ … · PostBack問題の解決方法 リダイレクトすれば正しいURLの表示になる いわゆるPost-Then-Redirectパターンの導入](https://reader033.vdocument.in/reader033/viewer/2022060505/5f1e7656ea005a314541d8f8/html5/thumbnails/24.jpg)
24
戻るボタン、二度押し対策
JSFでは、戻るボタン対策や、二度押し対策のための仕組みが無い
TransactionToken等を自作する必要がある
JSF が流行らない原因第3位
JBoss Seamでは・・・
Conversasion スコープで自動的に対策される
conversation ID と言う一意な ID でステートを管理しているためTransactionTokenの役割も果たす
![Page 25: 〜JBoss SeamとEmbedded EJB3で見る〜 次世代のJava EEアプ … · PostBack問題の解決方法 リダイレクトすれば正しいURLの表示になる いわゆるPost-Then-Redirectパターンの導入](https://reader033.vdocument.in/reader033/viewer/2022060505/5f1e7656ea005a314541d8f8/html5/thumbnails/25.jpg)
25
JSFのリクエスト Method問題
JSFでは、 GET Methodのリクエストパラメータを取得出来ない
GETが使えないと・・・
外部サイトからのパラメータ付きリンク不可
バナー広告など
フォームの入力値によって動的に結果が変わるページのブックマークが不可
検索結果ページなど
JSFが流行らない原因第2位
![Page 26: 〜JBoss SeamとEmbedded EJB3で見る〜 次世代のJava EEアプ … · PostBack問題の解決方法 リダイレクトすれば正しいURLの表示になる いわゆるPost-Then-Redirectパターンの導入](https://reader033.vdocument.in/reader033/viewer/2022060505/5f1e7656ea005a314541d8f8/html5/thumbnails/26.jpg)
26
@RequestParameter
JBoss Seamでは・・・
@RequestParameterアノテーションでリクエストパラメータの取得が可能
Page アクションや@unwrapなどの技術と組み合わせれば、 GET リクエストで任意の処理が可能
Pageアクション
ページへのリクエスト時に動作するアクション
JSF のレンダリングより前に動作
@unwrapアノテーション
インジェクトしたいインスタンスを Getterを利用して生成する
![Page 27: 〜JBoss SeamとEmbedded EJB3で見る〜 次世代のJava EEアプ … · PostBack問題の解決方法 リダイレクトすれば正しいURLの表示になる いわゆるPost-Then-Redirectパターンの導入](https://reader033.vdocument.in/reader033/viewer/2022060505/5f1e7656ea005a314541d8f8/html5/thumbnails/27.jpg)
27
JSFの Postback問題
JSFでは Postback呼ばれる技術を利用
描画元のURL に対してデータを送信
↓
(体感的に )URLが 1テンポ遅れるブックマークの問題
そもそも気味が悪い
大問題
JSF が流行らない原因第1位
![Page 28: 〜JBoss SeamとEmbedded EJB3で見る〜 次世代のJava EEアプ … · PostBack問題の解決方法 リダイレクトすれば正しいURLの表示になる いわゆるPost-Then-Redirectパターンの導入](https://reader033.vdocument.in/reader033/viewer/2022060505/5f1e7656ea005a314541d8f8/html5/thumbnails/28.jpg)
28
PostBack問題の解決方法
リダイレクトすれば正しい URLの表示になる
いわゆるPost-Then-Redirectパターンの導入
普通に Post-Then-RedirectをするとRequestスコープのデータは表示できない(Redirect時のレスポンスで破棄される )
JBoss Seamでは・・・
リダイレクト後までRequest(Eevnt)スコープの値を保持する仕組みを提供
SeamRedirectFilter
![Page 29: 〜JBoss SeamとEmbedded EJB3で見る〜 次世代のJava EEアプ … · PostBack問題の解決方法 リダイレクトすれば正しいURLの表示になる いわゆるPost-Then-Redirectパターンの導入](https://reader033.vdocument.in/reader033/viewer/2022060505/5f1e7656ea005a314541d8f8/html5/thumbnails/29.jpg)
29
App Server
SeamRidirectFilter
Eventスコープが、リダイレクトの後まで有効になる
JSF の PostBack問題を解決
②Response/③Redirect
①Request
④Response
FacesContext/Seam Context
<<Bean>>@Scope(EVENT)
SeamRedirectFilter
Redirect後の VIew生成までスコープが有効になる
http://www.xxx.co.jp
Webブラウザ
![Page 30: 〜JBoss SeamとEmbedded EJB3で見る〜 次世代のJava EEアプ … · PostBack問題の解決方法 リダイレクトすれば正しいURLの表示になる いわゆるPost-Then-Redirectパターンの導入](https://reader033.vdocument.in/reader033/viewer/2022060505/5f1e7656ea005a314541d8f8/html5/thumbnails/30.jpg)
30
JBoss Seamのその他の機能
![Page 31: 〜JBoss SeamとEmbedded EJB3で見る〜 次世代のJava EEアプ … · PostBack問題の解決方法 リダイレクトすれば正しいURLの表示になる いわゆるPost-Then-Redirectパターンの導入](https://reader033.vdocument.in/reader033/viewer/2022060505/5f1e7656ea005a314541d8f8/html5/thumbnails/31.jpg)
31
Seam Remoting
JBoss Seamコンポーネントをリモートのクライアントから直接呼び出せる
EJB を JavaScriptで呼び出せる
要するにAjax
JavaScriptから EJBを呼び出せる
JMSメッセージを JavaScriptでサブスクライブも可能
ポーリングのサポート
![Page 32: 〜JBoss SeamとEmbedded EJB3で見る〜 次世代のJava EEアプ … · PostBack問題の解決方法 リダイレクトすれば正しいURLの表示になる いわゆるPost-Then-Redirectパターンの導入](https://reader033.vdocument.in/reader033/viewer/2022060505/5f1e7656ea005a314541d8f8/html5/thumbnails/32.jpg)
32
JBoss Rulesや jBPMとの連携
JBoss Rules
ルールエンジン
デシジョンテーブルから定義読み込みが可能
jBPM
BPM エンジン
jPDL というプロセス記述言語で業務プロセスを記述
JBoss Seamでは、ルールエンジンや BPMエンジンとも連携可能
![Page 33: 〜JBoss SeamとEmbedded EJB3で見る〜 次世代のJava EEアプ … · PostBack問題の解決方法 リダイレクトすれば正しいURLの表示になる いわゆるPost-Then-Redirectパターンの導入](https://reader033.vdocument.in/reader033/viewer/2022060505/5f1e7656ea005a314541d8f8/html5/thumbnails/33.jpg)
33
更に JBoss Seamの持つ機能
国際化サポート
ロギング
インターセプタ
イベント
メッセージング (JMS - MDB)
ワークスペース管理
とにかく非常に多くの機能を持つ
![Page 34: 〜JBoss SeamとEmbedded EJB3で見る〜 次世代のJava EEアプ … · PostBack問題の解決方法 リダイレクトすれば正しいURLの表示になる いわゆるPost-Then-Redirectパターンの導入](https://reader033.vdocument.in/reader033/viewer/2022060505/5f1e7656ea005a314541d8f8/html5/thumbnails/34.jpg)
34
Tomcatで EJB3~ JBoss Embedded EJB3 ~
![Page 35: 〜JBoss SeamとEmbedded EJB3で見る〜 次世代のJava EEアプ … · PostBack問題の解決方法 リダイレクトすれば正しいURLの表示になる いわゆるPost-Then-Redirectパターンの導入](https://reader033.vdocument.in/reader033/viewer/2022060505/5f1e7656ea005a314541d8f8/html5/thumbnails/35.jpg)
35
Embedded EJB3とは
組込み EJB3コンテナ
DI コンテナベースでEJB の機能を実現
オープンソースライセンス( LGPL)
EJB3,Local JNDI,Transaction,Security,JMS
JBossAS の機能がDI コンテナに凝縮
Tomcat上で EJBを動作させることも可能
JBoss5のコアとなる技術
![Page 36: 〜JBoss SeamとEmbedded EJB3で見る〜 次世代のJava EEアプ … · PostBack問題の解決方法 リダイレクトすれば正しいURLの表示になる いわゆるPost-Then-Redirectパターンの導入](https://reader033.vdocument.in/reader033/viewer/2022060505/5f1e7656ea005a314541d8f8/html5/thumbnails/36.jpg)
36
EJBアプリケーション開発の問題点
EJBコンテナが重い
デプロイが面倒
製品依存の設定・実装が多い
アプリケーションのポータビリティ低下
OSS 開発ツールの対応が充実しにくい
![Page 37: 〜JBoss SeamとEmbedded EJB3で見る〜 次世代のJava EEアプ … · PostBack問題の解決方法 リダイレクトすれば正しいURLの表示になる いわゆるPost-Then-Redirectパターンの導入](https://reader033.vdocument.in/reader033/viewer/2022060505/5f1e7656ea005a314541d8f8/html5/thumbnails/37.jpg)
37
EJBコンテナが重い
EJBコンテナを含んだ、 JavaEEフル対応のアプリケーションサーバ
メモリやCPU等のリソース消費が大きい
開発効率の低下
![Page 38: 〜JBoss SeamとEmbedded EJB3で見る〜 次世代のJava EEアプ … · PostBack問題の解決方法 リダイレクトすれば正しいURLの表示になる いわゆるPost-Then-Redirectパターンの導入](https://reader033.vdocument.in/reader033/viewer/2022060505/5f1e7656ea005a314541d8f8/html5/thumbnails/38.jpg)
38
デプロイが面倒
EJBモジュール、 Webモジュール、EARモジュールを作成
各モジュールの DDを記述
各モジュールを組み合わせてアーカイブ
開発効率の低下開発の複雑化
![Page 39: 〜JBoss SeamとEmbedded EJB3で見る〜 次世代のJava EEアプ … · PostBack問題の解決方法 リダイレクトすれば正しいURLの表示になる いわゆるPost-Then-Redirectパターンの導入](https://reader033.vdocument.in/reader033/viewer/2022060505/5f1e7656ea005a314541d8f8/html5/thumbnails/39.jpg)
39
製品依存の実装・設定が多い
多くの場合、標準仕様の DDの他に製品依存のDDが必要
デプロイ手順は製品依存
場合によっては製品依存の APIやアノテーションを利用しなくてはならない
アプリケーションのポータビリティ低下OSS開発ツールの対応が充実しにくい
![Page 40: 〜JBoss SeamとEmbedded EJB3で見る〜 次世代のJava EEアプ … · PostBack問題の解決方法 リダイレクトすれば正しいURLの表示になる いわゆるPost-Then-Redirectパターンの導入](https://reader033.vdocument.in/reader033/viewer/2022060505/5f1e7656ea005a314541d8f8/html5/thumbnails/40.jpg)
40
Embedded EJB3を使うと
EJBコンテナレスで EJBアプリケーション
WebアプリケーションにライブラリとしてEJBコンテナを組み込む
Servletコンテナのみで OK
WAR ファイルのみのシンプルデプロイ
アプリケーションが製品依存しない
![Page 41: 〜JBoss SeamとEmbedded EJB3で見る〜 次世代のJava EEアプ … · PostBack問題の解決方法 リダイレクトすれば正しいURLの表示になる いわゆるPost-Then-Redirectパターンの導入](https://reader033.vdocument.in/reader033/viewer/2022060505/5f1e7656ea005a314541d8f8/html5/thumbnails/41.jpg)
41
Embedded EJB3 + JBoss Seam
Tomcatで EJB & JBoss Seam
Jettyで EJB & JBoss Seam
WebサービスやGlobal JNDI、分散トランザクション、クラスタリングまでサポートする予定
JBossAS 自体が DI コンテナに
![Page 42: 〜JBoss SeamとEmbedded EJB3で見る〜 次世代のJava EEアプ … · PostBack問題の解決方法 リダイレクトすれば正しいURLの表示になる いわゆるPost-Then-Redirectパターンの導入](https://reader033.vdocument.in/reader033/viewer/2022060505/5f1e7656ea005a314541d8f8/html5/thumbnails/42.jpg)
42
まとめ
JBoss Seamの特徴
JavaEE ベースで EoD を実現
リッチなステート管理
JSF の欠点を克服
EJB を JMS を Ajaxで呼び出し可能
JBoss Rulesや jBpmとの連携
他にも様々な機能
Embedded EJB3
組込み EJB
次世代 JBossのコアとなる技術
![Page 43: 〜JBoss SeamとEmbedded EJB3で見る〜 次世代のJava EEアプ … · PostBack問題の解決方法 リダイレクトすれば正しいURLの表示になる いわゆるPost-Then-Redirectパターンの導入](https://reader033.vdocument.in/reader033/viewer/2022060505/5f1e7656ea005a314541d8f8/html5/thumbnails/43.jpg)
43
JBoss Seamの今後
JBoss Seam1.1が開発中
Generator(Seam-gen) が実装される
Ruby on Railsを意識?
例外ハンドリング機能
etc...
JSR-299 WebBeansとして Java標準となる予定
今から押さえておけば、 2008年も安心
![Page 44: 〜JBoss SeamとEmbedded EJB3で見る〜 次世代のJava EEアプ … · PostBack問題の解決方法 リダイレクトすれば正しいURLの表示になる いわゆるPost-Then-Redirectパターンの導入](https://reader033.vdocument.in/reader033/viewer/2022060505/5f1e7656ea005a314541d8f8/html5/thumbnails/44.jpg)
44
ご静聴ありがとうございました。