SlideShare a Scribd company logo
1 of 8
Download to read offline
Il Web Service e i sistemi embedded                                                      Capitolo 2




Capitolo 2
Il Web Service e i sistemi embedded



Nel capitolo sono presentati diversi prodotti commerciali impieganti Web Service , in
modo particolare dispositivi di tipo embedded. Viene discusso, inoltre, su come le
tecnologie Web entrino nel mondo industriale e della domotica e si pone l’attenzione sui
fattori che impediscono il pieno sviluppo in questi ambiti. Infine vengono proposti
diversi articoli che affrontano tematiche simili a quelle della tesi.




2.1 Il fenomeno della miniaturizzazione

Il progresso tecnologico vede molto spesso il nascere di una tecnologia per computer

PC o server e dopo poco tempo il porting1 della stessa su architetture ridotte, embedded

o portabili. Nel 1995 nasce Apache Web Server e nel 1999 si assiste alla gara “The

World’s Smallest Server”: università e aziende si sforzano di semplificare ed

ottimizzare il prodotto di Apache per arrivare a servire pagine Web tramite una piccola

scheda elettronica.

Il dispositivo più eclatante in quanto a dimensioni è iPic del Department of Computer

Science University of Massachusetts che utilizza una interfaccia SLIP e “gira” su un

microcontrollore a 8 piedini, il PIC12509A.

Molte aziende hanno iniziato a produrre schede di sviluppo basate su microcontrollori

con interfaccia Ethernet come la Picoweb Server (della Picoweb) oppure la

PICDEM.net (della Microchip Technologies) o la RCM3750 RabbitCore (della Rabbit

1
    Porting: operazione con cui un programma, sviluppato originariamente per una piattaforma, viene
modificato nel suo codice sorgente (vd. compilatore) in modo da poter essere utilizzato in un'altra
piattaforma.




                                                                                                 1
Il Web Service e i sistemi embedded                                                          Capitolo 2



Semiconductor). Quest’ultimo prodotto è particolarmente interessante ed evoluto ma di

costo superiore ai precedenti: possiede 512KByte di memoria programma e supporta

anche SSL.

Vengono progettati processori che forniscono full duplex 10/100 Base-T Ethernet come

il NS9750 (della Netsilicon).

Tra il 2001 e il 2002 nascono le prime piattaforme per Web Service con prodotti

commerciali come gSOAP2, .NET e AXIS; pochissimo tempo dopo nascono le versioni

embedded.

Tra i primi troviamo Samsung e Thinkware che mettono sul mercato iPC: un System-

On-Chip che implementa un Web Service standard, con moduli SOAP e XML. Il cuore

del progetto è il processore ARM7TDMI e il RTOS della VxWorks con un ANSI-C

compatibile I/O system (per esempio, per creare socket TCP). Implementa la

crittografazione dei dati e, a livello fisico, offre un collegamento verso l’esterno di tipo

seriale wired o di tipo wireless (IEEE802.11b).

E’ un’architettura molto sofisticata: presenta canali DMA, porte USB, sistemi di

risparmio energetico, A/D converter ecc... . Viene fornita una evaluation board

corredata di tutto software open-source e degli strumenti di sviluppo.

Anche Ultimodule domina la scena col suo eSOAP [27], implementazione commerciale

leggera di SOAP, appunto, orientato soprattutto al mercato dei PDA e degli smartphone

che esce nel 2004. Viene fornito con un toolkit ovvero un insieme di librerie C++ che

forniscono un SOAP engine in grado di dare ad un sistema embedded l’interoperabilità

tipica dei sistemi client/server basati su Web Service.

L’occupazione di memoria del server SOAP è circa 150KByte ed è disponibile per

sistemi operativi real time o normali.


2
    in [22] si discute delle ottimizzazioni introdotte tali da poterlo utilizzare anche su
sistemi embedded




                                                                                                     2
Il Web Service e i sistemi embedded                                               Capitolo 2



La stessa azienda commercializza Smart Controller Module: una scheda di ridotte

dimensioni basata su FPGA che, oltre l’implementazione di Web Service , fornisce

praticamente tutti i bus wired attualmente utilizzati in campo controllistico. Offre due

principali soluzioni: programma l’FPGA per applicazioni tipiche predefinite oppure

fornisce il codice VHDL che gestisce le funzioni base della scheda che poi può essere

personalizzato dall’utente.

Per quanto riguarda il mondo Java, segnaliamo kSOAP [28] di Enhydra.org (progetto

nato nel 2001). E’ una API SOAP open source da integrare all’interno di Java 2

Microedition. Dato il suo ridotto footprint è ideali per la creazione di Java-applet

SOAP-enabled da eseguire su telefoni cellulari o smart phone.

Infine citiamo .NET Embedded dellaMicrosoft per lo sviluppo diWeb Service su sistemi

