次の問題に対して、.NET を使用して簡単なソリューションを開発したいと思います。
ローカル ネットワークに複数のコンピューターがあります。
- 2 台のワークステーションにのみインストールされているプログラムを実行する必要がある 10 台のクライアント コンピューター
- 定義されたプログラムを実行するためだけに使用される 2 つのワークステーション
- 前述のすべてのコンピューターから利用可能なサービスをインストールするために使用できるサーバー
クライアント コンピューターがプログラムを実行する必要がある場合、クライアント コンピューターはサーバーに要求を送信し、サーバーは実行可能になったときにワークステーションにジョブを配布し、実行が実行されたときにクライアント コンピューターに通知します。
私は Web とサービスの開発にあまり慣れていないので、それが最善の方法かどうかはわかりませんが、以下は私が考えた可能な解決策です。
- サーバー上の Web サービスは、タスクのリストとそのステータスをキューまたはデータベースに格納します。
- クライアント コンピューターは Web サービスを呼び出してプログラムを実行し、タスク ID を取得します。次に、実行が実行されたかどうかを知るために、タスク ID を使用して毎秒呼び出します。
- 利用可能なワークステーションは、実行するものがあるかどうかを知るために、毎秒 Web サービスを呼び出します。はいの場合、サーバーはタスクを割り当て、ワークステーションは実行が完了すると Web サービスを呼び出します。
これを下の図にまとめました。
より簡単な解決策を考えていますか?