на одном компе я отправляю в межмодульную шину сложный объект, унаследованный от абстрактного объекта-сообщения. вообщем то, на таких объектах построена большая часть взаимодействий бизнес-логики в программе.
специальный метапарсер превращает этот объект(внезависимости от сложности) в xml-ину, отправляет эту xml в специальное расширение xmpp, которое формирует станзу с полученной структурой внутри и засылает по известному адресу в джабере.
на другом компе к этому адресу подключена точно такая же программа, которая обратно преобразует xml-ину в экземпляр объекта-сообщения(просто так, по имени типа и парсингу структуры) и посылает его в межмодульную шину, к которой подключён модуль с бизнес-логикой.
этот модуль, реагируя на тип того или иного сообщения, выполняет нужные операции. то есть, модуль не видит разницы между сообщением из сети и сообщением из другого модуля, подключённого к шине в этом же экземпляре программы.