web-dev-qa-db-ja.com

2層および3層アーキテクチャの異なる層について説明してください。

どの要素が第1層、第2層、第3層と呼ばれ、どこに存在するかを理解できません。同じマシンまたは異なるマシンに常駐できますか。どのマシンにどの層がありますか?特定のアプリケーションを2層アプリケーションまたは3層アプリケーションとして識別する方法。例で説明してください

37

ウィキペディア 私ができるよりもそれをより良く説明します

記事から-トップは第1層です: alt text

43
Dan McGrath

まず、層と層を区別する必要があります。レイヤーはコードをコンポーネントに論理的に分割する方法であり、ティアはコンポーネントを配置する物理ノードです。この質問はそれをよりよく説明しています: 「層」と「層」の違いは何ですか?

通常、2層アーキテクチャはプレゼンテーション層とデータストア層にすぎません。これらは1層(1マシン)または2層(2マシン)に配置して、作業負荷を分散することでパフォーマンスを向上させることができます。

通常、3層アーキテクチャでは、ビジネスロジック層やサービス層など、プレゼンテーション層とデータストア層の間に何かを配置します。繰り返しになりますが、これはハードウェアにどれだけのお金があるかと、予想される負荷の量に応じて、1、2、または3層に分けることができます。

複数のマシンを階層に配置すると、冗長性が提供され、システムの堅牢性が向上します。

以下は、階層化アーキテクチャの良い例です。

alt text
(ソース: Microsoft.com

これらすべての適切なリファレンスは、MSDNのこちらにあります。 http://msdn.Microsoft.com/en-us/library/ms978678.aspx

38
LeWoody

2Tierと3Tierの違いに関するヘルプがあります。以下を参照してください。

回答:
1。 2Tierはクライアントサーバーアーキテクチャであり、3Tierはクライアント、サーバー、およびデータベースアーキテクチャです。
2。 3Tierには、クライアントとサーバーを通信する中間段階があります。2Tierクライアントはサーバーと直接通信します。
3。 3TierはMVCに似ていますが、トポロジに違いがあります
4。 3Tierは、要求フローがClient >>> Middle Layer(SErver application)>>> Databseサーバーであり、Responseがリバースであるという意味で線形です。
2Tierでは、三角ビュー>> Controller >> Model
5。 3TierはWebサイトに似ていますが、Webブラウザはクライアントアプリケーション(中間層)であり、ASP/PHP言語コードはサーバーアプリケーションです。

層は関心の分離に他なりません。一般に、プレゼンテーション層(ユーザーに表示されるフォームまたはページ)はデータ層(クラスまたはファイルがデータベースと対話する)から分離されます。この分離は、保守性、スケーラビリティ、再利用性、柔軟性、パフォーマンスも向上させるために行われます。

3層および4層アーキテクチャのデモコードに関する適切な説明は、 http://www.dotnetfunda.com/articles/article71.aspx で読むことができます。

3
raja1

一般的な説明は、ダンからのリンクに記載されています。


特定の質問についてはあなたの質問:

同じプロセス(JVM for Java)内であっても、同じマシンに常駐できます。それは論理的な区別(何をするのか?)であり、物理的な区別(どこにあるのか)ではありません。

2
KLE