embedded. Quest’ultimo richiede che sul dispositivo target sia installato Windows CE e

quindi è una soluzione altamente platform-dependent.

Tutti questi dispositivi, come l’architettura proposta possono essere utilizzati tra l’altro

in scenari di automazione industriale e di domotica. E’ importante sottolineare come

tutti i Web Service commerciali appena presentati abbiano come piattaforma-obiettivo i

sistemi embedded ma richiedano comunque un certo ammontare di risorse

hardware/software.



2.2 I Web Service nello scenario industriale

Nell’ambito dell’automazione industriale si diffonde sempre più il trend di avere

dispositivi e macchinari “intelligenti”, cioè in grado di controllare il proprio stato e di

prendere opportune decisioni. Il tipico scenario in cui un impianto industriale si può

trovare è di avere un gran numero di macchinari, ognuno con compiti specifici e,

soprattutto, con propri standard di comunicazione verso i sistemi di controllo (computer,




                                                                                          3
Il Web Service e i sistemi embedded                                               Capitolo 2



stazioni operative, ecc. . . ). Nascono limitazioni dovute al fatto che i vari protocolli

sono proprietari e quindi rendono difficile la strutturazione di una rete “omogenea” e di

un sistema per supervisionare e agire sui dispositivi in maniera remota.

Le prime limitazioni sono dovute agli standard industriali di trasmissione dati (di tipo

seriale) come Profibus, Foundation Fieldbus, CanBus. Si è allora pensato che fosse

possibile utilizzare Ethernet [29]; i vantaggi sono considerevoli a costo di una maggiore

complessità del protocollo [30]:

   • grande scalabilità della rete;

   • possibilità di gestire un grandissimo numero di nodi;

   • le velocità di trasmissione aumentano notevolmente dai 9.6 kbit/s con una RS232 a

   1 Gbit/s con una IEEE 802 su cavi Cat5e o su fibra ottica;

   • possibilità di incrementare la lunghezza delle reti di controllo;

   • migliorano le performance e l’interoperabilità;

   • possibilità di utilizzare switches, hubs, cavi e fibre ottiche che sono estremamente

   più economici rispetto ai corrispettivi dispositivi per porte seriali.



Questi vantaggi sono determinanti, infatti sono state sviluppate versioni Ethernet di

questi vecchi protocolli, ad esempio Profinet (vedere [31] per le sue caratteristiche di

real time) o Foundation Fieldbus High Speed Ethernet su cui si basa la cosiddetta

Industrial Ethernet . Conseguentemente aziende come la Korenix, MOXA, Acromag,

ecc. . . lanciano sul mercato prodotti mirati all’adattamento dei tradizionali componenti

Ethernet (switch, hub, cavi, adattatori, ecc. . . ) allo scenario industriale; sono

caratterizzati da sistemi di ridondanza, operatività in ampi range di temperatura, alta

configurabilità, sistemi avanzati di controllo dei guasti con allarmi.

Ciò che inizialmente ha rallentato l’adozione di Ethernet nel settore industriale è stata la

sua mancanza di determinismo che non poteva garantire il soddisfacimento di vincoli di




                                                                                          4
Il Web Service e i sistemi embedded                                                Capitolo 2



real-time. Questo ostacolo è stato superato grazie ad accorgimenti particolari come

l’adozione di meccanismi di full duplex-switched [32] che evitano collisioni di pacchetti

e pongono un limite massimo ai ritardi di trasmissione e l’applicazione di algoritmi di

scheduling ottimizzati [33]. Lo standard de facto del protocollo di comunicazione per

l’Industrial Ethernet è il TCP/IP (livello 4 dello stack ISO-OSI). Comunque non basta

stabilire un canale di comunicazione comune tra i dispositivi ma occorre definire un

protocollo applicazione (livello 7 dello stack ISO-OSI) che garantisca l’interoperabilità

tra dispositivi; esempi di protocollo applicazione sono SMTP, FTP, HTTP.

In ambito industriale un protocollo applicazione utilizzato per la comunicazione tra

dispositivi è DCOM (Distributed Component Object Model), (è il protocollo comune in

Profinet).

DCOM ma anche OPC e CORBA sono protocolli standard per la definizione di modelli

di oggetti trasmessi su una rete: ogni nodo appartenente alla rete è vista come una unità

“chiusa” che comunica con altre unità attraverso un’interfaccia.

Il distributed computing garantito da tali standard è limitato dal fatto che i dispositivi

che comunicano devono “parlare” con lo stesso protocollo applicazione e questo

prevede la conoscenza delle caratteristiche di tutti i dispositivi collegati alla rete, ciò è

possibile se la rete è di tipo locale.

L’estensione da una rete locale a una rete mondiale (Internet) dove esiste

l’imprevedibilità dei nodi connessi pone dei freni al distributed computing e in questo

