Christian Mikkelsen og jeg har lige skrevet en lille webserver i Ada. I stedet for det sædvanlige med udlevering af filer eller opslag i en database beder denne webserver den bruger der startede webserveren om at skrive svaret, når der kommer en forespørgsel ind. Det er selvfølgelig ikke just den hurtigste webserver i verden, men demonstrerer, hvor enkelt det er at skrive sin egen webserver med AWS-biblioteket.
Programmet er afhængigt af AWS-biblioteket. Når AWS og de der til hørende pakker er installeret kan programmet oversættes med GNU Ada oversætteren med følgende kommando:
user$ make admin_says_hello
Det startes dernæst med:
user$ ./admin_says_hello AWS 1.0 running on port 4321. Kill me when you want to stop...
Nu kan du bede din browser om at åbne adressen <http://localhost:4321/>
(hvis den ellers kører på samme maskine som du startede Admin_Says_Hello på). Så vil Admin_Says_Hello bippe en enkelt gang og skrive videre:
user$ ./admin_says_hello AWS 1.0 running on port 4321. Kill me when you want to stop... You have a guest:
Her kan du så indtaste dit svar (efterfulgt af <enter>), der så gerne skulle dukke op i din browser.
Du kan læse kildeteksten on-line og der findes henvisninger til Ada-oversættere til et bredt udvalg af styresystemer på AdaIC-webstedet.
At tilføje:
- Man kunne lave det om til et HTTP-baseret sludresystem ved at aktivere sessionsstyringen og indgående data via en formular.
- Hvis man godt kan lide hemmelighedskræmmeri, så er det blot et spørgsmål om at aktivere SSL, så kommunikationen kan ske via HTTPS-protokollen.
- (fra Poul-Erik Andreasen) Man kunne jo overvej at lave et alternativ til ftp, der rent protekolmæssigt lider af nogen svagheder. Ikke så meget med henblik på flyttning af de store datamængder – public download/upload etc. Men mere til administrativ brug og andre småting.
- (fra Poul-Erik Andreasen) Man kunne også bruge det til et påmindelsessystem, hvor en HTTP-forespørgsel i virkeligheden er en påmindelse, Der kunne også indbygges et automatisk omdirigeringssystem, så grupper kunne komme med i det.
2002-04-13:
- aws_demo-20020413-source.tar.bz2 (3 kb bzip2’et tar-fil med kildeteksten)
- aws_demo-20020413-source.tar.gz (3 kb gzip’et tar-fil med kildeteksten)
- (der er endnu ikke pakket binære udgaver af denne udgave)
2001-10-18:
Programmet bruger nu en asynkron select
-sætning til at garantere en eller anden form for svar indenfor lidt mere end 30 sekunder.
- aws_demo-20011018-source.tar.bz2 (3 kb bzip2’et tar-fil med kildeteksten)
- aws_demo-20011018-source.tar.gz (3 kb gzip’et tar-fil med kildeteksten)
- aws_demo-20011018-source.zip (3 kb zip-fil med kildeteksten)
- (der er endnu ikke pakket binære udgaver af denne udgave)
2001-10-17:
Nu får man også lige et tidspunkt og IP-adressen forespørgslen kom fra med.
- aws_demo-20011017-source.tar.bz2 (4 kb bzip2’et tar-fil med kildeteksten)
- aws_demo-20011017-source.tar.gz (4 kb gzip’et tar-fil med kildeteksten)
- aws_demo-20011017-source.zip (6 kb zip-fil med kildeteksten)
- (der er endnu ikke pakket binære udgaver af denne udgave)
2001-10-16:
Første offentliggjorte udgave.
- Hent kildeteksten (3 kb zip-fil)
- (der er endnu ikke pakket binære udgaver af denne udgave)