- PR -

J2EE の制限事項について

投稿者投稿内容
はるな先生
会議室デビュー日: 2002/01/24
投稿数: 8
投稿日時: 2004-10-28 20:19
J2EE の開発初心者です。ご存知の方がお見えでしたら
教えてください。

EJB を作成するときの制限として、
スレッドが使用できない。などがありますが、
ソケット通信を利用できない。というのがあります。
利用できない理由をご存知の方がお見えでしたら
教えてください。
(紹介されている記事、サイトでも結構です。)
また、その他の制限事項についても
理由をご存知であれば、合わせてご教示ください。
よろしくお願いします。
植村
会議室デビュー日: 2004/10/28
投稿数: 11
投稿日時: 2004-10-28 20:35
初耳です。
そのソースはどこにありますか?よかったら教えてください。
はるな先生
会議室デビュー日: 2002/01/24
投稿数: 8
投稿日時: 2004-10-28 20:42
下記のサイトにEJBの制限が記述されています。


http://www.atmarkit.co.jp/fjava/rensai2/objetry04/objetry04.html

「TIPS2 EJBで本当に生産性が上がるのか?」の下辺りです。

ご確認ください。
komey
ベテラン
会議室デビュー日: 2003/11/27
投稿数: 76
投稿日時: 2004-10-28 21:02
EJBのインスタンスはEJBコンテナが管理しているので
サーバソケットにアクセスされたときに
インスタンスが存在しているかどうかは運次第ですよね。

あと、複数スレッドで一つのソケットが使われるのは明らかに問題じゃないですか?

山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2004-10-29 09:17
まず、仕様書を読みましょうよ。
Enterprise JavaBeans Specification, Version 2.0
・Chapter 24
>Runtime environment >24.1 Bean Provider’s responsibilities >24.1.2 Programming restrictions
に書いてあります。理由についてもそこに書いてあります。
http://www.jcp.org/en/jsr/detail?id=19
リスンするのがだめなだけで、接続しに行くのは問題ないです。
EJB はビジネスロジックを実装するレイヤーなのでそこにサービスを受ける窓口を実装するのはちょっと変ですね。
リスンしたいのであれば JCA コネクタとして実装するのが行儀良いです。

> あと、複数スレッドで一つのソケットが使われるのは明らかに問題じゃないですか?
1EJB インスタンスへのメソッドコールはかならず1スレッドで行われていることがコンテナより保証されています。
はるな先生
会議室デビュー日: 2002/01/24
投稿数: 8
投稿日時: 2004-10-29 10:29
みなさま 貴重なご意見ありがとうございます。

インギさまにご連絡頂いたサイトにて仕様を確認しようとしたのですが、
英語で記述されています。
おはずかしい話ですが、私は、英語が得意ではありません。

大変、図々しいお願いなのですが、
以下の点について記述されているのであれば、教えていただけないでしょうか?
ソケットでリスンのみ制限されているのであれば、
データの受け側が禁止されているのでは?と考えます。
データの送り側 Accept については、制限がないのでしょうか?

よろしくお願いいたします。
komey
ベテラン
会議室デビュー日: 2003/11/27
投稿数: 76
投稿日時: 2004-10-29 11:04
引用:

1EJB インスタンスへのメソッドコールはかならず1スレッドで行われていることがコンテナより保証されています。



すみません、言葉足らずでしたが、「ソケット」はSocketインスタンスを意味していたわけではなく、IPアドレスとポートとの組み合わせという一般的な意味でのソケットを意味していました。
なので、1インスタンスに限定するつもりはありませんでした。
混乱させてしまい、申し訳ありません。


山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2004-10-29 12:11
人に聞くのも良いんですが、少しは努力されましたか?
仕様書はそんなに難しい英語でかかれていませんし、どこを読めば良いかまでは指し示したはずです。
「理由についてもそこに書いてあります。 」っていうのは「ヒントは示したので手がかりにちょっと調べてみてくださいね」っていうニュアンスを込めたつもりです。
またexciteなどの機械翻訳などを使ってもある程度雰囲気はつかめると思いますよ。
http://www.excite.co.jp/world/
翻訳結果のペーストは利用規約にある「ユーザーの個人的かつ私的な翻訳作業の省力化」にあたらない気がするので見送りました。興味があればやってみてください。

少なくともプロジェクトに一人は仕様書を読む気になる人がいなければ J2EE ベースの開発は大変困難です。
英語に対する苦手意識は大変理解できますが、高校、中学生程度の英語の知識で十分カバーできるはずです。

実際読んでみてニュアンスがわからないセンテンスがあればそこを示しましょう。

[ メッセージ編集済み 編集者: インギ 編集日時 2004-10-29 12:15 ]

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