ok, there exist some main differences to things like CORBA or DCOM: 0. XMLRPC is more simple, sort of out-of-the-box you dont need very complicated Object Request Brokers for your client. You just need xmlrpclib.py, a small 20 K beast in your PythonPath, - no install of complicated ORB's on the client-side. with python >= 2.0 xmlrpclib is included 1. XMLRPC itself is (only) late-bound - with CORBA and DCOM you define interface by writing .idl definition files and generate stub classes that you use inside your client. DCOM can be also be used late-bound, I dont know about CORBA in that matter. when your call to te server does not match to ot's interface the error occurs an run-time. This feature is not difficult to live with for Python programmers, at least for me 8-) 2. Since XMLRPC is transported by HTTP it is stateless. when you do this: ob=xmlrpclib.Server('.........') ob.doThis() ob.doThat(bla,blorf) res=ob.getSomeResult() in CORBA/DCOM it creates an object reference that is held on the server-side during the whole transaction and released when 'ob' comes out of scope or is intentionally released by the client side. In XMLRPC the object reference is evaluated for every atomic call to the server (see xmlrpclib.py for better understanding). the xmlrpclib.Server(...) just prepares the URL used by xmlrpclib, it is not a real call to the server !! so in XMLRPC you have to design your Server so that transactions have to happen within a single call to the server. If you know that you can deal with it. 3. Performance. well, for every call xmlpclib has to marshal and unmarhal ( thats the most effort ) your method calls as XML chunks. by default xmlrpclib uses xmllib.XMLParser (slow, but buiilt-in). but you can tune xmllib by using sgmlop (speeds up marshalling to 10-15x) xmlrpc fits perfect for remote calls where you have few calls to functions to the server where each function runs long compared to the transport time. Design your interface so, that transactions can be done within single calls to the server !! If you keep these primciles in mind xmlrpclib can make life easy! phil Am Fre, 2001-12-07 um 19.33 schrieb Jason Earl:
Hmm... I actually know *how* to use XML-RPC, in fact I think that it is incredibly slick. Currently I am using it to enter email messages into a PostgreSQL database. I already had the logic to do this in Zope, and so it seemed a shame to not reuse it.
So far this has worked really well, but I was concerned about how well tested this sort of thing is, and how well it scales.