2014-10-16 64 views
1

我有一个基于Java的Web应用程序运行在服务器A上。现在我想将这个Java Web应用程序与一些R程序集成到远程服务器B上。如何在远程机器上将Java与R集成?

我想实现的是如下。在服务器A上的Java端,当用户想要查看某些数据或图表时,Java会找出需要的数据类型,然后它需要向远程服务器B发送适当的请求并调用一些R代码以在B上运行。 B上的R代码完成后,它将生成A所需的数据,它将向A发送数据。获取数据后,A上的Java Web应用程序将获取数据并生成一些Web视图并将其呈现在用户的浏览器中。我怎样才能做到这一点?提前致谢!

+2

http://rforge.net/Rserve/ – 2014-10-16 18:35:22

+0

非常感谢执行远程[R计算。 Rserve绝对是非常有帮助的! – kevinlu 2014-10-16 19:12:36

+0

转换为答案 – 2014-10-17 07:25:27

回答

2

Rserve软件允许使用安装有R作为远程计算服务器的计算机。还有与RServe捆绑在一起的REngine Java客户端,可以实现Rserve服务器和Java代码的无缝集成。客户端具有强大的API,并在R和Java类型之间执行自动类型转换。

在安装Rserve,并把它的客户端的Java代码的类路径,你可以那么容易,因为

RConnection c = new RConnection("<your Rserve host>", <your Rserve port>); 
double d[] = c.eval("rnorm(10)").asDoubles();