Здравствуйте, Cyberax, Вы писали:
C>Сравни сложность разработки — распределенные приложения заметно сложнее
C>отлаживать и писать.
Сравнил. Обрати внимание на название инструмента в моей подписи

Там самое сложное -- это привыкнуть к асинхронности на первом этапе. Затем, при использовании нескольких дополнительных библиотечек, что монолитное, что распределенное приложение -- уже нет разницы. Так что инструменты здесь играют очень и очень важную роль.
>> Я говорил об RPC именно как о Remote Procedure Call, а call -- это
>> синхронный вызов. И вся цель RPC в том, чтобы скрыть от программиста
>> факт распределенности.
C>Такой RPC мне самому не нравится — слишком много проблем вызывает.
Так собственно это и есть RPC...
C>А вот что-нибудь типа JMS в Java — вполне себе ничего.
А вот это уже еще один вид IPC
>> Вот тестовые протоколы, которые должным образом структурируют информацию
>> (как, например, заголовки HTTP, XML, YAML) как раз позволяют
>> использовать подобный прием.
C>Просто сам по себе HTTP запрос представляет вызов одного метода примерно
C>такого типа:
C>C>int processData(std::map<std::string,std::string> params,
C> std::map<std::string,std::string> &result, std::string &result);
C>
Это если у тебя нет какого-нибудь автоматизированного сериализатора (вроде того, как gSOAP умеет C++ные структуры в XML и обратно преобразовывать).