Re: Example of web application done right?
thumb_42_at_yahoo.com
Date: 02/15/04
- Next message: Matt Garrish: "Re: Quoting does not work in replace?"
- Previous message: Kevin Michael Vail: "Re: Quoting does not work in replace?"
- In reply to: Glen Pfeiffer: "Example of web application done right?"
- Next in thread: Simon McCaughey: "Re: Example of web application done right?"
- Reply: Simon McCaughey: "Re: Example of web application done right?"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: Sun, 15 Feb 2004 22:39:10 GMT
Glen Pfeiffer <glen_ap@noyahoospam.com> wrote:
> Hi all. I am building a new web application and am evaluating different
> technologies. I was wondering if anyone can recommend a large web
> application in Perl that was "done right" so I can look at the source
> code to evaluate it and determine if I want to use Perl.
>
> This is not a "What is the best language?" question. I merely want to
> look at an application that is easy to extend/modify/maintain which
> separates logic from display code, and compare it to some other
> applications done in other languages. I have experience building large
> sites in other languages, but not in Perl. Some thoughts I have had are
> WebGUI, YaBB and YAWP.
I can't give you the code, as it was proprietary :-( But I can explain the
design:
We used an 'N'-tier model, with perl daemon(s) running on several machines.
The web portion used a distributed directory to look for a list of back-ends
that were currently available, contacted the backend, submitted the
operation(s) and processed the results. (here operations would refer to
database inserts, user add, queries, fetching mirrored file data, etc..)
The idea was that these back-ends would do all the heavy lifting, provide
additional scale (need more processing? add more machines) and completely
abstract the database from the web front.
The back-end contacted a database for a great deal of it's work. To
accomplish portability (and improve maintenance) we used an XML format for
each SQL statement the system used. (this was of course, cached. we didn't
parse the document every time we needed a database operation) this XML
document of SQL statements proved very useful, we were able to port
everything from postgresql to DB2 in about 45 minutes. :-) It also proved
extremely useful for tuning later on as the database grew in size, the
SQL was clearly visable and easily modified by altering this one document.
Keeping database handles around on the web side proved to be very
problematic, even with mod_perl. I would not recommend it. We ended up
ripping every bit of code that referred to a database handle out of the web
front.
We were successfully able to take down any machine for maintenance without a
service outage, with the exception of the database server. (and we did take
down the servers 1 by one on a few occassions w/out service outages)
This was a very important feature for this project, because as you know,
servers need upgrades and maintenance. Having redundancy is important, but
everything has to be designed to work in that type of environment.
In theory, we would have been able to take down the database server too
if we had the license and hardware to mirror it, and/or had designed some
of these back-ends to "queue" data inserts.
As far as the web front.. I would really not recommend perl for this
portion. (at this time) But, if you're going to do it, keep it a very simple
model-view-controller, and use a templating system that makes sense for your
needs. Be very wary of any session handling, as soon as you need session
data you'll have a mess in keeping synchronized sessions across multiple web
hosts. (session handling was by far the biggest issue we had with this
thing)
Jamie
- Next message: Matt Garrish: "Re: Quoting does not work in replace?"
- Previous message: Kevin Michael Vail: "Re: Quoting does not work in replace?"
- In reply to: Glen Pfeiffer: "Example of web application done right?"
- Next in thread: Simon McCaughey: "Re: Example of web application done right?"
- Reply: Simon McCaughey: "Re: Example of web application done right?"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Relevant Pages
|