Protocolli e architetture per WIS



Похожие документы
Siti web centrati sui dati (Data-centric web applications)

Applicazioni web centrati sui dati (Data-centric web applications)

Architetture Web: un ripasso

Componenti Web: client-side e server-side

Tecnologie per il Web. Il web: Architettura HTTP HTTP. SSL: Secure Socket Layer

Come funziona internet

Sommario. Introduzione Architettura Client-Server. Server Web Browser Web. Architettura a Due Livelli Architettura a Tre Livelli

sito web sito Internet

Come funziona il WWW. Architettura client-server. Web: client-server. Il protocollo

Corso di Informatica Modulo T3 B1 Programmazione web

b) Dinamicità delle pagine e interattività d) Separazione del contenuto dalla forma di visualizzazione

Database e reti. Piero Gallo Pasquale Sirsi

Introduzione all elaborazione di database nel Web

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4)

Tratte da (18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET)

Titolo Alfresco. Titolo1 Non solo un documentale

Concetti base. Impianti Informatici. Web application

Progetto di Applicazioni Software

19. LA PROGRAMMAZIONE LATO SERVER

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

Corso Creare Siti WEB

Ipertesto. Reti e Web. Ipertesto. Ipertesto. Ipertestualità e multimedialità

Sistemi informativi secondo prospettive combinate

Corso di Informatica Modulo T3 B2 - Database in rete

FTP. Appunti a cura del prof. ing. Mario Catalano

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER

I MODULI Q.A.T. PANORAMICA. La soluzione modulare di gestione del Sistema Qualità Aziendale

DBMS e Linguaggi di programmazione nell'era di Internet

MetaMAG METAMAG 1 IL PRODOTTO

Implementazione di MVC. Gabriele Pellegrinetti

Application Server per sviluppare applicazioni Java Enterprise

@2011 Politecnico di Torino. Pag. 1. Architettura distribuita. Architetture Client/Server. Architettura centralizzata. Architettura distribuita

Introduzione alle Applicazioni Web

Approccio stratificato

Architettura client-server

Obiettivi d esame PHP Developer Fundamentals on MySQL Environment

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base

Progetto di Applicazioni Software

12/12/11 Data ultimo aggiornamento

Web Programming Specifiche dei progetti

Programmazione Server Side e Database in rete

Le Reti Informatiche

L evoluzione delle Applicazioni Distribuite

Corso basi di dati Introduzione alle ASP

PROGRAMMA CORSO Analista Programmatore JAVA - ORACLE

Corso di Informatica. Prerequisiti. Modulo T3 B3 Programmazione lato server. Architettura client/server Conoscenze generali sui database

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico

Flavio De Paoli

Lezione 9. Applicazioni tradizionali

Punti fondamentali sulla tecnologia del sistema ABScard

Introduzione al Web. dott. Andrea Mazzini

Finalità delle Reti di calcolatori. Le Reti Informatiche. Una definizione di Rete di calcolatori. Hardware e Software nelle Reti

Lezione n 1! Introduzione"

INTEGRATA OTTIMIZZAZIONE DEI PROCESSI AZIENDALI

Capitoli 8 e 9. SQL embedded. Applicazioni tradizionali Applicazioni Internet. Sistemi di basi di dati Raghu Ramakrishnan, Johannes Gehrke

Il World Wide Web. Il Servizio World Wide Web (WWW) WWW WWW WWW WWW. Storia WWW: obbiettivi WWW: tecnologie Le Applicazioni Scenari Futuri.

Sistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL

Le scelte tecnologiche di RUP System

Informatica per la comunicazione" - lezione 10 -

PROGETTI DISPONIBILI IL CORSO DI PROGETTO DI RETI E SISTEMI INFORMATICI

Internet e World Wide Web

ESERCITAZIONE Semplice creazione di un sito Internet

BrokerINFO La soluzione integrata per la distribuzione dei dati dei mercati finanziari. Advanced Advanced Technology Solutions

Seminari Eucip, Esercizio e Supporto di Sistemi Informativi

INTEGRATA OTTIMIZZAZIONE DEI PROCESSI AZIENDALI

Protocolli applicativi: FTP

Proposta UNIF Progetto: Portale delle fonti di energia rinnovabile. Obiettivi

TeamPortal. Servizi integrati con ambienti Gestionali

venerdì 31 gennaio 2014 Programmazione Web

EyesDGTV. Your digital terrestrial television. Soluzioni Informatiche

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011

Siti interattivi e dinamici. in poche pagine

InterNet: rete di reti

PIATTAFORMA DOCUMENTALE CRG

MagiCum S.r.l. Progetto Inno-School

Strutture di accesso ai dati

Il Web Server e il protocollo HTTP

Lorenzo Sarti Materiale didattico sarti

Architetture per le applicazioni web-based. Mario Cannataro

18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET

Architetture Web a tre livelli: CGI, SSI, ISAPI e codice mobile Architetture a 3 livelli (1)

Programmazione ad Oggetti. Java Parte I

Do-Dots Protocollo di comunicazione

WBT Authoring. Web Based Training STUDIO

INFN Napoli NESSUS. IL Security Scanner. Francesco M. Taurino 1

lem logic enterprise manager

HTML il linguaggio per creare le pagine per il web

Corso di Web programming Modulo T3 A2 - Web server

Corso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP

Транскрипт:

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 multilivello) 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.) http://news.netcraft.com

Web server (cont.) http://news.netcraft.com

Web browser dinamico

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

Funzioni avanzate: Web server dinamico 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

CGI 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

Caratteristiche di CGI CGI script, programma eseguibile 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

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 API Gateway API = interfaccia per estendere il server con servizi non standard DBMS

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 http://java.sun.com/products/servlet/index.html 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 http://java.sun.com/products/servlet/index.html

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

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