基本的な現代の Java EE アプリケーションでは、さまざまなレイヤーに分割され、4 つの基本レイヤーがあります。
+--------------------+
| Presentation |
+--------------------+
| Controller/Actions |
+--------------------+
| Business Delegate |
| (Service) |
+--------------------+
| Data Access Layer |
+--------------------+
| Database |
+--------------------+
アプリケーションは、最初からこれらのレイヤーに分割する必要があります。これにより、兄弟レイヤーに影響を与えることなく、任意の時点で任意のレイヤーを置き換えることができます。
たとえば、データ アクセス レイヤーに JDBC を使用した場合、ビジネス デリゲートやデータベース レイヤーに影響を与えることなく、Hibernate に置き換えることができます。このようなアーキテクチャを使用する利点は、複数のテクノロジとのコラボレーションが可能になることです。ビジネス デリゲート (サービス レイヤー) は、Web サービスと対話し、ブラウザにアクセスしなくてもアプリケーション処理を処理できる必要があります。
JSP をプレゼンテーション レイヤーとして使用することに関しては、前述の iberck のように、 velocityやfreemarkerなどの他のテクノロジを利用できます。タペストリーには独自のレンダリング エンジンもあります。XML + XSLT を使用して UI をレンダリングすることもできます。Tilesやsitemeshなどの UI 管理アプリもあり、さまざまな技術をページのさまざまなコンポーネントとして統合し、1 つとして表示するのに役立ちます。
また、 JNLPを組み合わせた軽量のスイング コンポーネントを使用して、デスクトップ スタイルのエンタープライズ アプリケーションを開発することもできます。私たちが必要とするのは、少しの想像力とクライアントの要件だけで、文字通り何でもプレゼンテーション レイヤーとして使用できます。