[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