- PR -

LinuxからWindowsのプログラムを起動

投稿者投稿内容
おっきー
大ベテラン
会議室デビュー日: 2003/05/01
投稿数: 104
投稿日時: 2005-10-11 22:16
kaz さんもおっしゃってますが、
システム全体として何がしたいかが分かれば
もうちょっと具体的にアドバイスしていただけるのでは?
イチタカ
会議室デビュー日: 2005/10/10
投稿数: 7
投稿日時: 2005-10-11 23:03
蛇足です。

Natsume様

Windows側のサーバソフトが別の(VBの)ソフトを動かして、その処理を待つ(同期する)なら、こんな感じかと。

// Windowsサーバ上のソフトと同期
Process proc = Runtime.getRuntime().exec("VBApp.exe " + parameters);
// 外部コマンド終了同期
proc.waitFor();

終了待ちはこのような手法が採れるかと思います。

[ メッセージ編集済み 編集者: イチタカ 編集日時 2005-10-11 23:04 ]
インスパ
大ベテラン
会議室デビュー日: 2002/08/30
投稿数: 125
投稿日時: 2005-10-12 10:11
いろいろ回答ありがとうございます

もう一度やりたいことを整理ますね

・環境
 Red Hat Linux(AS3.0)+Webサーバ
Windows2003サーバ+Webサーバ(IIS)

・やりたいこと
 1.Windows側には既存のプログラム(VBのexe)が存在します
 2.Linux側のWebクライアントから処理を要求
 3.2の要求をLinux側で処理しWindowsにあるVBのexeを実行し
   処理結果をLinux側に戻す

・その他
 Linux、Windows間の通信は暗号化

・開発できる言語
 Linux側はJavaまたはC
 Windows側はjavaでも可能ですができればVBやASPにしたい
 開発する人員の都合でこのような感じです
 ですのでLinux側はJava、Windows側はVBでできれば助かります


イチタカさんが言われているソケット通信ですが、最初それも考えたのですが
ソケット通信に関して知識が無く他の手法を探していました
またLinux、Windows間の通信を暗号化すると言うこともありHTTPSで通信すれば
暗号化の必要も無いのかなと考えております。

私の勝手な考えですが以下のイメージで実現できれば助かります

1.Linux側ではJavaで開発
  HTTPS通信でWindows側に処理を送る
2.Windows側はVBで開発
  HTTPS通信を受け取り既存のexeを実行し処理結果をLinux側に戻す
  処理結果はできれば戻したいレベルですので難しい場合は戻さなくても可です

皆さんにご指導いただきたいこと
・開発言語は前述のものしかできないのでこの範囲内で実現方法を教えていただきたいです
・Linux側(Java)のHTTPSで通信する部分、Windows側(VB)のHTTPSを受け取る部分の
 具体的なコードの例を教えていただきたいです
・HORBなどのツールは利用してもいいのか確認が取れていないのでとりあえずは除外しています

いろいろ勝手なことを申しまして申し訳ございません....
何卒ご指導お願いいたします
おっきー
大ベテラン
会議室デビュー日: 2003/05/01
投稿数: 104
投稿日時: 2005-10-12 16:22
引用:


・Linux側(Java)のHTTPSで通信する部分、Windows側(VB)のHTTPSを受け取る部分の
 具体的なコードの例を教えていただきたいです



Google で検索してみては?
Java では、 java.net.URLConnection を使いますが、
他にも便利なライブラリがあるかも?Jakarta commons あたりに。
コブラ
ぬし
会議室デビュー日: 2003/07/18
投稿数: 1038
お住まい・勤務地: 神奈川
投稿日時: 2005-10-12 16:35
Windows に VNC Server
Linux に VNC Client
todo
ぬし
会議室デビュー日: 2003/07/23
投稿数: 682
投稿日時: 2005-10-12 17:12
引用:

3.2の要求をLinux側で処理しWindowsにあるVBのexeを実行し
   処理結果をLinux側に戻す


VBのEXEは処理結果をどのように出力するのでしょうか?

引用:

・その他
 Linux、Windows間の通信は暗号化


認証は必要ないのでしょうか?

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