Java Webアプリケーションに使用するアーキテクチャについて説明してください。[閉まっている]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 4年前休業。 この質問を改善する JavaベースのWebアプリケーションアーキテクチャを共有しましょう! Javaを使用して実装されるWebアプリケーションには、さまざまなアーキテクチャが数多くあります。この質問への回答は、さまざまなWebアプリケーション設計のライブラリとして役立ち、長所と短所があります。答えは主観的なものになると思いますが、できる限り客観的になるようにして、リストする長所と短所に動機を与えましょう。 アーキテクチャの説明に使用する詳細レベルを使用してください。答えが価値のあるものになるためには、少なくとも、あなたが説明するアーキテクチャで使用される主要なテクノロジーとアイデアを説明する必要があります。そして最後に重要なことですが、いつあなたのアーキテクチャを使うべきですか? 始めます... アーキテクチャの概要 Java EE、Java Persistence API、サーブレット、Javaサーバーページなど、Sunのオープンスタンダードに基づく3層アーキテクチャを使用しています。 持続性 ビジネス プレゼンテーション レイヤー間の可能な通信フローは次のように表されます。 Persistence <-> Business <-> Presentation たとえば、プレゼンテーション層が永続化操作を呼び出したり実行したりすることはなく、常にビジネス層を通じて実行されます。このアーキテクチャは、高可用性Webアプリケーションの要求を満たすことを目的としています。 持続性 作成、読み取り、更新、削除(CRUD)の永続化操作を実行します。今回のケースでは(Java Persistence API)JPAを使用しており、現在、Hibernateを永続性プロバイダーとして使用し、そのEntityManagerを使用しています。 このレイヤーは複数のクラスに分割され、各クラスは特定のタイプのエンティティ(つまり、ショッピングカートに関連するエンティティが単一の永続クラスによって処理される場合があります)を扱い、1人のマネージャーだけが使用します。 また、この層はまた、格納JPAエンティティのようなものですAccount、ShoppingCartなど ビジネス Webアプリケーション機能に関連付けられているすべてのロジックは、このレイヤーにあります。この機能は、自分のクレジットカードを使用してオンラインで製品の支払いを希望する顧客の送金を開始する場合があります。新しいユーザーを作成したり、ユーザーを削除したり、Webベースのゲームでの戦闘の結果を計算したりすることもできます。 この層は、複数のクラスに分割され、これらのクラスの各々を用いて注釈さ@StatelessになるようにステートレスセッションBean(SLSB)。各SLSBはマネージャーと呼ばれ、たとえば、マネージャーはと呼ばれるように注釈が付けられたクラスである場合がありますAccountManager。 AccountManagerCRUD操作を実行する必要がある場合AccountManagerPersistence、永続化レイヤーのクラスであるのインスタンスを適切に呼び出します。の2つの方法の概略AccountManagerは次のようになります。 ... public void makeExpiredAccountsInactive() { AccountManagerPersistence amp = new AccountManagerPersistence(...) // Calls persistence layer List<Account> expiredAccounts = …