SOA, o Service Oriented Architecture, è una tecnologia che consente di collegare una varietà di risorse su una rete per utilizzarle quando e quando necessario. L’uso della SOA a volte è più flessibile nel modo in cui le risorse sono collegate e utilizzate simultaneamente rispetto ad altri tipi di progetti di architettura di sistema. L’architettura orientata ai servizi può essere particolarmente utile quando un numero maggiore di utenti è connesso al sistema, soprattutto se ci sono utenti remoti che devono avere accesso a specifiche applicazioni che risiedono sulla rete.
Il concetto di SOA non è nato con l’avvento dei sistemi informatici. Poiché la premessa alla base del progetto ha a che fare con l’interazione di risorse indipendenti in base alla domanda, il modello di base è stato impiegato per decenni per definire l’infrastruttura di un’azienda. Il modello può essere applicato alle connessioni esistenti tra funzioni che funzionano indipendentemente l’una dall’altra, o anche funzioni autonome che si svolgono all’interno di un singolo dipartimento. In tutti i casi, la struttura stabilita consente di ottenere dati da un numero qualsiasi di fonti indipendenti quando e quando necessario.
Con le applicazioni software, SOA fornisce i mezzi per sfruttare i componenti di vari programmi in modo da rendere semplice e facile la comunicazione tra le applicazioni. La flessibilità della SOA si presta facilmente a sistemi in cui è necessario aggiornare continuamente le applicazioni o espandere la rete per soddisfare funzioni aggiuntive e utenti. Ad esempio, l’architettura orientata ai servizi funziona molto bene nei sistemi progettati per l’uso nel settore sanitario, consentendo di adattare i sistemi per gestire nuovi compiti e funzioni con relativa facilità.
Sebbene la SOA possa essere rapida e fornire una facile connettività a un’ampia gamma di componenti del programma, è possibile controllare la flessibilità dell’architettura. Ciò offre agli ingegneri di sistema la possibilità di rendere una particolare SOA scalabile e veloce come desiderato, o implementare un numero qualsiasi di misure di sicurezza che monitorano l’accesso, il tipo di accesso assegnato a ciascun utente nella rete e quali moduli all’interno di ciascun programma è possibile accedere contemporaneamente. In breve, l’architettura orientata ai servizi può essere configurata secondo le specifiche esatte del team di Information Technology e funzionare esattamente nel modo in cui l’azienda ha bisogno che funzioni.
L’implementazione di SOA non significa necessariamente che l’intera rete esistente ei moduli del programma residente debbano essere modificati. Esistono numerosi strumenti SOA che si innestano facilmente nelle reti preesistenti senza modificare un elemento della funzionalità corrente. Ciò che farà l’architettura orientata ai servizi è consentire a programmi che in precedenza non erano in grado di attingere a risorse relative ad altri programmi per combinare funzioni e rendere più facili da eseguire determinate attività. Ad esempio, un database di vendite e marketing può essere in grado di interagire con programmi di elaborazione testi per creare un invio di massa di lettere promozionali combinando le informazioni contenute in un modello di testo, i profili stabiliti nel database di marketing e tutte le rubriche indipendenti che risiedono sul Rete.