pondělí 15. srpna 2005

FastRPC - binární XML-RPC

Jak informoval Chose, vývojáři společnosti Seznam.cz rozšířili open source rodinu o další projekt. FastRPC je XML-RPC, které používá pro přenos data serializovaná do binární podoby.

Kouzlo FastRPc by mělo ležet právě v onom úsporném binárním formátu, jak píše Chose

...protokol FastRPC, který je nejvíce užitečný u vysoko zátěžových aplikací, které vyžadují vysoký výkon, rychlost a minimální přenos zbytečných dat. Toto je možné díky tomu, že FastRPC je vlastně binární verze klasického XML-RPC.

Toto tvrzení zdá se mi poněkud diskutabilní. Troufám si tvrdit, že XML-RPC je sám o sobě lightweight protokol, který žádné problémy s rychlostí nezpůsobuje. Změnou plain textu za binární formu se sice dosáhne úspory v datovém přenosu, ale může dojít k binárním nekompatibilitám při serializaci/deserializaci na heterogenních systémech. Právě z důvodů interoperability se preferuje XML resp. plain text, alespoň dokud tu nebude standard v podobě binárního XML viz Akta X 0309.

Je otázkou, pokud bylo motivem ušetření datového přenosu, proč se nepoužili standardní prostředky, které nabízí HTTP protokol. Pomocí komprese, kterou je možno v rámci HTTP použít, by šlo dosáhnout velice dobré úspory co do velikosti přenášených dat. Bylo by velice zajímavé porovnat FastRPC oproti komprimovanému XML-RPC. Nadto by mě zajímalo jaké je "výkonový nárůst" binárního XML-RPC oproti klasickému XML-RPC.