Per Iniziare
Comincia dalle basi e scopri come utilizzare Mia-Platform a piccoli passi.
Comincia dalle basi e scopri come utilizzare Mia-Platform a piccoli passi.
Inizia ora
Diventa Partner certificato e scopri tutti i benefici del Partner Program.
Scopri il nostro programma
Il principale compito dei team di sviluppo, come si intuisce dalla parola stessa, consiste nello sviluppare software. Prima di poter iniziare a scrivere il codice che farà effettivamente funzionare il software, però, è necessario determinare come il software sarà composto: questo processo di design del software permette di individuare i vari elementi che andranno a formarlo, il tipo di interazione tra di essi e quali comunicazioni con altri software sono richieste. L’output del processo di design è una rappresentazione visuale dell’architettura del software, un vero e proprio diagramma che illustra tutti i vari componenti interni, le loro proprietà e le relazioni tra di essi e con altri sistemi esterni.
Nel corso degli anni si sono venuti a creare dei pattern per disegnare le architetture dei software: si tratta di veri e propri stili architetturali, cioè soluzioni a problemi comuni, riutilizzabili in contesti simili e basate su best practice derivate dall’esperienza accumulata nel tempo. Adottare un pattern architetturale porta diversi benefici:
Esistono moltissimi pattern architetturali, che ormai coprono la maggior parte delle casistiche che si possono incontrare nella progettazione di un software. Inoltre, nuovi pattern vengono ideati e condivisi continuamente nelle community open-source, includendo le nuove tecnologie a disposizione.
In questo panorama, Giulio Roggero, CTO e co‑founder di Mia‑Platform, ha raccolto alcuni degli stili più utilizzati, e li ha catalogati in una mappa mentale a seconda del tipo di soluzione che offrono. La lista non è esaustiva perché, come menzionato, il panorama dei pattern disponibili è molto vasto e in continua evoluzione, ma questa mappa può fornire spunti utilissimi in molti contesti.
Qui sotto puoi vedere un’anteprima della mappa:
Per scaricare il file in alta qualità, gratuitamente e senza necessità di registrarti, clicca sul bottone qui sotto:
Di seguito trovi una breve spiegazione dei vari gruppi in cui sono suddivisi i pattern architetturali dell’immagine, insieme a una breve descrizione di ciascuno di essi.
Ci sono diversi modi di connettere servizi ed applicazioni legandole tra di loro:
I primissimi applicativi software hanno adottato il principio Divide et impera con moduli e funzioni. Più il software si complica, più è necessario isolarlo in modo da poterlo far evolvere:
Gli eventi sono un ottimo modo per ridurre l’accoppiamento tra i diversi componenti del software. Un’architettura ad eventi comporta un aumento di complessità e risulta più difficile da gestire, ma in certi contesti questo tipo di soluzione è preziosa:
La quantità di dati che transita ogni giorno sta aumentando esponenzialmente. Gestire gli stream dati per estrarre informazioni utili può essere di enorme valore:
Il dato è centrale per realizzare applicazioni di valore. Da come viene gestito possono dipendere interi business:
Basandosi sulla capacità di unire le informazioni è possibile costruire agenti autonomi in grado di risolvere problemi complessi:
Combinando diversi pattern è possibile realizzare artefatti ancora più elaborati che hanno lo scopo di generare valore per chi li utilizza:
Invia il file ad amici e colleghi, e condividilo sui social taggando i profili ufficiali di Mia‑Platform!
Se vuoi segnalare qualche altro pattern che vorresti vedere in questa mappa scrivi un commento qui sotto, ti risponderemo al più presto.