7

Google アプリ エンジンで「ポートレット サーバー」っぽいものを構築しようとしています。(オープンソースとして)

JSR168/286 標準を使用したいのですが、アプリ エンジンの制限により、難しいか不可能かの間のどこかになると思います。

Jetspeed や pluto を内部で使用するアプリケーションを Google アプリ エンジンで実行しようとした人はいますか?

ポートレットと Google アプリ エンジンに関する現在の知識に基づいて、次の問題が予想されます。

ポートレットを含む war ファイルは、デプロイメントの観点からは多かれ少なかれ完全な Web アプリケーションです (はい、ポータル サーバーがないと実際には機能しないことはわかっています)。war ファイルには独自の web.xml などが含まれる場合があります。これにより、アプリ エンジンでの展開がかなり難しくなります。これは、アプリが互いに見えないためです。アーカイブを含むすべてのポートレットは、展開された「アプリの war ファイルに含める必要があります。エンジンベースのポータルサーバー」.

「ポートレット」は、(少なくとも liferay では) 永続的なサーブレット プロセスとして開始されます。これは、ロードされるすべてのポートレット アーカイブの同じ場所にある portlet.xml および web.xml に基づいています。すべてが 1 つの大きな「Web アプリ」にあるため、これはアプリ エンジンで問題になる可能性があると思います。そのため、各アーカイブから portlet.xml にアクセスするのは難しいかもしれません。

これにより、私の意見では 100% の互換性が妨げられます。

ポートレットとアプリ エンジンを組み合わせた経験のある人はいますか?

jetspeed、pluto、またはその他のポートレット コンテナーを変更して、app エンジンで実行できるようにすることは可能だと思いますか?

4

1 に答える 1

2

私はそれを簡単に見てきました-あなたの最大の問題は、Portlet仕様がサーブレット仕様のいくつかの重要な部分に基づいているが、それを上書きすることです-特に、それは通常、クロスコンテキスト呼び出しのサポートを必要とします。

複数のポートレットとサーブレットコンテナを含む単一のWebアプリを設計することは可能ですが(多くの場合、管理ポートレット、またはLiferayの場合はそれらのスタックの多くに対して行われます)、それは簡単ではありません。

実際には、AppEngineでポータルタイプのものを実行することを検討している場合、OpenSocialウィジェット(本当に標準が必要な場合)をホストすること、おそらくShindigで実行すること、または外部でホストすることをもっと詳しく見ていきます。これにより、JSR-168との互換性も得られます。これは、ウィジェットをホストするための(優れていない)ブリッジポートレットが多数あり、作成するのが難しいアダプターではないためです。

于 2010-04-09T01:29:58.480 に答える