Service-oriented architecture
Da Wikipedia, l'enciclopedia libera.
Nell'ambito dell'informatica, con la locuzione inglese di Service-Oriented Architecture (SOA) viene indicata un'architettura software atta a supportare l'uso di servizi (web service) 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 tra i servizi, la combinazione nella quale i servizi vengono utilizzati nel processo, 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.
La Service-oriented Architecture 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à.
Benché molte aziende offrano prodotti che possono formare la base di una SOA va sottolineato che la SOA non è un prodotto.
[modifica] Tecnologie alla base della SOA
[modifica] Aspetti dello sviluppo della SOA
La validità di un'architettura orientata ai servizi (SOA) è conseguenza degli elementi e degli standard su cui si fonda. In particolare vanno considerati i seguenti aspetti:
- Standard aperti: per poter operare in ambienti multipiattaforma è necessario, o quantomeno consigliabile, utilizzare esclusivamente standard aperti quali XML, WSDL e WSS (Web Services Security).
- Modularità: bisogna trovare il giusto equilibrio tra i servizi erogati da ogni singolo componente, creando un insieme bilanciato di piccoli servizi riutilizzabili per le funzioni comuni e servizi più grandi per processi specifici.
- Contratti di servizio: WSDL (Web Services Description Language) è la specifica standard per la creazione di contratti di Web Services, un contratto definito avrà come conseguenza servizi più flessibili.
- ESB (Enterprise Service Bus): La dorsale di pubblicazione dei servizi ed abilitazione delle applicazioni per accedervi. Inoltre include caratteristiche quali adattatori per i sistemi legacy, capacità di orchestrazione dei servizi, autorizzazione e autenticazione lato sicurezza, trasformazione dei dati, supporto per regole di business e capacità di monitorare i service-level agreement.
[modifica] Collegamenti esterni
- (EN) IBM Systems Journal edition on SOA: 12 journal papers
- (EN) InfoWorld: SOA News
- (EN) Capgemini: SOE: How to make your business fast, flexible and responsive - whitepaper
- (EN) Reference Model for Service Oriented Architecture
- (EN) www.soa-project.com - Free and Independent SOA community Forum
- (EN) IBM: developerWorks - SOA & Web services zone
- (EN) John Reynolds' definition of SOA in two sentences
- (EN) Sun Javapedia wiki article on SOA
- (EN) SOA Definition
- (EN) Sito di uno degli autori della voce in inglese
- (EN) What is Service-Oriented Architecture?
- (EN) SOA Blueprints Specification
- (EN) Article describing the history of SOA, from an Openwings perspective
- (EN) SOA Zone - an industry leading blog
- (EN) RiA-SoA article
- (EN) PSGroup: SOA Cheat Sheet Paper
- (EN) Best Practice for SOA
- (EN) Norbert Bieberstein et al. Service-Oriented Architecture Compass (Pearson Education, 2006)