L'architettura ad eventi EDA (Event Driven Architeture), cambierà il modo di pensare le future applicazioni
Il disegno del software nel futuro prossimo non potrà prescindere dall'habitat naturale dove le applicazioni avranno sede, lasciando gradualmente il desktop per la<strong> Rete.</strong> Una rete semantica, dove le informazioni saranno organizzate e catalogate a seconda del loro significato e con sofisticate indicizzazioni.
In questo mare di informazioni e meta-dati, si muoveranno entità-programmi, simili a robot software, chiamati<strong> Agenti.
</strong>La <strong>EDA (event driven architecture)</strong>, è un interessante modello di funzionamento per scrivere Agenti Software, che presenta diversi vantaggi rispetto al <strong>SOA</strong> (Service Oriented System), orientato ai servizi, ed al classico <strong>Publish-Subscribe System</strong> (pubblica e descrivi).
Gli agenti EDA sono provvisti di sensori che monitorano costantemente lo stato delle informazioni possedute, e producono degli eventi quando esiste un cambiamento di stato significativo in queste informazioni. La particolarità della architettura EDA sta nel <strong>Contratto </strong>in essere tra client e server, per la fornitura e richiesta del servizio.
In EDA client e server, o meglio <strong>Sottoscrittore e Fornitore</strong> del contratto, sono obbligati ad aggiornare costantemente le condizioni di fornitura e richiesta dei servizi. La relazione tra sottoscrittore e fornitore si autoaggiorna costantemente, e questo flusso di aggiornamenti ha come conseguenza l'evoluzione naturale di tutta l'applicazione che coinvolge i diversi agenti, in modo intelligente.
Il Contratto prevede inoltre la fornitura di informazioni tra sottoscrittore e fornitore al verificarsi di cambiamento di stato nelle informazioni trattate.
Quando lo stato considerato <strong>normale</strong> in base ai valori raggiunti cambia e presenta una <strong>anomalia</strong> o significativo scostamento, è generato un <strong>messaggio</strong> immediato che informa l'altro agente di quanto accaduto, il quale provvederà ad eseguire gli eventi previsti per indagare e monitorare la situazione. E' come quando un rilevatore di presenza di gas nell'atmosfera delle nostre cucine avverte un'anomalia nei valori e ci avvisa con un segnale acustico, allertandoci ad indagare sui motivi e a prendere le necessarie contromisure.
Esplorare le nuove frontiere della scrittura di software, che avrà ragione di essere all'interno di una rete semantica e basata sull'azione degli Agenti intelligenti, è materia di sicuro interesse.
Una serie di approfondimenti sull'architettura EDA è disponibile <a href="http://www.developer.com/design/article.php/10925_3499031_1" target="_blank">a questo indirizzo</a>.