Case study: un sistema di supervisione di impianti

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