Использование Java в бэкенде веб-приложения и php в промежуточном ПО - PullRequest
1 голос
/ 13 января 2011

Я с нетерпением жду разработки социального веб-приложения с использованием Java в бэкэнде (для поддержки операций из базы данных Cassandra) и php в промежуточном программном обеспечении. Является ли такой подход полезным? Есть ли недостатки в вышеуказанной стратегии?

Есть ли другие лучшие варианты для обеспечения масштабируемой архитектуры?

Редактировать: Что вы, ребята, думаете о том, чтобы сделать это полностью в JAVA (J2EE)?

Ответы [ 3 ]

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

Смешивание PHP и Java делает несколько вещей:

  1. Вы теряете преимущество тесной интеграции между PHP и MySQL, так как Java поместится посередине (возможно, с большим количеством сложного спагетти-кода).
  2. Вы представляете сложный слой Controller между PHP View и моделью Java, который можно легко обработать, используя проекты с открытым исходным кодом MVC, такие как Spring MVC или Struts 2.
  3. Вы создаете больший барьер для новых разработчики, которые знакомятся с код, так как им придется учиться оба языка программирования.

Я лично выступаю за архитектуру Struts 2 MVC с интеграцией Spring для обработки вашего доступа к данным с использованием Hibernate или IBatis или любой другой службы / серверной части, к которой вы, возможно, подключаете свой уровень модели.

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

2 голосов
/ 13 января 2011

Недостатком является наличие нескольких технологий программирования для продукта, который, как вы его описали, еще даже не начался, когда один из них мог бы пока отвечать всем требованиям, пока вы полностью не определите, как программа собирается развиваться и меняться. То, как вы думаете, что-то будет происходить сегодня, это не то, как они получатся, когда проект будет завершен. Создавая многоуровневую / многогранную среду выполнения программ, вы будете создавать кошмар отладки, масштабирования и разработки. Поднимитесь с земли, а затем пересмотрите свои требования, чтобы увидеть, нужны ли эти чрезвычайно сложные конструкции.

1 голос
/ 13 января 2011

Я вообще думаю, что это хороший подход, если вы можете управлять дополнительной сложностью.Преимущества:

  • Разработка PHP гораздо более продуктивна и более проста в освоении, чем разработка Java
  • PHP, по моему опыту, часто лучше подходит для веб-требований
  • У вас все еще есть вся мощь Java в вашем бэкэнде
  • Это способ, которым Facebook делает это: (даже если они "прокачали" свой PHP http://developers.facebook.com/blog/post/358) front-End-> PHP, backend-> некоторый другой язык: http://developers.facebook.com/blog/post/354

Опять же, как отметил Джеффри Вагнер, это добавляет много сложности, и вы должны быть уверены, что вам нужны такие настройки.

...