Sistemi distribuiti Sistema distribuito indica una tipologia di sistema informatico costituito da un insieme di processi interconnessi tra loro in cui le comunicazioni avvengono solo esclusivamente tramite lo scambio di opportuni messaggi. • Con il termine processo si indica, in genere, una qualsiasi entità capace di comunicare con un altro processo e di eseguire un algoritmo distribuito. • A differenza di un algoritmo tradizionale è necessario includere nella definizione di algoritmo distribuito anche i messaggi che vengono scambiati tra i vari processi, poiché anch'essi sono essenziali nell‘ esecuzione e nella terminazione dell'algoritmo. • Esempi: cluster, grid, cloud ecc. Sistemi distribuiti Sistema distribuito indica una tipologia di sistema informatico costituito da un insieme di processi interconnessi tra loro in cui le comunicazioni avvengono solo esclusivamente tramite lo scambio di opportuni messaggi. • Con il termine processo si indica, in genere, una qualsiasi entità capace di comunicare con un altro processo e di eseguire un algoritmo distribuito. • A differenza di un algoritmo tradizionale è necessario includere nella definizione di algoritmo distribuito anche i messaggi che vengono scambiati tra i vari processi, poiché anch'essi sono essenziali nell‘ esecuzione e nella terminazione dell'algoritmo. • Esempi: cluster, internet, ecc. Web Service • Web Service è un sistema software progettato per supportare l'interoperabilità tra diversi elaboratori su di una medesima rete ovvero in un contesto distribuito. • Un Web Service viene implementato associando all'applicazione un'interfaccia software (Web Services Description Language) che descrive il servizio/i associato/i • Per mezzo di questa interfaccia altri sistemi possono interagire con l'applicazione stessa tramite appositi "messaggi" di richiesta: tali messaggi di richiesta sono inclusi in una "busta" (REST, SOAP), formattati secondo lo standard XML, incapsulati e trasportati tramite i protocolli del Web (solitamente HTTP), da cui appunto il nome web service. Web Service • In informatica un Web Service (servizio web), secondo la definizione data dal World Wide Web Consortium (W3C), è un sistema software progettato per supportare l'interoperabilità tra diversi elaboratori su un contesto distribuito. • Tale caratteristica si ottiene associando all'applicazione un'interfaccia software descritta in un formato ( il Web Services Description Language) che propone all'esterno il servizio o servizi associati Web Service • Utilizzando questa interfaccia altri sistemi possono interagire con l'applicazione attivando le operazioni descritte nell'interfaccia stessa (servizi o richieste di procedure remote) tramite appositi “messaggi” di richiesta. • Questi messaggi di richiesta sono inclusi in una “busta” (la più famosa è SOAP), formattati secondo lo standard XML, incapsulati e trasportati tramite i protocolli delWeb (solitamente HTTP), da cui appunto il nome web service. Web Service • Proprio grazie all'utilizzo di standard basati su XML, tramite un'architettura basata sui Web Service (chiamata Service oriented Architecture -SOA), applicazioni software scritte in diversi linguaggi di programmazione e implementate su diverse piattaforme hardware possono quindi interagire tra di loro. • Come avviene la comunicazione ? Tramite le interfacce che queste applicazioni “espongono” pubblicamente e mediante l'utilizzo delle funzioni che sono in grado di effettuare (i “servizi” che mettono a disposizione) per lo scambio di informazioni ma anche per effettuare operazioni complesse (quali, ad esempio, la realizzazione di processi di business che coinvolgono più aree di una medesima azienda) sia su reti aziendali come anche su Internet. Caratteristiche dei Web Service Alcuni dei vantaggi che è possibile ottenere con l'utilizzo dei Web Service sono i seguenti: • permettono l'interoperabilità tra diverse applicazioni software su diverse piattaforme hardware • utilizzano standard e protocolli “open"; i protocolli ed il formato dei dati è, ove possibile, in formato testuale, cosa che li rende di più facile comprensione ed utilizzo da parte degli sviluppatori • mediante l'uso del protocollo HTTP per il trasporto dei messaggi i Web Service non necessitano, normalmente, che vengano effettuate modifiche alle regole di sicurezza utilizzate come filtro sui firewall Caratteristiche dei Web Service • Possono essere facilmente utilizzati, in combinazione l'uno con l'altro (indipendentemente da chi li fornisce e da dove vengono resi disponibili) per formare servizi “integrati” e complessi • Consentono il riutilizzo di infrastrutture ed applicazioni già sviluppate e sono (relativamente) indipendenti da eventuali modifiche delle stesse Caratteristiche dei Web Service Di contro vi sono i seguenti aspetti da considerare: • Attualmente non esistono standard consolidati per applicazioni critiche quali, ad esempio, le transazioni distribuite • Le performance legate all'utilizzo dei Web Service possono essere minori di quelle riscontrabili utilizzando approcci alternativi di distributed computing quali Java RMI, CORBA, o DCOM FINE