Protocolli e architetture per WIS. Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di.

Slides:



Advertisements
Presentazioni simili
Presentazione della tesi di laurea di Flavio Casadei Della Chiesa Newsletter: un framework per una redazione web.
Advertisements

UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA
Gli ipertesti del World Wide Web Funzionamento e tecniche di realizzazione a cura di Loris Tissìno (
Programmazione in Java
CORSO DI SICUREZZA SU RETI II PROF. A. DE SANTIS ANNO 2006/07 Informatica granata Gruppo 2 ISP Gruppo 3 ISP.
Corso di Fondamenti di Informatica
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità B1 Introduzione alle basi di dati.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità A1 Introduzione a Java.
Applet Java.
Unità D2 Database nel web. Obiettivi Comprendere il concetto di interfaccia utente Comprendere la struttura e i livelli che compongono unapplicazione.
PHP.
INTERNET : ARPA sviluppa ARPANET (rete di computer per scopi militari)
Web Services.
Java Enterprise Edition (JEE)
Laboratorio di Progettazione Web Introduzione AA 2009/2010 Chiara Renso ISTI - CNR -
Connessione con MySQL.
UNIVERSITA DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – Sede di Modena Corso di Laurea in Ingegneria Informatica Progetto e sviluppo di.
UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA
IN QUESTA PRESENTAZIONE…
Java2 Esercitazioni del corso di Sistemi Informativi Marina Mongiello
Tecnologie di Sviluppo per il Web
Internet e Web Dinamico
APPLICAZIONI E BASI DATI DISTRIBUITE
JavaScript Laboratorio di Applicazioni Informatiche II mod. A.
Linguaggi per il Web Laboratorio di Applicazioni Informatiche II mod. A.
1 Basi di dati e Web Prof. Stefano Paraboschi Prof. Barbara Pernici.
Analisi dettagliata e design B. Pernici M.G. Fugini AA
Architettura del World Wide Web
Struttura dei sistemi operativi (panoramica)
CAPITOLO 2 INTRODUZIONE AL LINGUAGGIO JAVA E ALL'AMBIENTE HOTJAVA.
APPLICAZIONI WEB In questo corso impareremo a scrivere un'applicazione web (WA) Marco Barbato - Corso di Applicazioni Web – A.A
Introduzione ad ASP.net
Architettura Java/J2EE
1 Internet e nuove tecnologie Anno Accademico Prof. Flavio De Paoli Dott. Marco Loregian.
Ing. Enrico Lecchini BetaTre S.r.l.
Guida IIS 6 A cura di Nicola Del Re.
Analisi (Analista) Progettazione (Progettista) Sviluppo o Traduzione (Sviluppatore) Documentazione.
U N INFRASTRUTTURA DI SUPPORTO PER SERVIZI DI FILE HOSTING Matteo Corvaro Matricola Corso di Reti di Calcolatori LS – Prof. A. Corradi A.A.
Il PHP e il vostro sito cos'è e come funziona. HTML... Linguaggio formattazione Non interattivo Non dinamico.
Basi di Dati e Sistemi Informativi
Sistemi Informativi sul Web
Introduzione alla programmazione web
Common Gateway Interface. Dynamic HTML le risposte inviate al client sono (parzialmente o totalmente) create on-the-fly (al volo) dopo aver ricevuto il.
Il World Wide Web Lidea innovativa del WWW è che esso combina tre importanti e ben definite tecnologie informatiche: Documenti di tipo Ipertesto. Sono.
ASP – Active Server Pages - 1 -Giuseppe De Pietro Introduzione ASP, acronimo di Active Server Pages, sta ad indicare una tecnologia per lo sviluppo di.
Reti di calcolatori LS Manni Tiziano  IT e nuovi scenari applicativi …  … portabilità dei dati …  … condivisione dati …  … disponibilità.
Threads.
Applicazione Web Informatica Abacus Informatica Classe VIA 2008/2009 N.Ceccon INF (01) Revisione 4.0 settembre 2008.
Web Information Systems Prof
INTRODUZIONE A JAVASCRIPT
Diventa blogger Analisi degli obiettivi Piattaforma Wordpress Francesca Sanzo -
Architetture a componenti Java per la realizzazione di DSS distribuiti Giordano Vicoli - ENEA 28 Ottobre 2003.
Analisi dettagliata e design
TW Asp - Active Server Pages Nicola Gessa. TW Nicola Gessa Introduzione n Con l’acronimo ASP (Active Server Pages) si identifica NON un linguaggio di.
Protocolli e architetture per WIS. Cronologia di Internet ricerche sulla commutazione di pacchetto (Leonard Kleinrock) 1967 Nasce il progetto.
Laboratorio di Servizi Web - servlet - Ardissono 1 Chiarimenti su Servlet Note aggiuntive su architettura di applicazione web che usa Servlet per gestire.
Relatore: Prof. Ing. Stefano SalsanoLaureando: Flaminio Antonucci.
Sistemi di elaborazione dell’informazione Modulo 3 -Protocolli applicativi Unità didattica 4 -Protocolli del Web Ernesto Damiani Lezione 1 – World Wide.
Servizi Internet Claudia Raibulet
Sistemi operativi di rete Ing. A. Stile – Ing. L. Marchesano – 1/18.
SnippetSearch Database di snippet bilanciato e replicato di Gianluigi Salvi Reti di calcolatori LS – Prof. A.Corradi.
Eprogram SIA V anno.
Eprogram informatica V anno.
PHP.  HTML (Hyper Text Markup Language)  CSS (Cascading Style Sheets)  Javascript (linguaggio di programmazione client)  PHP ( Hypertext Preprocessor.
12 dicembre Analisi di sicurezza dell’applicazione SISS Security Assessment dell’applicativo e Reversing del client.
Architetture software
Il mondo del web Includere Digital-mente – Corso livello 4 docente: prof.ssa MANUELA MARSILI.
Corso Web Developer Lezione 2 – HTML e ASP. I limiti delle pagine HTML Nella lezione precedente abbiamo visto che con HTML e JavaScript è possibile scrivere.
Eprogram informatica V anno. Programmare in rete.
ASP – Active Server Pages - 1 -Giuseppe Tandoi ASP – Active Server Pages Tecnologia per lo sviluppo di pagine dinamiche.
Transcript della presentazione:

Protocolli e architetture per WIS

Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di informazioni e servizi Le architetture moderne dei WIS devono essere estendibili, per permettere l'impiego di nuove tecnologie e nuove forme di interazione (e.g., interazioni multimodali) gestire informazioni eterogenee, come documenti, dati strutturati, risorse multimediali, informazioni semi-strutturate (XML) integrare diverse tipologie di sorgenti e di componenti (architetture multi- livello) offrire una gestione dello stato che rifletta il contesto applicativo corrente gestire informazioni sugli utenti e il loro ambiente (contesto)Versioni: HTTP/0.9, 1.0,

Livelli di complessità Siti informativi chi siamo / prodotti / servizi / contatti newsletter, giornale, blog,... Siti dispositivi scelta prodotto, configurazione, acquisto Sistemi gestionali via Web CRM, SCM, ERP, MRP, … Sistemi autonomi negoziazione, transazione, monitoraggio Portali, marketplace, marketspace aggregazione di più aziende/prodotti correlati: HTTP/0.9, 1.0,

Architettura di riferimento a più livelli Ogni livello ha un ruolo ben definito Ogni livello è implementato da uno o più server Più server possono condividere lo stesso HW o risiedere su dispositivi dedicati La comunicazione tra i livelli avviene attraverso la rete (HTTP)

Architettura di base client-server

Il protocollo HTTP HyperText Transfer Protocol Protocollo a livello di applicazione per lo scambio di ipertesti multimediali Prescrive il formato di –nomi delle risorse (URL) –richieste HTTP –risposte HTTP Versioni: HTTP/0.9, 1.0,

Client (web browser) Applicazione in grado di: –accedere alla rete secondo il protocollo HTTP –richiedere risorse (pagine Web) identificate da un URL a un server –interpretare comandi di formattazione (pagine Web HTML) e rendere a video la risposta del server

Web server Funzioni base: –accesso alla rete secondo il protocollo HTTP –invio di risorse identificate da un URL a un client (pagine memorizzate sulla macchina server) –lancio di programmi in risposta a richieste –controllo e registrazione degli accessi

Web server (cont.)

Web server (cont.)

Web browser dinamico

–capacita’ di eseguire script client-side scripting (ad es. JavaScript, VisualBasic scripting) Javascript permette di scrivere script in pagine web, eseguiti dal browser, che accedono a oggetti del browser modificandoli dinamicamente –capacita’ di eseguire programmi (es. Java applets) programmi java inseriti in pagine web ed eseguiti all’interno di pagine web, mediante Java virtual machine

Web server dinamico Funzioni avanzate: –monitoraggio e amministrazione –connessione a basi di dati –esecuzione efficiente di applicazioni esterne Web server dinamico –non solo recupera pagine HTML dal file system ma può eseguire applicazioni TECNOLOGIE : CGI; API, Java Servlet; Java Server Pages JSP (..ASP, PHP)

Web server + Common Gateway Interface Interfaccia che consente al Web Server di eseguire applicazioni esterne in grado di creare pagine dinamicamente

Intercetta le richieste, verifica se sono ammesse, decodifica i parametri e lancia le applicazioni esterne Scopi: Consente al web server di eseguire applicazioni richieste dal client CGI

Caratteristiche di CGI CGI script, programma eseguibile CGI script, programma eseguibile Definisce un insieme di variabili di ambiente utili all'applicazione (ad es. parametri inviati dal client) Definisce un insieme di variabili di ambiente utili all'applicazione (ad es. parametri inviati dal client) I parametri sono inviati tramite i classici metodi GET e POST dell'HTTP I parametri sono inviati tramite i classici metodi GET e POST dell'HTTP

Programma CGI- accesso BD Programma CGI- accesso BD

Revisione critica di CGI Il web server genera un nuovo processo CGI ad ogni richiesta Il processo viene terminato alla fine del computo della risposta Altissimo sovraccarico di esecuzione per la creazione e distruzione di processi Impossibile: –tenere informazioni sulla sessione dell’utente in memoria centrale (serve un database) –tenere allocate risorse condivise tra più richieste o più utenti (es. pool di connessioni a database)

Web Server - API Web server DBMS Gateway API API = interfaccia per estendere il server con servizi non standard

Web Server - API Web Server - API PRO –efficienza: l’interfaccia e’ nello stesso processo del Web server (es. e’ una libreria collegata dinamicamente) CONTRO –dipendenza da API proprietarie (NSAPI, ISAPI ) non standardizzate Tecnologia J2EE

Web Server - Java Servlet Web Server - Java Servlet Applicazioni (servlet) scritte in Java Servlet eseguite nello stesso processo del web server, per minor carico di comunicazione interprocesso Indipendenza dalla piattaforma grazie a Java Sicurezza gestita mediante Security Manager della JVM Gestione degli errori con il meccanismo delle eccezioni Java Disponibilita’: distribuzione gratuita di Java Servlet Development Kit contenente la libreria Java servlet

Web Server - Java Servlet Web Server - Java Servlet

Server-side scripting (JSP) Idea: inserire istruzioni per il calcolo dei contenuti dinamici all’interno della pagina HTML Il codice è interpretato dal server <HTML><BODY> …. ….</BODY></HTML> <HTML>….</HTML><%>…...</%> Template: testo+script da interpretare sul server Web server + Esecutore script

Accesso a BD - JDBC JDBC (Java Database Connectivity): insieme di interfacce (API) che realizzano la connettività ai DBMS commerciali più diffusi – Basato sul linguaggio Java – Offre supporto per le operazioni normalmente eseguite su una BD attraverso SQL: Uso di applet Java: applicazione che risiede sul server Web e che viene scaricata e visualizzata attraverso un browser, ogni volta che la pagina HTML che la ospita viene richiesta. Sviluppo di vere e proprie applicazioni Java che accedono a database diversi.

Application server

Application server (cont.) L'Application Server offre diversi vantaggi – distribuzione trasparente del workload su diversi componenti, replication, load balancing – failure recovery – gestione delle transazioni (distinto dall'analogo meccanismo implementato all'interno del DBMS) – resource pooling – integrazione con applicazioni legacy – sviluppo di applicazioni multi-protocollo, multi-linguaggio

WIS, load balancing e sicurezza

Interazione con sorgenti esterne L'Application Server deve richiamare funzionalità presenti su un sito esterno – servizi dispositivi (e.g., pagamenti) – servizi informativi (e.g., stock quotes) – servizi di sicurezza (e.g., autenticazione) Le pagine web contengono sezioni provenienti da siti diversi –approccio “a portale”, le varie parti sono indipendenti (e.g., iGoogle) –approccio “applicativo”, le varie parti interagiscono e condividono dati (mashup)

Accesso multi-device