Building a new app in python and need some architecture advice.

Irmen de Jong irmen at -NOSPAM-REMOVETHIS-xs4all.nl
Mon Dec 8 20:24:19 EST 2003


Sam Watson wrote:

>>What do you mean exactly with "across the web"? Over HTTP? Port 80?
>>"in a secure fashion": SSL? Encrypted? Authentication? Authorization?
>>So many options ;-)
>>
> 
> I dont know exactly what i mean :)  It doesnt matter to me as long as
> its secure.  I dont really need stateless because this thing aint
> gonna scale past 10 users and keeping state solves a bunch o problems.

Well you have to define what "secure" is for you.
Secure can mean a lot of things.

> It sounds like pyro may do the trick here.   The thing it would seem I
> would be losing with pyro is the ease of iterating and linking maps
> and lists of objects.  Can I do this transparently with pyro?  

What makes you think you would lose that with Pyro?
(and not with other IPC protocols)
Pyro's goal is to make the network as transparent as possible
for the application programmer. So yes, you will be able to
access remote objects as lists etc. But it won't be very
fast if you iterate a 20,000 node list over the network.
Better grab the list as a whole over the network and iterate
the list locally.



>>>Twisted  (Is this overkill?)
>>
>>Don't know, depends on your type of server application I guess.
>>
> 
> its nothing special.  your basic data entry app with some minor
> reporting.  Simple as it gets.

IMHO Twisted is overkill then.
And you would still have to decide on the actual
communication protocol you'd be using...

>>>Pure sockets (a lot of infrastructure to write but im pretty
>>>experienced with it)
>>
>>Why write it when you don't have to (see other options).
>>
> 
> The only reason I would write it myself would be control, performance,
> and ultimate flexibility.  It doesnt seem very pythonish tho.

For the kind of app that you described it seems to me as if
you wouldn't want to spend a big chunk of your development time
on the communication stuff, and about performance: does a data
entry app have to shove 50Mbit/s over the network?


Cheers,
--Irmen.





More information about the Python-list mailing list