3. STATO ATTUALE
• Esiste un client web basato su OpenLayers
(WMS).
• Esiste un MapServer scritto in Java che genera le
tile 256*256 al volo da bitmap molto più grandi.
• Esiste un convertitore che crea queste bitmap
molto grandi (mosaic).
5. MA ADESSO…
+
Si possono richiedere le tile direttamente per numero.
6. STATO FUTURO
• In BBox: un client web basato su Leaflet in Vaadin
7.
• Un MapServer che fornirà le tile 256*256 già
tagliate e salvate su filesystem.
• Un convertitore che crea direttamente le tile.
7. MAPCLIENT
• Il Navigator in Leaflet fa parte della migrazione verso Vaadin 7.
• Sarà più semplice e snello del Navigator basato su
OpenLayers.
• Permetterà le mappe offline.
• Supporto per display Retina.
!
OpenLayers is a big pile of… well, JavaScript with a history.
(Matti Tahvonen)
10. MAPSERVER
• Completamente reimplementato in Go.
• Fornisce Tile già salvate su filesystem.
• Ha una certa intelligenza per trovare la directory
do ciascun PID.
• Ha pagine di diagnostica e servizi REST di utility.
11. GO WHAT?
• Linguaggio del 2009 specializzato in
applicazioni di rete al alta concorrenza.
• Creato da Ken Thompson (C, Unix,
UTF-8) e altri, come progetto 20% in
Google.
• Obiettivi: meno codice, compilazione
veloce, esecuzione veloce.
12. GO
• Completamente Open source (BSD).
• Sintassi simile a C.
• Interfacce come in Java.
• Package come C# e Java.
• Ereditarietà senza polimorfismo, come JavaScript, Ruby.
13. GO
• Compilato. Cross-compila. Non compila risorse. Solo link statico.
• Imperativo (non descrittivo).
• Non object-oriented (non ha l’ereditarietà OO). Funzionale.
• Statico, ma ha alcune caratteristiche dei linguaggi dinamici.
• Fortemente tipizzato.
• Garbage collected.
14. GO
• Bravo nella concorrenza: funzioni asincrone, green
thread e canali.
• Orientato alle applicazioni di rete.
• Server HTTP integrato.
• Engine di templating integrata.
15. CONFRONTO
SLOC 14616 223
File sorgente 61 1
RAM 1750 MiB 16 MiB
Response time 600 ms 1 ms
CPU 360 267
Throughput 52 tps 19660 tps