Hi, I want to write a small system that is transaction based.
I want to split the GUI front end data entry away from the file handling and record keeping. Now it seems almost trivially easy using the sockets module to communicate between machines on the same LAN, so that I want to do the record keeping on one machine. I want to keep the "server" machine as simple as possible - just doing record keeping on a stimulus response basis - I would prefer it to do one thing at a time to completion because this style of operation, though limited in performance, keeps a lot of hassles out of life - a transaction has either completed, or it has not - recovery scenarios are relatively easy... Up to this point, I don't have a problem - my toy system can create a dummy transaction, and I can echo it from the "server" machine, with more than one "user" machine running - so I think it is feasible to have several tens of "data entry terminal" systems running, served by one not very strong machine. Now what I would really like to do is to differentiate between the 'User" machines, so that some can do a full range of transactions, and others a limited range. And I would like to make this flexible, so that it becomes easy to introduce new transactions, without having to run around updating the code in all the user machines, with the concomitant version number hassles. And I would like to do the whole thing in python - so my question is this - is it possible to do the equivalent of dynamic linking? - i.e. if I keep a list of what a user is allowed to do - can I somehow send him just the bits he needs to do the job, without having to change the static code on his machine? - it seems to me that the eval() thingy could possibly do this for me, by sending it data that makes it do import statements followed by calls to whatever... - will this work, or is there a better way? Or has all this been done already? - and no I don't want a web server and php and browsers and Java and html or xml... - I want to write something that works simply and reliably - its just short message accounting type data... - Hendrik -- http://mail.python.org/mailman/listinfo/python-list