Я написал многоуровневое веб-приложение, которое состоит из полнофункционального веб-клиента (PHP), который взаимодействует с java-сервисом. Веб-клиент размещается на сервере apache, а служба Java работает на том же физическом компьютере (повторюсь: все приложение, клиент и служба работают на одном физическом компьютере).
Запрос пользователя -> DB ‹- Poller -> RequestHandler -> StoreResult в БД -> веб-клиент обновляет страницу с результатом (AJAX).
Связь между клиентом и службой использует реляционную базу данных для передачи сообщений. Служба Java имеет однопоточный опросчик, который ищет и затем обрабатывает любые сообщения / запросы от клиента. Система работает, но я не уверен в своем выборе дизайна.
Есть ли у кого-нибудь комментарии по поводу этой стратегии? Я читал, что использование базы данных в качестве антипаттерна IPC - плохая практика или, по крайней мере, неподходящая. Однако альтернативы - XMLRPC, именованные каналы - похоже, связаны с дополнительными зависимостями.
Спасибо, что искали.