Hem

Paraframe

Ändra sidan Visa ditt intresse Ämne 609580, v2 - Status: normal.
Av Jonas Liljegren
härstammar från Ritframe
Upphovsrätt Jonas Liljegren

Ett ramverk för Webbapplikationer i Perl, med Template Toolkit.

Alias: para::frame och paraframe

normal

Jonas Liljegren utvecklade Paraframe som ett ramverk för Paranormal.se och andra webblatser. Programkoden har växt och utvecklats sedan webbplatsens begynnelse.

Steget till Paraframe var stort och krävde att nästan all existerande programkod fick renskrivas. Bytet gjordes natten till fredagen den 23:e september 2005.

Para::Frame:: består av de generella komponenterna, medan Para:: består av det som gäller speciellt för Paranormal.se.

Paraframe körs i en egen process som representerar en specifik applikation. En sådan applikation kan sköta flera webbplatser.

Flera applikationer kan köras samtidigt. När webbservern (apache) tar emot en sidförfrågan, används Para::Frame::Client under mod_perl för att skicka förfrågan vidare till en av applikationerna. Vilken den skickas till bestäms i apache-konfigurationen (.htaccess) där portnumret till applikationen anges. Skulle det uppstå ett fel försöker klienten några gånger till. Slutligen försöker den med en backup-port eller hänvisar till en backup-webbplats.

En vakthund, kontrollerar att allt fungerar och startar om applikationen om så behövs.

Syftet är att kunna ha så mycket som möjligt av programkod och ofta använda objekt i minnet för att göra systemet effektivare. Då inte flera processer jobbar mot samma databas kan objekten användas direkt. Risk för inkonsekvent data minskar. Den totala minnesanvändningen minskar också då det inte behövs flera processer som jobbar med samma sak.

Paraframe använder en kombination av jobblista och forks för att ta hand om sidförfrågningar utan att väntetiden blir för stor.