- PR -

プロジェクトで採用しているデータベースへのアクセス方法(OR Mapping)

投票結果総投票数:138
JDBC 83 60.14%
EJB 19 13.77%
Torque等のオープンソース 15 10.87%
市販のORマッピングツール 0 0.00%
独自で開発したフレームワーク 19 13.77%
その他 2 1.45%
  • 投票は恣意的に行われます。統計的な調査と異なり、投票データの正確性や標本の代表性は保証されません。
  • 投票結果の正当性や公平性について、@ITは一切保証も関与もいたしません。
投稿者投稿内容
Kiriko
常連さん
会議室デビュー日: 2003/09/25
投稿数: 25
投稿日時: 2003-09-25 12:56
今度、初めてJavaによるWebアプリ開発プロジェクトに
参加することになりそうなものです。

そこでJavaを用いたWebアプリケーション開発をしている方に
お聞きしたいことがあります。
データベースへのアクセスはどのように行ってらっしゃるのでしょうか。
オブジェクト・リレーショナルマッピングをどのように解決されているのか
興味があります。

以下のようなものがあるのかと思います。

1.JDBC
仕事でJavaを使ったことはないのですが、
個人的に簡単なWebアプリケーションをプログラミングしたことがあります。
この時、JDBCを使いましたが、
Pro*Cでのプログラミングと同じようなコーディングになってしまい、
これってオブジェクト指向的じゃないんだろうなあと思った記憶があります。
実際のプロジェクトでは、こんなコーディングはしないのでしょうね?

2.EJB
数年前はパフォーマンス、技術者不足、高価なアプリケーションサーバが必要と
いった理由でEJBを使ったプロジェクトは少なかったと聞いたことがあるのですが、
今では主流になりつつあるのでしょうか?
勉強しなければ・・・

3.Torqueなどのオープンソースなコンポーネント
最近雑誌やメーリングリストで、TorqueというORマッピングコンポーネントを
知ったのですが、採用されている方はいらっしゃるのでしょうか。
使ったことがないのでわかりませんが、EJBを採用できない場合は
有効な選択肢なのではと思っています。
日本語の技術情報が少ないのが個人的には辛いですが。。。

4.市販のOR Mappingツール
どのようなものがあるのかは知りませんが、
これを選択されるプロジェクトってほとんどないように予測しています。
いかがでしょうか。

5.独自に開発したORマッピングフレームワーク
EJBがあまり使われなかったころに、独自に作ったORマッピングフレームワークを
現在も採用しているケースって結構あるように想像します。
どのようなフレームワークを採用されているのか興味あります。

と勝手な想像で書いてしまいましたが、
現場の声を聞かせていただけるとうれしいです。
taku
ぬし
会議室デビュー日: 2002/11/12
投稿数: 918
お住まい・勤務地: 墨田区→中野区
投稿日時: 2003-09-25 14:57
引用:

Kirikoさんの書き込み (2003-09-25 12:56) より:
1.JDBC
仕事でJavaを使ったことはないのですが、
個人的に簡単なWebアプリケーションをプログラミングしたことがあります。
この時、JDBCを使いましたが、
Pro*Cでのプログラミングと同じようなコーディングになってしまい、
これってオブジェクト指向的じゃないんだろうなあと思った記憶があります。
実際のプロジェクトでは、こんなコーディングはしないのでしょうね?


 JDBCを使用したらオブジェクト指向的じゃないって・・・。
それはもともとオブジェクト指向を理解されていないのだと思います。

引用:

2.EJB
数年前はパフォーマンス、技術者不足、高価なアプリケーションサーバが必要と
いった理由でEJBを使ったプロジェクトは少なかったと聞いたことがあるのですが、
今では主流になりつつあるのでしょうか?
勉強しなければ・・・


 EJBは今やJBOSSやSun One Applicationサーバー等を使用することによって、
