GUIを備えたプログラム ( A.exe ) と、テキストを使って NLP 処理を行うツールバーがあります。そのツールバーには、いくつかの xml タグを追加してテキストを変換する関数 Aがあります。ここの誰か(上司) は、関数 Aを呼び出す Web サービスを作成することを望んでいます。Dynamic Data Exchangeについて教えてくれました(彼は数年前に使用していました)、SendMessageのようなものを見ました。
この Web サービスは、テキストを送信し、結果をxmlとして取得するなど、インターネット経由で誰かによって使用されます。遅すぎるために誰かが WS を呼び出したときに GUI プログラムを開始できませんでした。誰かがこのA.exeを一度起動することを提案し、WS はDDE 呼び出しを送信してこのA.exeを要求します。同時呼び出しの場合にA.exeがどのように反応するかはわかりません。
Web サービスは次のことを行います。
- ディレクトリにテキストファイルを保存する
- A.exeを呼び出す
- A.exeはテキスト ファイルを計算し、xml ファイルを作成します。
- WS は xml ファイルが存在するまでループします
- WS は xml を取得し、それをストリームとして元の呼び出し元に送信します
次の点に注意してください。
- DDE は古く、DDE サーバー対応プログラムが必要なようです。
- 私は Java 開発者であるため、SendMessage は少しあいまいです。
- 名前付きパイプまたは匿名パイプを使用して、提案どおりにその呼び出しを行うことはしませんでした。
ありがとうございました。
PS: サーバー側のプログラムを UI で呼び出す WS を構築するのは異端ですよね。