caso vengono in aiuto i Web Service . Questi adottano come protocollo applicazione

l’HTTP che è uno standard molto usato per la comunicazione su Internet, inoltre

utilizzano l’XML come formato di “marshalling” e “un-marshalling” dei dati tra client e

server, quindi con un parser XML è possibile l’interpretazione dell’informazione

migliorando l’interoperabilità.




                                                                                           5
Il Web Service e i sistemi embedded                                               Capitolo 2



Tra i Web Service si è ormai affermato lo standard SOAP che, oltre al già citato

vantaggio di risolvere il problema di eterogeneità delle comunicazioni tra dispositivi che

utilizzano protocolli applicazione diversi, riesce a fornire un’astrazione dei modelli

degli oggetti ancora superiore garantendo un meccanismo di trasmissione indipendente

dagli ambienti in cui i client e i server “girano” e dalle loro implementazioni. Inoltre

utilizzando il protocollo HTTP si evitano i problemi dovuti alla gestione del traffico da

parte dei firewalls quindi i messaggi SOAP viaggiano sulla porta 80 senza ostacoli.

Tra le maggiori società che hanno sviluppato Web Service di tipo SOAP per estendere i

loro servizi ci sono Google, Ebay e Amazon. Tutte forniscono delle API (descritte in un

documento WSDL pubblico) utilizzabili sulla base di diversi tipi di registrazione che

pongono differenti limitazioni all’uso. Alternativamente ai servizi di tipo SOAP

vengono messi a disposizione servizi di tipo REST.



2.3 La domotica e i Web Service

La home-automation non è più considerata come un accessorio di lusso adatto solo a

nuove realizzazioni di altissimo livello ed improponibile nella maggior parte delle

applicazioni, al contrario diventa un insieme di soluzioni che possono essere offerte

anche in realizzazioni di medio livello ed in ristrutturazioni di impianti esistenti, grazie

alla disponibilità di prodotti dal costo ridotto sempre più semplici nell’installazione e

nel funzionamento.

La home-automation è una realtà che non serve soltanto per rendere la vita comoda e

più sicura ma sta creando una grande svolta per anziani e disabili. Negli anni precedenti

è stato un campo non in grande evoluzione a causa della moltitudine di standard

utilizzati (X10, CEBus, BACnet, INSTEON, ZigBee), nessuno dei quali riusciva ad

imporsi sul mercato. Una grande svolta è iniziata con Windows Media Center, la

grande box multimediale di Microsoft, che ha deciso di integrare alcuni moduli software




                                                                                          6
Il Web Service e i sistemi embedded                                                Capitolo 2



per gestire (anche attraverso Internet) reti domotiche di alcuni produttori tra cui HAI,

BTicino e ABB. I protocolli gestiti da questi produttori diventano quindi gli standard

per chi realizza dispositivi da integrare nelle reti di automazione domotica.

Negli ultimissimi tempi Ethernet viene impiegato anche in campo domotico grazie alle

sue doti di versatilità, di economicità e al grande numero di dispositivi ed applicazioni

disponibili sul mercato. La scalabilità di questo bus permette inoltre di graduare

facilmente il peso (e la spesa!) di un intervento in quanto è possibile in una prima fase

occuparsi del controllo delle funzioni principali (impianto luce, motorizzazioni,

termoregolazione) e poi nel tempo aggiungere funzioni accessorie quali il controllo

tramite telecomandi, la supervisione, il controllo remoto, senza modificare nulla

dell’impianto già realizzato.

In generale, ci si sta muovendo verso l’utilizzo di protocolli aperti anche nel settore

della domotica. Prova di ciò è il fatto che la Cimetrics produce un adattatore che

realizza una interfaccia Web Service a partire da un protocollo BACNET [34];

adattatori di questo tipo per altri bus sono ampiamente disponibili sul mercato.

Questo trend è dovuto al fatto che si incomincia a sentire la necessità di usare interfacce

pubbliche (come quelle realizzate dai Web Service ) perché, non solo il padrone di casa

ma anche altre entità fornite delle dovute autorizzazioni possano interfacciarsi agli

impianti di casa. Uno scenario di questo genere potrebbe essere costituito da un servizio

di video-sorveglianza centralizzato con operatori umani che supervisionano diverse

abitazioni; una volta percepito un allarme, il centro cattura lo streaming video

dell’abitazione coinvolta e attua le dovute misure di sicurezza. Oppure il gestore

dell’energia elettrica, per esempio, in accordo con un contratto stipulato con il cliente,

potrebbe attuare delle ottimizzazioni sui consumi dell’abitazione. Oppure pensiamo ad

un forno microonde che riceve le istruzioni per la cottura da un servizio su Internet

gestito dagli esperti mondiali del settore. Anche in questo caso, le interfacce pubbliche




                                                                                           7
Il Web Service e i sistemi embedded                                               Capitolo 2



