[Freeipa-devel] more funky interface stuff

Rob Crittenden rcritten at redhat.com
Thu Nov 29 20:09:11 UTC 2007


I've looked into some more questions raised about the interfaces.

One is why rpcclient.py and ipaclient.py?

ipaclient.py was created because of the ticket forwarding issue we had 
early on. Since we didn't have a ticket for the UI we wouldn't be able 
to use the XML-RPC interface directly, so instead we wrote a thin 
wrapper which called into the XML-RPC backend functions directly 
(instead of over XML-RPC which required a ticket)

This is also why ipaclient.py has to do calls to toDict() but doesn't 
have to unwrap binary data. Conversions that are done in XML-RPC 
interface are not done when talking directly to the backend, hence the 
need to, or not, do them in ipaclient.py.

Now that we do have ticket forwarding working in TurboGears it may be 
possible to switch to rpcclient.py. This would have the added benefit of 
being able to move the UI code onto a separate web server at some point. 
The downside is that it would likely slow down the UI a bit and it would 
hit the KDC a lot harder.

I can investigate this further if desired but it might take a day or two 
to work out all the details (and time is already short).

rpcclient.py is there to remove code complexity from the admin tools. I 
needed an RPC client to make calls, it seemed to make sense to mirror 
the XML-RPC interface in it. It also does the None -> __NONE__ 
conversion for us and handles doing the data conversions (unwrapping 
binary data). The functions all look more or less the same, and there 
may be a way to consolidate it down, this was the most expedient way to 
do it. I didn't want to abstract out the XML-RPC interface, just make 
calling it easier.

If there are any specific things to look at just let me know. Or we can 
do this as part of the API review.

rob
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3245 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://listman.redhat.com/archives/freeipa-devel/attachments/20071129/34c52d9c/attachment.bin>


More information about the Freeipa-devel mailing list