高価なAPサーバーを購入しなくても無料で商用利用できます。
パフォーマンスはEJB1.1のときは確かにパフォーマンスは悪かったのですが、
EJB2.0になってそれも改善されています。
http://www.atmarkit.co.jp/fjava/special/ejb20/ejb20.html
いまや、EJBのネックは技術者不足だけではないでしょうか?

 実際、私がいま携わっているプロジェクトは、
某N社がユーザーさんに「J2EEは不要だと判断しました」と堂々とおっしゃったそうで、
EJBを使用せずにJDBCを使用しています。
Sayo
会議室デビュー日: 2003/09/24
投稿数: 12
お住まい・勤務地: 東京都
投稿日時: 2003-09-25 15:11
そこまで高度でなくていい・・・という理由で
今のところJDBCを採用しています。
今後EJBにする予定だそうですが、予定って・・・
予定である段階で、未定ですよね。
uk
ぬし
会議室デビュー日: 2003/05/20
投稿数: 1155
お住まい・勤務地: 東京都
投稿日時: 2003-09-25 15:26
うーん、投票箱って複数回答可にならないんですね

私はEJBとDAOをシステムによって使い分けています。簡単なバッチやユーティリティなら
JDBC直もありますが。EJBやDAOはIDEによる自動生成か、自社のORマッピングツールを
使って作成しています。

引用:

実際、私がいま携わっているプロジェクトは、
某N社がユーザーさんに「J2EEは不要だと判断しました」と堂々とおっしゃったそうで、
EJBを使用せずにJDBCを使用しています。



これは背景がわからないとN社さんの言い分が間違っているのかどうかなんとも言えない
ですね。それとも「EJB」でなくて「J2EE」と言っているのが突っ込みどころなんでしょうか。
taku
ぬし
会議室デビュー日: 2002/11/12
投稿数: 918
お住まい・勤務地: 墨田区→中野区
投稿日時: 2003-09-25 16:07
引用:

ukさんの書き込み (2003-09-25 15:26) より:
これは背景がわからないとN社さんの言い分が間違っているのかどうかなんとも言えない
ですね。それとも「EJB」でなくて「J2EE」と言っているのが突っ込みどころなんでしょうか。


 実際はJSP、サーブレットで開発をしているので、思いっきりJ2EEです。
本来ならその場にいたのでしたら突っ込みを入れたいところです。
データソース、カスタムタグ等使用したいと言ったらそれすら全て却下でした。
ちなみにN社とはみなさんよくご存知の日本を代表するところだったり・・・。
Kiriko
常連さん
会議室デビュー日: 2003/09/25
投稿数: 25
投稿日時: 2003-09-25 20:08
takuさん
返信ありがとうございます。

引用:

takuさんの書き込み (2003-09-25 14:57) より:
 JDBCを使用したらオブジェクト指向的じゃないって・・・。
それはもともとオブジェクト指向を理解されていないのだと思います。


私のクラス設計、コーディングがオブジェクト指向的ではないのであって、
JDBCを利用したらオブジェクト指向ではないということはない
と思っています。
私がオブジェクト指向を理解していないのは事実ですけどね。^^;
これを改善するための良い書籍、サイトなどご存知でしたら
教えてください。
"DAO"をキーワードにして検索すれば見つかるのかな?

引用:

 EJBは今やJBOSSやSun One Applicationサーバー等を使用することによって、
高価なAPサーバーを購入しなくても無料で商用利用できます。


そうですね。
ただ、実際にこのような無料サーバを利用するシステム(プロジェクト)は
多いのでしょうか。個人的には次のような理由で採用されるのはレアケース
なのではと思っています。
・APサーバに何か問題が発生した場合は採用した人の責任になる。
・事例が少なく、採用するのに不安がある。
・上記のような理由から、採用するには事前の検証が必要であるが、
 様々な理由で多くの時間、人材をかける余裕がない。
