Vai al contenuto principaleVai al footer
Composability
|
07 aprile 22

Cos'è l'architettura componibile e come metterla in pratica

Spesso le aziende vogliono avere il pieno controllo sui loro software. Questo perché sono abituate ad adottare applicazioni personalizzate che girano internamente sulla propria rete e che solo loro possono accedere. Sebbene un tale approccio alla tecnologia sia ancora molto diffuso, questo ha portato alla nascita di applicazioni legacy che sono difficili da usare, manutenere ed evolvere

Antonello ZaniniSoftware Engineer e Technical Writer

Al contrario, le aziende più all'avanguardia e con un occhio al futuro preferiscono ora selezionare le migliori tecnologie sul mercato e usarle per comporre dei prodotti migliori e più performanti. Questo approccio prende il nome di architettura componibile (o composable, come in inglese). 

Cerchiamo ora di approfondire meglio questo criterio di costruzione di uno stack tecnologico, scoprendo e imparando tutto quello che è necessario sapere sull’architettura componibile.

Che cos'è l'architettura componibile?

L'architettura componibile riguarda la scelta e l'adozione delle migliori soluzioni tecnologiche sul mercato. In altre parole, un'azienda che adotta un'architettura componibile seleziona i migliori elementi di cui ha bisogno tra tutti i servizi e le piattaforme disponibili online. A questo riguardo, Gartner definisce un business componibile come

un'organizzazione che ottiene risultati e sa stare al passo del cambiamento del settore nel quale opera. Questo obiettivo è raggiunto attraverso l'assemblaggio e l'azione di PBC (Packaged Business Capability).

Viene quindi naturale chiedersi cosa sia un PBC.

Cos’è un PBC (Packaged Business Capability)?

Sempre secondo Gartner, i PBC possono essere definiti come

componenti software che rappresentano una funzionalità ben definita in ambito di business e riconoscibile come tale da un utente operante in quel business. Dal punto di vista tecnico, un PBC è un insieme di dati, servizi e API. I PBC implementati correttamente sono entità funzionali che possono operare in autonomia (non hanno nessuna dipendenza esterna critica e nessuna necessità di accedere a dati esterni). In altre parole, I PBC possono essere visti come componenti per costruire prodotti software o esperienze applicative su misura.

Chiarito cosa sono i PBC e il ruolo che questi giocano nell’architettura componibile, rimane da comprendere come si è arrivati all’adozione di questo approccio alla tecnologia.

Perché le aziende stanno passando all’architettura componibile?

Per anni, le aziende hanno preferito adottare suite aziendali o soluzioni personalizzate costruite per soddisfare le loro esigenze, ma mantenere aggiornate queste applicazioni monolitiche non è per niente facile. Ecco perché tale approccio non è più la scelta sicura che era una volta. Al contrario, l'architettura componibile è contro i software monolitici e incoraggia invece l'adozione di tecnologie e servizi ad altissimo potenziale pubblicamente disponibili attraverso Internet.

Questo cambiamento è avvenuto con l'ascesa dell’approccio a microservizi e dei moderni framework frontend. Questi hanno portato alla diffusione di soluzioni SaaS (Software as a Service) avanzate, che ora possono essere integrate con poco sforzo e righe di codice. Così, l'architettura componibile permette ai business del futuro di creare esperienze digitali più veloci, sicure, ricche, robuste e affidabili in modo facile, soprattutto se paragonato all'approccio tradizionale alla costruzione e alla scelta dei software.

Ma niente di tutto questo sarebbe possibile senza le API (Application Programming Interface), le quali si fanno carico di collegare i PBC, ovvero i componenti tecnologici scelti per costruire la propria architettura componibile.

Approfondiamo meglio questo aspetto.

Il ruolo delle API nell’architettura componibile

Come abbiamo appena visto, uno stack tecnologico basato su una architettura componibile consiste in un ecosistema di sistemi, servizi e dati detti PBC, solitamente rappresentate da soluzioni SaaS. Ma l’obiettivo finale è quello di collegarli e integragli tutti correttamente per dare vita a una piattaforma coesa, e questo sarebbe impossibile senza le API.

Nello specifico, le soluzioni SaaS sono dotate di API che ti permettono di inviare o ricevere da esse dei dati. In altri termini, le API ti rendono in grado di far comunicare tra loro i componenti tecnologici che hai scelto come parte della tua architettura componibile e quindi di integrarli con successo. A questo scopo, le soluzioni SaaS offrono generalmente una documentazione dettagliata per aiutarti a integrare le API in modo facile e veloce.

Questo significa anche che l'approccio composito dà al tuo business la possibilità di reagire rapidamente al mercato. Quello che devi fare è semplicemente iscriverti a un nuovo servizio e approfittare delle sue potenzialità e funzionalità, disponibili tramite le sue API. Questo è il vero potere del SaaS e del suo paradigma API-centrico, che permette alla tua azienda di riorganizzarsi e reagire rapidamente ai cambiamenti del mercato. Se i tuoi clienti chiedono una nuova feature, non devi costruirla da zero: basta adottare uno dei numerosi servizi online disponibili che offre quello che cerchi o ti può aiutarle nel raggiungere il tuo obiettivo.

Questa è una delle motivazioni più importanti per cui dovresti abbracciare l’architettura componibile, ma vediamole tutte. 

I vantaggi dell’architettura componibile

Sempre di più, le aziende vincenti e lungimiranti tendono a concentrarsi sulla costruzione di soluzioni basate su esperienze web avanzate e moderne. Ciò che queste aziende fanno è adottare le tecnologie più innovative presenti sul mercato e mettere al centro l'esperienza dell'utente finale, soprattutto quando si tratta di un approccio omnicanale.

