0

クライアントアプリとサーバーの間にある種のメディエーター (ディスパッチャー/コントローラー) を実装することを探しています。クライアントがメディエータにコマンドを送信 -> メディエータがコマンドを処理 (実行) します。通信のプラットフォームとして WCF を使用しています。メディエーターのインターフェイスを変更せずにクライアントに新しいコマンドを追加する方法 (パターンまたはスマート) はありますか?
メディエーターは、クライアントから隠されている他のいくつかのサービスに対処するとします。クライアントはサーバーにコマンドを送信して、何らかのアクションを実行します。これらのアクションには、さまざまなドメイン サービスとサーバー サイド クラスが含まれます。後で、クライアントに新しいコマンドを追加することにしたとしましょう。その新しい操作はドメイン サービスで実行できますが、メディエーターのインターフェイスを拡張する必要のないドメイン サービスで、リモート マシンでそのアクションをトリガーするにはどうすればよいですか (メディエーターはクライアントとサーバー間の唯一の通信ポイントであるため)。

したがって、一般的に、WEBアプリではなく、WEBアプリで使用されるMVCパターンのコントローラーに代わるものを探しています。

何か案は?ソリューション?

4

1 に答える 1

0

したがって、メッセージ形式を認識せず、適切なバックエンドシステムに渡すだけの透過的なプロキシが必要なようです。つまり、「RPC API」ではなく「メッセージ API」のようなものが必要です。これはさまざまな方法で実現できます。メッセージを XML として渡すことができます。ここで、コマンドのタイプ、コマンドの名前、パラメーターなどを指定できます。メディエーターは、コマンドのタイプに基づいて、コマンドを適切な backed に渡すことができます。システム。そうすれば、新しいコマンド (名前) を追加する場合、バックエンド システムのみを変更する必要があります。新しいコマンド タイプを追加する場合は、メディエータを変更する必要がありますが、新しいコマンドだけではありません。

詳細については、メッセージ API パターンをグーグルで検索できます。たとえば、 http ://www.servicedesignpatterns.com/WebServiceAPIStyles/MessageAPI です。

于 2013-01-06T19:19:06.267 に答える