SOA, sau Arhitectura Orientată pe Servicii, este o tehnologie care face posibilă conectarea unei varietăți de resurse într-o rețea pentru a fi utilizate atunci când și după cum este necesar. Utilizarea SOA este uneori mai flexibilă în ceea ce privește modul în care resursele sunt conectate și utilizate simultan decât în alte tipuri de proiecte de arhitectură de sistem. Arhitectura orientată pe servicii poate fi deosebit de utilă atunci când un număr mai mare de utilizatori sunt conectați la sistem, mai ales dacă există utilizatori la distanță care trebuie să aibă acces la aplicații specifice care locuiesc în rețea.
Conceptul de SOA nu a apărut odată cu apariția sistemelor informatice. Deoarece premisa de bază a designului are de-a face cu interacțiunea resurselor independente pe bază de cerere, modelul de bază a fost folosit de zeci de ani pentru definirea infrastructurii unei afaceri. Modelul poate fi aplicat conexiunilor existente între departamente care funcționează independent unele de altele, sau chiar funcții autonome care au loc în cadrul unui singur departament. În toate cazurile, structura stabilită face posibilă obținerea datelor din orice număr de surse independente atunci când și după cum este necesar.
Cu aplicațiile software, SOA oferă mijloacele de a utiliza componentele diferitelor programe într-un mod care face comunicarea între aplicații simplă și ușoară. Flexibilitatea SOA se pretează cu ușurință sistemelor în care este nevoie de a actualiza continuu aplicațiile sau de a extinde rețeaua pentru a îndeplini funcții suplimentare, precum și utilizatorii. De exemplu, Arhitectura Orientată pe Servicii funcționează foarte bine în sistemele concepute pentru a fi utilizate în industria sănătății, făcând posibilă adaptarea sistemelor pentru a gestiona sarcini și funcții noi cu relativă ușurință.
În timp ce SOA poate fi rapid și oferă conectivitate ușoară la o gamă largă de componente ale programului, este posibil să se controleze flexibilitatea arhitecturii. Acest lucru oferă inginerilor de sistem capacitatea de a face un anumit SOA cât se poate de scalabil și rapid pe cât se dorește, sau de a implementa orice număr de măsuri de securitate care monitorizează accesul, tipul de acces alocat fiecărui utilizator din rețea și ce module din fiecare program pot fi accesate simultan. Pe scurt, Arhitectura Orientată pe Servicii poate fi configurată conform specificațiilor exacte ale echipei de Tehnologia Informației și să funcționeze exact așa cum are nevoie afacerea să funcționeze.
Implementarea SOA nu înseamnă neapărat că întreaga rețea existentă și modulele de program rezidente trebuie modificate. Există o serie de instrumente SOA care se vor grefa cu ușurință în rețelele preexistente fără a modifica un element al funcționalității curente. Ceea ce va face Arhitectura Orientată pe Servicii este să permită programelor care anterior nu erau capabile să utilizeze resurse legate de alte programe să combine funcții și să facă anumite sarcini mai ușor de realizat. De exemplu, o bază de date de vânzări și marketing poate fi capabilă să interacționeze cu programe de procesare a textului pentru a crea o trimitere în masă a scrisorilor promoționale prin combinarea informațiilor conținute într-un șablon text, a profilurilor stabilite în baza de date de marketing și a oricăror agende de adrese independente care se află pe reţea.