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
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
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
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
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
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
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
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
Materiale didattico e info Sito: www.domenicorosaci.it Dispense del corso: 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 Testi consigliati: 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
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