>>634 元々EJBに対するアンチテーゼとしてPOJOという言葉が生まれた
ようするに、POJOの反対が旧EJBともいえる。
じゃあ旧EJBがどんなものだったかというと、SessionBeanやEntityBeanを実装し
無意味なメソッドを実装しなくてはならず、Homeオブジェクトなどの余計なクラスが必要となり
定義ファイルも必要になり、かつEJBコンテナ上でしか意図するようには動かないものだった。
新しいEJBはめんどくささがかなり解消されたが、アノテーションがEJBのライブラリに依存すると
「EJBのライブラリがある環境」に依存するという問題点が残ることになる。
それでも、2.1に比べりゃかなりの進歩だけど
つまり、特定ライブラリに依存することを問題視してるんじゃなくて、
EJBやServlet-API等の「特殊な環境でのみ動かすことを前提としているライブラリ」に依存することを問題視している。
元々自分が「@EntityはPOJOと言っても差し支えない」と言ったことに対しての質問への回答だったから
細かな枝葉の話になってしまったことは確かだね。EJB3を頭から否定したいわけじゃない
637 :
632:2005/09/29(木) 09:41:41
>>636 結局アプリケーションは特定環境で動かすわけで、アノテーションがあってもなくても依存するのではないかと。
それでもテスト時にコンテナ外で動かすのはかなりやりやすいはず。
ただ、privateフィールドにインジェクションする場合はどうやってテストするのか疑問だ。
コンテナ依存はいやだな
Servlet・JSPのようにコンテナかえてもちゃんとうごくような標準技術だといい
じゃぁEJB3で・・・ということじゃないの?
DTOとEntityの違いがよく分からないんですが
データベースにアクセスする場合はEntity?DTOでも問題ないような気がする
Entity・・・DBの項目(POJOみたいなもの?)でDB層で使用
DTO・・・Entityに近いけども、どっちかっていったらロジック層で使用
ってな感じですか?
どうもいまいちぴんと来ない
>>639 ビジネスロジック層以下が何層にもなっている複雑・大規模な
アプリケーションだったらそんな感じに近づくのだろうけど、
明確に区別している人は少ないんじゃないかな?
「EntityオブジェクトをDTOとして使う」ぐらいの感覚かな。
641 :
639:2005/10/06(木) 23:34:33
>>640 なるほど
今の現場のDTOを見てる限りだと
各プログラムに特化したようなDTOになってて
尚且つ似たようなSQL文(抽出条件同じで選択する列が違う)をそれぞれ
定義してて、それならEntityでいんじゃないかと思ってネットで違いを調べてたんだけど
だいたい概要は分かりました
weblogicでearをデプロイすると、その中身はどっかで展開されているんですか。
セッションビーンはエンティティビーンを返すのではなくて、
DTOに詰めなおしてからDTOを返すようにしなさい。
というのが、EJB 2.0 までのバッドノウハウ(別名J2EEデザインパターン)。
そうなるとセッションにはPOJOを返すようにしてるな〜
そんな殺生なあ
J2EEっておそろしく覚える事多いような
気がするんだけど、これって基本的には
全般の概念だけを理解して、あとは必要に
応じて調べるスタイルでいいのかね。
具体的な実装レベルまで完全網羅しようと
したら時間がいくらあっても足りないんだが・・・
サーブレット/JSPプログラミングテクニック→Struts1.2
とりあえず2冊が必修で後は好み。
>>646 というか、J2EEに何が含まれるか知るのに一苦労。
>>648 アレもコレも含まれてキリはない。だから、基礎だけカッチリ
押さえたら後は好み。
全部網羅しようとか、最新に追い着かねばとか、余計なこと
考えると一歩も踏み出せない。
今更と思うかもしれないけど、
>>647の手順でやってみ。
> サーブレット/JSPプログラミングテクニック
高くて値段分の価値がない本だと思う。
なんか、リファレンスを羅列してるだけだから、ネットで充分だと思った。
つか、JSP1.2だから、古いよ。
せめてELとJSTLの解説がないと。
もっと安い本の入門書でいいような。
StrutsとEL・JSTLって面倒じゃなかったっけ?
つうか、それじゃあフロントエンドだけじゃねえの
>>651 いや、むしろJSTL/ELがないStrutsのほうが面倒。
いまさらlogicタグとか使ってられんでしょ。
今のStrutsのバージョンじゃStruts-ELを入れないとダメだったかな?
サンプル見た限りじゃ、無理やりな感じがするし
JSFとStrutsが統合?(するか分からないけど)まで待つしかないんじゃない?
StrutsFaceはどうなの?
StrutsFacesはかなり無理矢理。とても使えるシロモノではない。
> JSFとStrutsが統合
次期バージョンのStrutsで実現。
現在はStruts Shaleというコードネームで開発が進んでいる。
中身は、JSF + Commons Chain + Spring + Tiles + Coomons Validaor
newInstance()とかで呼ばれるのではなくて、
普通にnewしてインスタンスを生成しているクラスで、
javaVMが最初にクラスをロードした後に
classファイルをコンパイルして更新しなおすと、
次にnewするときは、更新したクラスが生成されるのでしょうか。
>>654 > 今のStrutsのバージョンじゃStruts-ELを入れないとダメだったかな?
ふつうにいける。
940 名前: デフォルトの名無しさん [sage] 投稿日: 2005/10/12(水) 23:20:09
newInstance()とかで呼ばれるのではなくて、
普通にnewしてインスタンスを生成しているクラスで、
javaVMが最初にクラスをロードした後に
classファイルをコンパイルして更新しなおすと、
次にnewするときは、更新したクラスが生成されるのでしょうか。
941 名前: デフォルトの名無しさん [sage] 投稿日: 2005/10/12(水) 23:42:37
>>940 newInstance() でも new でも一旦ロードされれば同じだろ。厳密にはちゃうけど。
Tomcat とか AP サーバならクラス再ロード検知を有効にしれ。
942 名前: デフォルトの名無しさん [sage] 投稿日: 2005/10/13(木) 00:06:15
>>940 されない。
いったんロードされたクラスオブジェクトからインスタンスが生成されるだけ。
クラスをロードし直さない限り反映されないよ。
660 :
654:2005/10/13(木) 19:34:02
>>657 今日試しにやったらいけますた
Struts-ELって一体・・・Strutsタグ使う必要ないんじゃないかと思った
Tomcat4とかのJSP1.2環境だと必要だけどね。
ear,warはweb.xmlに設定したinitialパラメータで設定情報が取れますが、
xx-ejb.jarではweb.xmlに変わる、全体のパラメータ格納場所みたいなものはあるのでしょうか。
ejb-jar.xml?
EJBコンテナ定義
JNDI
EJB使わない開発で、オブジェクトとRDBの
テーブルのマッピングっておまいらどうしてる?
>>666 その状況の時と、EJBを使った開発の時で別に違いはないのでは?
今月のJavaWorkdにJ2EE5の特集見たけど
なんだかオープンソースの技術がすごいあるけど便利そうになってるね
でもアノテーション理解するのが激しく面倒そう
セッションビーン呼び出しで、RemoteExceptionが発生しますが、
セッションビーン側でのアプリケーションエラー時も
呼び出し元ではRemoteExceptionで帰ってきます。
呼び出し元で、アプリケーションエラーか、リモート呼び出しエラー(ネットワークなど)を
判別することはできるでしょうか。
今は、RemoteExceptionのtoStringの結果で、業務アプリケーションがあるかで判断しています。
> セッションビーン側でのアプリケーションエラー時も
> 呼び出し元ではRemoteExceptionで帰ってきます。
その設計が糞だな。
業務エラーだったら業務例外を投げるように実装しろよ。
getCauseもわすれずにな
>>672 >>673 本当はそうしたいのですが、量が膨大であきらめました。
修正でへんなデグレするのも怖いので。
catchしてから、throw (Exception)e.getCause() で
業務エクセプションを再スローしてます。
struts使用しているので、actionまでリモートのエクセプションを帰したくて。
みなさん、どんなIDE使ってるんですか?
秀丸
Emacs
678 :
デフォルトの名無しさん:2005/11/02(水) 01:52:50
eclipseで充分だろ、アドインあるし
NetBeansで充分だろ。インストールした状態でTomcatまでセットアップされてるし。
NetBeans4.1はTomcatどころかアプリ鯖まで標準で入れること出来るからな
EJBも含めての開発なら便利だろうな
12月あたりに出る次バージョンではJBOSSとかも対応するからかなり便利になりそうだ
>680
電話会社系SI屋に派遣に行ったやつが使ってるとこ見たらしい。
>681
4.1でもアップデートセンターからプラグインおとしたら一応JBoss使えるよ。
683 :
デフォルトの名無しさん:2005/11/06(日) 11:14:21
>>682 おまい電話会社系SIから契約終了食らうかもな。