Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
GWT三层体系结构_Gwt_Jpa 2.0_Three Tier - Fatal编程技术网

GWT三层体系结构

GWT三层体系结构,gwt,jpa-2.0,three-tier,Gwt,Jpa 2.0,Three Tier,我正在开发基于GWT的应用程序,使用JPA作为数据访问层。我的应用程序需要支持三层体系结构。其主要思想是让HTTP服务器Apache具有静态内容html/javascript等,Web应用服务器Glassfish具有业务逻辑servlet、bean等,以及数据库服务器PostgreSQL 是否有任何简单的方法来划分为简单GWT应用程序生成的war文件的内容,以实现所描述的体系结构 也许有一个maven插件可以帮助创建带有静态内容和业务逻辑的独立war文件 我还考虑创建代理,它将拦截GWT-RPC

我正在开发基于GWT的应用程序,使用JPA作为数据访问层。我的应用程序需要支持三层体系结构。其主要思想是让HTTP服务器Apache具有静态内容html/javascript等,Web应用服务器Glassfish具有业务逻辑servlet、bean等,以及数据库服务器PostgreSQL

是否有任何简单的方法来划分为简单GWT应用程序生成的war文件的内容,以实现所描述的体系结构

也许有一个maven插件可以帮助创建带有静态内容和业务逻辑的独立war文件

我还考虑创建代理,它将拦截GWT-RPC调用并在远程服务器上调用业务方法

我发现了一篇描述这种解决方案的非常有趣的文章,但要实现我的目标需要做很多工作。希望有一个库或工具包可以简化代理生成过程


任何想法都将受到极大的赞赏。

我有一个类似的设置,只有Tomcat而不是Glassfish,还有maven来构建一切。下面是它的工作原理。apachehttpd和Tomcat与mod_jk连接。Apache将所有请求转发给Tomcat,除了GWT模块dir让我们称之为GWT_模块,它包含所有GWT编译的东西,这些东西由Apache提供服务并配置为缓存。 rest-servlet基本上被转发到TomcatRPC、RequestFactory和其他servlet。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进行负载平衡

这是一个很酷的想法;我从来没有考虑过用ApacheHTTPD来对付GlassFish。我将根据我当前的GlassFish配置测试mod_jk,希望一切都能像您描述的那样顺利。感谢您的快速响应和帮助。我不确定使用apache服务静态文件是否比仅使用tomcat服务所有内容更快,我主要使用apache进行负载平衡。