logo

分散システムにおける 3 層クライアント サーバー アーキテクチャ

この記事では、3 層クライアント/サーバー アーキテクチャについて詳しく説明します。最も一般的なタイプの多層アーキテクチャ 分散システム は 3 層のクライアント/サーバー アーキテクチャです。このアーキテクチャでは、アプリケーション全体が 3 つのコンピューティング層に編成されています。

  • プレゼンテーション層
  • アプリケーション層
  • データ層

クライアント/サーバー アーキテクチャにおける 3 つの層の主な利点は、これらの層が独立して開発および保守され、変更があった場合でも他の層に影響を与えないことです。これにより、パフォーマンスが向上し、需要の増加に応じてサーバーを追加できるため、アーキテクチャのスケーラビリティがさらに向上します。



3層アーキテクチャとは何ですか?

3 層アーキテクチャは、次のように 3 つの論理および物理コンピューティング層でアプリケーションを編成する、確立されたソフトウェア アプリケーション設計パターンです。

  • プレゼンテーション層
  • アプリケーション層
  • データ層

3 つの層の詳細

プレゼンテーション層

これはユーザー インターフェイスであり、アーキテクチャの最上位層です。その目的は、クライアントからのリクエストを受け取り、クライアントに情報を表示することです。ブラウザ上で出力を行うため、Web ブラウザを使用して他の層と通信します。 Web ベースの層について話す場合、これらは次のような言語を使用して開発されます。 HTML CSS JavaScript。

アプリケーション層

これは、プレゼンテーション層を通じて収集された情報/要求がここで詳細に処理されるため、ロジック層としても知られるアーキテクチャの中間層です。また、データを保存するサーバーと通信します。クライアントのリクエストを処理し、フォーマットしてクライアントに送り返します。次のような言語を使用して開発されています。 パイソン ジャワ 、PHPなど。



YouTubeビデオをダウンロードするvlc

データ層

これは、データベース層としても知られるアーキテクチャの最後の層です。これは、後で必要になったときに取得できるように、処理された情報を保存するために使用されます。次のようなデータベース サーバーで構成されます。 オラクル MySQL、 DB2 など。プレゼンテーション層とデータ層の間の通信は、中間層、つまりアプリケーション層を使用して行われます。

3層アーキテクチャ

層対層

階層



Javaクラスの例

層とは、コンポーネントの物理的な分離を指します。

レイヤーとは、アプリケーションの論理的な分離を指します。

ボト3

層は物理的に分離されており、異なるマシン上で実行されているのがサーバーです。

レイヤーは論理的には分離されていますが、同じサーバーまたはマシン上で実行されます。

アプリケーションのスケーラビリティは非常に高いです。

アプリケーションのスケーラビリティは中程度です。

多層アーキテクチャの一般的な層には、プレゼンテーション層 (ユーザー インターフェイス)、アプリケーション層 (ビジネス ロジック)、およびデータ層 (データベース) が含まれます。

各層は、単一​​層内のプレゼンテーション、ビジネス ロジック、データ アクセスなどの特定の責任に重点を置いています。

Web開発における3層アプリケーション

Web アプリケーションには 3 つのアーキテクチャと同じ層がありますが、唯一の違いは名前が異なることです。

  1. ウェブサーバー: Web サーバーは、プレゼンテーション層または UI (ユーザー インターフェイス) 層として機能する 3 層アーキテクチャのプレゼンテーション層です。このコンテンツは、ユーザーがショッピング カートに商品を追加したり、支払い詳細を入力したり、アカウントを作成したりできる電子商取引サイトなどの要件に基づいて静的または動的にすることができます。
  2. アプリケーション・サーバー: アプリケーション層は、ユーザー入力などを処理するビジネスに必要な完全な論理で構成される中間層です。在庫データベースにクエリを実行して製品の在庫状況を返したり、顧客のプロフィールに詳細を追加したりするようなロジックを実行します。
  3. データベースサーバー: これは Web アプリケーションのバックエンド層であり、すべてのデータで構成されているため、この層には主に次のようなデータベースが存在します。 MySQL、Oracle、DB2、または PostgreSQL。

その他の多層アーキテクチャ