Come puoi immaginare, una vecchia suite monolitica, lenta a evolversi e ingombrante non può essere utile a questo scopo. Infatti, è inverosimile che un software del genere offra ciò di cui il tuo team ha bisogno per stare al passo con il continuo evolvere delle esigenze dei tuoi clienti. Invece, abbracciare una architettura componibile rende il rilascio di nuove funzionalità più facile e veloce.

Riguardo ciò, Gartner prevede che entro il 2023 le aziende che avranno optato per uno stack tecnologico componibile saranno in grado di rilasciare nuove funzionalità sul mercato l'80% più velocemente dei loro concorrenti che ancora usano suite o applicazioni custom. Questa percentuale è talmente alta che non può essere trascurata.

Inoltre, l'architettura componibile prevede il disaccoppiamento e la separazione dei ruoli. Questo significa che aiuto ogni team a formare una piccola unità che si può concentrare su ciò che conta davvero, permettendo al tuo business di prosperare di conseguenza. Quest'ultimo aspetto dell'architettura componibile è possibile grazie al paradigma headless.

Scopriamo perché.

Come implementare un'architettura componibile con soluzioni headless

Le applicazioni headless sono prive di frontend. Quindi, a differenza delle soluzioni monolitiche, ti forniscono solo ciò di cui hai bisogno per la gestione dei contenuti. Ciò significa che centralizzano i tuoi dati e la loro gestione, rendendoli puoi disponibili tramite API. In altre parole, ti permettono di avere i dati in un singolo posto. Sarà poi tuo compito quello di usarli e visualizzarli in modi e forme diverse a seconda delle tue esigenze.

In altri termini, il paradigma headless permette al tuo team di sviluppo frontend di concentrarsi sulla UI (User Interface) e sulla UX (User Experience) senza dover avere a che fare con tutte le limitazioni delle soluzioni monolitiche. Il tuo team potrà quindi approfittare delle più recenti e avanzate tecnologie frontend, mentre il tuo team di marketing gestirà il contenuto nella piattaforma headless. Come puoi immaginare, questo è lo scenario ideale e solo uno dei numerosi vantaggi che derivano dall’adozione di soluzioni headless in un approccio ad architettura componibile.

Bastano poche soluzioni headless per raggiungere l’obiettivo e quella su cui porre la maggior attenzione è sicuramente rappresentata dal CMS. Nel dettaglio, un headless CMS come DatoCMS rappresenta la soluzione ideale per implementare una architettura componibile in modo facile e sicuro. 

In Cantiere Creativo abbiamo utilizzato con profitto l'approccio componibile su svariati progetti, con complessità e dimensioni anche sensibilmente differenti. 

Andiamo a vederne un paio per farci un'idea di cosa è possibile fare.

L'architettura componibile nei progetti di Cantiere Creativo

Uno degli esempi più recenti e ambiziosi di architettura componibile è quello sviluppato in collaborazione col Team Digitale per il MITD, il Ministro innovazione tecnologica e transizione digitale (MITD) e del Dipartimento per la trasformazione digitale.

Il passaggio a un CMS headless ha permesso di creare modelli con soli i campi che servivano grazie ai blocchi modulari, permettendo al team di riprogettazione di ricostruire esattamente i contenuti di cui aveva bisogno. Con il frontend separato dal contenuto, tutto ciò che è stato prodotto potrà essere pubblicato in futuro su canali e dispositivi diversi senza doverlo duplicare.

Il sito è ora veloce, facile da adattare e modificare, con il team editoriale che può produrre contenuto senza paura di errori grazie a un sistema granulare di ruoli e permessi.

Anche la collaborazione con Arduino ha portato alla nascita di un'architettura componibile per la loro ampia e ricca offerta di prodotti educativi

Grazie alla natura modulare e integrabile con tutti i servizi, possono essere creati e pubblicati online nuovi prodotti in pochissime ore, replicando le parti in comune senza alcuno sforzo. In pochi mesi sono andati online più di diciotto prodotti differenti, con cinquanta editor che gestivano tutto il contenuto da un'unica istanza di DatoCMS senza paura di alcun problema.

Grazie all'SDK di DatoCMS, è stato possibile creare veri e propri applicativi in React come plugin, come per esempio il traduttore automatico in dodici lingue.

La facilità di gestire contenuti differenti su un unico CMS è straordinariamente pratico nel caso di siti con un'architettura multi-tenant, dove ogni cliente gestisce un suo progetto indipendentemente ma condivide con altri lo stesso stack.

È il caso di WinePlatform, il progetto di Tannico che permette a cantine di aprirsi il proprio shop online in un'ora, lasciando la parte logistica delle spedizioni al leader italiano della vendita online di alcolici.

Il sistema è aperto, facilmente espandibile nel tempo mantenendo la stessa semplicità di fondo per il cliente finale. 

Conclusione

In questo articolo, abbiamo visto cosa è l’architettura componibile e perché ogni azienda che cerca un vantaggio competitivo sulle altre dovrebbe adottarla. Il mercato si sta evolvendo semplicemente troppo velocemente perché le suite e le soluzioni personalizzate di un tempo possano tenere il passo, ed è per questo che dovresti passare al più presto alle migliori tecnologie a disposizione.È facile, basta scegliere quelle corrette in base alle tue esigenze e poi integrarle attraverso delle API. Questo è ciò che prevede un approccio ad architettura componibile alla costruzione di uno stack tecnologico, e in questo articolo abbiamo approfondito perché e come implementarlo.Grazie per aver letto! Speriamo che questo articolo ti sia stato utile. Sentiti libero di contattarci qui per qualsiasi domanda, commento o suggerimento.