Vedo molte risposte che spiegano un'architettura SOA (Service Oriented Architecture) utilizzando parole e termini tecnici ancora più avanzati. Vorrei provare a spiegarlo per i profani, usando un'analogia in un inglese semplice.
Ma prima una descrizione di una SOA
SOA potrebbe essere descritta in tre strati come si vede nella figura sotto. Da una parte abbiamo il Provider e dall'altra abbiamo il Consumatore , separato da un Bridge dove comunicano le due parti.
Il consumatore utilizza una serie di applicazioni necessarie per la sua attività e il fornitore utilizza componenti che forniscono informazioni a queste applicazioni. Comunicano attraverso una serie di servizi utilizzando un'architettura comune.
L'analogia
Immagina una casa in campagna, che per molti versi fa parte di una comunità più ampia, come una città o un paese. La città ha i propri sistemi complessi per la fornitura di acqua ed elettricità, la gestione dei servizi igienici, la fornitura di trasporti e altri servizi. La casa è il consumatore in questo modello, la città (o la comunità) è il fornitore e le condutture, le fognature, le linee elettriche, le fibre ottiche, ecc. Sono l' infrastruttura in cui comunicano.
Questo modello potrebbe essere vagamente paragonato a una SOA. Le persone in casa utilizzano una serie di diverse "applicazioni" come radiatori, computer, servizi igienici, lampade, riscaldamento a pavimento, vasche da bagno ecc. Queste applicazioni non si preoccupano di come la città genera l'acqua, crea elettricità o gestisce i rifiuti finché come funziona. I componenti della città sono i generatori, le pompe dell'acqua e le aree igieniche. Fornisce alla casa tutte queste esigenze, ma spetta alla casa usarlo nel modo che ritiene opportuno.
Spero che questo abbia dato almeno a qualcuno un'immagine migliore di una SOA.