2014-11-16 4 views
-1

Я разрабатываю архитектуру для простого облачного приложения, которое компилирует и запускает Java-программы.Компилятор и бегун Java Java

Я планирую предоставлять услуги через SOAP, через которые клиент может предоставить источник на сервер. Сервер будет отвечать сообщениями журнала, такими как сбои компиляции и т. Д. Или сообщения об успешности. В основном консольный выход.

Вопросы

  1. С точки зрения архитектуры, каковы соображения безопасности, которые следует знать и то, что было бы правильно, чтобы сделать это?

  2. Какие еще проверки следует использовать перед компиляцией кода и какие другие вещи вы видите, что нужно позаботиться при реализации этого в облаке?

  3. Есть ли какие-либо API с открытым исходным кодом, которые могут уже заботиться о вещах выше?


Я встречал javax.tools.JavaCompiler и других утилит, которые должны выполнять работу.

+0

Что вы здесь спрашиваете? –

ответ

0

Компиляция кода не слишком опасна, так как единственной программой, которая работает, является компилятор. О чем вы должны беспокоиться - это реальный запуск их скомпилированной Java-программы.

Если вы еще этого не сделали, изучите SecurityManager. В принципе, вы захотите сделать свой собственный класс расширением SecurityManager, а затем переопределить все эти методы. Если программа не сможет что-то сделать, вы бросаете SecurityException. Это в значительной степени самый простой способ для работы с песочницей на Java. Как только вы это сделаете, вы просто вызываете System.setSecurityManager(mySecurityManager);

Смежные вопросы