GWT - 将客户端和服务器拆分到不同的计算机

时间:2012-06-28 08:32:48

标签: gwt client-server rpc

我们的实验室有一台机器可以从外面打开http连接。但是,这台机器很弱(内存很小,CPU很慢)。我们有其他更强大的机器,但它们位于防火墙后面,无法从实验室外部访问。

我正在编写一个服务器要求很高的GWT应用程序。是否可以在强计算机上安装服务器,在弱计算器上安装客户端,并使用RPC连接它们?我认为它需要对web.xml文件进行一些更改,但究竟是什么?

理论上我可以将需求部分包装在一个单独的TCP / IP服务器中,让GWT服务器联系它,但我想知道是否可以直接在GWT中进行。

3 个答案:

答案 0 :(得分:1)

我试图这样做,但只是成功地将GWT项目分成3个部分(客户端,RPC,服务器)作为eclipse项目。最后,你将得到一个大的WAR文件,它将被部署在一个地方(除非其他人成功地将代码分开。)

您可以做的解决方案是设置另一台服务器,该服务器将执行所有服务器端处理(您的强机器)并使GWT servlet充当代理。他们接受来自客户端的请求并将数据转发到另一台服务器进行处理。然后等待回复。

你是怎么做的取决于你。您可以使用Web服务,直接套接字连接,JMS ..等等。

答案 1 :(得分:1)

取决于您的设置。

GWT ACRIS- Please see this link

EJB - 一种方法可以是将业务对象保存在远程计算机中作为EJB,并且您的servlet通过RMI / JNDI访问它们。

Spring - 另一种简单的方法是使用Spring Remoting。 See this link

答案 2 :(得分:1)

GWT客户端从服务器下载并作为javascript代码在Web浏览器中运行。我不太明白你想在一个单独的服务器上运行的GWT应用程序的哪一部分。

如果您的GWT servlet(RPC服务实现)正在访问外部资源(如数据库或Web服务),则可以将这些资源移动到单独的服务器。

另一个选择是在“弱”服务器上安装反向代理,该服务器将特定请求转发到防火墙后面的更强大的服务器。代理可以由Apache(httpd)在“弱”服务器上完成(使用mod_proxy)。然后Tomcat只需要安装在更强大的机器上,并负责大部分处理。

相关问题