2011-06-21 12 views
2

これについて私に助言してください。WCFと同じサーバー上のWebアプリケーション

私は、同じサーバー上のWebアプリケーションと非常に安全なデータ操作を担当するWcfサービスを持っており、私はこのWebアプリケーション(データ操作のためにこのWcfサービスを消費するでしょう)にインターネット経由でアクセスします。

1)これは、両方を同じサーバーに置くことをお勧めしますか?

2)どのようなWCFのセキュリティ私は、トランスポートまたはメッセージのセキュリティを選択する必要があります。 3層またはN-ティア)

私は開発のためのVS2010と.NET Framework 4.0およびSQL Server 2008を使用します。私は(例を使用する必要がアーキテクチャのどのような種類

3)。

ありがとうございます。

+0

ていることは、それはWCFだ理由はありますか?ビジネスロジックの分離、セキュリティ上の目的などについて考慮する必要があります(実際の理由は分かりません)。セキュリティや分離の場合、個別のサーバーに保管し、エンドポイント以外のアクセスからロジック層をロックする(何らかの理由で)Webフロントエンドが侵害された場合、 WCFサービス。 –

+0

ありがとうBrad。主にセキュリティの目的からWCFを使用することに決めました。 WCF以外の方法がありますか? – user757207

+0

私はWCFの使用に疑問を呈していませんでした。なぜなら、なぜそれが(コードビハインドではなく)壊れていたのかを考えるようになるからです。繰り返しますが、通常は階層を分けていますが、私は企業環境にもあり、いくつかのサーバーを自由に使い分けています。また、機能の公開に関しては、WebサーバーのフロントエンドとWCFポートではなく、ファイアウォールを介してWCFポートを開くだけです。 (あるいは、Webフロントエンドを他の場所にホストし、内部で1つのポートに接続するだけで済みます)。 –

答えて

2

WCFサービスをアプリと同じサーバーに置くのがよい方法であれば、簡単な質問ではありません。あなたができるだけ多くのサービスをシールドしないようにするには、もちろん、ファイアウォールの背後にある別のサーバにそれを置くことができます。しかし、それはまったくサービスを作成するためにいくらか余分に聞こえる。クライアントからアクセス可能なメソッドを提供していますか? - 展開シナリオを決定する際には、セキュリティとスケーラビリティのコストも測定する必要があります。サーバーを増やすと、サーバーを購入し、サーバーを維持するためのコストが高くなります。

トランスポートとメッセージセキュリティの両方を使用できますが、メッセージセキュリティを使用すると、httpでメッセージを転送できるため、httpsよりもトラフィックが少なくなります。

アプリケーションのレベル数については、アプリケーションの性質によっても異なります。あなたはCQRSまたは類似のアーキテクチャを検討するかもしれません。しかし、レイヤーを適切に分離し、次のレイヤーのみに依存する場合は、必要に応じて常に新しいレイヤーを挿入できます。 WCFサービスを内部DALとして使用する予定の場合は、後でWCFサービスに変更できる適切なインターフェイスを持つ単純なDALを作成することに優先順位を付けることもできます。

Webサービスを作成するには多くの理由がありますが、後でさらに多くのサーバーをスケーリングする機会があるため、Webサービスに対して推薦しません。あなたのアプリケーションの攻撃面。

パフォーマンスは賢明ですが、httpではなくtcpバインディングを使用することでパフォーマンスが向上しますが、一部の非wcfクライアントが関与している場合は、httpで外部アプリケーションを接続する方が簡単です。

おそらくこの記事は答えよりも多くの質問が含まれていますが、あなたはあなたの説明の簡潔与え決めることができる唯一の1 :)

関連する問題