Зачем использовать веб-службы вместо RPC между двумя внутренними процессами? - PullRequest
6 голосов
/ 03 января 2009

Может ли кто-нибудь предложить вескую причину использовать веб-сервисы вместо RPC (не xml-rpc) в качестве канала связи между двумя процессами C ++, которые будут разрабатываться одной и той же командой? Примечание: веб-сервисы не гарантируют заказанную доставку!

Ответы [ 4 ]

11 голосов
/ 03 января 2009

Когда у людей есть молоток, они склонны рассматривать все проблемы как гвозди. Вот почему люди склонны размещать веб-сервисы повсюду, как если бы это был единственный способ взаимодействия двух процессов.

В вашем случае RPC кажется лучшим выбором, большей производительностью, меньшим использованием памяти, более простым для реализации (в C ++) ...

6 голосов
/ 03 января 2009

Веб-сервисы хороши, когда вам нужно:

  • Поддержка многих языков и платформ
  • Приложения на основе SOA
  • Распределенные услуги

Если вам это не нужно или никогда не понадобится, тогда с RPC все в порядке. Если все процессы вашего приложения находятся на одном компьютере, и вам необходимо обмениваться данными между ними, RPC является вполне приемлемым решением.

2 голосов
/ 03 января 2009

Если вам не нужно делать ничего, кроме того, что может обрабатывать локальный RPC, и уверены, что никогда этого не сделаете, то нет никаких причин не использовать его.

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

Поскольку существует множество технологий, которые легко предоставляют архитектуру SOA, многоязычную поддержку, поддержку нескольких платформ и не требуют веб-сервера, если вы не используете ни один конец в качестве механизма доставки интерфейса пользователя , тогда действительно нет никаких требований к веб-серверу. На самом деле, такой зверь, загруженный чем-то вроде Websphere от IBM, будет иметь значительные затраты ресурсов. Лучшим архитектурным выбором будет что-то вроде CORBA. См. TAO для хорошего примера того, с чем можно поиграть.

...