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.