У меня есть простой рабочий пример «Привет, мир», где у меня есть веб-служба Spring на сервере Apache Tomcat. У меня есть это за брандмауэром, а затем в моей DMZ у меня есть HTTP-сервер Apache, где я использую веб-службу Spring с использованием PHP.
Как привет мир это работает. Я хочу перейти к следующему шагу и реализовать CRUD, подключаясь к серверу MySQL также внутри сети, и я хочу сделать это с правильной архитектурой MVC.
Буду ли я прав, говоря, что моим представлением всегда будет PHP / HTML на HTTP-сервере Apache, а мои контроллеры и модели будут реализованы на Tomcat, который фактически будет моим сервером приложений? Что обеспечит связь с базой данных, контроллером или моделью?
Мой аргумент в пользу настоящего представления в PHP в отличие от Java заключается в использовании навыков небольшой группы программистов, которые у меня есть. Я хочу, чтобы ребята из PHP сконцентрировались на внешнем виде и графическом интерфейсе сайта, в то время как сторона Java / Spring сконцентрировалась бы на бизнес-логике, но я немного борюсь с тем, куда движется каждая часть, когда вы реализуете MVC на 3-уровневой архитектуре.
Если вы хотите, вы можете использовать PHP в качестве движка шаблонов для генерации представлений с использованием Spring MVC. Ты можешь использовать Quercus, Java-реализация PHP (поддерживает PHP 5) и создание Spring MVC View
реализация из этого. Затем View
Реализация может использоваться для анализа PHP-скриптов, как и любая другая технология представления, поддерживаемая Spring MVC (например, JSP, JSTL, FreeMarker, Velocity и т. д.). См мой пример приложения для страницы, созданной с использованием шаблона PHP и Spring MVC. Исходный код связан с примером.
В большинстве случаев вам нужен только один внутренний язык. И PHP, и Java являются внутренними языками, поэтому вам придется выбирать между ними. Если ваша бизнес-логика уже написана на Java, вам нужно только использовать HTML для достижения своей цели. Вам понадобится PHP, только если вы хотите отказаться от Java в целях бизнес-логики.
Что-то, чего я не понимаю, PHP и Java оба являются внутренними языками, зачем вам оба они нужны вместе. В идеале вы должны выбрать один. Также такую сложную инфраструктуру сложно поддерживать. Всегда лучше внедрять чистые вещи, а не сожалеть. Я бы предложил выбрать один язык бэкэнда.