最新のRESTアプリケーションは3層アーキテクチャですか、それとも4層アーキテクチャですか?
Aug 20 2020
現在、UMLとデプロイメント/コンポーネント図を学習しており、既存のアプリケーションを3層または4層アーキテクチャにモデル化したいと考えています。私のアプリには次のインスタンスがあります。
- Angularアプリケーション
- RESTとしてのJavaSpringBootアプリケーション-Webサービス
- データベース
3つのインスタンスはすべて、異なるサーバーにデプロイできます。私の考えでは、これは3層アーキテクチャです。しかし、Webブラウザーを備えたクライアントが私のアーキテクチャーの第4層であるかどうかわからないため、今は混乱しています。次のように、WebブラウザとAngularアプリケーションをプレゼンテーション層に含めることができますか?

私はこれについて考えて混乱しています。なぜなら、この投稿では:
これは、3層アーキテクチャにUMLコンポーネント図を使用しても大丈夫ですか?
彼は、アプリケーションとブラウザーをプレゼンテーション層に要約します。
編集:これは私が4層アーキテクチャの配置図としてそれを実現する方法です:

回答
4 muszeo Aug 21 2020 at 12:34
アプリケーションには3層アーキテクチャがあります。ブラウザは、フロントエンドアプリケーションコードの一部を実行している単なる実行環境です。
フロントエンドアプリケーションは、Webサーバーへのデプロイ(少なくとも、Angularを使用しているため)とWebブラウザーに分割されます(Angularを使用しているため)。
APIは2番目の層です。Angularアプリはこれに接続して、ロジックを呼び出し、データにアクセスします。
データベースは第3層です。
上の図を使用しますが、Angularアプリをブラウザー内にネストします。