Как добавить бэкэнд Java на существующий сайт PHP без добавления сервера Tomcat для Java Bridge? - PullRequest
5 голосов
/ 27 ноября 2010

В настоящее время мы используем PHP для наших сайтов. Теперь мы думаем о написании бэкэнда на Java из-за безопасности типов языка и доступности всех видов инструментов для Java. Я читал о Java Bridge, и теперь мне интересно, как это настроить.

Мы используем PHP уже через Apache. Я читал, что для использования Java Bridge мне нужно также установить Tomcat. Это означает, что у меня есть два сервера (Apache и Tomcat), и мне нужно повысить безопасность бэкэнда, потому что он внезапно открыт для всего мира ... Я что-то упустил? Есть ли другой способ установить соединение PHP-Java без дополнительного сервера? Как это обычно делается?

Будем весьма благодарны за любые указания или ссылки о том, как это сделать, или за рекомендациями по его настройке. Я не нашел официальный сайт Java Bridge очень ясным. Спасибо!

Ответы [ 4 ]

3 голосов
/ 22 января 2011

Вам не нужен кот.Согласно инструкциям вы можете запустить Java как

java -Djava.ext.dirs = lib -jar JavaBridge.jar HTTP_LOCAL: 8080 2 logfile &

lib содержит библиотеки Java, которые вы хотите использовать.

Питер

3 голосов
/ 10 декабря 2010

В настоящее время я тестирую использование моста Zend Java. Две недели назад я тестировал PHP / Java мост с открытым исходным кодом . Этот требует, чтобы вы поместили ваши классы Java в войну, развернутую на веб-сервере (я использовал Tomcat 6). Решение Zend не требует веб-сервера. Если вы помещаете свою бизнес-логику в простые классы Java, вы просто заключаете свои классы в один (или несколько) jar. Затем вы запускаете демон Zend Java Bridge в JVM, передавая -classpath банку моста Zend Java так же, как и собственную банку

Ex из окна DOS:

C: \ Development \ ToolsPHP \ ZendServer \ bin> java -класс пути javamw.jar; mybusinesslogic.jar -Dzend.javamw.port = 10002 com.zend.javamw.JavaServer .

Здесь я должен был указать порт, поскольку порт 10001, который является мостом по умолчанию, уже используется (используйте netstat -a для обнаружения конфликтов портов). Обратите внимание, что решение Zend работает только в том случае, если ваш php-скрипт выполняется на сервере Apache, управляемом сервером Zend (сообщество или коммерческая версия), и запущена служба моста Zend Java с портом 10002 с консолью администратора Zend-сервера. .

Для реализации своей бизнес-логики я планирую использовать простые Java pojo, Spring, JPA и Hibernate.

0 голосов
/ 10 декабря 2010

Вы можете посмотреть на Gearman.это не совсем то, что вы ищете, но это позволяет клиентам и работникам на разных языках.В качестве приятного побочного эффекта это позволяет параллельную обработку с фоновыми заданиями;)

0 голосов
/ 27 ноября 2010

Хорошо, я не эксперт в этом.В принципе, даже не одноглазый.Но на самом деле ваши варианты следующие:

. Для JavaBridge вам необходим сервер TomCat .
. В Zend Server CE также имеется JavaBridge.
А есть
Quercus

Ну и старое расширение PHP4

...