Hi
As John suggested these are changes that IMO would ease writng transport
plugins:

I think that the apache xmlrpc should be transport independant
framework, as such

- shouldn't have any http specific classes;
http classes should be moved to their own package

- shouldn't have any http specific methods;
methods like XmlRpc.setKeepAlive() should be moved to the plugin

- shouldn't assume that the transport isn't XML already, which implies
shouldn't care about encoding

- shouldn't assume anyting about low level connections;
e.g. while http can use connection per request-response, jabber uses
connection per resource on server side and usually 1 connection for
whole communication on client side.

** those features allow people to use the framework with
other RPCs, even non-XML ones

- should allow plugin to define its own representation of message;

- should allow plugin to define own SAX handlers and possibly even SAX
driver;

- client code shouldn't care about transport layer;
url is enough to guess which one to use, plugins could register much
like drivers in JDBC


That's all, at least for now.

It may appear that plugin have to redefine everything, but the idea is
the plugin provides those components that are different than in
traditional XML-RPC and rest takes from HTTP plugin.


When client uses this framework with default transport, he gets XML-RPC
compilance, on the other hand architecture remains open and people may
do whatever they want.

Regards

Reply via email to