concorrono all’integrazione dei servizi: la casa non è più gestita solo dal padrone di casa

ma da varie entità (servizi) che collaborano con lui.




                                                                                          8

More Related Content

What's hot

What's hot (12)

Network essentials
Network essentialsNetwork essentials
Network essentials
 
Gestione Reti
Gestione RetiGestione Reti
Gestione Reti
 
Tesi di Laurea Specialistica in Ingegneria Informatica
Tesi di Laurea Specialistica in Ingegneria InformaticaTesi di Laurea Specialistica in Ingegneria Informatica
Tesi di Laurea Specialistica in Ingegneria Informatica
 
Dot net framework 2
Dot net framework 2Dot net framework 2
Dot net framework 2
 
4 Livello Ip Parte3 Bw
4 Livello Ip Parte3 Bw4 Livello Ip Parte3 Bw
4 Livello Ip Parte3 Bw
 
Modello Filiera Editoriale
Modello Filiera EditorialeModello Filiera Editoriale
Modello Filiera Editoriale
 
5 Protocolli Trasporto Parte2
5 Protocolli Trasporto Parte25 Protocolli Trasporto Parte2
5 Protocolli Trasporto Parte2
 
8 Www2009 Parte2
8 Www2009 Parte28 Www2009 Parte2
8 Www2009 Parte2
 
Posta Elettronica E Www
Posta Elettronica E WwwPosta Elettronica E Www
Posta Elettronica E Www
 
ISO-OSI
ISO-OSIISO-OSI
ISO-OSI
 
3 H2 N Parte2
3 H2 N Parte23 H2 N Parte2
3 H2 N Parte2
 
Aspetto sociale del p2p
Aspetto sociale del p2pAspetto sociale del p2p
Aspetto sociale del p2p
 

Similar to Il web service e i sistemi embedded - Tesi - cap2

La sicurezza nelle reti IEEE 802.15.4
La sicurezza nelle reti IEEE 802.15.4La sicurezza nelle reti IEEE 802.15.4
La sicurezza nelle reti IEEE 802.15.4Gianmarco Beato
 
Are you a Gadgeteer? - NetMF@Work
Are you a Gadgeteer? - NetMF@WorkAre you a Gadgeteer? - NetMF@Work
Are you a Gadgeteer? - NetMF@WorkMirco Vanini
 
Il Cloud Infrastrutturale
Il Cloud InfrastrutturaleIl Cloud Infrastrutturale
Il Cloud InfrastrutturaleMarco Lombardo
 
Freescale i.mx28 processore per applicazioni multimediali - 2010-11-04
Freescale i.mx28   processore per applicazioni multimediali - 2010-11-04Freescale i.mx28   processore per applicazioni multimediali - 2010-11-04
Freescale i.mx28 processore per applicazioni multimediali - 2010-11-04Ionela
 
Sistemi Context-aware: Esercitazione 3
Sistemi Context-aware: Esercitazione 3Sistemi Context-aware: Esercitazione 3
Sistemi Context-aware: Esercitazione 3Marco Loregian
 
Freescale amplia le possibilità di prototipazione attraverso nuovi moduli di ...
Freescale amplia le possibilità di prototipazione attraverso nuovi moduli di ...Freescale amplia le possibilità di prototipazione attraverso nuovi moduli di ...
Freescale amplia le possibilità di prototipazione attraverso nuovi moduli di ...Ionela
 
Cloudup, cloud server al minuto
Cloudup, cloud server al minutoCloudup, cloud server al minuto
Cloudup, cloud server al minutoENTER S.r.l.
 
Smart Technology 3 novembre
Smart Technology 3 novembreSmart Technology 3 novembre
Smart Technology 3 novembrecanaleenergia
 
BWII (Broadband Wireless Italia Israele)
BWII (Broadband Wireless Italia Israele) BWII (Broadband Wireless Italia Israele)
BWII (Broadband Wireless Italia Israele) ESA Italia Srl
 
La piattaforma di riferimento home energy gateway della freescale per sostene...
La piattaforma di riferimento home energy gateway della freescale per sostene...La piattaforma di riferimento home energy gateway della freescale per sostene...
La piattaforma di riferimento home energy gateway della freescale per sostene...Ionela
 
Progettazione e sviluppo di un software applicativo su un single board computer
Progettazione e sviluppo di un software applicativo su un single board computerProgettazione e sviluppo di un software applicativo su un single board computer
Progettazione e sviluppo di un software applicativo su un single board computerAlessandro Mascherin
 
118 Primo Piano “Dispositivi ethernet-based” - Fieldbus & Networks N. 88 – Se...
118 Primo Piano “Dispositivi ethernet-based” - Fieldbus & Networks N. 88 – Se...118 Primo Piano “Dispositivi ethernet-based” - Fieldbus & Networks N. 88 – Se...
118 Primo Piano “Dispositivi ethernet-based” - Fieldbus & Networks N. 88 – Se...Cristian Randieri PhD
 
