Blog di Gianni Barrotta

Soa

Il termine SOA – Service Oriented Architecture indica un’architettura software atta a supportare l’uso di servizi per soddisfare le richieste degli utenti così da consentire l’utilizzo delle singole applicazioni come componenti del processo di business. Nell’ambito di un’architettura SOA è quindi possibile modificare, in maniera relativamente più semplice, le modalità di interazione e combinazione tra i servizi, così come risulta più agevole aggiungere nuovi servizi e modificare i processi per rispondere alle specifiche esigenze di business: il processo di business non è più vincolato da una specifica piattaforma o da un’applicazione ma può essere considerato come un componente di un processo più ampio e quindi riutilizzato o modificato.
L’architettura orientata ai servizi si presenta particolarmente adatta per le aziende che presentano una discreta complessità di processi e applicazioni, dal momento che agevola l’interazione tra le diverse realtà aziendali permettendo, al contempo, alle attività di business di sviluppare processi efficienti, sia internamente che esternamente ed aumentarne la flessibilità e l’adattabilità.
Da un punto di vista implementativo, SOA è un modello architetturale basato su un accoppiamento non stretto fra agenti software. In tale modello un servizio è dato dall’esistenza da due entità qualsiasi che interagiscono con i ruoli di service provider, che fornisce servizi, e di service consumer, che li utilizza. La realizzazione dei ruoli di provider e consumer è ottenuta tramite agenti software che operano per tali entità. L’architettura del sistema software non è legata ad una specifica tecnologia e l’interfaccia del servizio è indipendente dall’implementazione. Pertanto è possibile utilizzare diverse tecnologia quali REST, ROC, DCOM, CORBA, Web Services. Soprattutto i Web Services e le tecnologie ad essi collegati si rilevano estremamente efficaci nel realizzare architetture SOA oriented. Chi progetta applicazioni o integra sistemi non deve necessariamente conoscere i particolari implementativi. Per esempio un servizio potrebbe essere implementato con una applicazione basata su J2EE o .Net e l’applicazione che utilizza il servizio potrebbe essere implementata con altri tipi di piattaforme e linguaggi software. Un’architettura SOA deve rispettare alcune caratteristiche generali: le interfacce del servizio devono essere descritte in termini indipendenti tramite, ad esempio, il linguaggio XML. WSDL (Web Services Description Language) è lo standard di fatto per la descrizione dei servizi. XSD o XML Schema è lo standard di fatto per descrivere la messaggistica del servizio. UDDI (Universal Description, Definition, and Integration) è lo standard di fatto per la gestione dell’indice dei servizi con cui le varie applicazioni possono ricercare l’esistenza di un servizio per poi richiamarlo. Diverse organizzazioni lavorano per definire modelli di riferimento per le architetture SOA e alcune di esse hanno dato una definizione di Service Oriented Architecture. Sono di seguito riportate le definizioni di Service Oriented Architecture date dalle organizzazioni OMG, OASIS, Open Group, W3C.

gennaio 12, 2008 - Posted by | SOA

Al momento, non c'è nessun commento.

Lascia un commento