Introduktion Til Webapplikationer

I gamle dage - i 90erne - bestod en blog typisk af statistike websider, der var placeret på en server. Filstrukturen på serveren kunne se ud som følger:

nyhed1.html
nyhed2.html
nyhed3.html
index.html

Denne blog består af en oversigt med uddrag og link til de seneste indlæg - i filen index.html - og de enkelte nyheder - i nyheds filerne. Bloggeren opretter et nyt indlæg, ved at oprette en ny fil på serveren - fx nyhed4.html - og samtidigt opdatere index.html.

Der er flere problemer ved den tilgang:

  1. Ved oprettelse, redigering, eller sletning af indlæg skal bloggeren udover at kende til HTML også redigere i flere filer;
  2. Ændringer i designet betyder at samtlige filer skal opdateres;
  3. Ingen mulighed for brugerkommentarer, søgninger, og andre interaktive handlinger.

Moderne blogs omgår problemerne ved at oprette sider dynamisk, i stedet for at have dem liggende som filer. Når en side forespørges, sætter blog softwaren siden sammen af forskellige komponenter, og sender den tilbage til klienten (browseren eller en anden server). Bemærk: Fra browserens synspunkt ser det stadig ud som om at der ligger rå filer på severen, men i det sammenstykningen af en side går hurtigt, bemærker man ofte ikke at siden er blevet stykket sammen "on the fly".

Webapplikations Struktur

Blogs og webapplikationer generelt består typisk af komponenterne afbilledet i figuren:
arkitektur.png

Klienter forespørger sider fra servere på internettet via en browser. Servereren modtager forspørgsler, stykker siden sammen og sender den tilbage til browseren. Webapplikationen benytter typisk en database som lager for data der indgår i siden.

Værktøjet der henter data fra databasen, og sætter sider sammen dynamisk er et programmeringssprog - fx PHP, Java, eller Python.

Webapplikationer kræver 4 softwarekomponenter for at køre:

  1. Operativ System - fx Linux, Unix eller Windows. Linux er ofte populært, da det er gratis og velegnet til serveropsætning.
  2. Webserver software - genererer HTML sider og eksponerer dem til resten af internettet, fx open source webserveren Apache. Apache er den mest udbredte webserver og driver ca. 60% af alle web sider.
  3. Programmeringssprog - webserveren afvikler programmet og generer dynamiske web sider, fx i PHP. PHP er et af de mest benyttede sprog indenfor webapplikationer, og det benyttes blandt andet af Facebook og Wikipedia. De fleste programmer og værktøjer er gratis til PHP.
  4. Database software - software der lagrer data på en disk, så det er nemt at tilgå, fx open source database-systemet MySQL. MySQL er den mest udbredte database og benyttes af fx Google og Facebook.

Et meget populært valg af de 4 komponenter er Linux, Apache web server, MySQL og PHP (forkortet LAMP). Operativsystemet kan udskiftes med Windows eller Mac OS, i hvilket tilfælde LAMP bliver til henholdsvis WAMP eller MAMP.

Medmindre andet er angivet, er indholdet af denne side licenseret under Creative Commons Attribution-NonCommercial 3.0 License