0

JPAをデータアクセスレイヤーとして使用してGWTベースのアプリケーションを開発しています。私のアプリケーションは、3 層アーキテクチャをサポートする必要があります。主なアイデアは、静的コンテンツ (html/javascript など)を持つHTTP サーバー (Apache)、ビジネス ロジック (サーブレット、Bean など) を持つWeb アプリケーション サーバー (Glassfish) 、およびデータベース サーバー (PostgreSQL)を持つことです。

単純な GWT アプリケーション用に生成された war ファイルの内容を分割して、記述されたアーキテクチャを実現する簡単な方法はありますか?

おそらく、静的コンテンツとビジネス ロジックを含む個別の war ファイルを作成するのに役立つ maven プラグインがあるでしょう。

また、GWT-RPC 呼び出しをインターセプトし、リモート サーバーでビジネス メソッドを呼び出すプロキシを作成することも検討していました。

そのようなソリューションを説明している非常に興味深い記事 (完全な記事) を見つけましたが、目標を達成するには多くの作業が必要です。うまくいけば、プロキシ生成プロセスを簡素化するライブラリまたはツールキットがあります。

どんなアイデアでも大歓迎です。

4

1 に答える 1

0

私は、Glassfish の代わりに Tomcat だけを使用して、すべてをビルドするための同様のセットアップを行っています。仕組みは次のとおりです。Apache httpd と Tomcat は mod_jk で接続されています。Apache は、すべての GWT モジュール dir (gwt_module と呼びましょう) を除いて、すべての要求を Tomcat に転送します。これには、Apache によって提供され、キャッシュされるように構成された、すべての GWT コンパイル済みのものが含まれます。残り - サーブレットは基本的に、Tomcat (RPC、RequestFactory、その他のサーブレット) に転送されます。データベース サーバーとしての MongoDB。

関連する httpd.conf セクションは次のとおりです。

JkMount  /* webbalancer
JkUnMount /gwt_module/*  webbalancer
Alias /gwt_module "/srv/web/app_servers/tomcat-1/webapps/ROOT/gwt_module/"

<Directory  "/srv/web/app_servers/tomcat-1/webapps/ROOT/gwt_module/">
    Order deny,allow
    allow from all
    Options -Indexes
    <FilesMatch "\.cache\.*">
        Header set Cache-control max-age=31536000
#       Header unset ETag
#       FileETag None
    </FilesMatch>

# turning off ETags, to force browsers to rely only on Cache-Control and Expires headers.
# for some reason, FF wasn't using the cache for JS files if ETags are on.
  Header unset ETag
  FileETag None
</Directory>

# Tell clients to keep images in the cache
ExpiresActive On
ExpiresByType image/x-icon A2592000
ExpiresByType image/gif A2592000
ExpiresByType image/png A2592000
ExpiresByType image/jpg A2592000
ExpiresByType image/jpeg A2592000
#ExpiresByType application/x-javascript A2592000
ExpiresByType text/css A2592000
ExpiresByType application/xhtml+xml A2592000

# Compress output for text
AddOutputFilterByType DEFLATE text/html text/xml text/css application/x-javascript text/javascript application/javascript

注: apache を使用して静的ファイルを提供する方が、Tomcat だけですべてを提供するよりも速いかどうかはわかりません。主に負荷分散に apache を使用しています。

于 2011-12-27T10:05:39.227 に答える