Чтобы использовать Java на (веб) сервере, вам, вероятно, понадобится:
- установленная Java VM,
- контейнер сервлетов или полный сервер приложений, если вы будете использовать некоторые продвинутые технологии, такие как EJB.
Теоретически вы можете запустить веб-приложение без установленного контейнера сервлета, но для этого требуется встроенный контейнер сервлета или некоторый взлом. Большинство контейнеров сервлетов или серверов приложений можно использовать в качестве веб-серверов интерфейса, но если вы решите переместить их на один шаг назад за Apache httpd, то с помощью подключаемого модуля mod_jk вы сможете балансировать нагрузку. или прокси-запросы от веб-сервера Apache к вашему сервлет-контейнеру (обратите внимание, что можно использовать не только Tomcat: Glassfish и JBoss) и скрытие Java-контейнера от прямого веб-доступа, что обеспечивает дополнительный уровень безопасности и обработки нагрузки.
Если вы хотите запустить PHP и Java вместе, это возможно при небольшом взломе: используйте Quercus (который является реализацией языка PHP) на подходящем сервере (I '). Я бы предпочел Glassfish v3), упакуйте свое приложение в файл war, и вы сможете запускать большинство приложений PHP на сервере приложений Java (и нет, это не означает никакой медлительности).
И, конечно, если вы отодвинете исходное приложение Drupal из внешнего Apache в контейнер сервлетов Java-сервера, вы сможете запускать приложения Java и PHP бок о бок, и для Apache останется только одно задание: чтобы загрузить баланс. Если вам интересно, посмотрите Quercus and Drupal howto.
Еще одна вещь, которую я забыл: если вы хотите создавать новые плагины / модули Drupal в Java, это будет работать только с Quercus или если приложения Java и PHP подключены через веб-сервисы или межъязыковую среду, такую как Protobuf. или Thrift (таким образом, частью представления может быть плагин Drupal, написанный на PHP, и бизнес-логика на Java, работающая на удаленном сервере). Обратите внимание, что я не опытный разработчик плагинов для Drupal.