Help with choice of suitable Architecture

John J. Lee jjl at pobox.com
Sun May 29 18:12:05 EDT 2005


"Rob Cowie" <cowie.rob at gmail.com> writes:

> Thanks for the comments.
> 
> I kind of get the impression that CGI is the way to go for this
> application, and that I should forget about adding client-side
> scripting based functionality for the sake of accessibility - which I
> understand and kind of agree with.

I don't see any intrinsic reason for client-side scripting, or
JavaScript in particular, messing up accessibility.  One can fall back
to vanilla HTML+CSS for people who don't have JS turned on.  I don't
say it's easy, though.  I don't know what you intend the content of
your Masters to be, but this seems like an interesting and useful
thing to work on, and a fashionable topic to boot: write your app as
one piece of code that can run happily with JavaScript (and taking
advantage of AJAX) or without (without resort to if statements in your
application code, obviously ;-).

Personally, I'm anticipating the day I can change an import statement
in my Qt GUI applications and run them on the web (== JavaScript +
HTML + CSS + HTTP) <0.5 wink>.

In the mean time, I recommend Quixote (yes, you can run it on CGI).
Lots of people seem to like Twisted, too (nevow has some AJAX
support), though perhaps Twisted and CGI don't sensibly go together
(and I certainly understand the desire to avoid long-running server
processes).

If you're interested in new stuff, certainly take a look at Kamaelia
(after you've oriented yourself a bit by writing a tiny web app or
two!).


> I'll look into the problem of concurrent access to an XML file. I may
> get back to the group about this!

>From my own unpleasant experience, CGI + locking = pain.  At least if
you don't have full control of the server (even then, do yourself a
favour, use a DBMS, and let somebody else worry about some of the hard
parts of locking, transactions &c.).  Why not keep the XML in a
database blob, if somebody insists on an XML-based implementation?
Or, more sane, store your data in the DB, then just write out XML,
which presumably solves the *real* problem for which XML is the
solution (interoperability)?

have-the-appropriate-amount-of-fun-ly y'rs,


John



More information about the Python-list mailing list