まず第一に、なぜ2つの異なるクライアントサイドテクノロジーを一緒に使用したいのですか(JSF2
とGWT
)?私はむしろそれらの1つに固執したいと思います。
それを言う:はい、3つの異なるプロジェクトを持つことが可能です。実際に推奨される方法(少なくともGWT
、Spring
またはその他のバックエンドを使用する場合)は、それらを別々のプロジェクトに配置することです。
これは、Eclipseで3つのプロジェクトを作成し、それらを依存関係として参照してから、これらすべてを含むEARを作成することは可能ですか?
少なくともGWTでは、通常、バックエンド/データベースに直接アクセスすることはできません(JSF2についてはよくわかりません)。ある種の通信プロトコルを使用する必要があります( RequestBuilder
、、、 ) RequestFactory
。共有クラス(パッケージ内GWT-RPC
)を使用して、アプリケーションと アプリケーションの両方で参照できます(通常はまたはで使用されます) 。REST
xxx.shared
GWT
Spring
GWT-RPC
RequestFactory
ユーザーセッションはどうなりますか?GWTとJSF2に保存されていますか?
ユーザーセッションについて特別なことは何もありません。GWTとJSFは、HTTPリクエストを介してバックエンドと通信します。したがって、通常のHTTPリクエストに適用されるのと同じことが、GWT/JSF2リクエストにも適用されます。
それは良い建築ですか?どうすればこれを他の方法で行うことができますか?
それはあなたが何を達成したいかによります。前に述べたように、私は両方を使用するのではなく、どちらか一方のクライアント側テクノロジ(GWT
またはJSF2
)に固執したいと思います。
それらをパッケージ化するにはどうすればよいですか?すべての戦争ファイル?またはjar?片耳で...または?
GWTは、ホストファイルに含まれているjavascriptにコンパイルされます。したがって、通常は、アプリケーションサーバーにデプロイされる1つのWARファイルまたはEARファイルを作成します。