XML-RPC
Acceleration: Spent this morning hacking mod_gzip to to
understand "deflate" compression. If you drop this hack into
your webserver (and use a smart XML-RPC client), you'll
probably cut your outbound XML-RPC network traffic by a
factor of 10.
It's very experimental--I can make it dump core--but it's
the start of something moderately nifty. Combine this with
boxcarring,
and you're beginning to get some decent scalabity and
throughput.
Binary Data: I also spoke with several of Flight Gear
developers (all very cool folks), and discussed the
possibility of XML-RPC without any XML. Basically, a client
and server could negotiate away the XML layer, and transmit
raw binary data structures to each other. You'd keep all the
fun features of XML-RPC (the introspection, the dynamic
data, the 750-line clients), but get enterprise-grade RPC
when you really needed it.
The hard part of this would be the design, not the
implementation. How do you hide the funky new features from
the less-advanced clients, and how do you activate the new
protocol?
Introspection: I wrote a script called
xml-rpc-api2txt. Give it the URL of a server, and it
will print out a nicely-formatted interface specification,
complete with documentation. I fixed it to play nicely with
Meerkat, too--O'Reilly was preformatting some of their
documentation strings, which was messing up Perl's
formatting commands.
Now, who wants to hack this script to automatically generate
C++ and Java classes for a given server? :-)
Community: Yikes! Things are really starting
to move. I got piles of e-mail today, half of which
contained patches and the other half of which contained
great ideas.
SourceForge: Is full of bugs.