・無料のアプリケーションサーバを使用することにお客さんが納得しない。
 お客さんを説得させるのにパワーが必要。
・日本語での技術情報が少ない。
※「プロジェクトで採用しているAPサーバは?」投票箱作ろうかな?^^

引用:

いまや、EJBのネックは技術者不足だけではないでしょうか?


勉強いていきたいと思います。^^;

引用:

EJBを使用せずにJDBCを使用しています。


これはどのような理由で判断されたのでしょうか。
・近い将来、分散化する必要はないと判断したため?
・他プロジェクトへのコンポーネントの再利用化は考えていないので、
 EJBを使う必要はない?
・開発メンバのスキルを考慮すると、JDBCを利用した方が
 安全である?
・お客さんからの要望?
Kiriko
常連さん
会議室デビュー日: 2003/09/25
投稿数: 25
投稿日時: 2003-09-25 20:14
Sayoさん
返信ありがとうございます。

引用:

Sayoさんの書き込み (2003-09-25 15:11) より:
そこまで高度でなくていい・・・という理由で
今のところJDBCを採用しています。


現場の生の声という感じがし、
笑わせていただきました^^
いたずらに高度な技術を採用して、
プロジェクトをリスキーにする必要など
ありませんよね。
taku
ぬし
会議室デビュー日: 2002/11/12
投稿数: 918
お住まい・勤務地: 墨田区→中野区
投稿日時: 2003-09-25 20:24
引用:

私がオブジェクト指向を理解していないのは事実ですけどね。^^;
これを改善するための良い書籍、サイトなどご存知でしたら
教えてください。
"DAO"をキーワードにして検索すれば見つかるのかな?


 やはり代表的なのはGOF本でしょうか。
確かその手のスレッドが立っていたはずなので、そこを覗いてください。
こういっている私も、元々COBOL技術者なので、
それほどオブジェクト指向に詳しいわけではないのですけどね。

引用:

引用:

 EJBは今やJBOSSやSun One Applicationサーバー等を使用することによって、
高価なAPサーバーを購入しなくても無料で商用利用できます。


そうですね。
ただ、実際にこのような無料サーバを利用するシステム(プロジェクト)は
多いのでしょうか。個人的には次のような理由で採用されるのはレアケース
なのではと思っています。
・APサーバに何か問題が発生した場合は採用した人の責任になる。
・事例が少なく、採用するのに不安がある。
・上記のような理由から、採用するには事前の検証が必要であるが、
 様々な理由で多くの時間、人材をかける余裕がない。
・無料のアプリケーションサーバを使用することにお客さんが納得しない。
 お客さんを説得させるのにパワーが必要。
・日本語での技術情報が少ない。
※「プロジェクトで採用しているAPサーバは?」投票箱作ろうかな?^^


 JBOSSが使われているか解りませんが、
Tomcatは結構使用されているようです。
オープンソースはおっしゃるように、
全てを責任持つ必要があるので、
スキルレベルが高いメンバーを集められない限り、
使用するのは危険だと思います。
でも時代の趨勢だと思います。

引用:

引用:

EJBを使用せずにJDBCを使用しています。


これはどのような理由で判断されたのでしょうか。
・近い将来、分散化する必要はないと判断したため?
・他プロジェクトへのコンポーネントの再利用化は考えていないので、
 EJBを使う必要はない?
・開発メンバのスキルを考慮すると、JDBCを利用した方が
 安全である?
・お客さんからの要望?



 スキルですね。
このプロジェクトは元々がVBだけのプロジェクトでして、
WEB部分は後から急に追加されたそうなのです。
なので、大部分はVBしか知らない方がやっているので、
EJBなんてどだい無理なのです。
Javaとして正しいのかさえ怪しかったり・・・。

[ メッセージ編集済み 編集者: taku 編集日時 2003-09-25 20:26 ]

[ メッセージ編集済み 編集者: taku 編集日時 2003-09-25 20:27 ]

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