Corso di Ingegneria del Web A A. 2011 2012 Domenico Rosaci 1 Corso di Ingegneria del Web A A. 2011 2012 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 diversi, su macchine che hanno hardware e SO differenti? D. Rosaci Introduzione
Soluzioni Sistemi ed architetture distribuite: consentono di risolvere i problemi di scalabilità, ma consentono anche apertura, robustezza e miglioramenti delle prestazioni. Linguaggi ontologici: XML, XML Schema, RDF, OWL, WSDL: consentono di realizzare un’effettiva interoperabilità D. Rosaci Introduzione
In particolare… In questo corso verranno trattati: 1. Alcune principali architetture distribuite 2. Le principali tecnologie su cui si basa il Web 3. I linguaggi XML e XML Schema 4. I Web Services, quale esempio di soluzione distribuita che approfondiremo particolarmente D. Rosaci Introduzione
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
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 Acquisire alcune nozioni fondamentali per l’Ingegneria del Web, quali i concetti base dei Sistemi Distribuiti e i Linguaggi Obtologici. 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 70 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