PHP и Java EE Backend - PullRequest
       35

PHP и Java EE Backend

2 голосов
/ 02 сентября 2008

Могу ли я использовать Struts в качестве бэкенда и PHP в качестве внешнего интерфейса для веб-приложения? Если да, то каковы могут быть последствия.

Ответы [ 4 ]

3 голосов
/ 04 сентября 2008

Первое, что пришло на ум, это Quercus (от создателей сервлета Resin), как упоминал Джорди. Это Java-реализация среды выполнения PHP, которая якобы позволяет вам получать доступ к объектам Java напрямую из вашего PHP (часть меня говорит: «Да, наконец-то»).

С другой стороны, хотя мне не терпелось попробовать проект таким образом, я бы, вероятно, сохранил разделение между Java EE и PHP, если бы не было реальной причины для интеграции на уровне кода.

Вместо этого, почему бы вам не попробовать подход SOA , где ваш PHP-интерфейс вызывает в приложении Struts через определенный REST или SOAP API (здесь решающий голос за REST) ​​через HTTP ,

http://mydomain.com/rest/this-is-a-method-call?parameter1=foo

Вы можете использовать Struts для построения всей своей "бэкэнд-модели", работающей только с бизнес-логикой и данными и полностью игнорирующей представление. Поскольку вы предоставляете API с этими URL-адресами, и вы в основном создаете REST API (который может пригодиться позже, если вам когда-нибудь понадобится предоставить больший доступ к вашему бэкэнду, возможно, с помощью других клиентских приложений).

Ваше PHP-приложение может быть построено отдельно (и довольно тонко), вызывая REST API (возможно, с использованием Curl), как если бы оно вызывало базу данных или некоторую собственную библиотеку классов PHP.

Во всяком случае, это то, что я бы сделал. Но, если вы используете Quercus, пожалуйста, напишите, как все прошло.

1 голос
/ 02 сентября 2008

Я не знаю много о Java, но я помню, как сталкивался с Quercus некоторое время назад. Это 100% Java-интерпретатор для PHP-кода.

Так что да, вы можете иметь шаблоны PHP в своем приложении Java. Обновление : см. Quercus: PHP в Java для получения дополнительной информации.

0 голосов
/ 02 сентября 2008

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

Я бы представил, что ответом будет "нет", не без какого-то моста между сессией Structs и PHP.

Если вы скажете изменить x на 3 в java в действии структурирования, вы не сможете просто выполнить <? Php echo x?> Или что-то еще, чтобы получить значение, вам нужно каким-то образом передавать эту информацию взад-вперед.

Впрочем, отправка будет в порядке.

Не рекомендуется, хотя.

0 голосов
/ 02 сентября 2008

Что вы подразумеваете под бэкэнд и и интерфейс?

Если вы имеете в виду использование Java для административной стороны вашего сайта и PHP для той части, которую увидит публика, то ничто не остановит вас.

Смысл в том, что вам придется поддерживать два приложения на разных языках.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...