Java с Drupal-6 / PHP - PullRequest
       16

Java с Drupal-6 / PHP

1 голос
/ 06 января 2010

Мне очень не нравится PHP, но я довольно удобен в Java. У меня есть стабильная установка Drupal, которая была развернута на сервере Apache / Linux. Я не знаю, поддерживает ли сервер в настоящее время Java. (Что нужно для этого? У меня есть программирование в настольных приложениях для Java, но никогда раньше не было в сети.)

Для разработки новых модулей для моего сайта, есть ли способ, которым я могу написать Java и каким-то образом заставить его работать с PHP?

Ответы [ 3 ]

4 голосов
/ 06 января 2010

Чтобы использовать 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.

3 голосов
/ 06 января 2010

Вам гораздо лучше просто кусать пули и разрабатывать любые пользовательские модули на PHP. Даже если вам придется выучить немного PHP, он будет намного чище, удобнее в обслуживании и, возможно, даже быстрее.

1 голос
/ 28 июля 2011

Я чувствую вашу боль, но серьезно изучаю PHP и пишу модули на PHP для Drupal. Вы удивитесь, насколько хорошо Drupal API написан и задокументирован.

Java можно использовать, если у вас запущена другая система, и вам нужны две для связи. Java может быть посредником для сравнения пользовательских таблиц, их обновления и т. Д.

Это также может быть сделано в PHP, но Java, вероятно, более эффективна (не цитируйте меня)

В моей ситуации я запускаю PHP на MySQL, а другая система работает на .NET / SQL Server, поэтому я намерен использовать java для экспорта данных и управления средней таблицей между ними, поэтому ни PHP, ни .NET не должны выполнять большие запросы на их соответствующие базы данных.

Есть шанс плохо придерживаться PHP, хотя держать языки на минимуме ... все еще думая об этом.

...