3 層アーキテクチャはアプリケーション開発に広く使用されており、以下に説明するような他のアーキテクチャもあります。

SQLでキャストする

2層アーキテクチャ

これは 2 つの層で構成される基本的なソフトウェア アーキテクチャです。つまり、1 つはクライアント、もう 1 つはサーバーです。各層は独自の責任を持ち、相互にリンクされているか、相互に依存しています。

クライアント層

クライアント層は最上位の層であり、アプリケーションのユーザー インターフェイスおよび対話部分に似ています。これは、Web ブラウザー、デスクトップ アプリケーション、またはモバイル アプリとして機能し、ユーザーはそれを通じてアプリケーションと対話します。データの提示とアプリケーションの入力の処理を担当します。

サーバー層

サーバー層は、データ処理とデータ管理を処理するために必要なロジックを含む最下層です。

N層アーキテクチャ

N 層アーキテクチャ (多層アーキテクチャとも呼ばれます) は、複雑さと要件に基づいてアプリケーションをさまざまな数の層に分割します。以下に、アーキテクチャに含まれる層の一部を示します。

  • プレゼンテーション層 (クライアント層)
  • アプリケーション層 (中間層またはビジネス ロジック層)
  • データ層 (データストレージ層またはデータベース層)
  • サービス層 (ビジネス サービスまたはアプリケーション サービス)
  • 統合層 (統合サービス)。

3 層アーキテクチャの利点

  • プレゼンテーション層、アプリケーション層、データベース層の間では論理的な分離が維持されます。
  • タスクが分散マシンの複数のマシンに分割され、さらに各層が他の層から独立しているため、パフォーマンスが向上します。
  • 層を個別に拡張できるため、サーバーを追加する需要の増加にもアーキテクチャで対処できます。
  • 開発者は、他の層に影響を与えないため、ある層のテクノロジーを独立して更新できます。
  • ある層の問題が他の層に影響を与えないため、層の独立性により信頼性が向上します。
  • プログラマーは、データベース、プレゼンテーション コード、ビジネス/アプリケーション ロジックを個別に簡単に保守できます。ビジネス/アプリケーション ロジックに変更が必要な場合でも、プレゼンテーション コードとコードベースには影響しません。
  • プレゼンテーション層のタスクがデータ層のサーバーから分離されるため、負荷が分散されます。
  • クライアントがデータベース層と直接通信できないため、セキュリティが向上します。さらに、データはデータベース層に渡される前にアプリケーション層で検証されます。
  • データの整合性は維持されます。
  • 特定のテクノロジーに限定するのではなく、さまざまなデータベースへの展開を提供します。

3 層アーキテクチャの欠点

  • プレゼンテーション層はデータベース層と直接通信できません。
  • アーキテクチャの層が増えると、複雑さも増します。
  • コードベース、プレゼンテーション コード、アプリケーション コードを個別に維持する必要があるため、リソースの数が増加します。

3 層アーキテクチャに関する FAQ

1. DBMS の 3 層アーキテクチャ

データベース管理システム (DBMS) は、プレゼンテーション層、アプリケーション層、データベース層の 3 つの論理層と物理層に分かれています。これは、DBMS では 3 層アーキテクチャとして知られています。

json 例内の json

2. C# の 3 層アーキテクチャ

C# アプリケーションは、プレゼンテーション層、アプリケーション層、データ層の 3 つの論理層と物理層に分割されます。これは 3 層アーキテクチャとして知られています。

3. AWS(アマゾン ウェブ サービス)の3層アーキテクチャ

の 3 層アーキテクチャ アマゾン ウェブ サービス (AWS) AWS クラウド リソースとサービスを利用してアプリケーションを 3 つの論理層に分離する Web アプリケーションまたはサービスの設計を指します。各層には特定の責任があり、AWS はこのアーキテクチャの実装をサポートするさまざまなサービスを提供します。

4. モバイル コンピューティングの 3 層アーキテクチャ

モバイル コンピューティングの文脈における 3 層アーキテクチャとは、モバイル アプリケーションまたはシステムを 3 つの論理層に編成し、それぞれが特定の責任を負うことを指します。