Introduzione ai sistemi embedded 2010-10-14
Introduzione ai sistemi embedded   2010-10-14Introduzione ai sistemi embedded   2010-10-14
Introduzione ai sistemi embedded 2010-10-14Ionela
 
Linea prodotti configurabili CAMILLO per la Misura, l' Automazione ed il Cont...
Linea prodotti configurabili CAMILLO per la Misura, l' Automazione ed il Cont...Linea prodotti configurabili CAMILLO per la Misura, l' Automazione ed il Cont...
Linea prodotti configurabili CAMILLO per la Misura, l' Automazione ed il Cont...iBLio
 

Similar to Il web service e i sistemi embedded - Tesi - cap2 (20)

La sicurezza nelle reti IEEE 802.15.4
La sicurezza nelle reti IEEE 802.15.4La sicurezza nelle reti IEEE 802.15.4
La sicurezza nelle reti IEEE 802.15.4
 
Are you a Gadgeteer? - NetMF@Work
Are you a Gadgeteer? - NetMF@WorkAre you a Gadgeteer? - NetMF@Work
Are you a Gadgeteer? - NetMF@Work
 
Il Cloud Infrastrutturale
Il Cloud InfrastrutturaleIl Cloud Infrastrutturale
Il Cloud Infrastrutturale
 
Freescale i.mx28 processore per applicazioni multimediali - 2010-11-04
Freescale i.mx28   processore per applicazioni multimediali - 2010-11-04Freescale i.mx28   processore per applicazioni multimediali - 2010-11-04
Freescale i.mx28 processore per applicazioni multimediali - 2010-11-04
 
Prova
ProvaProva
Prova
 
Sistemi Context-aware: Esercitazione 3
Sistemi Context-aware: Esercitazione 3Sistemi Context-aware: Esercitazione 3
Sistemi Context-aware: Esercitazione 3
 
BACnet: il protocollo per gestire il tuo edificio in un'unica piattaforma
BACnet: il protocollo per gestire il tuo edificio in un'unica piattaformaBACnet: il protocollo per gestire il tuo edificio in un'unica piattaforma
BACnet: il protocollo per gestire il tuo edificio in un'unica piattaforma
 
Freescale amplia le possibilità di prototipazione attraverso nuovi moduli di ...
Freescale amplia le possibilità di prototipazione attraverso nuovi moduli di ...Freescale amplia le possibilità di prototipazione attraverso nuovi moduli di ...
Freescale amplia le possibilità di prototipazione attraverso nuovi moduli di ...
 
Connext ita
Connext itaConnext ita
Connext ita
 
Cloudup, cloud server al minuto
Cloudup, cloud server al minutoCloudup, cloud server al minuto
Cloudup, cloud server al minuto
 
Smart Technology 3 novembre
Smart Technology 3 novembreSmart Technology 3 novembre
Smart Technology 3 novembre
 
BWII (Broadband Wireless Italia Israele)
BWII (Broadband Wireless Italia Israele) BWII (Broadband Wireless Italia Israele)
BWII (Broadband Wireless Italia Israele)
 
SIMarket_Massimo La Morgia
SIMarket_Massimo La MorgiaSIMarket_Massimo La Morgia
SIMarket_Massimo La Morgia
 
La piattaforma di riferimento home energy gateway della freescale per sostene...
La piattaforma di riferimento home energy gateway della freescale per sostene...La piattaforma di riferimento home energy gateway della freescale per sostene...
La piattaforma di riferimento home energy gateway della freescale per sostene...
 
Progettazione e sviluppo di un software applicativo su un single board computer
Progettazione e sviluppo di un software applicativo su un single board computerProgettazione e sviluppo di un software applicativo su un single board computer
Progettazione e sviluppo di un software applicativo su un single board computer
 
118 Primo Piano “Dispositivi ethernet-based” - Fieldbus & Networks N. 88 – Se...
118 Primo Piano “Dispositivi ethernet-based” - Fieldbus & Networks N. 88 – Se...118 Primo Piano “Dispositivi ethernet-based” - Fieldbus & Networks N. 88 – Se...
118 Primo Piano “Dispositivi ethernet-based” - Fieldbus & Networks N. 88 – Se...
 
Cac Es3 2009
Cac Es3 2009Cac Es3 2009
Cac Es3 2009
 
Networking Hand Vocabulary Book
Networking Hand Vocabulary BookNetworking Hand Vocabulary Book
Networking Hand Vocabulary Book
 
Introduzione ai sistemi embedded 2010-10-14
Introduzione ai sistemi embedded   2010-10-14Introduzione ai sistemi embedded   2010-10-14
Introduzione ai sistemi embedded 2010-10-14
 
