SOA - Panoramica
Che cos'è l'architettura SOA (Service Oriented Architecture)?
L'architettura orientata ai servizi è un progetto architettonico che include la raccolta di servizi in una rete che comunicano tra loro. La complicazione di ogni servizio non è evidente per altri servizi. Il servizio è un tipo di operazione ben definita, autonoma che fornisce funzionalità separate come il controllo dei dettagli del conto del cliente, la stampa di estratti conto bancari ecc. E non dipende dallo stato degli altri servizi.
Storia
Il primo report pubblicato su SOA dagli analisti Roy W.Schulte e Yefim V.Natis nel 1996.
Perché usare SOA?
SOA è ampiamente utilizzata nel mercato che risponde rapidamente e apporta cambiamenti efficaci in base alle situazioni di mercato.
La SOA mantiene segreti i dettagli di implementazione dei sottosistemi.
Consente l'interazione di nuovi canali con clienti, partner e fornitori.
Autorizza le aziende a selezionare software o hardware di loro scelta in quanto funge da indipendenza dalla piattaforma.
Caratteristiche
SOA utilizza interfacce che risolvono i difficili problemi di integrazione nei grandi sistemi.
SOA comunica a clienti, fornitori e fornitori con messaggi utilizzando lo schema XML.
Utilizza il monitoraggio dei messaggi per migliorare la misurazione delle prestazioni e rileva gli attacchi alla sicurezza.
Poiché riutilizza il servizio, ci saranno minori costi di sviluppo e gestione del software.
Vantaggi
SOA consente di riutilizzare il servizio di un impianto esistente costruendo alternativamente il nuovo impianto.
Consente di collegare nuovi servizi o aggiornare i servizi esistenti per inserire i nuovi requisiti aziendali.
Può migliorare le prestazioni, la funzionalità di un servizio e rende facilmente l'aggiornamento del sistema.
SOA ha la capacità di regolare o modificare i diversi ambienti esterni e le applicazioni di grandi dimensioni possono essere gestite facilmente.
Le aziende possono sviluppare applicazioni senza sostituire le applicazioni esistenti.
Fornisce applicazioni affidabili in cui è possibile testare ed eseguire il debug dei servizi indipendenti facilmente rispetto a un gran numero di codice.
Svantaggi
SOA richiede costi di investimento elevati (significa grandi investimenti in tecnologia, sviluppo e risorse umane).
Esiste un sovraccarico maggiore quando un servizio interagisce con un altro servizio, il che aumenta il tempo di risposta e il carico della macchina durante la convalida dei parametri di input.
SOA non è adatto per applicazioni GUI (graphical user interface) che diventeranno più complesse quando SOA richiede un intenso scambio di dati.