Che cosa sono le architetture orientate ai servizi?

Le architetture orientate ai servizi non sono esattamente un concetto nuovo, ma i modi in cui vengono utilizzate più spesso in questi giorni sfruttano la nuova tecnologia. Nella loro forma più elementare, le architetture orientate ai servizi descrivono la struttura delle applicazioni software e l’interazione con un modello di business. La parola chiave in tutto questo è Servizio.

Un servizio, come descritto in Architetture orientate ai servizi, è una specifica funzione software indipendente da qualsiasi altra funzione. Ad esempio, i protocolli software di una banca includeranno necessariamente una richiesta Get Customer Balance, per cui su richiesta della banca o del cliente, viene visualizzato un saldo corrente. Ottenere il saldo del cliente è un servizio. Utilizzando il modello bancario, altri servizi includono Processo di deposito, Processo di prelievo e così via.

Utilizzando le architetture orientate ai servizi, ciascuno di questi servizi si fa strada attraverso l’intero sistema software in modo indipendente, utilizzando anche gli stessi sistemi software. Sembra un controsenso, ma in realtà non lo è. Fondamentalmente, vari servizi utilizzano lo stesso sistema per fare la stessa cosa per risultati diversi. Ottieni saldo cliente per John Smith è la stessa funzione di Ottieni saldo cliente per Jane Doe Enterprises, ma i dati coinvolti sono diversi. La bellezza delle architetture orientate ai servizi è che il software è progettato per elaborare tutti i comandi Get Customer Balance allo stesso modo, indipendentemente dal fatto che il cliente sia un individuo come John Smith o un’azienda come Jane Doe Enterprises.

Una chiave del successo delle architetture orientate ai servizi è che i servizi stessi sono liberamente accoppiati. Cioè, sono adattabili a circostanze diverse. Se il comando di servizio Ottieni saldo cliente diventa improvvisamente Ottieni saldo cliente per tutti i conti, il software non ha bisogno di reinventare la ruota virtuale; piuttosto, il relativo Servizio può utilizzare gli stessi protocolli di base per raggiungere gli stessi fini con mezzi leggermente diversi.

Un modo in cui vengono presentate le architetture orientate ai servizi in questi giorni è tramite XML. Questo, in mancanza di un termine migliore, il linguaggio di programmazione generico si presenta come una sorta di lingua franca. Tutto ciò di cui hai bisogno è un browser Web per poter elaborare le richieste XML. Non è necessario eseguire l’ultima versione di Windows o Mac OS. L’accesso al sistema e l’esecuzione dei Servizi necessari sono gestiti poiché il computer che esegue la richiesta e il computer che fornisce il Servizio parlano la stessa lingua di base.