- - PR -
Appletとサーバとの通信について
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2004-01-28 13:27
現在、Appletとサーバ内のJavaプログラムとの通信を必要とするシステムを考えています。
Appletは常にスレッドで待受け状態としておき、サーバ側のプログラムから通信を行い、Appletに対してトリガーをかける形でApplet側では動作するというものなのですが、このようにApplet側からサーバに対して行う通信が必要ないという場合、その通信方法として何が最適なのかと悩んでおります。今のところ頭にあるのはソケット通信なのかなと思っているのですが、他に良い方法が御座いましたら、ご享受願えたらと思います。宜しくお願い致します。 [ メッセージ編集済み 編集者: およよ 編集日時 2004-01-28 13:28 ] | ||||
|
投稿日時: 2004-01-28 13:37
unibon です。こんにちわ。
Java Applet はブラウザの上で動いてこそ有意義なものなので、ブラウザの環境によって使えるかどうかが分からないソケット通信などは、できれば使いたくないものです。しかし HTTP のプロトコルはブラウザから request してサーバが response する、というやりとりを基にしているため、サーバが response したらブラウザが request する、という逆の流れにはできません。現在枯れたやりかたはポーリング(polling)しかないと思います。もちろん HTTP 以外のソケット通信なども場合によっては使うのもやむをえないとは思いますが。 ちなみに、ネタ程度の話題ですが、数年前に見かけた製品としては、 http://www.marketviewer.net/hp/index.htm というものがあります。 | ||||
|
投稿日時: 2004-01-28 14:01
RMIやCORBAは、まだ枯れているとはいえませんか?
ソケットの状態を監視するコードの自作をしないで済むので、便利ですよ。 サーバーをEJBにしても良いかと思います。 低レベルではソケットを(勝手に)作成しますので、通信経路にファイア ーウォールがある場合、別途調整が必要です。 ファイアーウォール越えがあって、穴あけが許されないなら、サーバーを Servletにして、HttpURLConnectionを利用してSerializableなオブジェ クトとして作成したValue Objectを投げ合う、という手もあります。 | ||||
|
投稿日時: 2004-01-28 14:37
サーバ側が J2EE 対応の AP サーバであれば、JMS を使うのはいかがでしょうか?
自前でポーリングする手間がなく手軽です。 HTTP トンネリングを使えば Firewall も抜けられますし。 http://edocs.beasys.co.jp/e-docs/wls/docs81/faq/jms.html#252619 Tomcat/Jetty などのサーブレットコンテナであれば、処理結果を返すサーブレットを作って、Applet から定期的にポーリングするのが手軽ですね。 [ メッセージ編集済み 編集者: インギ 編集日時 2004-01-28 14:38 ] | ||||
|
投稿日時: 2004-01-28 16:11
JMS ってアプレットで使えるのでしょうか?
JNDI を使うはずなので、無理なのでは? またライセンスも検討する必要がありますね。 | ||||
|
投稿日時: 2004-01-28 16:17
JMS はアプレットでも使えますよ。
JNDI 自体もアプレットだから使えないという理由はないと思います。 ライセンスについては、例えば WebLogic であればクライアントに対して別途ライセンスは必要ないです。 | ||||
|
投稿日時: 2004-01-28 16:43
確かに JNDI は J2SE でした。
でも・・・クライアント側に LDAP が必要??? 追記:違うな、アプレットがローカルの LDAP にアクセスできたらやばいですね。 [ メッセージ編集済み 編集者: Keisuke 編集日時 2004-01-28 17:02 ] | ||||
|
投稿日時: 2004-01-28 17:19
JNDI 自体は AP サーバで動きますので、コンテクスト作成時にPROVIDER_URL として
"http://host:port" を指定するだけです。"http://〜" のプロバイダ URL であれば勝手にトンネリングしてくれます。(少なくともWebLogic では) クラスについては、たとえば WebLogic であればクライアントに wljmsclient.jar があれば Ok です。 ・[WebLogic JMS シン クライアント] http://edocs.beasys.co.jp/e-docs/wls/docs81/jms/thin_client.html ちょっと話がそれ気味ですので、詳しい情報が必要でしたら別スレッドを立てるか MSN メッセンジャーでお話ししましょう。>Keisuke さん およよさんが JMS を使う方向でいくのならこのまま続けてもいいんですが。 [ メッセージ編集済み 編集者: インギ 編集日時 2004-01-28 17:21 ] | ||||
