- Enterprise
- Business
- Privati
- Service & Support
- L'azienda KONVERTO
- Jobs
- Contatti
L'11 settembre si è svolto ancora una volta il Tech Talks South Tyrol. Si tratta di un evento trimestrale che riunisce sviluppatori e appassionati di tecnologia per condividere esperienze, best practice e le ultime tendenze tecnologiche.
Gli argomenti dei talk abbracciano un vasto spettro: dallo sviluppo web e delle applicazioni mobili a DevOps e al “machine learning”.
Konverto ha ospitato questa volta un Tech Talk. All'evento hanno partecipato oltre 40 ospiti provenienti da tutto l'Alto Adige.
Uno degli interventi dell'evento è stato tenuto da un team del Development Center di Konverto. Samuel Runggaldier e Peter Unterthurner hanno parlato di una particolare forma di architettura di sistema che sono già riusciti ad implementare nei progetti software di Konverto: Architettura esagonale.
L'architettura esagonale è un approccio allo sviluppo del software che mira a separare i processi più importanti di un'applicazione, ossia ciò che il software dovrebbe svolgere per il cliente, dai dettagli tecnici, come l'interfaccia utente o il database. Ciò significa che la funzione principale del software rimane flessibile e indipendente dai sistemi esterni.
L'architettura è stata descritta per la prima volta nel 2004 da Alistair Cockburn, il quale ha riconosciuto che una parte non trascurabile dei problemi del software è causata dal fatto che i processi interni all'applicazione si concentrano in maniera eccessiva sulle peculiarità dell'interfaccia utente.
Tuttavia, idealmente, non dovrebbe essere importante il modo in cui l'utente finale interagisce con il software, poiché i compiti che il software cerca di risolvere non cambiano a seconda della forma in cui i dati vengono immessi e restituiti.
Per risolvere questo problema, si crea una separazione netta tra l'applicazione e il mondo esterno. Per poter comunicare con l'applicazione, vengono definiti dei punti di ingresso, le cosiddette porte, che stabiliscono esattamente come devono essere le richieste e i dati per essere accettati ed elaborati. Analogamente a una presa di corrente, viene prescritto come deve apparire la spina quando vuole connettersi.
Tuttavia, a causa di requisiti e circostanze tecniche, spesso ci si trova in una situazione in cui la spina virtuale ha un aspetto diverso da quello richiesto dall'applicazione.
Per colmare questo divario si utilizzano, come nella realtà, gli adattatori, il cui compito è quello di tradurre le richieste in modo tale da rendere possibile la comunicazione tra il mondo esterno e la logica aziendale.
Il grande vantaggio di questo approccio è che si possono facilmente apportare modifiche all'interfaccia utente o ai sistemi esterni senza dover modificare il software vero e proprio. È infatti sufficiente sostituire l'adattatore pertinente. Ciò garantisce che il software rimanga flessibile e non debba essere completamente rivisto in caso di nuovi requisiti o modifiche tecniche.
Questo stile di architettura garantisce inoltre che i vari flussi di lavoro del programma si influenzino a vicenda il meno possibile. Una porta di ingresso deve sempre elaborare un compito, per un motivo, per un solo attore, al fine di evitare inutili dipendenze tra di loro.
Un'architettura realizzata in questo modo garantisce che i progetti possano essere ampliati con nuove funzionalità anche in fase avanzata senza alcuna perdita di velocità di sviluppo. L'architettura esagonale migliora anche la testabilità e la manutenzione dell'applicazione, particolarmente importante per i progetti a lungo termine.