Web Service e SOA
copia linkDefinizione di Web Service
I servizi web, meglio noti come web services, costituiscono uno degli argomenti più attuali nello sviluppo di applicazioni su Internet. Vengono spesso descritti come una rivoluzione nel mondo del web ed in particolare per quel che riguarda applicazioni distribuite e l'integrazione di applicazioni.
Un Web Service rende disponibili un insieme di operazioni ed utilizza messaggi in formato XML (SOAP) come sistema di comunicazione tra il Web Service e l'applicazione che lo utilizza. A quest'ultima vengono nascosti tutti i dettagli implementativi delle funzioni al punto tale che il Web Service può risiedere su un qualunque dispositivo hardware dotato di un qualunque sistema operativo senza che l'applicazione client ne sia a conoscenza.
Un Web Service viene descritto mediante un'apposito documento che, in modo formale, fornisce tutte le informazioni necessarie per un corretto utilizzo delle funzioni rese disponibili: funzioni disponibili, formato dei parametri di ogni singola funzione, protocollo di comunicazione. La descrizione del Web Service è fornita in un linguaggio XML, chiamato WSDL (Web Service Definition Language).
L'immagine mostra la sequenza delle operazioni che vengono eseguite durante l'esecuzione di un'operazione mediante un Web Service. Partendo dal punto 1 a sinistra l'applicazione, tramite il modulo SOAP, prepara la richiesta e la invia tramite network al Web Service. Questo analizza la richiesta (sempre tramite il modulo SOAP) e la gestisce. Poi prepara la risposta e la invia al richiedente.
La definizione rigorosa di SOA è la seguente (così come definita da OASIS, Organization for the Advancement of Structured Information Standards): "Uno stile di programmazione per organizzare ed utilizzare risorse distribuite che possono rimanere sotto il controllo di domini differenti. Fornisce un modo univoco per fornire, scoprire, interagire con ed utilizzare risorse per produrre gli effetti desiderati consistenti con requisiti ed attese ben definiti."
L'architettura SOA separa i dati dalle procedure che operano sugli stessi: richiede la definizione di una serie di metodi (procedure) che interagiscono tra loro scambiandosi oggetti (dati).
L'architettura SOA non vuol dire Web Services. Questi ultimi identificano una serie di tecnologie (XML, SOAP, WSDL, ...) che permettono di risolvere il problema dell'interscambio di dati tra applicazioni differenti. SOA è un'architettura. Un'altra definizione di SOA potrebbe essere: "un'architettura dentro la quale tutte le funzioni dell'azienda sono definite come servizi indipendenti aventi interfacce definite e che possono essere chiamati in determinate sequenze per rispondere ai vari bisogni dell'azienda stessa". Quindi un Web Service è, forse, il candidato ideale per SOA grazie alla sua indipendenza dalla piattaforma e dal linguaggio e alla modalità standard per definire l'interfaccia verso lo stesso.
Ultima modifica: 11/10/2021 / Validità: da 6.5.2680