Internettechnieken op het RitaWeb Hugo Troch 10 februari 2003
1
Basistechnieken
1.1
Technologie¨ en
Een internettoepassing maakt gebruik van verschillende technologie¨en. Er is niet ´e´en paradigma, maar er moet gekozen worden tussen een overweldigend aanbod aan particuliere technologie¨en. Bij de opbouw van het RitaWeb werd gekozen voor een Windows-IIS-SQLserver-asp 1 aanpak gekozen. Een toepassing komt neer op het samenvoegen van een aantal html-pagina’s, javascript-modules, asp-scripts, xml-bestanden en xsl-bestanden. De gegevens die aangeboden worden, komen uit een SQL-server-databank. De scripttaal kan VB-script of javascript zijn, meestal wordt javascript gebruikt in de browser-toepassingen, de standaard-taal voor een asp-script is VBscript. Om de servers in de loop van de werkdag te ontlasten. werd er voor gekozen om een aantal basisbestanden (klaslijsten, leraarsinformatie, cijferlijsten, uurroosters. . . ) in xml-vorm ’s morgens aan te maken. Daarvoor wordt het programma webOpbouw gebruikt, dat in Delphi geschreven werd. Deze gegevens worden als xml-bestanden bewaard in de map RitaWeb/XMLdatabank/XMLBestanden. Andere gegevens (afwezigheden, leerlingdossiers, bibliotheek, . . . ) worden rechtstreeks uit de databank gehaald.
1.2
Basisarchitectuur
Een aanvraag voor een webpagina door de client wordt meestal afgehandeld door een indexpagina, die de gebruiker een menu aanbiedt. Dit menu is meestal samengesteld uit gegevens uit de databank. Een menukeuze van de gebruiker roept een pagina op, met gegevens die ook weer uit de databank komen. ²
¯
± ± ±
° ° °-
Gegevens
PP
PP q 1 ³³ ³ ³³
?6 ±
°
-
Menu
PP
Index-pagina
³
¾ - client ½
» ¼
Het belangrijkste probleem bij dit opzet is de communicatie tussen de applicatie en de databank. Dit kan op veel manieren gerealiseerd worden, elk met hun eigen voor- en nadelen. Om een dergelijk opzet te realiseren, moet men beschikken over volgende vaardigheden: 1. Basis html-kennis: basislay-out, hyperlinks, lijsten, tabellen. 2. Werken met frames. 1 In
tegenstelling tot de Linux-Apache-MySql-Php aanpak. De LAMP-aanpak is het meest verspreid op het internet. De WISA-aanpak ligt meer voor de hand in een exclusieve windows-omgeving. Voor de architectuur maakt dit nauwelijks verschil
1
3. Werken met forms. 4. Werken met dynamic-html. Kennis van het object-model van een web-pagina. 5. Gebruik van javascript voor de sturing van dynamic-html-pagina’s. 6. Kennis van SQL voor het aanspreken van een databank. 7. Elementaire kennis van het objectmodel van ADO, voor het gebruik van de databank. 8. Kennis van het object-model van asp. 9. Kennis van VBscript/javascript voor het schrijven van de asp-pagina’s. 10. Basiskennis van xml-technieken. 11. Basiskennis van xsl-transformaties. Bij het ontwerp is de kunst vooral om al deze elementen samen te voegen tot een zinvol geheel. Een echt gespecialiseerde en grondige kennis van de verschillende technologie¨en blijkt minder belangrijk dan een goed inzicht in de architectuur van de toepassingen. De aandacht gaat eerder naar de samenhang van de componenten dan naar de componenten zelf.
2
Technieken zonder rechtstreekse data-access
2.1
Gebruik bestandssysteem
2.1.1
Html-pagina’s
html & Javascript
¾ client ½
» ¼
De html-pagina’s worden manueel opgesteld en op eenvoudig verzoek van de client getoond. Ze zijn georganiseerd in een virtuele mappenstructuur die gedeeltelijk samenvalt met de mappenstructuur van het bestandssysteem.
Voorbeeld: (namen.html)
Toepassing: Elke applicatie bevat enkele documenten van deze soort: index-pagina’s, menu’s, blanco-pagina’s. Maar ook de studiecontracten, berichten van de directie, enz... zijn van deze vorm. Meestal betreft het hier documenten die opgesteld zijn met Word en door Word automatisch geconverteerd werden naar html.
2
2.1.2
Html-vreemde documenten
exe, pdf, ppt, . . .
¾ client ½
» ¼
Andere documenten dan html of asp kunnen opgevraagd worden door de browser. Ze worden getoond als de browser de juiste plug-in heeft. Anders kan de gebruiker ze downloaden en/of openen met een aangepast programma.
Toepassing: De documentatie van RitaBank en RitaWeb is deels als pdf-document opgesteld. Er zijn enkele downloads van didactische software voorzien en power-point-introducties in ICT. Om correct te werken moet de juiste software ge¨ınstalleerd zijn op de client. 2.1.3
Cgi
¾ Bestandssysteem ½ ½ ½
» ¼ ¼ ¼
cgi
¾ client ½
» Cgi is een ietwat verouderde, maar degelijke techniek, met weinig flexibiliteit, maar met veel ¼ mogelijkheden voor complexere algoritmen.
Voorbeeld (in pascal): program cgi; {$APPTYPE CONSOLE} begin writeln(’HTTP 1/0’); writeln(’Content-type: text/html’); writeln(’’); writeln(’
Voorbeeld’); writeln(’’); writeln(’
’). writeln(’Jan | ’); writeln(’Piet | ’); writeln(’
’); writeln(’