Quando si usa la sigla SOA, ci si riferisce alle Service-Oriented Architecture, cioè architetture informatiche che supportano i servizi web, quelli che garantiscono l’interoperabilità tra sistemi differenti tramite un collegamento in rete. Ciascuno di questi servizi può fornire funzionalità a sé stanti e la loro combinazione porta, poi, a sistemi contemporaneamente più complessi e più facili da gestire. I software in architettura SOA, quindi, possono essere definiti da elementi modulari e per questo essere composti in molte maniere differenti a seconda delle necessità. In più sanno collegarsi in velocità a servizi web sempre nuovi nel caso di sostituzioni di moduli o cambiamenti nei processi di business.

La struttura di una SOA è facilmente codificabile. Innanzitutto c’è un front-end, che non è altro che l’interfaccia con cui l’azienda interagisce per utilizzare i singoli servizi o la composizione degli stessi. È di facile utilizzo perché ricalca a tutti gli effetti le comuni applicazioni web. Ci sono poi i service, cioè i servizi di cui l’architettura è composta che implementano le funzionalità per il quale sono stati costruiti. La service repository, invece, è il sistema che facilita il reperimento dei service e poi, infine, l’Enterprise service BUS, cioè l’elemento che coordina tutti i moduli e li collega fra loro per soddisfare le richieste rivolte al software dall’user.

Perché le architetture SOA hanno così successo?

Flessibilità

La ragione è presto spiegata: innanzitutto, perché sono altamente compatibili con il concetto di flessibilità di un’azienda. Per il nuovo tipo di industria che sta prendendo piede, l’industria 4.0, si rende necessaria la possibilità di intervenire tempestivamente sui processi aziendali per migliorarli oppure, semplicemente, per modificarli in corsa a seguito di errori o modifiche della richiesta.

Inseguire il mercato diventa più semplice se gli strumenti che costituiscono la spina dorsale del business in questione, software gestionali o ERP, sono a loro volta flessibili. È chiaro che intervenire su programmi monolitici e complessi per modificare il metodo di archiviazione di un numero limitato di fatture, per esempio, diventa dispendioso, faticoso e poco conveniente. Questo mal si concilia con la richiesta di maggiore flessibilità.

Ed è a questo proposito che intervengono le architetture SOA, che con la loro struttura modulare consentono modifiche veloci, efficienti e indipendenti tra loro. Tale è la flessibilità delle architetture orientate ai servizi che è possibile anche pensare di sostituire interamente un modulo senza che l’intera struttura ne risenta. All’azienda non servirà sapere necessariamente ogni singolo dettaglio del software SOA, quello che conta è creare una struttura che risponda alle richieste del business.

Questo aspetto della frammentazione in servizi Web, o granularità, però, deve essere comunque tenuto sotto controllo. Non si può pensare di decomporre i servizi all’infinito nella speranza di renderli più elementari, ma bisogna sempre tenere conto dei costi di integrazione tra i singoli servizi che con una maggiore frammentazione aumenterebbero considerevolmente. Il vantaggio dell’architettura SOA, quindi, si manifesta quando c’è il giusto equilibrio tra granularità e flessibilità: va bene semplificare e farlo in ottica di una costante rinnovabilità dei processi aziendali, ma bisogna sempre farlo pensando ai servizi giusti da abbinare, integrandoli con i giusti costi. Non c’è, però, una formula magica che vada bene per tutti, ogni caso ha una soluzione a sé stante.

Loose coupling

Da non sottovalutare un ulteriore vantaggio dei software in architettura SOA: il concetto di legame debole, detto anche loose coupling. Questa logica fa sì che i singoli moduli di un sistema di fatto ignorino le logiche e il funzionamento degli altri moduli, cosa che però non ne penalizza il funzionamento finale. Quest’ultimo è, infatti, garantito da uno scambio continuo di messaggi e comunicazioni fra i singoli moduli che dialogano fra loro nell’ottica di una rassicurante autonomia, ma anche di una effettiva cooperazione. E in questo caso, come si diceva prima, si guadagna moltissimo in termini di flessibilità e di capacità di intervenire per modifiche o correzioni.

Le architetture SOA sono l’elemento fondante di quella dinamicità aziendale che tanto è importante di questi tempi, anche in ottica di riutilizzo in diversi contesti: più service possono adattarsi senza problemi a settori diversi del business rendendosi praticamente indispensabili. Anche in questo caso il vantaggio, dato dai ridotti costi di manutenzione e dalla minore complessità del sistema, è incalcolabile.

Naviga per categoria:

Seleziona una categoria d’interesse dal nostro magazine