トップページ⇒tech
733コメント269KB

EJBは終わってる

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
EJBってパフォーマンスでないよな
それとも出る?
EJBに未来はないと思うが
否定派・賛成派共に語ってくれ
0232デフォルトの名無しさんNGNG
>>231
DBだけ考えても人数増えたら、なにかしらのレコードは増えるが?
それでも扱うデータが増えないと言えますか?
3レコード検索と3万レコード検索ではどちらが負荷高い?考えるまでもないだろ。
0233デフォルトの名無しさんNGNG
以外に大規模なシステムでもDBサーバにはCPU負荷はかからない。
フロントエンドに近いサーバほど大忙し。
0234デフォルトの名無しさんNGNG
>>232
「なにかしらレコードが増える」その量が、
利用者数に依存するとは限らない。
0235デフォルトの名無しさんNGNG
>>234
あんた、エンタープライズ開発したことある?
0236デフォルトの名無しさんNGNG
「なにかしらレコードが増える」その量が、
エンタープライズ開発かどうかに依存するとは限らない。
0237デフォルトの名無しさんNGNG
もはやネタ決定。
0238デフォルトの名無しさんNGNG
「エンタープライズ開発だからですよ」
ってかなりヤバいな。
0239デフォルトの名無しさんNGNG
「>>236の発言」その量が、
このスレの発展に依存するとは限らない。
0240デフォルトの名無しさんNGNG
J2EEネタはマジでヤバイって
0241デフォルトの名無しさんNGNG
結論:鯖負荷は設計次第
0242デフォルトの名無しさんNGNG
ちゃんと負荷の想定のところに書いとけよ
「利用者数に比例してなんかしらレコードが増える」って。
なんせエンタープライズだからな。
0243デフォルトの名無しさんNGNG
>>242
意味不明
0244デフォルトの名無しさんNGNG
エンタープライズなんてただの飾りですよ。偉い人にはそれがわからんのです。
0245デフォルトの名無しさんNGNG
今やってるシステムではアプリケーションサーバがかなり負荷高いな。
EJB,CORBA混合の環境。やはり利用者増加にしたがってCPU負荷も大きくなっている。
って、当たり前だが。
0246デフォルトの名無しさんNGNG
今やってるシステムではDBサーバの負荷が高いな。
0247デフォルトの名無しさんNGNG
ていうか、お前らの議論は
x * y * 8 と a * b * 7 どっちが大きい?

と、x, y, a, b が決まっていないのに話しているようなものだな。
0248デフォルトの名無しさんNGNG
>>244
エンタープライズって「企業」って意味。それだけ。
なにが飾りなのかと小一時間。
0249デフォルトの名無しさんNGNG
>>246
その負荷はCPUなのかメモリなのかディスクなのかネットワークなのか。
>>247
まったくそのとおり。
0250デフォルトの名無しさんNGNG
>>247
謎の計算式持ち出すな
0251デフォルトの名無しさんNGNG
ダイアゴン横丁に行きたいのですがどうやったら行けますか?
0252デフォルトの名無しさんNGNG
>>249
CPU負荷です。
0253デフォルトの名無しさんNGNG
>>247
あんた、エンタープライズ開発したことある?
0254デフォルトの名無しさんNGNG
たちの悪い香具師が粘着ぎみだな。
0255デフォルトの名無しさんNGNG
>>248カツタニマジレスカコワルイ
0256デフォルトの名無しさんNGNG
>>253
あんた、エンタープライズ開発したことある?
0257デフォルトの名無しさんNGNG
企業を開発?
0258デフォルトの名無しさんNGNG
企業JAVA豆。
EJB
0259デフォルトの名無しさんNGNG
enterprise
【@】エンタープライズ、エンタプライズ、【変化】《複》enterprises、【大学入試】
【名-1】企業、事業、政府支援企業
【名-2】企て、計画、仕事、活動
【名-3】進取の気性、積極性、冒険心

java
【名】《米・口語》コーヒーbean

