0

PrimeFaces (プレゼンテーション)、EJB 3.1 (ビジネス)、および JPA (永続性) を使用して、JSF 2.0 で Java EE Web アプリケーションを開発しています。

各レイヤーを独立させて、将来、アプリケーションにアクセスしたい他のアプリケーションが簡単にアクセスできるようにしたいと考えています。

そのため、EJB を Web サービス呼び出しとして公開する計画があります。

私たちが見つけたのは、モデルとコントローラーとビューがフレームワークとして一緒にある、プレゼンテーション レイヤーが密接に結合されているように見えることです。

モデルとコントローラーを別のサービスとして公開して、外部のビューがこれらに簡単にアクセスできるようにする方法を知りたいです。

4

1 に答える 1

2

JSF でコントローラーを個別に公開することはできません。フレームワークによって提供されているのは Faces サーブレットです。

モデルを直接公開しないでください。JSF の用語では、モデルへのエントリはバッキング Bean です。このタイプの Bean はページに固有であり、再利用しないでください。

バッキング Bean にはビジネス ロジックを含めないでください。代わりに、EJB であることが多いサービス Bean に委譲するだけです。

これらのサービスとそれらが使用する (JPA) エンティティは、再利用できるように設計する必要があります。これは、後の段階で JAX-RS、JAX-WS、リモート EJB を介して行うか、これらの Bean を jar にコピーして別のアプリに含めることによって行うことができます。

現時点では、サービスが UI パッケージに依存していないこと、およびサービスが UI 作業を実行しようとしないことを確認してください。それらの他のアプリがある場合、それらを再利用する正確な方法について心配してください。

于 2013-08-05T17:40:42.083 に答える