ASP.NETで適切なサービスレイヤーを構築する方法


10

私はいくつかの質問、優れたサービス層を構築するための技術を調べてきましたが、これに関して私が助けを必要とするいくつかの質問があります。

最初に、私が要件について持っているもののいくつかの情報。現在、スパイダーウェブのような方法で相互に通信する多くのWebアプリケーションがあります(すべて、Webサービスとデータベースデータを介して、混乱する方法で相互に通信します)。

  • これを変更して、すべてのアプリケーションがサービスレイヤーを通過するようにしたいと思います。サービスレイヤーでは、キャッシュを使用して作業し、共通の機能などをカプセル化できます。
  • サードパーティのクライアントがサービスからの情報を利用できるように、このレイヤーにもWeb APIが必要です。

問題は、たとえばMVC4 Web APIでサービスレイヤーを構築する場合、webAPIを使用してアプリケーション間で通信する必要がないということです。つまり、URLを構築してJSON / Xmlを消費する必要があります。それはあまり効果的に聞こえません。エンティティとWCFを使用してアプリケーション間の通信を行う方が良い方法だと思いますが、Web APIの魔法を失う可能性がありますか?

したがって、問題は、サービス層をWeb API(JSON / XML)とエンティティを含むよりバックエンドのサービス層の両方として利用する方法があるかどうかです。2つの異なるサービスレイヤーを使用せざるを得ない場合、一部の機能や他の悪いことを複製する必要があるかもしれません。

質問が十分に明確であることを願って、さらに情報が必要かどうか尋ねてください。


良い質問。+1!
カンカン

回答:


1

イントラネットおよびおそらく1つのLANでホストされる一連のアプリケーションの場合、サービスに最適なのはTCP接続です。

その意味で、TCPで動作するエンドポイントとサービスインターフェイスのセットを公開するサービスアプリケーションを作成することをお勧めします。これらは、自社開発または信頼されたアプリケーションで使用できます。

Web経由で使用するために公開されているエンドポイントとサービスインターフェイスの別のセット(サービスAPI)を持つサービスアプリケーション。

したがって、WCFを使用してサービスアプリケーションをホストし、必要に応じてエンドポイント/インターフェイスを追加できます。


それでは、内部通信用に1セットのエンドポイントとWeb API用に1セットのエンドポイントを作成しますか?(そしてはい、イントラネットや外部

WCFについてもう少し読んでみましょう(申し訳ありませんが、私はこれらの海域で少し初心者です)、同じサービスまたは同じサービスアプリケーションを使用していますが、そのサービスに異なるエンドポイントを使用しているため、両方のTCPを介してサービスアプリケーションを使用できますとHTTP、正しい?多分もっと難しい質問です。TCP経由で利用できる場合、MVC4 Web APIに関する情報を持っている人はいますか?

あなたはそれを正しくしています。MVC4 Web APIでは、まだ何も読んでいません。あなたはそれについて読む必要があるかもしれません。
カンカン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.