Back to homepage
Inleiding Telematica 2009 - Practicumsite
Zolang ik nog geen toegang heb tot de blackboardpagina voor Telematica
zal ik voorlopig alle relevante informatie hier plaatsen.
- Practicum op Woensdagen van 14.00 uur tot 17.00 uur.
- Het practicum is (voorlopig) in P1.27 (Linux) in plaats van
P1.25 (Windows).
Practicum Opgave 2 - Webservices
De opgave is beschreven in onderstaande PDF.
Bestanden voor deze opgave:
Opmerkingen over deze opgave:
-
Je kunt de python client gebruiken om de main service te testen.
Download client.py en SOAP.py en draai de client met
python client.py. Je kunt de SOAP.py library ook
gebruiken voor je eigen webservice.
-
Misschien dat de logfiles meer informatie geven.
-
Als de server weer uitvalt dan kun je met deze commandos de server weer
aanzetten:
ssh ow121
cd /scratch/bakkerr/
python deamon_ow121.py &> /dev/null
exit
Als het goed is staan de permissies (ook voor de logfile) goed.
Vergeet de &> /dev/null niet. SOAP.py wil schrijven
naar
stdout en stderr. Als je de verbinding verbreekt dan blijft de server
draaien, maar worden koppelingen stdout en err verbroken waardoor het
zeker misgaat.
Practicum Opgave 1 - SMTP server
Alle informatie die nodig is voor deze opgave, is in onderstaande
tarball te vinden. Ook is de pdf met de beschrijving van de opgave
apart te downloaden. De regels mbt het practicum staan in deze pdf, dus
lees deze goed door voordat je aan de opgave begint.
Bestanden voor deze opgave:
De tarball bevat ook de pdf. Het uitpakken van de tarball kan met het
commando: tar xzvf ITL_ass1_SMTP_2009.tgz
Opmerkingen over deze opgave:
- De SMTP server is natuurlijk ook te schakelen. Probeer dit en
schrijf hier iets over in het verslag. De commando's hiervoor
zijn bijvoorbeel:
In termimal 1: python -m smtpd -n -c DebuggingServer
localhost:1000
In termimal 2: java SMTPserver 1003 localhost 1002
In termimal 3: java SMTPserver 1002 localhost 1001
In termimal 4: java SMTPserver 1001 localhost 1000
- Als bovenstaande kan, wat gebeurt er dan met het commando
java SMTPserver 1000 localhost 1000. Leg ook dit kort uit
in het verslag.
Opmerkingen over de ingeleverde opgaven:
- Veel verslagen in het Engels, dat had ik niet verwacht. Het is een
goede oefening want zeker als je een master gaat doen zul je nog veel in
het engels moeten schrijven.
- Velen hebben de handleMessage() methode niet gesplitst. Voor
kleine commando's als NOOP en QUIT is dat ook niet nodig, maar sommige
commando's hebben zoveel testen en controle nodig dat je ze beter kunt
splitsen in een aparte functie. De nesting if/else if/else wordt anders
wel erg groot en onoverzichtelijk.
- Let een beetje op indentatie en layout van de code, ik krijg als ik
jullie code met vim open de meest vreemde indents. Sommige
opgaven waren echt een drama wat dat betreft.
- Helaas hebben veel van jullie de server niet getest met een bestaande
mailclient of bestaande mailserver. (Dus de server gebruikt waarvoor deze
eigenlijk was bedoeld.)
© Roy Bakker -
Universiteit van Amsterdam