2013-03-08 4 views
5

新しいソフトウェアアプリケーションを以下のように実装する予定です。WCFアーキテクチャのヘルプ

このアーキテクチャは目的に適していますか?注意する

アイテム:

  • それは定期的に データベースにデータをアップロードする必要があるとして、多くのPCの
  • pcはWCFクライアントを持っているがあります。ターミナルサーバー上のエンドユーザーは、彼らがリモートで質問するために、特定のPCに を接続できるようにターミナルサーバーがユーザーのためのGUIで情報
  • にpcを問い合わせることができるように を必要とするため
  • PCサーバを持っています私たちは他に何を検討している?

の下basicHttpBindingを使用している情報

  • 用のPC

    • は、私たちは、WCF NetPeerTcpBinding(すなわちP2P)を試してみましたが、それは 要求 - 応答操作をサポートしていません。

    • 私たちはWCF Duplexを試しましたが、上記の注意事項のセクションでは、クライアントとサーバーの両方が終わることになりました。

    enter image description here

  • +3

    「私たちが考えていること」の2番目の点には同意しません。先週、私はHTTPではなくTCPを使ってWCFデュプレックスをテストし、 'server-> client'チャンネルを開かなくても完全に動作しました。私は実際にテストし、ファイアウォールやNATを介してインターネット経由で作業しています。 –

    +1

    いくつかの単語で確認するだけです。クライアント - >サーバーアプリケーションからデータをアップロードしてデータをアップロードしたいとします。あなたはまた、サーバーに定期的にデータをアップロードするようクライアントに依頼したいでしょうか? –

    +0

    @HighCoreはいあなたと私もそれをやったことができます。しかし、私はまた、アプリケーションサーバーと話し、この通信自体を開始するためにPCが必要です - 私は結局どちらの側にもクライアントとサーバーを置くことになりました。 – user1438082

    答えて

    2

    さて私は謝るが、私は基本的にあなたのアーキテクチャに反対。

    • WCFは、要求 - 応答通信以外の目的には設計されていません。 その全二重機能は、そのクライアントがすでにサーバーへの接続を発行していない限り、サーバー側が特定のクライアントへの通信を発行することを可能にしません。 つまり、すべてのクライアントとの有名なオンライン全二重通信を実現するには、すべてのクライアントがサーバーへのオープンポートを維持する必要があります。

    • オンラインフルデュプレックスを達成するためにPCごとにデュアルクライアントとサーバーを用意することは、クライアントごとにポートを開いたままにする問題を解決するため、一歩前進ですが、セキュリティ面での欠点があります特定のPCは複数の接続要求を受信するために開いています。あなたが慎重でないと、致命的な再入国で別の問題が発生する可能性があります。したがって、基本的には、アーキテクチャと引き換えに 'ポート'を保存することになります。 あなたのソリューションに対する保守性と適性。あなたが保持する周り200-300 PCのあなたのアーキテクチャの展開をターゲットにしているが、場合は、PCの何千ものの、より大きな展開をターゲットにしているので、場合

    - それは保持しません。

    +0

    イントラネット環境では約300個です。それで私はあなたが私たちの建築に同意しますか? – user1438082

    +0

    はい、イントラネット環境では300台のPCがOKです。 –

    +0

    あなたは5000 PCの言うまで拡張する必要があるシステムのために何を提案しますか? – user1438082

    関連する問題