Quando progetto l'architettura di un software mi piace pensare in grande e uno degli obiettivi che mi pongo sempre è quello della scalabilità, che in poche parole significa non porre limiti a priori a quanto grande potrà diventare il software in oggetto. Il progetto che stiamo sviluppano in laboratorio si pone come obiettivo quello di interfacciarsi a tutta una serie di strumenti remoti, raccogliere un certo numero di informazioni e salvarle all'interno di un database. Detta così sempre molto facile, ed infatti lo è, e solo per rendere le cose un pelino più complesse va sottolineato che gli strumenti non sono tutti identici (ne esistono almeno una decina di famiglie con mediamente dieci membri ciascuna) e per nessuno di essi esiste un driver specifico di comunicazione, ma solo una descrizione, più o meno accurata del protocollo utilizzato.
Il primo passo è stato quello di scrivere il driver della prima famiglia e costruire quello che abbiamo chiamato amichevolmente un demone, ovvero un piccolo programmino che può tranquillamente girare in background e che si impegna ad interrogare il suo strumento in base a scadenze programmate e registrate in una sezione apposita del database. Per ogni famiglia di strumenti ci serve un driver e un demone e ogni membro della famiglia necessita della sua istanza del demone.
A questo punto abbiamo preparato un lanciatore di demoni, amichevolmente pokemon, che dal database si legge tutte gli strumenti collegati e in base al loro tipo fa partire un'istanza del demone opportuno. Appena il pokemon è stato pronto abbiamo voluto verificare che non ci fosse nessun impedimento nel collegare alla rete due strumenti uguali e far partire due istanze dello stesso demone, ma la vera prova di scalabilità è stata fatta oggi, quando dopo aver ultimato il driver e il demone per il secondo strumento, avevamo tre oggetti collegati al nostro sistema appartenenti a due famiglie differenti...
E adesso, pronti via si parte, tutto ancora da capo, con una terza famiglia!
Cerca nel blog
Loading
5 marzo 2013
Chiunque può lasciare commenti su questo blog, ammesso che vengano rispettate due regole fondamentali: la buona educazione e il rispetto per gli altri.
Per commentare potete utilizzare diversi modi di autenticazione, da Google a Facebook e Twitter se non volete farvi un account su Disqus che resta sempre la nostra scelta consigliata.
Potete utilizzare tag HTML <b>, <i> e <a> per mettere in grassetto, in corsivo il testo ed inserire link ipertestuali come spiegato in questo tutorial. Per aggiungere un'immagine potete trascinarla dal vostro pc sopra lo spazio commenti.
A questo indirizzo trovate indicazioni su come ricevere notifiche via email sui nuovi commenti pubblicati.
Iscriviti a:
Commenti sul post (Atom)
0 commenti:
Posta un commento
Chiunque può lasciare commenti su questo blog, ammesso che vengano rispettate due regole fondamentali: la buona educazione e il rispetto per gli altri.
Per commentare potete utilizzare diversi modi di autenticazione, da Google a Facebook e Twitter se non volete farvi un account su Disqus che resta sempre la nostra scelta consigliata.
Potete utilizzare tag HTML <b>, <i> e <a> per mettere in grassetto, in corsivo il testo ed inserire link ipertestuali come spiegato in questo tutorial. Per aggiungere un'immagine potete trascinarla dal vostro pc sopra lo spazio commenti.
A questo indirizzo trovate indicazioni su come ricevere notifiche via email sui nuovi commenti pubblicati.