Corso di Web Services A A. 2010 2011 Domenico Rosaci 1. Introduzione Il Web • Il Web è al giorno d’oggi il principale servizio offerto dalla rete Internet • E’ un servizio composito, che offre non solo la possibilità di navigare attraverso un enorme insieme di pagine a contenuto multimediale, ma anche: – La possibilità di accedere a delle importanti funzionalità applicative tramite interfacce user friendly, nel contesto di attività come l’e-commerce, l’e-learning, l’e-governement, l’e-health, ecc. – La possibilità di partecipare a comunità virtuali, come i Social Networks D. Rosaci Introduzione 2 Applicazioni per il Web • Le applicazioni accessibili attraverso il Web sono molteplici, ed estremamente disomogenee • Esse sono infatti scritte in differenti linguaggi di programmazione • Inoltre, ognuna di tali applicazioni coinvolge uno o più elaboratori diversi: il Web mette in gioco una enorme rete di macchine dalle caratteristiche hardware e software differenti D. Rosaci Introduzione 3 Problematica • Spesso le applicazioni devono “parlare” tra loro, al fine di rendere possibile la realizzazione di determinate funzionalità • Ad esempio, in un processo di e commerce B2C, non è solo l’utente che interagisce con l’applicazione del venditore, ma anche l’applicazione del venditore che, ad esempio, deve interagire con l’applicazione del fornitore • Come assicurare l’interoperabilità tra applicazioni scritte in linguaggi diverse, su macchine che hanno hardware e SO differenti? D. Rosaci Introduzione 4 Soluzione: i Web Services • I WS permettono l'interoperabilità tra diverse applicazioni software e su diverse piattaforme hardware/software • Utilizzano un formato dei dati di tipo testuale, quindi più comprensibile e più facile da utilizzare per gli sviluppatori (esclusi ovviamente i trasferimenti di dati di tipo binario) • Normalmente, essendo basati sul protocollo HTTP, non richiedono modifiche alle regole di sicurezza utilizzate come filtro dai firewall • Sono semplici da utilizzare e possono essere combinati l'uno con l'altro (indipendentemente da chi li fornisce e da dove vengono resi disponibili) per formare servizi "integrati" e complessi • (Continua) D. Rosaci Introduzione 5 Soluzione: i Web Services • Permettono di riutilizzare applicazioni già sviluppate. • Fintanto che l'interfaccia rimane costante, le modifiche effettuate ai servizi rimangono trasparenti • I servizi web sono in grado di pubblicare le loro funzioni e di scambiare dati con il resto del mondo • Tutte le informazioni vengono scambiate attraverso protocolli "aperti" D. Rosaci Introduzione 6 Obiettivi del corso • Comprendere i contesti applicativi nei quali vengono sviluppate le applicazioni WS: sistemi distribuiti e e-Business • Acquisire i concetti chiave delle Service Oriented Architecture (SOA) che costituiscono le più moderne e sofisticate soluzioni per applicare l’Internet Technology (IT) all’e-Business • Acquisire i fondamenti del protocollo SOAP, che nel contesto si una Service-Oriented Architecture consente di veicolare i messaggi tra le applicazioni D. Rosaci Introduzione 7 Obiettivi del corso • Acquisire i concetti fondamentali relativi ai WS basati su SOAP, ed imparare a realizzare WS con una particolare implementazione di SOAP (Apache SOAP) tramite il toolkit AXIS • Imparare a descrivere servizi SOAP tramite lo standard WSDL • Acquisire i concetti basi per la descrizione dei processi e dei flussi di processo (Workflow) • Acquisire alcuni concetti di base sull’Enterprise Service Bus D. Rosaci Introduzione 8 Organizzazione del corso • 40 ore di lezione • 20 ore di esercitazione. • Programma delle esercitazioni: – Application Server • Concetti di base, struttura Jboss, le applicazioni (.war, .jar) – Axis II & SoapUI – Eclipse – Enterprise Service Bus – Analisi di un caso di studio per la realizzazione di un’interfaccia WS • Modalità d’esame: – Discussione di un’applicazione WS realizzata dallo studente – Esame orale sugli argomenti svolti durante al corso D. Rosaci Introduzione 9 Materiale didattico e info • • Sito: www.domenicorosaci.it Dispense del corso: – – – – – – – – – • Testi consigliati: – – • WS01: Introduzione WS02: Sistemi Distribuiti WS03: Patterns per l’e Business WS04: SOA WS05: SOAP WS06: WS e SOAP WS07: WSDL WS08: Workflow WS09: Enterprise Service Bus Tidwell, Snell, Kulchenko: Programming Web Services with SOA. O’Reilly Publisher. Mark Endrei et al. Patterns: Service-Oriented Architecture and Web Services. IBM Redbooks. Ricevimento: ogni mercoledì, 11-13 D. Rosaci Introduzione 10 Calendario del corso • • • • • • • • Settimana 1: WS01 - WS02 - WS03 Settimana 2: WS04 Settimana 3: WS05 (parte 1) Settimana 4: WS05 (parte 2) - WS06 Settimana 5: WS07 Settimana 6: WS08 Settimana 7: WS09 (le prime 4 ore) Settimana 8-10: Esercitazioni D. Rosaci Introduzione 11