PHP-Java Bridge vs. RESTful WebService: Что касается производительности, которая лучше?

У нас есть система Drupal (PHP) CMS, которая быстро выработала свои первоначальные требования. С тех пор был создан бэкэнд Java, который теперь выполняет большую часть функциональных возможностей. Эти два сообщения используют RESTful WS. Обе системы работают на одном сервере, поэтому это локальный вызов WS. Несмотря на то, что это локальный звонок, он чувствует себя слишком неуклюжим, и я чувствую, что мы не должны использовать веб-службы для этой интеграции.

Я считаю, что модем phpjava будет лучше выполнять (http://php-java-bridge.sourceforge.net/pjb/), поскольку они утверждают, что он в 50 раз быстрее, чем локальный вызов RPC через SOAP. Я вижу, что мост php-java использует потоки XML, поэтому я бы подумал, что производительность будет похожа на XML-RPC.

Я знаю, что лучший способ ответить на это – написать POC, но это невозможно из-за ограничений по времени (сжатые сроки). Поэтому мой вопрос заключается в том, что кто-то сравнивает их или может кто-нибудь дать представление об их опыте, связанном с двумя технологиями. В частности, информация о производительности.

Заранее спасибо.

У меня была аналогичная ситуация, но в конечном итоге я решил реализовать с JSON и REST, а не с php-java-мостом. Сниженная сложность и большее повторное использование сервисов, подвергнутых воздействию REST, перевешивают необходимость повышения производительности.

Некоторые мысли

  1. Предоставляет ли ваш RESTFul WS ресурсы в формате JSON? Процесс JSon легче и быстрее обрабатывается, чем XML
  2. Не стоит забывать, что SOAP проходит проверку через данный XSD, возможно, эта структура не использует XSD для выполнения проверки (что может быть рискованным)
  3. Вышеприведенное решение соответствует JSR 223, который является JSR Script Script – это хорошо – как если бы вы были в состоянии заменить его другими поставщиками
  4. Я вижу, что он использует быстрый HTTP-сервер CGI – от того, что я знаю, это очень масштабируемое с очень хорошей производительностью CGI.

Похоже, это может быть хорошим кандидатом – протокол оптимизирован по сравнению с SOAP (у меня есть опыт работы с SOAP).

В заключение – если ваш веб-сервис RESTFul не может предоставить SOAP – я бы рассмотрел этот подход, однако вам нужно проверить, что drupal работает с FastCGI.