Linea prodotti configurabili CAMILLO per la Misura, l' Automazione ed il Cont...
Linea prodotti configurabili CAMILLO per la Misura, l' Automazione ed il Cont...Linea prodotti configurabili CAMILLO per la Misura, l' Automazione ed il Cont...
Linea prodotti configurabili CAMILLO per la Misura, l' Automazione ed il Cont...
 

Il web service e i sistemi embedded - Tesi - cap2

  • 1. Il Web Service e i sistemi embedded Capitolo 2 Capitolo 2 Il Web Service e i sistemi embedded Nel capitolo sono presentati diversi prodotti commerciali impieganti Web Service , in modo particolare dispositivi di tipo embedded. Viene discusso, inoltre, su come le tecnologie Web entrino nel mondo industriale e della domotica e si pone l’attenzione sui fattori che impediscono il pieno sviluppo in questi ambiti. Infine vengono proposti diversi articoli che affrontano tematiche simili a quelle della tesi. 2.1 Il fenomeno della miniaturizzazione Il progresso tecnologico vede molto spesso il nascere di una tecnologia per computer PC o server e dopo poco tempo il porting1 della stessa su architetture ridotte, embedded o portabili. Nel 1995 nasce Apache Web Server e nel 1999 si assiste alla gara “The World’s Smallest Server”: università e aziende si sforzano di semplificare ed ottimizzare il prodotto di Apache per arrivare a servire pagine Web tramite una piccola scheda elettronica. Il dispositivo più eclatante in quanto a dimensioni è iPic del Department of Computer Science University of Massachusetts che utilizza una interfaccia SLIP e “gira” su un microcontrollore a 8 piedini, il PIC12509A. Molte aziende hanno iniziato a produrre schede di sviluppo basate su microcontrollori con interfaccia Ethernet come la Picoweb Server (della Picoweb) oppure la PICDEM.net (della Microchip Technologies) o la RCM3750 RabbitCore (della Rabbit 1 Porting: operazione con cui un programma, sviluppato originariamente per una piattaforma, viene modificato nel suo codice sorgente (vd. compilatore) in modo da poter essere utilizzato in un'altra piattaforma. 1
  • 2. Il Web Service e i sistemi embedded Capitolo 2 Semiconductor). Quest’ultimo prodotto è particolarmente interessante ed evoluto ma di costo superiore ai precedenti: possiede 512KByte di memoria programma e supporta anche SSL. Vengono progettati processori che forniscono full duplex 10/100 Base-T Ethernet come il NS9750 (della Netsilicon). Tra il 2001 e il 2002 nascono le prime piattaforme per Web Service con prodotti commerciali come gSOAP2, .NET e AXIS; pochissimo tempo dopo nascono le versioni embedded. Tra i primi troviamo Samsung e Thinkware che mettono sul mercato iPC: un System- On-Chip che implementa un Web Service standard, con moduli SOAP e XML. Il cuore del progetto è il processore ARM7TDMI e il RTOS della VxWorks con un ANSI-C compatibile I/O system (per esempio, per creare socket TCP). Implementa la crittografazione dei dati e, a livello fisico, offre un collegamento verso l’esterno di tipo seriale wired o di tipo wireless (IEEE802.11b). E’ un’architettura molto sofisticata: presenta canali DMA, porte USB, sistemi di risparmio energetico, A/D converter ecc... . Viene fornita una evaluation board corredata di tutto software open-source e degli strumenti di sviluppo. Anche Ultimodule domina la scena col suo eSOAP [27], implementazione commerciale leggera di SOAP, appunto, orientato soprattutto al mercato dei PDA e degli smartphone che esce nel 2004. Viene fornito con un toolkit ovvero un insieme di librerie C++ che forniscono un SOAP engine in grado di dare ad un sistema embedded l’interoperabilità tipica dei sistemi client/server basati su Web Service. L’occupazione di memoria del server SOAP è circa 150KByte ed è disponibile per sistemi operativi real time o normali. 2 in [22] si discute delle ottimizzazioni introdotte tali da poterlo utilizzare anche su sistemi embedded 2
  • 3. Il Web Service e i sistemi embedded Capitolo 2 La stessa azienda commercializza Smart Controller Module: una scheda di ridotte dimensioni basata su FPGA che, oltre l’implementazione di Web Service , fornisce praticamente tutti i bus wired attualmente utilizzati in campo controllistico. Offre due principali soluzioni: programma l’FPGA per applicazioni tipiche predefinite oppure fornisce il codice VHDL che gestisce le funzioni base della scheda che poi può essere personalizzato dall’utente. Per quanto riguarda il mondo Java, segnaliamo kSOAP [28] di Enhydra.org (progetto nato nel 2001). E’ una API SOAP open source da integrare all’interno di Java 2 Microedition. Dato il suo ridotto footprint è ideali per la creazione di Java-applet SOAP-enabled da eseguire su telefoni cellulari o smart phone. Infine citiamo .NET Embedded dellaMicrosoft per lo sviluppo diWeb Service su sistemi embedded. Quest’ultimo richiede che sul dispositivo target sia installato Windows CE e quindi è una soluzione altamente platform-dependent. Tutti questi dispositivi, come l’architettura proposta possono essere utilizzati tra l’altro in scenari di automazione industriale e di domotica. E’ importante sottolineare come tutti i Web Service commerciali appena presentati abbiano come piattaforma-obiettivo i sistemi embedded ma richiedano comunque un certo ammontare di risorse hardware/software. 2.2 I Web Service nello scenario industriale Nell’ambito dell’automazione industriale si diffonde sempre più il trend di avere dispositivi e macchinari “intelligenti”, cioè in grado di controllare il proprio stato e di prendere opportune decisioni. Il tipico scenario in cui un impianto industriale si può trovare è di avere un gran numero di macchinari, ognuno con compiti specifici e, soprattutto, con propri standard di comunicazione verso i sistemi di controllo (computer, 3
  • 4. Il Web Service e i sistemi embedded Capitolo 2 stazioni operative, ecc. . . ). Nascono limitazioni dovute al fatto che i vari protocolli sono proprietari e quindi rendono difficile la strutturazione di una rete “omogenea” e di un sistema per supervisionare e agire sui dispositivi in maniera remota. Le prime limitazioni sono dovute agli standard industriali di trasmissione dati (di tipo seriale) come Profibus, Foundation Fieldbus, CanBus. Si è allora pensato che fosse possibile utilizzare Ethernet [29]; i vantaggi sono considerevoli a costo di una maggiore complessità del protocollo [30]: • grande scalabilità della rete; • possibilità di gestire un grandissimo numero di nodi; • le velocità di trasmissione aumentano notevolmente dai 9.6 kbit/s con una RS232 a 1 Gbit/s con una IEEE 802 su cavi Cat5e o su fibra ottica; • possibilità di incrementare la lunghezza delle reti di controllo; • migliorano le performance e l’interoperabilità; • possibilità di utilizzare switches, hubs, cavi e fibre ottiche che sono estremamente più economici rispetto ai corrispettivi dispositivi per porte seriali. Questi vantaggi sono determinanti, infatti sono state sviluppate versioni Ethernet di questi vecchi protocolli, ad esempio Profinet (vedere [31] per le sue caratteristiche di real time) o Foundation Fieldbus High Speed Ethernet su cui si basa la cosiddetta Industrial Ethernet . Conseguentemente aziende come la Korenix, MOXA, Acromag, ecc. . . lanciano sul mercato prodotti mirati all’adattamento dei tradizionali componenti Ethernet (switch, hub, cavi, adattatori, ecc. . . ) allo scenario industriale; sono caratterizzati da sistemi di ridondanza, operatività in ampi range di temperatura, alta configurabilità, sistemi avanzati di controllo dei guasti con allarmi. Ciò che inizialmente ha rallentato l’adozione di Ethernet nel settore industriale è stata la sua mancanza di determinismo che non poteva garantire il soddisfacimento di vincoli di 4
  • 5. Il Web Service e i sistemi embedded Capitolo 2 real-time. Questo ostacolo è stato superato grazie ad accorgimenti particolari come l’adozione di meccanismi di full duplex-switched [32] che evitano collisioni di pacchetti e pongono un limite massimo ai ritardi di trasmissione e l’applicazione di algoritmi di scheduling ottimizzati [33]. Lo standard de facto del protocollo di comunicazione per l’Industrial Ethernet è il TCP/IP (livello 4 dello stack ISO-OSI). Comunque non basta stabilire un canale di comunicazione comune tra i dispositivi ma occorre definire un protocollo applicazione (livello 7 dello stack ISO-OSI) che garantisca l’interoperabilità tra dispositivi; esempi di protocollo applicazione sono SMTP, FTP, HTTP. In ambito industriale un protocollo applicazione utilizzato per la comunicazione tra dispositivi è DCOM (Distributed Component Object Model), (è il protocollo comune in Profinet). DCOM ma anche OPC e CORBA sono protocolli standard per la definizione di modelli di oggetti trasmessi su una rete: ogni nodo appartenente alla rete è vista come una unità “chiusa” che comunica con altre unità attraverso un’interfaccia. Il distributed computing garantito da tali standard è limitato dal fatto che i dispositivi che comunicano devono “parlare” con lo stesso protocollo applicazione e questo prevede la conoscenza delle caratteristiche di tutti i dispositivi collegati alla rete, ciò è possibile se la rete è di tipo locale. L’estensione da una rete locale a una rete mondiale (Internet) dove esiste l’imprevedibilità dei nodi connessi pone dei freni al distributed computing e in questo caso vengono in aiuto i Web Service . Questi adottano come protocollo applicazione l’HTTP che è uno standard molto usato per la comunicazione su Internet, inoltre utilizzano l’XML come formato di “marshalling” e “un-marshalling” dei dati tra client e server, quindi con un parser XML è possibile l’interpretazione dell’informazione migliorando l’interoperabilità. 5
  • 6. Il Web Service e i sistemi embedded Capitolo 2 Tra i Web Service si è ormai affermato lo standard SOAP che, oltre al già citato vantaggio di risolvere il problema di eterogeneità delle comunicazioni tra dispositivi che utilizzano protocolli applicazione diversi, riesce a fornire un’astrazione dei modelli degli oggetti ancora superiore garantendo un meccanismo di trasmissione indipendente dagli ambienti in cui i client e i server “girano” e dalle loro implementazioni. Inoltre utilizzando il protocollo HTTP si evitano i problemi dovuti alla gestione del traffico da parte dei firewalls quindi i messaggi SOAP viaggiano sulla porta 80 senza ostacoli. Tra le maggiori società che hanno sviluppato Web Service di tipo SOAP per estendere i loro servizi ci sono Google, Ebay e Amazon. Tutte forniscono delle API (descritte in un documento WSDL pubblico) utilizzabili sulla base di diversi tipi di registrazione che pongono differenti limitazioni all’uso. Alternativamente ai servizi di tipo SOAP vengono messi a disposizione servizi di tipo REST. 2.3 La domotica e i Web Service La home-automation non è più considerata come un accessorio di lusso adatto solo a nuove realizzazioni di altissimo livello ed improponibile nella maggior parte delle applicazioni, al contrario diventa un insieme di soluzioni che possono essere offerte anche in realizzazioni di medio livello ed in ristrutturazioni di impianti esistenti, grazie alla disponibilità di prodotti dal costo ridotto sempre più semplici nell’installazione e nel funzionamento. La home-automation è una realtà che non serve soltanto per rendere la vita comoda e più sicura ma sta creando una grande svolta per anziani e disabili. Negli anni precedenti è stato un campo non in grande evoluzione a causa della moltitudine di standard utilizzati (X10, CEBus, BACnet, INSTEON, ZigBee), nessuno dei quali riusciva ad imporsi sul mercato. Una grande svolta è iniziata con Windows Media Center, la grande box multimediale di Microsoft, che ha deciso di integrare alcuni moduli software 6
  • 7. Il Web Service e i sistemi embedded Capitolo 2 per gestire (anche attraverso Internet) reti domotiche di alcuni produttori tra cui HAI, BTicino e ABB. I protocolli gestiti da questi produttori diventano quindi gli standard per chi realizza dispositivi da integrare nelle reti di automazione domotica. Negli ultimissimi tempi Ethernet viene impiegato anche in campo domotico grazie alle sue doti di versatilità, di economicità e al grande numero di dispositivi ed applicazioni disponibili sul mercato. La scalabilità di questo bus permette inoltre di graduare facilmente il peso (e la spesa!) di un intervento in quanto è possibile in una prima fase occuparsi del controllo delle funzioni principali (impianto luce, motorizzazioni, termoregolazione) e poi nel tempo aggiungere funzioni accessorie quali il controllo tramite telecomandi, la supervisione, il controllo remoto, senza modificare nulla dell’impianto già realizzato. In generale, ci si sta muovendo verso l’utilizzo di protocolli aperti anche nel settore della domotica. Prova di ciò è il fatto che la Cimetrics produce un adattatore che realizza una interfaccia Web Service a partire da un protocollo BACNET [34]; adattatori di questo tipo per altri bus sono ampiamente disponibili sul mercato. Questo trend è dovuto al fatto che si incomincia a sentire la necessità di usare interfacce pubbliche (come quelle realizzate dai Web Service ) perché, non solo il padrone di casa ma anche altre entità fornite delle dovute autorizzazioni possano interfacciarsi agli impianti di casa. Uno scenario di questo genere potrebbe essere costituito da un servizio di video-sorveglianza centralizzato con operatori umani che supervisionano diverse abitazioni; una volta percepito un allarme, il centro cattura lo streaming video dell’abitazione coinvolta e attua le dovute misure di sicurezza. Oppure il gestore dell’energia elettrica, per esempio, in accordo con un contratto stipulato con il cliente, potrebbe attuare delle ottimizzazioni sui consumi dell’abitazione. Oppure pensiamo ad un forno microonde che riceve le istruzioni per la cottura da un servizio su Internet gestito dagli esperti mondiali del settore. Anche in questo caso, le interfacce pubbliche 7
  • 8. Il Web Service e i sistemi embedded Capitolo 2 concorrono all’integrazione dei servizi: la casa non è più gestita solo dal padrone di casa ma da varie entità (servizi) che collaborano con lui. 8