bean
【@】ビーン、【変化】《複》beans、
【名-1】豆
【名-2】豆の形に似たもの、頭
【名-3】小銭、つまらないもの
【名-4】基本的な事柄◆【語源】豆はごくありふれた植物であるところから
【他動】《野球》ビーンボールを投げる◆【参照】bean ball / 【用例・名-1】 Every bean has its black. : 《諺》誰でも欠点がある。
0260デフォルトの名無しさんNGNG
何かエンタープライズ日和だな(w

>>248
>エンタープライズって「企業」って意味。それだけ。
>なにが飾りなのかと小一時間。

それだけ ってことはつまり それだけでしかない んだから
やっぱり 飾り なんじゃないの(w

つか、大規模云々以外にもEJBのメリットとかあるんじゃないのかなとは思うけどな
漏れは使う機会がないのだが
0261デフォルトの名無しさんNGNG
>>260
EJB開発実績を作ることをメリットとして強要する会社もあるわけだが。
0262デフォルトの名無しさんNGNG
EJBがWebサービスより優れている点を語ってくれ
0263デフォルトの名無しさんNGNG
>>261なるほど、商売のためか。
企業{で|が}開発だな。
0264デフォルトの名無しさんNGNG
EJBの良書って何かある?
英語わからんので洋書は×
0265まめNGNG
まめ
0266デフォルトの名無しさんNGNG
>262

お前は、EJBもWebサービスも知らないだろ。

車と運転手どちらが優れているか語ってくれ

といっているようなものだな。
0267デフォルトの名無しさんNGNG
>>266
例えが曖昧。
0268デフォルトの名無しさんNGNG
>>267

じゃあ、こうしよう。

メソッド本体と、メソッドの呼び出し側、どちらが優れているか語ってくれ

といっているようなものだな。
0269デフォルトの名無しさんNGNG
>>268
それは明確に優劣が出るだろ。
コアクラスのメソッドに文句言う香具師はそんなに多くない。Javaヲタくらいだ。
殆どの香具師は呼び出す段階で馬鹿やってる。
0270デフォルトの名無しさんNGNG
別に例え話の上手下手なんてどうでも良いよ。

と言いつつ便乗。

電話とFAX、どちらが優れているか語ってくれ。

どう?
0271デフォルトの名無しさんNGNG
いや、一応、EJBとWebサービスに対応させて例えていたつもりだったのだけど....。

車(EJB) <-> 運転手(Webサービス)
メソッド本体(EJB) <-> メソッド呼び出し側(Webサービス)

要は、EJBは実装技術も含んだもの、
Webサービスは極論すれば単に他を呼び出すだけ
ということ。
0272デフォルトの名無しさんNGNG
>>13
EJBが大規模開発に向いている理由を教えてください。おながいします。
0273デフォルトの名無しさんNGNG
>>272
第一にトランザクション制御をしてくれること。
下手なプログラマに任せるよりコンテナで制御したほうが
間違いなくCommit or Rollbackしてくれる。

第二にインスタンスの使いまわし。
キャッシュやプールの仕組みがあるから、たくさんインスタンスができても大丈夫。

第三に分散オブジェクトであること。
サーバー分けた場合の呼び出しが楽。

こんなとこですかな。
0274デフォルトの名無しさんNGNG
>>273
回答ありがとうございます。

私の質問の仕方が悪かったかもしれないですが、
273さんの書いた理由は大規模開発だからの理由にならないと思います。
           ^^^^^^^^^^
JavaBeansで実装した場合に比べて、EJBを使用した場合
クラスタリングやアベイラビリティの面で違いはあるのでしょうか?
0275デフォルトの名無しさんNGNG
273じゃないけど

>>272

通常、大規模開発では、標準化や機能分割が厳密に要求される。
最初は面倒だが、全体では生産性・保守性が上がるため。
EJBは >>273 が書いてるようにトランザクション回りを各アプリでなく、
システム側で行っているため、大規模開発に向いている。

昔で言えばCICS上での開発のようなもの。
小規模開発でも使えるが、かえってめんどいかも。
0276デフォルトの名無しさんNGNG
JavaBeansは単に小さい機能単位のコンポーネント仕様だから、
EJBとはちょっと比較しにくい対象だと思うけど。
EJBはそれ自体がフレームワークだし。
サーバ上にRMIオブジェクトとしてサービスが実装されるわけで、
クライアントからすればネットワークそのものを意識する必要は無い。
0277デフォルトの名無しさんNGNG
確かに、規模が小さめだと面倒なだけかもしれない。
いい勉強にはなるけど。
0278デフォルトの名無しさんNGNG
>274
大規模開発といっても人によっていろいろ定義があると思います。

>JavaBeansで実装した場合に比べて、EJBを使用した場合
>クラスタリングやアベイラビリティの面で違いはあるのでしょうか?
EJBはAPサーバーが対応していればクラスタリングが可能です。
クラスタリングが可能なのはコンテナ上で管理されている
分散オブジェクトであということが理由の一つです。

オブジェクトのプーリングによって無駄なインスタンスの生成が減るので
可用性も向上すると考えていますが、どうでしょうか?

ただ、実装方式が違うので、全く同条件でJavaBeansと比べられるとは
思っていません。
オブジェクトプーリングなどは、Jakarta-commonsでも実現できますし。

EJBを無駄な仕組みだと思って使わないも自由。
提供される仕組みを上手く使おうというのも自由ですね。
既にある技術を上手く使いこなすほうが得策だと思いますが。
少なくとも独自の方式で実現するよりきちんとテストされている、
ベンダー製品の方が信頼性も高いと思います。
0279デフォルトの名無しさんNGNG
>>278
> ベンダー製品の方が信頼性も高いと思います。
そうでもないと思うぜ。ベンダー製品の良いとこなんてサポートくらいだろ。
他に良いとこないってわけじゃないけど。きっちりテストされてる保証はどこにもない。
頻繁に修正モジュール適用する場合だってある。
テストという意味では、不特定多数が関わってるオープンソースの方が信頼できない?
0280デフォルトの名無しさんNGNG
EJBのメリットとして分散オブジェクトがよく挙げられてますが、
実際EJBクライアントとEJBを物理的に別サーバにすることは
あまり考えられないと思っています。

Servlet+JavaBeansではクラスタリングできないのでしょうか?
もしEJBを使わないでもできるとすれば、
EJBのメリットってトランザクション管理をコンテナ任せにするしかないような気がするのですが
いかがなもんでしょうか?
0281デフォルトの名無しさんNGNG
>>280
>Servlet+JavaBeansではクラスタリングできないのでしょうか?
なぜできないと思う?EJB使わないとクラスタリングが不可能なわけ?
もっと根本から理解を深めた方がいい。今のあんたは目先の技術に執着しすぎ。

0282デフォルトの名無しさんNGNG
>>281
結局EJBを使わなくてもクラスタリングできるんですね。
そうすると、EJBをEJBクライアントと同じマシンで動かすという前提だと、
EJBのメリットってトランザクション管理をコンテナに任せるくらいしかないというのが結論になるのでしょうか?
0283デフォルトの名無しさんNGNG
>>282
そうだね。終了。
0284デフォルトの名無しさんNGNG
   このレスを見た人間は十三日以内に死にます。
      ※あなたに訪れる死を回避する方法が一つだけあります。
     それはこのコピペを一時間以内に7つ、別のスレに貼り付ける事です
    /\___/ヽ   ヽ
   /    ::::::::::::::::\ つ
  . |  ,,-‐‐   ‐‐-、 .:::| わ
  |  、_(゜)_,:  _(゜)_, :::|ぁぁ
.   |    ::<      .::|あぁ
   \  /( [三] )ヽ ::/ああ
   /`ー‐--‐‐―´\ぁあ  
0285デフォルトの名無しさんNGNG
>>283
で、そのうちEJBと似たような仕組みを自分たちでもう一回作り直すと。
0286デフォルトの名無しさんNGNG
>>282
結局EJBのメリットって言うのはそんなもんだ。
0287デフォルトの名無しさんNGNG
>279
>テストという意味では、不特定多数が関わってるオープンソースの方が信頼できない?
じゃ、JBOSS使えば良いんじゃない。

>282
だから、インスタンスもコンテナが管理してくれるんだってば。
まぁ、分かってないのなら使わないほうが良いんじゃない?

>283
同感。既にあるものを使えない人たちの悲しい性だよね。
0288デフォルトの名無しさんNGNG
漏れはEJB賛成派だけど、

>>287同感。既にあるものを使えない人たちの悲しい性だよね。

ってのは、どうなのかな。そんなこといったらCOBOLでいいじゃんとか
Cでいいじゃんとかになっちゃう気がする。CORBAとかもね。

既にあろうとなかろうと、メリットがあれば使うし、なければ使われないって
だけじゃないかと思うよ。

漏れがJava使い始めた頃は、それこそ「何でJava?VBでいいじゃん」って
よく言われたもんだし。
0289デフォルトの名無しさんNGNG
JDBCって何?PRO*Cでいいじゃん。
0290デフォルトの名無しさんNGNG
JBossは不特定の大勢が関わってるオープンソースとはいえないと思うが。
0291デフォルトの名無しさんNGNG
Resin使ったほうがいいよ
0292デフォルトの名無しさんNGNG
Resinってサーブレットコンテナ?
Resin+JBoss(tomcat抜き)てな感じの構成になるのか?
0293bloomNGNG
http://homepage.mac.com/ayaya16/
0294デフォルトの名無しさんNGNG
>>288
EJBのどこに賛成してるのかを説明してから、
そういう事をいってください。

0295デフォルトの名無しさんNGNG
そういう説明がうまくできない人ほど、新しいものに飛びつきたがるよね
0296デフォルトの名無しさんNGNG
勉強すればするほど
そんなにEJBっていいのか?
逆にめんどくさくないか?
って思える
0297デフォルトの名無しさんNGNG
>>296
禿同
0298デフォルトの名無しさんNGNG
うまくいえないんだけど
プログラマとかデプロイヤとか
きちんと作業を分担できる環境(人数)で開発するのなら
EJB使ってもいいと思うけど
少ない人数で、しかもプログラマが
アプリケーションサーバ特有のことも
勉強しないといけないような現場では効率落ちると思う

EJBの開発って個々のEJBに対して
使用するDBの知識持ってるやつ
使用するAP鯖の知識持ってるやつ
デプロイヤ
Bean開発者
ってな具合に分けたほうがいい
分散処理目的よりも
そういう仕事を分けやすくするためにEJBがあるんじゃないか?とおもう

だから、開発要員そろってないのに無理にEJB使う
開発グループはおかしい

なんで、一人の開発者がAP鯖、DB固有のことまで
勉強しないといけないんだ?
CMPとか使っても(作業効率的に)結局意味ないんじゃない?
と思うのは当然

0299デフォルトの名無しさんNGNG
EJBはCOBOLをリプレイスするそのときのために
いまから準備しるってかんじだよな。
0300デフォルトの名無しさんNGNG
>>298
EJBで全ての機能使う必要ない。ってどこかに書いてあった。
少人数でロールする場合のやり方も書いてあったような。
0301デフォルトの名無しさんNGNG
>>300
どこに書いてありましたか
書籍でしょうか
0302デフォルトの名無しさんNGNG
>>301
Sunか@ITか。記憶だから信用しないでくれ。
0303デフォルトの名無しさんNGNG
結局この形が美しいと俺は思う
ttp://www.atmarkit.co.jp/fjava/rensai/smartj01/fig1.gif
0304デフォルトの名無しさんNGNG
>>303
2年前くらいに騒がれてたね。シンプルだから俺も綺麗だと思う。
Javaを始めたばかりの人が突然EJBのシステム保守したらどうなることやら・・。
0305デフォルトの名無しさんNGNG
J2EE、各レイヤの役割とかまでは理解が容易だけど実装しようとしたら、ちとキツイ。
漏れ理解力足りないから、理解できたころには陳腐化してるんだろーなー。。。。
0306デフォルトの名無しさんNGNG
>>304
2年前ですか
おれ、昔から今でもこのやり方マンセーで使いまくってますよ
もう古いんでしょうか?トホホ
でも、ほんとに綺麗なのでStrutsを使う意味がわからない
もちろんValidateなどは使うけど
0307デフォルトの名無しさんNGNG
この間、試しにSunのj2eesdkつかったけど
Deploytool使えばDD書かなくていいんだね
マジびっくりしたよ
WeblogicとかWebsphとかもそうなのかな?つかったことないでわからんけど
0308デフォルトの名無しさんNGNG
>>298
本当にそんなこと実際のプロジェクトでできると思ってんの?
0309デフォルトの名無しさんNGNG
>>298
おまえ学生だろ?なあ学生だろ?学生だと言え。
学生の身分で安易な発言してすんまそんでした。と言え。
0310デフォルトの名無しさんNGNG
学生の身分で安易な発言してすんまそんですた。と言いますた。
何かくれ。
0311デフォルトの名無しさんNGNG
>>307
市販のJ2EEアプリケーションサーバではふつう。
0312デフォルトの名無しさんNGNG
>>298
J2EE BluePrints には J2EE開発のロールが色々と挙げられている。
しかし結局、1人くらいしかいない super な開発者がほとんどの面倒を見る状況になってしまう。

1人もいないとそりゃもう悲惨。
0313デフォルトの名無しさんNGNG
BMPとCMPを使い分けている方居ますか?
使い分けている方に質問です。

1.使い分ける基準って言うのはあるのでしょうか?
2.CMPは基本的に1テーブル=1エンティティBeanにしかできないのでしょうか?
0314山崎渉NGNG
     ∧_∧
ピュ.ー (  ^^ ) <これからも僕を応援して下さいね(^^)。
  =〔~∪ ̄ ̄〕
  = ◎――◎                      山崎渉
0315デフォルトの名無しさんNGNG
>>313
1.使い分ける基準って言うのはあるのでしょうか?

CMPでは実現できないEntityBeanを実装する時

2.CMPは基本的に1テーブル=1エンティティBeanにしかできないのでしょうか?

たしか、EJB1.xでは、EntityBeanに「従属オブジェクト」というものを定義する
ことにより、一つのEntityBean内で複数のテーブルを処理できたが、EJB2.0では
仕様から外れた。


0316デフォルトの名無しさんNGNG
>>315
>CMPでは実現できないEntityBeanを実装する時
具体的にはなんですか?

0317デフォルトの名無しさんNGNG
>>316

315じゃないけど。

単純に1つのbeanが1つのテーブルを表していれば良いけど、複数の結合
を表しているオブジェクトを処理する時にはCMPでは難しいので、BMPを
使うとSunのBLUEPRINTSにありましたよ。
0318デフォルトの名無しさんNGNG
deployがわからん
ベンダーごとにばらばら。
統一せんかい
0319デフォルトの名無しさんNGNG
>>318
たしかに
禿同だ

>>313-317
テーブルじゃなくてレコードだろ
ココのスレだったか(?)忘れたが
↑のレスにSUM(*)使いたがってるやついたが
CMPだと面倒だよな
BMPのほうが楽かな
0320デフォルトの名無しさんNGNG
>>317
それはまだCMRがないときの話でしょ。
いまはCMRができたから、それは関係ないよ。
むしろ、BMPの方がめんどくさいくらいなんじゃない?
0321317NGNG
>>319

そのとおり、レコードでした。

>>320

これも半分そのとおりで、EJB2.0がでる前のBLUEPRINTからです。
でも、EJBは持続先として、RDBに限定しているわけではないので、
BMPが必要なくなることも無いと思う。
CMRはRDBに限定されているような気がするのですが、そのあたり
詳しい人いるでしょうか。
0322デフォルトの名無しさんNGNG
> CMRはRDBに限定されているような気がするのですが、そのあたり
> 詳しい人いるでしょうか

仕様上は限定されてないよ。
あくまでパーシスタンスレイヤーはプラガブルという前提にのっとっている。
(現実にはRDB以外のパーシスタンスメカニズムは存在しないと思うが。
OODBベンダーは出してくると思うけど、しばらくは相手にもされないでしょ。)
0323316NGNG
>>315 >>321
知りたいのはRDBを使った時に、
CMPとBMPをどのように使い分けるべきかなのです。

特に>>315さんの言っている
「>CMPでは実現できないEntityBeanを実装する時 」が具体的に何を指しているのかが、
気になります。

CMP2.0が出た今BMPは必要無しですか?

EJB-QLに「Order by」がないといってもAPサーバベンダが独自で実装しているし。
0324デフォルトの名無しさんNGNG
ビューにEntityBeanを対応させれば、CMPでもいいんじゃないの?

Borlandのアプリケーションサーバは、複数テーブルにEntityBeanを対応させられるらしいが。

0325デフォルトの名無しさんNGNG
>>324
結局BMPとCMPの使い分けは好みによるってことですかねぇ。

>>315さんの言っていた
「>CMPでは実現できないEntityBeanを実装する時 」は具体的に何を指していたんだろう・・・

0326デフォルトの名無しさんNGNG
age
0327デフォルトの名無しさんNGNG
>>315さんの言っていた
「>CMPでは実現できないEntityBeanを実装する時 」は具体的に何を指しているのですか?
0328デフォルトの名無しさんNGNG
おまえらEJBやるよりJavaの真髄を押えておいた方がいいよ?
0329デフォルトの名無しさんNGNG
>>328
Javaの真髄?なんのこと?
理由もなく意味のない書込みは止めてください。
「いいよ?」の意味もわからないし。
0330デフォルトの名無しさんNGNG
>>329は「EJBやったことある」と言いたいだけ。Javaなんてこれっぽっちも解っちゃいない。
0331デフォルトの名無しさんNGNG
148 名前: デフォルトの名無しさん 投稿日: 2001/04/19(木) 01:03

リフレクションによるメタプログラミングと、ClassLoaderの使い
こなしは、Javaの真髄の一つだと思うね。

URL指定で動的にクラスローディングできるって凄い楽だとおもう。
例えば、サーバプロセスを動作したままの状態でアップデートでき
たりする。
■ このスレッドは過去ログ倉庫に格納されています