Моя компания некоторое время использует XML-RPC, но в последнее время мне интересно, какая польза от XML-RPC по сравнению с простой XML. Во-первых, это ужасно "ожирение", считают:
<struct>
<member>
<name>ROOM_ID</name>
<value>
<int>1</int>
</value>
</member>
<member>
<name>CODE</name>
<value>
<string>MR-101</string>
</value>
</member>
<member>
<name>NAME</name>
<value>
<string>Math Room</string>
</value>
</member>
<member>
<name>CAPACITY</name>
<value>
<int>30</int>
</value>
</member>
</struct>
По сравнению с этим:
<room><ROOM_ID>1</ROOM_ID><CODE>MR-101</CODE>
<NAME>Math Room</NAME><CAPACITY>30</CAPACITY></room>
Или даже это:
<room ROOM_ID=1 CODE=MR-101 NAME="Math Room" CAPACITY=30 />
Во-вторых, XML-RPC кажется довольно распространенным, но не совсем повсеместным, и я не впечатлен поддержкой его в С++ и PHP. У меня были проблемы со всеми библиотеками, которые я пробовал на обоих языках.
В-третьих, мне кажется, что я мог делать удаленные вызовы процедур с простым XML так же легко, как с XML-RPC. {(9/9/2009): на каждом языке есть библиотеки для сериализации объектов уровня языка в XML. Как XML, так и XML-RPC требуют, чтобы схемы уровня приложений определялись, например, как должны быть написаны поля, но не требуется какая-либо дополнительная схема. Многие люди делают вызовы RPC с простым XML.}
Итак, каково значение-добавление XML-RPC?