Definizione
Con Service-Oriented Architecture (SOA) viene indicato un approccio alla progettazione di architetture modulari e flessibili, atte a supportare l’interoperabilità e l’integrazione di molteplici servizi, così da consentire l’utilizzo delle singole applicazioni come componenti di un processi più ampi.

Nell’ambito di un’architettura SOA, è possibile integrare molteplici servizi di base appartenenti a sistemi e entità eterogenee in servizi complessi, a prescindere dalle specifiche applicazioni, linguaggi, piattaforme, e sistemi.

Le SOA sono spesso associate ai Web Services ma è importante chiarire che le une non richiedono necessariamente gli altri, cosi’ come i web services non necessitato di una SOA.

web services sono un insieme di tecnologie e standard, quali XML (eXtensible Markup Language), SOAP (Simple Object Access Protocol), WSDL (Web service description Language) e UDDI (Universal Descriprion, Discovery and integration).

L’architettura orientata ai servizi permette di gestire in modo efficiente i processi, tralasciando i sottostanti sistemi, applicazioni, e dati.

I benefici che la SOA può apportare sono:

  • Interoperabilità tra diversi sistemi e servizi
  • Flessibilità e dinamicità nello sviluppo di nuovi servizi a partire da servizi elementari
  • Modularità e riuso dei componenti
  • Indipendenza dai singoli fornitori IT
  • Facilità d’uso
  • Efficienza globale

Sono da considerare attentamente durante l’analisi delle SOA aspetti come la sicurezza, la gestione dei ruoli e identità, le prestazioni dei servizi, e l’affidabilità. E’ importante che i livelli di servizio relativi a tali aspetti restino quantomeno allineati, rispetto alle architetture tradizionali.

SOA nell’azienda
L’architettura orientata ai servizi si presenta particolarmente adatta all’azienda che presenta applicazioni verticali, eterogenee o rigide, dal momento che agevola l’interoperabilità tra le diverse realtà aziendali.

L’approccio SOA può migliorare sensibilmente la flessibilità dei servizi IT e può consentire di sviluppare processi efficienti di business.

L’approccio consente l’interoperabilità di servizi flessibili, appartenenti a entità diverse come partner, consulenti, clienti o fornitori.

La SOA permette inoltre di dare risposte dinamiche e flessibili a esigenze all’evoluzione del business, come campagne di marketing o trasformazioni societarie, come fusioni o acquisizioni.