- PR -

EJBを使用するメリット・デメリットは?

投稿者投稿内容
t-wata
大ベテラン
会議室デビュー日: 2002/07/12
投稿数: 209
お住まい・勤務地: 東京
投稿日時: 2003-02-03 15:54
引用:

私が開発したときには、DBアクセスがかなり頻繁に起きるシステム(1秒間に10回以上)でしたので、EntityBeanは使わなかったです。


逆な気がしますが。Read-Only(参照だけの場合)か、Read-Mostlyにして、DBアクセスを
減らす方がパフォーマンスが向上しそうですが。以下参考情報
http://www.atmarkit.co.jp/fjava/rensai/j2eeprfm03/j2eeprfm03_5.html
swat
常連さん
会議室デビュー日: 2002/03/21
投稿数: 33
お住まい・勤務地: 埼玉県
投稿日時: 2003-02-04 11:47
引用:

t-wataさんの書き込み (2003-02-03 15:54) より:
逆な気がしますが。Read-Only(参照だけの場合)か、Read-Mostlyにして、DBアクセスを
減らす方がパフォーマンスが向上しそうですが。以下参考情報
http://www.atmarkit.co.jp/fjava/rensai/j2eeprfm03/j2eeprfm03_5.html




swatです。
参照記事読みました。そういうチューニングもあったのですね。

知らなかった・・・ 

同じデータを何度も見に行くようなものであれば、パフォーマンスはあがるのですね。毎回違うデータを見に行くようだと、やはりパフォーマンスは下がるものなんでしょうか。

いずれにしても、私の中では、EntityBeanを使うとパフォーマンスはあがらないと思い込んでいた部分があったので、目からウロコでした。

t-wataさん、ありがとうございます。
_________________
****** swat ******
http://www.h7.dion.ne.jp/~s_wat/
http://d.hatena.ne.jp/swat/
(株)ぽち
ぬし
会議室デビュー日: 2002/09/10
投稿数: 376
投稿日時: 2003-02-04 13:14
皆さんこんにちわ。

いろいろありがとうございます。

最近考えていて、別にEJBを使わなくても
再利用性の高いモノは作れると思うんです。

例えば何かの共通的な処理をコンポーネント
としてjavaクラスライブラリ的に作ってもいいわけですよね。

基盤についてはJ2EEフレームワークを使用して
他ユーザからも触れるようにメンテナンス性も
上げられると思うのです。

一般に大規模向けと言われるEJBですが
これは何を指して大規模向けなんでしょうか?
「性能」?「信頼性」?

僕自身EJBを使わずに行けるのならEJBなしの方向
で行きたいのですが、モヤモヤが取れません。

重要ポイント:「再利用性」
→javaクラスライブラリ的に共通部分のコンポーネント
 作成で実現できる。
 →じゃあなぜEJBっていう技術があるのさ

この問いに自分で答えを見出せません。

適用技術を決定したことのある方は
どのような観点、ポイントでEJBを採用されたのでしょうか?
「最近の流行」「客に言われて」などが多いんでしょうか?
t-wata
大ベテラン
会議室デビュー日: 2002/07/12
投稿数: 209
お住まい・勤務地: 東京
投稿日時: 2003-02-04 13:49
> これは何を指して大規模向けなんでしょうか?
「分散」でしょう。

> 僕自身EJBを使わずに行けるのならEJBなしの方向
> で行きたいのですが、モヤモヤが取れません。
http://www.atmarkit.co.jp/fjava/rensai/smartj03/smartj03_4.html

の最後に、「とりあえずJavaBeanで実装して、必要に応じてEJBにする」
といったくだりがあります。EJB化は後から考えてもよいと思います。

> いずれにしても、私の中では、EntityBeanを使うとパフォーマンスはあがらないと思い込んでいた部分があったので、目からウロコでした。

http://www.atmarkit.co.jp/fjava/rensai/j2eeprfm04/j2eeprfm04_4.html
ここを見ると、むしろSFSBの方がパフォーマンスが悪いみたいですね。
latte
常連さん
会議室デビュー日: 2002/11/07
投稿数: 38
投稿日時: 2003-02-04 14:42
横から失礼します。

確かに、
http://www.atmarkit.co.jp/fjava/rensai/j2eeprfm04/j2eeprfm04_4.html
を見ると、CMP2.0のEntity Beanは結構いいパフォーマンスが出ていますね。
この例ですと、Weblogicを採用していますが、
ほかのApサーバでも、同じような性能が出るのでしょうか。

WebsphereやJrun4。フリーのJBOSSとかもあります。
ほかのApサーバを使用したら、「遅すぎて困る、、、JDBCベースに変更したほうが
いいかなぁ。。。」なんてことが
あったりするんでしょうか?

[ メッセージ編集済み 編集者: latte 編集日時 2003-02-04 14:52 ]
ken
常連さん
会議室デビュー日: 2002/04/29
投稿数: 38
投稿日時: 2003-02-04 15:06
CSIROというオーストラリアの会社による、各社のアプリケーションサーバーの
比較が以下に出ているようです。詳しいリポート内容ももらえるようですね。

http://info.borland.com/csiro/
http://info.borland.com/csiro/survey.html
xyz
会議室デビュー日: 2002/12/26
投稿数: 9
投稿日時: 2003-02-04 16:15
EJBだから再利用できるものが作れる
というものはおかしいです。

アーキテクトの腕が良ければどんな実装技術でも
再利用できるものを作ることができます。

EJBのウリは「トランザクション」であると思っています。
トランザクション処理をEJBコンテナにお任せしたり、
複数の処理をまとめて1個のトランザクションにするような
細かい制御もできます。

トランザクション機能をバリバリ使わなければ
高いし、遅いし、難しいだけのものになってしまいます。
yusuke
会議室デビュー日: 2003/02/05
投稿数: 1
投稿日時: 2003-02-05 13:38
(株)ぽちさんがデメリットとして書かれている面は、あまり気にされることはないと思います。処理性能問題についてはCMP2.0でだいぶましになりました。リソース消費、柔軟性は、ハード投資によって軽減できます。むしろ、あまりチューニングを行わずにEntityBeanを使用するほうがメンテナンス費が安く済むと思っています。
なので、EJBは投資対効果で語るべきかと考えております。(ようやく、デメリットをあまり気にせずに話せるようになってきたというべきかもしれません)
コストは、商用サーバの場合は製品価格とサポート費、フリーの場合は人的資源となります。メリットは、皆様が書かれているとおりです。

あと、(株)ぽちさんは再利用性を注視されているようですが、EJBは標準化されていることが大きなポイントです。使えば必ず再利用性が生まれます。また、ポータビリティ(可搬性)も重要です。ある製品の性能が悪ければ、他の製品にできるし、エンジニアの流用性も生まれます。

ちなみに、私は、コストがかかりすぎるという判断からEJBを案件に使用したことはありません。

スキルアップ/キャリアアップ(JOB@IT)