Danke für Deine Rückmeldung. Das Wichtigste ist eine abstrakte Denk- und Arbeitsweise beim Programmieren: Verpackungen sind abstrakte Layer und damit austauschbar.
Bspw. überarbeite ich z.Z. mein Remote Management. Mein RPC-Client nennt den Layer namentlich im HTTP-Request-Header:
Content-Type: application/xml
So wird serverseitig automatisch die passende Library geladen und das Response-Objekt, welches die Remote-Methoden ausführt, greift gewohnt mit $self->param('methodname') auf die Schlüssel in der übertragenen Datenstruktur.
Andere Verpackung: bserialize/av (av steht für Attribute Value)
Layer austauschen ist nur noch eine Angelegenheit von wenigen Minuten, in der serverseitigen Subklasse muss dafür nicht eine einzige Zeile Code geändert werden, d.h., nur noch der RPC-Client entscheidet über die Art und Weise der Verpackung, das ist der Hack!
Fürs darüber nachdenken hab ich allerdings ein paar Tage gebraucht ;)