- PR -

ネットワーク越しに外部ファイルを実行するには

1
投稿者投稿内容
AKI
会議室デビュー日: 2005/07/01
投稿数: 6
投稿日時: 2005-07-01 14:45
お世話になります。
下記内容について、ご助言等ありましたら
よろしくお願い致します。

-内容-

あるPC(A)上のJAVAアプリケーションから、
同LANで接続された別PC(B)上のexeファイルを
PC(B)上での処理として実行したいと考えています。

ただし、PC(B)上にJAVAアプリケーションを設置・起動することは
想定されておらず、従って、JAVAアプリケーション間による通信は行えません。
また、PC(B)上でtelnetサービスは立ち上げられません。

環境は、PC(A)(B)共にWindows2000Serverであり、
ファイル共有等は行える状態にあります。

単純にexeファイルを遠隔で実行し、
その処理の終了を確認することを
PC(A)上のJAVAアプリケーションから一方的にできれば良いのですが、
それを可能とする手法について、なにか情報がありましたら、
よろしくお教え願います。

Javaのバージョンは1.4.2_07です。

以上、よろしくお願い致します。
takashi
ベテラン
会議室デビュー日: 2004/02/12
投稿数: 79
お住まい・勤務地: 東京
投稿日時: 2005-07-01 16:06
AKIさんこんにちは。

私が似たような案件に従事した際は、以下のような方法で行いました。

PC(A)上で動作するプログラム
・RPCクライアントプログラム(C言語)
・それをnativeメソッドで実行するJAVAプログラム

PC(B)上で動作するプログラム
・RPCにて実行されるC言語プログラム

なにかの参考になりますでしょうか?
AKI
会議室デビュー日: 2005/07/01
投稿数: 6
投稿日時: 2005-07-01 17:22
takashiさん、こんにちは。
返信ありがとうございます。

なるほど、やはりCなどの他言語を利用する手法に
なるのですね。
参考になります。

ただ、こちらの都合、
(言語で制約するのは良くないことですが)
JavaとOSの機能のみで実現する方法を模索しています。
JAVAでもRPCはあるようですが、
PC(B)上に、このためだけにAPサーバを導入することはできず、
またアプリケーションのような小さなものであっても
常時起動させておくことは避けたいところです。

引き続き何か情報がありました際はよろしくお願い致します。
おっきー
大ベテラン
会議室デビュー日: 2003/05/01
投稿数: 104
投稿日時: 2005-07-01 17:38
引用:

ただ、こちらの都合、
(言語で制約するのは良くないことですが)
JavaとOSの機能のみで実現する方法を模索しています。



PC(A)からのリクエストを待ち受けるためには、PC(B)に
何らかのサーバー(サービス)はどうしても必要です。

PC(A)は、java でHTTPクライアントを作成、
PC(B) は IIS で CGI を動かすのはいかが?


[ メッセージ編集済み 編集者: おっきー 編集日時 2005-07-01 17:42 ]
未記入
ぬし
会議室デビュー日: 2004/09/17
投稿数: 667
投稿日時: 2005-07-01 19:57
引用:
PC(A)からのリクエストを待ち受けるためには、PC(B)に何らかのサーバー(サービス)はどうしても必要です。



それを分かっていて「OSの機能のみで実現する方法を模索」しているのでしょう。

以前、クライアント側(A) が JNI で Task Scheduler API を使ってリモートコンピュータ(B)にタスクを登録するという方法で、夜間バッチの開始を行わせたことがあります。この方法なら標準で起動しているサービスだけで、リモートコンピュータにジョブが投入できます。タスクを「すぐに実行」「完了したら削除」で構成すると良いと思います。
aa
ぬし
会議室デビュー日: 2004/01/08
投稿数: 299
投稿日時: 2005-07-01 20:42
ウイルスでも作っているのでしょうか?
Javaであろうと無かろうとPC(B)で一切のサービスを起動せずにというのであれば、
フォルダに共有はってやるぐらいのことしかできないと思いますけど。

AKI
会議室デビュー日: 2005/07/01
投稿数: 6
投稿日時: 2005-07-01 23:01
見識が甘く、また、誤解を受けかねない表現で申し訳ありません。
また、ご返信ありがとうございます。

事情としては、月1回程度の処理なので、
常時起動させるほどのものではないという事と、
処理する内容もEXEを実行する程度のものなので、
APサーバなど大掛かりな仕掛けは望まれていないという事から
至っています。
フォルダ共有はできるので、参照はできるのですが、
それをそのまま実行しても、実行の場はPC(B)ではなくPC(A)となってしまうもので…

私も待ち受け役となるサービスあるいはソフトの起動が一般的だとは思うのですが、
標準的なサービスの利用でなにか盲点がないかと思い、たずねさせて頂きました。

> 未記入さん

なるほど、Task Scheduler API ではリモートでタスク登録が可能なんですね。
参考になります。ありがとうございました。
1

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