ISTITUTO : I.P.S.I.A MORETTO-BRESCIA Roberto Paletti Christian Fregoni 5^BZ 1
2 All inizio la nostra tesi d esame, aveva l obiettivo di gestire, tramite piattaforma SMS, gli scambi, e la prenotazione dei libri della biblioteca del nostro istituto. Ma, come sempre succede, abbiamo deciso di realizzare un altro prodotto, che lavorava sempre con la tecnologia degli SMS, ma che facesse parlare più di sé, che potesse rendere più all avanguardia e tempestiva la comunicazione tra scuola famiglia, è così abbiamo sviluppato il GATEWAY SMS. Il Gateway Sms è un pacchetto che comprende 3 software sviluppati intermente in tecnologia client server, per ovvie ragioni che poi verranno spiegate. Lo scopo di questo progetto, come già detto prima, è di rendere più veloce le comunicazioni tra la scuola e la famiglia, infatti con questo programma è possibile informare i genitori in tempi molto brevi, delle assenze individuali o collettive che il proprio figlio ha effettuato, di chiedere al genitore di chiamare la segreteria della scuola e di avvisare il genitore della programmazione dei colloqui generali. Ecco come si presenta il software client, cioè quello dove vengono costruiti i messaggi. Come si può vedere il client è stato reso graficamente, il più semplice possibile in modo da creare il minor numero di difficoltà di utilizzo all utente finale.
3 Il software è composto da una parte di ricerca per classe, e da una finestra sottostante, la quale visualizza soltanto gli alunni iscritti al servizio della classe desiderata, in modo da poter selezionare solo alcuni componenti della classe, o di selezionarli o deselezionarli tutti tramite l apposito pulsante collocato sotto la finestra degli alunni trovati. Alla destra della parte di ricerca troviamo la tipologia del messaggio che si desidera spedire: Assenza individuale: Questa tipologia di messaggio viene inviata solo alle persone selezionate nella casella, il messaggio inviato sarà il seguente: Da IPSIA MORETTO l alunno (es. Paletti Roberto) è risultato assente dalle lezioni il giorno 27/6/2003. La data dell assenza verrà selezionata nell apposito selezionatore di data presente accanto al pulsante d invio sms. Assenza collettiva: Il funzionamento di questa tipologia di messaggio è analoga a quella dell assenza individuale, solamente che il programma seleziona automaticamente tutti i componenti iscritti della classe selezionata. Anche in questo caso, ovviamente la data deve essere selezionata. Messaggio a testo libero alla classe: Questa tipologia di messaggio, permette all utente di inviare un messaggio a testo libero, ad esempio l uscita anticipata di una classe, l imminenza dei colloqui generali ecc. Anche qui come sopra il programma invia il messaggio automaticamente a tutti i componenti della classe selezionata. Comunicazione di segreteria: Questo messaggio, come quello di assenza individuale viene inviato solo alle persone selezionate nella casella, il genitore riceverà un messaggio nel quale la scuola richiede un colloquio e gli verranno inviati quindi gli orari e il numero di telefono della segreteria della scuola. E presente poi un apposito pulsante che permette di inviare un messaggio a testo libero a tutti gli iscritti, in modo da comunicare, ad esempio, un interruzione momentanea del servizio per problemi tecnici. Nel programma sono state inserite, ovviamente, delle sicurezze, infatti se la data non viene selezionata quando richiesto, si rischierebbe di inviare un messaggio senza data, allora viene visualizzato a monitor di inserirla, se si stà per inviare più di 5 sms si viene avvisati. Infine è stata aggiunta una finestra nella quale vengono messe a video le azioni eseguite dal programma in modo tale che l utente abbia sempre sotto controllo le operazioni che il programma esegue. In oltre il programma inserisce in un file.txt aggiornato costantemente tutte le operazioni eseguite, per far sì che l amministratore del sistema possa, in eventualità di problemi controllare quello che il programma ha eseguito.
4 Ecco come si presenta il software server, ovvero il programma che riceve i messaggi e li ripone nell apposita cartella per poi essere inviati. Il software server, comunica con il client tramite la tecnologia client-server, il programma è molto scarno, in quanto tenendo in considerazione il fatto che deve funzionare su una macchina server, deve essere molto leggero per non appesantirne il lavoro. La descrizione è ovviamente semplice, viene indicata a monitor la porta sulla quale stà comunicando, e è presente una finestra di log tramite la quale è possibile controllare le azioni momentanee che il programma stà eseguendo. Questo programma ha il compito di ricevere i messaggi e di riporli nella cartella dei messaggi da spedire. I messaggi hanno una denominazione ben precisa: I primi tre caratteri sono dedicati dal dove viene generato l sms da spedire (es. DID cioè La segreteria DIDattica), i consecutivi sei caratteri sono dedicati all indirizzo ip della macchina dal quale viene generato l sms, gli altri consecutivi otto caratteri sono dedicati alla data di creazione del messaggio, in fine sono stati dedicati altri quattro caratteri per il numero progressivo dei messaggi da 0000 a 9999. Avremo quindi i file denominati nel seguente modo: DID146132200305230001.TXT
5 Al suo interno il file di testo, contiene oltre che al testo del messaggio, il numero del destinatario, il nome del servizio, in modo da utilizzare questo server per più servizi sms, il mittente, cioè il l indirizzo ip completo della macchina dal quale viene inviato il messaggio, il nome della macchina (WS146-132), e la persona loggata alla macchina, in questo caso l amministratore, la data e l ora nella quale è stato creato il messaggio. Quindi aprendo un file di messaggio lo troveremo così: SERVIZIO=SMS-ALUNNI DESTINATARIO=3498073001 MITTENTE=192.168.146.132 00:0A:E6:67:7E:BE WS146-132 Administrator DATA ORA=23/05/2003 17.16.01 TESTO=ciao ciao 23/05/2003 17.16.01 Questo programma, come anche gli altri tre, è configurabile tramite file.ini, in modo da poter configurare tutte le parti variabili del programma senza dover modificare il codice, in questo caso il file ini di questo derver è strutturato nella seguente maniera: [Data] Port=telnet IPZ=127.0.0.1 TIMEOUT=23.30.00 Con il file ini di questo programma server possiamo configurare, la porta sulla quale deve restare in ascolto (port), decidere gli indirizzi ip delle macchine che possono connettersi al server, in modo tale da restringere notevolmente gli accessi indesiderati (IPZ), ed inoltre la possibilità di decidere quando il programma deve spegnersi automaticamente in modo da rendere possibile lo schedulazione del programma tramite Windows NT. Cioè di far partire il programma in giorni e ore prestabilite dall amministratore della rete. Il file INI del programma client sarà strutturato nel seguente modo: [DATI] PROGRESSIVO=120 DATA=20030602 PORT=telnet SERVER=localhost In questo INI invece vengono configurati, il numero progressivo dei messaggi inviati, il qaule viene azzerato ogni giorno, la data che è sempre quella odierna, la porta sulla quale il client e il server comunicano (PORT) e l indirizzo ip del server (SERVER).
6 Mentre invece il file INI del programma dell invio vero e proprio degli sms è strutturato nel seguente modo: [DATI] PATHINV=C:\PROGRAMMI-VARI\SMS SERVER\INVIARE\ PATHARRIV=C:\PROGRAMMI-VARI\SMS SERVER\RICEVUTI\ COM=1 TIMEOUT=23.00.00 TIMESPD=15000 Come prima voce troviamo PATHINV, che è il percorso della cartella dove il programma deve andare a prendere i messaggi per poi spedirli al destinatario, a seguire troviamo PATHARRIV che è il percorso della cartella dove il programma andrà a depositare i messaggi entranti, questa parte non è stata ancora sviluppata ma abbiamo già deciso di integrarla per agevolare il lavoro futuro, e presente la voce COM tramite la quale si imposta il numero della Com alla quale è attaccato il modem gsm, anche qui troviamo la voce TIMEOUT come visto prima serve per far chiudere automaticamente il programma per permetterne la schedulazione, ed infine la voce TIMESPD, qui si regola in millesimi di secondo la distanza di tempo che il programma deve rispettare tra l invio di un sms e l altro. Noi abbiamo deciso di optare per un ritardo di 15 secondi, potrebbe sembrare spropositato ma in evenienza della spedizione di messaggi nei periodi festivi, la rete essendo più congestionata risulta sensibilmente più lenta. Anche questo programma all apparenza risulta molto scarno, per essere più leggero da gestire al sistema, ma è molto importante perché spedisce concretamente i messaggi al destinatario. Questo programma preleva dalla cartella prestabilita dal file ini descritto precedentemente, un file di messaggio alla volta e ne estrapola i dati necessari per l invio. Dopo che il messaggio è stato inviato lo cancella per prevenire eventuali incroci tra i messaggi, è solamente una precauzione presa in più per ogni messaggio ha un numero progressivo e quindi sarebbe praticamente impossibile confonderli, ma dato che le vie del Signore sono infinte è meglio una precauzione in più che in meno. Il programma in oltre crea un file di log, nel quale scrive ogni singola operazione effettuata, accompagnata dalla relativa data e dell ora.
7 Come detto nella premessa, questi programmi sono stai ideati con la tecnologia client server. Questo perché, questa tecnologia permette di far comunicare due programmi attraverso la rete interna della scuola, e cosa molto importante, di limitare gli accessi indesiderati di utenti sconosciuti. Una rete di trasmissioni dati è costituita da un insieme di apparati (PC, Mac, Mainframe, ecc.) interconnessi tra di loro tramite sistemi di comunicazione (linee telefoniche, cavi, ecc.). Attualmente esistono vari tipi di rete che rispondono a diverse esigenze applicative: Local Area Network (LAN): consentono la interconnessione veloce di computer in ambito locale; Metropolitan Area Network (MAN): si estendono in aree metropolitane e sono costituite dalla interconnessione di LAN; Wide Area Network (WAN) o reti geografiche: sono costituite dalla interconnessione di MAN e si estendono sul territorio nazionale ed internazionale; Intranet: Rete locale che utilizza gli stessi protocolli di Internet, ma può essere utilizzata solo all'interno di una struttura definita (azienda, università, ecc.); Extranet: Rete privata che utilizza i sistemi di comunicazione pubblici e la tecnologia di Internet per mettere in contatto i collaboratori di una stessa organizzazione (ad es. i venditori o i rappresentanti di un'azienda) o di altre ad esse collegate (sedi decentrate, ecc.). Una Extranet è spesso una estensione di una Intranet. La connessione di queste reti (LAN-LAN, LAN-MAN, ecc.) ha portato alla realizzazione di un immenso sistema di comunicazione per lo scambio di dati tra utenti collegati da tutto il mondo. Internet è stata battezzata la "madre di tutte le reti" perché attualmente sono circa 100 milioni i computers connessi, sia attraverso reti locali: universitarie, governative o commerciali, sia attraverso modem collegati direttamente al telefono della propria abitazione. Perché questo meccanismo perfetto funzioni, occorre che tutte le reti ed i computer ad esse connessi parlino lo stesso linguaggio: il TCP/IP (trasmission control protocol/internet protocol).
8 TCP/IP è un protocollo, cioè un insieme di regole, implementabile su qualunque tipo di computer, senza fare favoritismi o discriminazioni tra aziende produttrici concorrenti. Non a caso TCP/IP è di pubblico dominio e può quindi essere utilizzato da chiunque. TCP/IP, per essere ancora più precisi, non è costituito da un solo protocollo, ma viene normalmente definito come una famiglia di protocolli, ad ogni servizio della rete viene associato un proprio protocollo (es. SMTP, ovvero Simple Mail Transfer Protocol, costituisce l'insieme di regole che consentono il funzionamento della posta elettronica). Le regole che compongono il protocollo TCP/IP sono quattro. Lo schema tecnico evidenzia una divisione a strati: APPLICATIVO TRSPORTO INDIRIZZAMENTO CONNESSIONE Connessione: è lo strato piú basso, effettua l'interfacciamento fisico con il cavo di rete; Indirizzamento: controlla i pacchetti che viaggiano in rete; Trasporto: gestisce il flusso dei dati tra 2 macchine connesse alla rete; Applicativo: gestisce i servizi di Internet (Telnet, FTP, Mail, ecc.). Quando viene inviata un'informazione, i dati partono dallo strato delle applicazioni (ad esempio da Outlook se sto inviando un messaggio di posta elettronica) e scendono di livello fino a raggiungere lo strato fisico. Nell'ipotesi di ricevimento di informazioni, naturalmente, il percorso che viene seguito è inverso, si parte dallo strato fisico per arrivare a quello delle applicazioni. Una rete TCP/IP viene anche detta a "commutazione di pacchetto" in quanto i dati spediti vengono suddivisi in pacchetti (datagrams) di piccole dimensioni. Ad ogni pacchetto viene aggiunta un'intestazione (header) che contiene le informazioni sul destinatario e su come raggiungerlo. I vari protocolli leggono le informazioni contenute nell'intestazione, eseguono le istruzioni che vi sono riportate e poi passano i dati al livello successivo. I singoli pacchetti viaggiano separatamente attraverso la rete e si riuniscono, riprendendo la loro forma originale, soltanto quando arrivano a destinazione. Grazie a questo sistema, gli utenti della rete possono inviare informazioni simultaneamente, non si verifica cioè quello che invece accade con le linee telefoniche. Una pagina web, ad esempio, puó essere visualizzata contemporaneamente da centinaia di persone, mentre, se sto parlando al telefono, il mio numero risulterà occupato fino a quando non chiuderó la conversazione.
9 Ciascun computer della rete Internet quando appartiene a reti IP ufficialmente registrate, prende il nome di host. Ad ogni host della rete viene attribuito un proprio indirizzo IP, il quale è noto sotto due forme: tramite un nome, che è del tipo: host.domain (es. teseo.unipg.it:) e tramite un indirizzo numerico che è del tipo: 141.250.1.7. Host indica il nome del computer (es.: teseo) e domain il nome della rete IP di appartenenza (es.: unipg.it). Il campo domain può essere costituito da vari campi (es.: unipg e it) separati da «.». Questi campi indicano il nome di domini, gerarchicamente più importanti, muovendosi da sinistra a destra. Infatti «it» indica l'italia e «unipg» l'università degli Studi di Perugia. La gestione dei domini è molto delicata ed importante, ed è demandata a strutture centrali. L'indirizzo IP costituisce l'identificativo a più basso livello con cui l'host è noto in Internet. L'assegnazione dei numeri IP ai vari host è anch'essa delicatissima ed importante. Anche la gestione dei numeri IP segue una struttura gerarchica e deve essere coordinata da strutture centrali. Quando un utente vuole collegare in rete una macchina, deve sempre rivolgersi al coordinatore della propria rete o sottorete e rispettare necessariamente quanto con lui convenuto (senza cambiare arbitrariamente nome o indirizzo IP della propria macchina). La convenzione nome indirizzo è demandata ad uno specifico servizio della rete Internet, il Name Server. In futuro gli obiettivi da raggiungere, in modo da rendere più completo e professionale il nostro pacchetto software, saranno molteplici.. Il programma server di comunicazione con il client, sarà sicuramente integrato con il server di spedizione sms in modo da facilitarne l installazione, le funzionalità di messaggistica funzioneranno anche dall esterno, quindi non soltanto le comunicazioni andranno dalla scuola alla famiglia ma anche viceversa, le prenotazioni dei libri saranno integrate anch esse con la piattaforma sms, e i database degli archivi, dove vi sono depositati i dati di ogni iscritto al servizio, non saranno più prelevati in locale, ma dalla rete in modo da avere un databse sempre aggiornato. SMS GATEWAY BY I.P.S.I.A. TECHNOLOGY REALIZZATO DA: Paletti Roberto, Christian Fregoni In Collaborazione con Ing. Cleto Azzani CLASSE 5^BZ