[fria24] Teknikval

Jakob Carlsson esrange at paranormal.se
Tors Nov 17 16:06:25 CET 2005


> Att använda sig av Drupal är en bra PR-grejj också. Om vi använder PHP och
> MySQL till plattformen som är fri så kan vi enkelt rekommendera LAMP och
> vi kan t.o.m. göra en CD-skiva som installerar Linux, Apache, Php, MySQL,
> Drupal och alla saker till Fria24. På det visset blir det mer aktuellt för
> myndigheterna att byta till Linux.

Det är en oerhört stor PR-grej att kunna göra en CD-skiva lite sådär
enkelt eller flera om det skulle behövas och skicka över till mydingheten
som vill ha Fria24.


> Jag tror det är en bra idé att börja med en grund på PHP och sedan
> utveckla mer avancerade tjänster i andra språk om det krävs. PHP är också
> väldigt lätt att lära sig om man kan ett annat språk. Syntaxen är lik
> många andra, det svåra är väl att lära sig alla funktioner, men det finns
> ju massor med bra dokumentation. Att det är ett lätt språk som många
> känner till, det lärs ut mycket PHP i gymnasieskolorna idag bl.a, är en
> fördel för då kanske fler vågar prova Fria24 för att det finns kompetens
> inom PHP.

Att utveckla inom hela systemet i PHP är inte direkt möjligt men att börja
med PHP och sen om kommunen/myndigheten vill ha en skrivbordsklient som
inte är webbaserad så kan man skriva det i Java/C++ och även en server för
dessa klienter som sköter alla ändringar i databaser och annat som kan
tänkas behövas. Men jag tror att vi ska börja med att skriva det i PHP och
med ett webbgränssnitt mot alla användare för PHP är ett av dom mest
spridda språken för webbprogrammering idag vilket leder till att
kommunen/myndigheten inte behöver leta lika mycket för att hitta någon som
kan lägga till det dom behöver sen vid ett senare tillfälle.


> Tänk på att vi inte skall bygga en webb-sida, vi skall bygga
> applikationer, och eftersom jag jobbar med att bygga applikationer så
> vet jag att barar för att man använder ett snyggt CMS så betyder det
> inte att det hjälper en när man skall koda sin applikation.

Att använda ett CMS som bas när man ska skapa en applikation hjälper inte
mycket, det har du rätt i, men Drupal har en bra template-motor och andra
trevliga småsaker som man kan ha nytta av för att skapa ett interface mot
användaren som inte ser ut exakt som det dom andra
kommunerna/myndigheterna har på Fria24 utan som visar vem det är som står
för tjänsten.

Sen att jag blivit lite smått förälskad i Drupal efter att ha lekt lite
med SeLinux installation av det är en annan sak. Det fina med Drupal är
att det är skrivet i PHP och vi är många som kan PHP (fler än dom som kan
Python), det är ju ganska enkelt att ta en tjänst/plattform/färdig produkt
och gå in och ändra i den, ta bort det man inte behöver och lägga till det
man behöver för att på det sättet få en färdig produkt.

Om vi kör en CMS som "bas" i applikationen kan man ju mycket väl låta
CMS-delen vara orörd och den kan då användas till att serva
kommunens/myndighetens hemsida och låta alla anställda redigera olika
delar av hemsidan utan en massa extra kunskaper (vilket ju är en av
meningarna med CMS).


> Ex.vis är det ingen av PHP-förespråkarna som har nämnt att det finns
> litet olika ramverk för att bygga MVC applikationer i PHP:

Vad jag vet så är inte MVC riktigt något som passar in i PHP och
egentligen inte det som vi ska använda som arkitektur, det som är mer
intressant för ett system i den här storleken är nog 3-tier/n-tier.


Om jag fick välja språk och teknik för hur vi skulle lösa det här så
skulle jag inte välja PHP, inte heller Python eller Java eller C++ eller
något annat. Jag skulle välja att skriva det hela i Perl med en deamon som
har hand om all kommunikation med databaser (bland annat genom SHS) och
liknande
samt en front-end i Perl som använder sig av Template Toolkit 
(www.template-toolkit.org) för layout och pratar med back-end (demonen)
via TCP/IP, vilket då gör att back-end och front-end kan köras på olika
fysiska servrar och maskinen med känslig information blir inte lika utsatt
som om den ska agera webbserver också.

Så mitt förslag:
* Front-end: Perl + Template Toolkit
* Back-end: Perl
* Databas: mySQL eller PostgreSQL (beroende på vad som passar "kunden" bäst)

Tycker hädanefter att vi ska titta på tekniker som tillåter en indelning i
back-end och front-end eftersom det kan räknas som att följa MVC (Model
View Control för dom som inte kommer ihåg) som är en mycket vacker
sak.

-- 
Jakob Carlsson
esrange at paranormal.se
http://esrange.tk




More information about the selinux-fria24 mailing list