私は内部アプリケーションのためにLiferayを約2年間使用してきました。私たちは最初のリリースの前に開発サイクルを通して何度も同じ議論をしました。 Liferayと数回戦わなければなりませんでした。なぜなら、時にはポートレット環境のために、時にはLiferayのために、知識が不足していることがあるからです。
ポータルから取得できる複数のアプリケーションのレイアウトオプションが必要な場合は、確実にLiferayを使用する必要があります。単一のアプリケーションを作成しているのであれば、おそらくLiferayを使用しないでしょう。私はいくつかのLiferayといくつかのハイブリッドがはるかに最悪の選択だと思う。
Liferayを最大限に活用しているわけではありませんが、これが初めてのLiferayアプリであれば、学習曲線のせいではないでしょう。もともとは、アプリケーションのさまざまな側面でさまざまなポートレットを用意したいと考えていましたが、開発中のポートレット間の良好な通信メカニズムがないため(JSR-286以前)、単一のアプリケーションを作成しました。私たちがそのボートで終わったので、私たちが本当に使っているのはユーザー管理機能なので、私たちはLiferayなしで行ってもらいたいと思います。
私たちはJSFとfacelets(新しい技術の両方を使用しているので、痛みは自己寛解している可能性があります)を使用していますが、私たちはそれをうまく使いこなしていますが、ポートレットで正しく機能するようにする。通常のWebアプリケーション環境では起こらなかったことがあります。多くのフレームワークでは、ポートレットのサポートは後で考慮されるようです。これは明らかにLiferay特有のものではなく、ポートレット環境内で作業することの単なる副産物です。
Spring MVC、Struts、Faces、Wicketを使用しているWebアプリケーションでは、すべてのことをより詳細に制御できますが、さらに多くのものを実装する必要があります。
ポートレットでは、JSR-168および/またはJSR-286の条件に従うことになります。ポータルコンテナはユーザー認証のようないくつかの機能を提供しますが、ユーザー認証用のポータル全体が非常に重すぎます。私はポータルのパワーが、単一のアプリケーションを提示するのではなく、複数のアプリケーションのビューをカスタマイズできるようにしているのを見ています。
ポートレットに関連する仕様を確認し、ニーズに合っているかどうかを確認する必要があります。
http://developers.sun.com/portalserver/reference/techart/jsr168/
本当に「共有」サービスであれば、とにかくもう一度書く必要はありません。いくつかの統合作業がありますが、2回目の実装よりもはるかに小さいはずです。 – digitaljoel