シナリオ: ユーザーは、ユーザーが指定したタスクを処理するサーバー側エンティティ (サーバー) との永続的な双方向接続を形成するクライアント ソフトウェアにログインします。サーバーサイド エンティティは、ユーザーのタスクの処理中にエラーが発生したり、さらにユーザー入力が必要になったりすると、クライアント ソフトウェアに通知し、クライアントが何をすべきかを決定するまで待機します。クライアント ソフトウェアは、新しいユーザー指定の入力を受け取り、これをサーバー側に送信します。サーバー側は、新しいユーザー指定の入力で最後に停止したところから続行します。このフィードバック サイクルは、処理が完了するまで続きます。段階的に更新されるユーザー入力はすべてサーバー側に保存され、クライアント ソフトウェアからアクセスおよび変更できます。したがって、クライアントが特定の入力を削除すると、その変更はすぐにサーバー側に反映されます。
クライアント側では、ソケットを使用してサーバーに接続していると思われます...
サーバーについては、Jetty や Netty のようにさまざまな Java サーバーがたくさんあるようで、少し迷っています。また、ここで車輪を再発明しようとしないように注意を払っています。
サーバーの構築は正しいアプローチですか? またはオンデマンドで特定のタスクを完了する Web サービスを構築しますか?
また、万能のソリューションを探しているだけでなく (おそらく希望的観測)、私の現在の状況に関するあらゆる洞察を受け入れています。