在线Java编译器和运行器

时间:2014-11-16 04:35:56

标签: java cloud

我正在为一个简单的基于云的应用程序设计一个体系结构,该应用程序可以编译和运行java程序。

我计划通过SOAP公开服务,客户端可以通过SOAP向服务器提供源。 服务器将响应日志消息,如编译失败等或成功消息。基本上是控制台输出。

问题

  1. 从架构的角度来看,我应该注意哪些安全考虑因素以及正确的方法是什么?

  2. 在代码编译之前我还应该进行哪些其他验证?在云中实现这些功能时,您认为需要注意哪些其他问题?

  3. 是否有任何开源API可能已经解决了上述问题?


  4. 我遇到了 javax.tools.JavaCompiler 以及其他可以完成这项工作的实用程序。

1 个答案:

答案 0 :(得分:0)

代码编译并不太危险,因为运行的唯一程序是编译器。你应该担心的是它们编译的Java程序的实际运行。

如果您还没有,请查看SecurityManager。基本上,您将要创建自己的类来扩展SecurityManager,然后覆盖所有这些方法。如果程序不能执行某些操作,则抛出SecurityException。这几乎是使用Java沙箱的最简单方法。完成后,您只需拨打System.setSecurityManager(mySecurityManager);

即可