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
Scarica

Modulo 1: Introduzione