WEST: sistema di supervisione e controllo per l'Azienda Municipalizzata di Bologna (SEABO). Applicazioni verticali con software Open Source Davide Dozza – Presidente YACME S.r.l. – Via del Mobiliere 9 – 40138 Bologna www.yacme.com - [email protected] - Tel. +39 051.538.709 Il problema del controllo Sistema di controllo PLC PC Sistema di rilevamento Trasmissione dati Supervisore Impianto Gas Acqua Teleriscaldamento Rilevamento ambientale Esigenze operative ✔ Programmazione sistemi di controllo ✔ Segnalazione e gestione allarmi ✔ Acquisizione e storicizzazione grandezze campionate ✔ Attuazione ✔ Operatività 24h/24h ✔ Real time rilassato ✔ Il sistema SCADA costa tanto ed è poco libero .... come sarebbe bello fare tutto remotamente ed in modo semplice, efficace ed affidabile .... Problematiche ✔ Tipologia di impianti eterogenea • Architetture differenti ✔ Tipologia dei controlli eterogenea • Differenti sistemi di rilevamento e attuazione ✔ Metodologie di programmazione differenti ✔ Comunicazione e trasmissione dati differenti ✔ Interfacce molto diverse fra loro Standardizzazione Standardizzazione ✔ Comunicazione →TCP/IP ✔ Interfacciamento →HTML, Java ✔ Programmazione →Linguaggi standard ✔ Dati →Strutturazione ✔ Gestione →Procedurizzazione Applicazione verticale basata su tecnologia WEB Struttura del sistema Sala di telecontrollo Impianto PLC Link RTC Segnalazione allarmi Router dinamico CDN, VPN M emorizzazione dati Impianto Database allarmi e grandezze campionate Web server PLC Il sistema di controllo PLC TBOX della Technotrade dotati di: ✔ Interfacce di comunicazione: seriali, modem, GSM, Ethernet ✔ Protocolli di comunicazione: TCP/IP, PPP, ModBus ✔ Servizi di rete: Web server, FTP server, servizi TCP ✔ Modalità di interrogazione e programmazione remota attraverso link TCP/IP Il sistema di routing Impianto ........ Impianto Impianto CG# ........ LAN Aziendale Default gateway Il sistema di routing Requisiti: il router deve creare dinamicamente il percorso di rete verso l'impianto attraverso il semplice uso di un indirizzo IP. Esempio www.impianto_N.west.it Router dinamico basato su server Linux e realizzato con scripting language (Perl) che pilota 8 modem su altrettante linee commutate ✔ Sistema a chiamata automatica in input/output e creazione del collegamento con protocollo PPP Gestione allarmi Il PLC in risposta ad eventi particolari, deve: ✔ Attivare il collegamento (PPP, GSM) ✔ Inviare un messaggio di allarme (Mail, SMS) ✔ Attendere un messaggio si risposta Il sistema deve: ✔ Acquisire l'allarme ✔ Segnalare l'allarme ✔ Permettere la processazione ✔ Chiudere l'allarme Gestione allarmi Sistema di gestione allarmi basato interfaccia WEB con tecnologia Linux, Apache, Perl e PostgreSQL: Gestione grandezze campionate Il PLC raccoglie i dati dal campo: ✔ Trasmissione temporizzata ✔ Polling ✔ Definizione formato dati (ToDo XML) ✔ Sistema di polling attivo (scheduler) per il download dei dati basato su scripting language (Perl) e protocollo Modbus su TCP/IP ✔ Sistema di ricezione messaggi e processazione ✔ Storicizzazione e memorizzazione all'interno di un database Oracle Gestione accessi ✔ Il sistema richiede la gestione delle politiche di accesso alle risorse Periferica G1 ACQUA Periferica Periferica G2 GAS Periferica In sostanza.... E' stato realizzato un portale come “luogo” di accesso universale alle risorse (impianti) e per la gestione centralizzata degli allarmi, degli impianti (programmazioni e configurazioni), delle grandezze campionate. ✔ 250 impianti ✔ 8 linee telefoniche ✔ Sistema di telecontrollo realizzato via WEB e operativo 24h/24h ✔ Uso di strumenti Open Source ✔ Costo di sviluppo inferiore ad un anno di assistenza del sistema SCADA To Do ✔ Estendere il numero degli impianti ✔ Gestire sistemi di telecontrollo che richiedono linea dedicata (on-line) ✔ Standardizzare ed integrare un sistema di controllo basato su PC industriale e Linux ✔ Realizzare un interfaccia grafica avanzata ✔ ... e tanto altro ancora ... Ma come è stato possibile fare tutto con software Open Source? Libero non è Gratuito ✔ SW Gratuito: (inglese = free) ➔ Oggi non lo pago, domani chissà.... ✔ SW Libero: (inglese = free) Possiedo 4 libertà fondamentali ➔ Libertà di accesso al codice ➔ Libertà di uso dei sorgenti ➔ Libertà di modificare i sorgenti ➔ Libertà di distribuire i sorgenti [gli obblighi dipendono dalla licenza: GPL/BSD/Mozilla/X, etc.] Le leve del software libero 1) Non rivalità - l'uso di A non inibisce l'uso di B 2) Durabilità – l'uso non consuma il software Principio: ciascuno porta un mattone e si ottiene in cambio una casa. Non rivalità: tutti possono usare la casa nella sua interezza Durabilità: si può usare la casa per sempre Libero.... quando e perché ?!?!?! 1) Il software ha un valore marginale I produttori di HW => drivers 2) Si fa software per se stessi Sviluppo SW alternativo al proprietario 3) Creare business su campi diversi Consulenza, manutenzione 4) Spostare la competizione sul mercato Se non lo posso avere io allora non ce l'ha nessuno Libero.... come ?!?!?! 1) Sviluppo di software libero in senso stretto Linux kernel, GIMP, gcc 2) Risultati di ricerche universitaria PostgreSQL, Imap, Beowulf 3) Repurposing per “sconfitte” commerciali Mozilla, OpenOffice.org 4) Marketing Java, Zope, OpenOffice.org La locomotiva Linux IDC stima Linux come il sistema operativo più in rapida crescita con un tasso del 25% annuo, che lo porterà nel 2005 a diventare il secondo sistema operativo più diffuso (probabilmente lo è già). ✔ Aumenta la popolarità (circolo auto-alimentante) ✔ Stabilità e affidabilità, a seguire convenienza, velocità di applicazioni e servizi, scalabilità sono le ragioni più citate per l'adozione di Linux in azienda (Fonte: Zona Research 2001) ✔ Aumentano e migliorano costantemente le applicazioni disponibili grazie a: Vasta comunità di sviluppatori in tutto il mondo Investimenti di molti grandi operatori IT Vendite sistemi operativi (world) 1000000 100000 Windows MacOs Linux Unix Altri 10000 1000 2000 2001 2002 2003 2004 2005 Tutti conoscono Linux... e adesso? Ora occorre far incontrare domanda e offerta e cioè creare un mercato. O meglio penetrare nel mercato esistente, quello ICT. ✔ Offrire soluzioni ai bisogni delle aziende/individui, ma che siano profittevoli. ✔ Valorizzare professionalmente il software libero ✔ Creare coscienza dell'esistenza di alternative al software proprietario ✔ Far percepire il valore vero della soluzione FORNITORE CLIENTE Dalla parte del fornitore Il plus che il fornitore offre: ✔ Uso di licenze Open Source ✔ Dalla licenza alla personalizzazione ✔ Indipendenza dal fornitore ✔ Integrabilità ✔ Scalabilità ✔ Riutilizzabilità ✔ Barriere alla ricerca e sviluppo ✔ TLBNTL: Trasparenza e quindi sicurezza Dalla parte del cliente Cosa vuole il cliente: ✔ Competenze ✔ Continuità ✔ Assistenza e supporto ✔ Manutenibilità ✔ Professionalità ✔ Costi ✔ Licenze ✔ La serenità e quindi il brand Come misurare il valore: il TCO Il TCO (Total Cost of Ownership) è uno strumento che permette di misurare il costo vero di una soluzione. Per valutare quindi il costo effettivo da rapportarsi alla qualità/risultato occorre tenere in considerazione tutti gli aspetti che la soluzione comporta. Il TCO: definizione (1) A Direct Costs 1. Software and Hardware 1.1 Software (a) Purchase price (b) Upgrades and additions (c) Intellectual property/licensing fees 1.2 Hardware (a) Purchase price (b) Upgrades and additions 2. Support Costs 2.1 Internal (a) Installation and set-up (b) Maintenance (c) Troubleshooting (d) Support tools (e.g., books, publications) 2.2 External (a) Installation and set-up (b) Maintenance (c) Troubleshooting Il TCO: definizione (2) 3. Staffing Costs 3.1 Project management 3.2 Systems engineering/development 3.3 Systems administration (a) Vendor management 3.4 Other administration (a) Purchasing (b) Other 3.5 Training 4. De-installation and Disposal B. Indirect Costs 1. Support Costs 1.1 Peer support 1.2 Casual learning 1.3 Formal training 1.4 Application development 1.5 Futz factor 2. Downtime TCO – Windows 2000 vs. Unix in medie e grandi imprese (500 < dipendenti < 10.000) Unix/RISC vs. Wintel Unix/RISC Windows 2000/Intel Server Acquisition Deployment Administration Training OS Update Deployments OS Client Access & Support Fees Total 3-Year Average Cost $0 $2,500,000 * Fonte: Aberdeen Group, Marzo 2002 $5,000,000 $7,500,000 $10,000,000 TCO – Unix vs. Linux Linux e Unix vs. Wintel Windows vs Unix/Linux Windows Unix/Linux College con 500 studenti TCO 5 anni di un s.i. scolastico con 500 studenti 0 500 1,000 1,500 2,000 2,500 3,000 3,500 4,000 4,500 K$ Windows vs Unix/Linux Windows Unix/Linux Azienda con 5000 utenti TCO 3 anni di un s.i. aziendale con 5000 utenti 0 10,000 * Fonte: Linuxworld.com 2001 20,000 30,000 40,000 K$ 50,000 60,000 70,000 Yacme: la missione Offrire competenze e soluzioni infomatiche altamente professionali, di software e di sistema, basate su software Open Source per soddisfare i bisogni delle aziende pubbliche e private Yacme: la storia ✔ Maggio 2000: Luca Bolcioni, Davide Dozza e Diego Ercolani escono dal laboratorio ST Microelectronics a Bologna ✔ Agosto 2000: Yacme è operativa nell'incubatore del Comune di Bologna (Progetto MAMBO) ✔ Ottobre 2001: Entra Maurizio Berti ✔ Gennaio 2001: certificazione ed accesso al programma di "RedHat Consultancy Associate" ✔ Aprile 2001: Entra Roberto Rambaldi. Primo cliente “Large Account” ✔ Giugno 2001: Cambio di sede. Comincia lo sviluppo di Miwa ✔ Dicembre 2001: Differenziazione dell'offerta commerciale. 7 persone impiegate ✔ Maggio 2002: Rilascio delle guide a OpenOffice.org ✔ Ottobre 2002: 40 clienti e 12 persone impiegate Yacme: Fatturato per clienti Fatturato € 750.000 € 700.000 € 650.000 € 600.000 € 550.000 € 500.000 € 450.000 PA & LA PMI € 400.000 € 350.000 € 300.000 € 250.000 € 200.000 € 150.000 € 100.000 € 50.000 €0 2000 2001 2002 2003 Yacme: Fatturato per prodotto/servizio 2002 11.00% Sistemi Hardware Consulenza e formazione Sviluppo Supporto e assistenza 2003 12.00% Sistemi Hardware Consulenza e formazione Sviluppo Supporto e assistenza 35.00% 39.00% 27.00% 30.00% 8.00% 12.00% 11.00% 15.00% I servizi YACME : competenze Linux a 360° YACME offre competenze a 360° su Linux e software Open Source proponendo soluzioni professionali accompagnate da consulenza e formazione: System engineering & integration ✔ Connettività, sicurezza ✔ Mail, web e database server ✔ Clustering, High availability, SAN, NAS ✔ Office automation, file e print server, fax server, directory services, intranet/extranet ✔ Hardware, deployment, outsourcing Sviluppo software ✔ Applicazioni custom: e-government, dataware housing, weboriented applications ✔ Linux embedded, automazione, supervisione Virtual Private Network con IPSec Roaming User Filiale Sede Centrale AS400 Server NT Internet ✔ ✔ ✔ ✔ ✔ ✔ ✔ Canale criptato ad alta sicurezza Autenticazione eseguita sui gateway prima dell'interrogazione di server locali Mascheramento e protezione dei server e dei client Client IPSec dinamico per roaming user Link di backup Statistiche di traffico QoS High Availability Internet Solution Mail Server Web Server DNS Internet Router Firewall Proxy Bkp Mail Server Bkp Web Server Slave DNS Cluster DMZ Private LAN Web server Cluster ✔ Rete privata fisicamente non accessibile ✔ Semplicità di ripristino senza oneri causati da interruzione dei servizi offerti ✔ Alta affidabilità per presenza cluster Autenticazione e servizi con Single Sign-on Server Internet Private LAN Proxy Server Acc ess o al la re te Single Sign-on Server Lotus Domino Ldap Server Fax Central Storage Backup ✔ Manutenzione ridotta ✔ Area utente indipendente dalla postazione di lavoro ✔ Navigazione autenticata, QoS, statistiche & monitoraggio Printers Database server Un application server: MIWA Gestione Flusso Form Astrazione HTML Astrazione Tabelle Database SQL ● Postgres ● MySQL E-government application: ''Domande2002'' Applicazione web per la compilazione on-line delle domande di richiesta di benefici (borse di studio, posti alloggio, fasciazione del reddito, esonero tasse) messi a disposizione da Arstud (Azienda Regionale per il Diritto allo Studio, Bologna). Pagine dinamiche realizzate con Perl su database PostgreSQL. 12.000 domande presentate 3.000 negli ultimi 2 gg Segreteria Perl Internet PostgreSQL Database Server Vertical application: YaFood Sistema realizzato per la gestione completa della ristorazione, dai punti cassa al gestionale (Arstud, Bologna). Punto vendita Smart Card Internet Sede Centrale Supervisore IBM Netvista Prepagato Registratore di cassa Aggiornamento in tempo reale del valore residuo Link di backup Internet Transazione in tempo reale 4 mense 10 casse 5000 scontrini/giorno ~1500 con prepagato Punto vendita CDN Contante Aggiornamento notturno Supervisore Registratore di cassa Vertical application: sistema di monitoraggio Sistema di monitoraggio e supervisione degli impianti dell'acquedotto di Seabo (Bologna) Impianto Monitoraggio Segnalazione allarmi PLC Supervisore Link RTC 250 impianti 8 linee telefoniche Interfaccia supervisore Web Database PostgreSQL M emorizzazione dati Impianto Database allarmi e grandezze campionate PLC System integration: Studentati 13 studendati con gestione centralizzata degli account, aree disco e manutenzione PC DATABASE SERVER STUDENTATO 2 STUDENTATO 1 ROUTER FIREWALL ROUTER FIREWALL PROXY ROUTER FIREWALL PROXY Internet SAMBA SERVER MAIL SERVER SAMBA SERVER MAIL SERVER Conclusioni Il software Open Source risponde ai bisogni del CIO ✔ Facile integrazione tra mondi eterogenei ✔ Costruzione di sistemi complessi e mission critical ✔ Sistemi caratterizzati da elevata scalabilità, facilità di manutenzione ✔ Accesso al codice sorgente ed alle configurazioni di sistema: personalizzabilità e trasparenza ✔ Riduzione TCO ✔ Indipendenza dal fornitore Yacme fornisce dal 2000 competenze su Linux a 360° ✔ Consulenza e formazione ✔ Sistemi ✔ Sviluppo Yacme offre la soluzione giusta per il vostro sistema informativo! www.yacme.com - [email protected] - Tel. +39 051.538.709