Come funziona questo sistema?
Il sito che state usando è un esempio di integrazione di sistemi fortemente eterogenei. Fondamentalmente l'intera struttura è composta da tre componenti. Due di queste sono componenti "interne" alla rete dove si trova il server che state usando per vedere queste pagine. La terza, invece, è totalmente indipendente e viene usata solo per il reperimento dei dati.In dettaglio queste tre componenti sono:
- Il sito dell'ICPSM (Istituzione Centro Previsione e Segnalazione Maree) del comune di Venezia: in una pagina pubblicata attraverso server HTTP possono essere reperiti gli ultimi valori di marea. Questa pagina ha un formato standard studiato per renderne semplice l'elaborazione ma non adatto alla lettura umana. Il suo aggiornamento non è in tempo reale ma porta sempre un ritardo di circa 10 minuti. Porta i dati di marea relativi al sensore di Punta della salute;
- Uno script PHP che si occupa di reperire i nuovi dati dalla pagina di cui al punto precedente. Una volta reperiti i dati vengono salvati nel database. Inizialmente questa componente era sviluppata in Java ma in seguito ad un aggiornamento si è preferito mantenere la coerenza con l'utilizzo del solo PHP;
- Il motore PHP che genera queste pagine: reperisce i dati dallo stesso database MySQL usato dal server Java, li elabora e li propone con la veste grafica che state vedendo. Una opportuna libreria che sfrutta le librerie GD di PHP è stata usata per produrre i grafici. Anche i dati presenti sul database vengono reperiti ed elaborati attraverso l'uso di una libreria.
Il ritardo di aggiornamento dell'ICPSM e la periodicità di aggiornamento fanno in modo che i dati possano essere sfasati anche di circa 40 minuti rispetto all'aggiornamento in tempo reale. Tuttavia i dati forniti permettono comunque di avere un'idea abbastanza precisa sullo stato della marea.
Le due componenti "interne" sono state realizzate completamente ed in ogni loro parte da Alessio Zennaro durante l'autunno del 2011.