SOA, o Service Oriented Architecture, è una tecnologia che permette di collegare una serie di risorse su una rete per utilizzare quando e se necessario. L'utilizzo di SOA è talvolta più flessibili nel modo in cui le risorse sono collegati e utilizzati simultaneamente che in altri tipi di disegni di architettura del sistema. Service Oriented Architecture può essere particolarmente utile quando un maggior numero di utenti sono collegati con il sistema, soprattutto se ci sono gli utenti remoti che devono avere accesso a determinate applicazioni che risiedono sulla rete.
Il concetto di SOA non ha avuto origine con l'avvento dei sistemi informatici. Perché la premessa alla base del progetto ha a che fare con l'interazione di risorse indipendenti su una base della domanda, il modello di base è stato impiegato da decenni con la definizione delle infrastrutture di un business. Il modello può essere applicato alle connessioni esistenti tra i servizi che le funzioni di funzionare in modo indipendente gli uni dagli altri, o anche autonoma che si svolgono all'interno di un singolo reparto. In tutti i casi, la struttura istituita consente di ottenere dati da un qualsiasi numero di fonti indipendenti, quando e se necessario. Con le applicazioni software, SOA fornisce i mezzi per sfruttare i componenti di vari programmi in modo tale che la comunicazione tra applicazioni semplice e facile. La flessibilità della SOA si presta facilmente a sistemi in cui vi è la necessità di aggiornare continuamente le applicazioni o per espandere la rete al fine di soddisfare funzioni aggiuntive così come gli utenti. Per fare un esempio, Service Oriented Architecture funziona molto bene in sistemi progettati per essere utilizzati nel settore sanitario, che permette di adeguare i sistemi per gestire i nuovi compiti e funzioni con relativa facilità. Mentre SOA può essere rapido e fornisce una facile connettività a una vasta gamma di componenti del programma, è possibile controllare la flessibilità dell'architettura. Questo sistema offre agli ingegneri la possibilità di fare una SOA particolare per quanto scalabile e veloce come desiderato, o implementare un numero qualsiasi di misure di sicurezza che l'accesso monitor, il tipo di accesso assegnato a ciascun utente della rete, e quali moduli all'interno di ogni programma può essere letta contemporaneamente. In breve, la Service Oriented Architecture può essere configurato per le specifiche esatte del team di Information Technology e funzionano esattamente il modo in cui il business ha bisogno per funzionare.Implementazione SOA non significa necessariamente che l'intera rete esistente e moduli di programma residente deve essere cambiato. Ci sono una serie di strumenti SOA che saranno facilmente innesto in reti preesistenti, senza modificare un elemento della funzionalità attuali. Ciò che la Service Oriented Architecture farà è consentire ai programmi che in precedenza non erano in grado di attingere alle risorse relative ad altri programmi di combinare le funzioni e rendere più agevole svolgimento di alcuni compiti da svolgere. Per esempio, un database di marketing e di vendita possono essere in grado di interagire con i programmi di elaborazione testi per creare una mailing di massa di lettere promozionali combinando le informazioni contenute in un modello di testo, i profili stabilito nel database di marketing, e tutti i libri indipendenti indirizzi residenti sul rete.
