Concetti base. Impianti Informatici. Web application



Похожие документы
SWIM v2 Design Document

Progetto di Applicazioni Software

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

Progetto di Applicazioni Software

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

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

Protocolli e architetture per WIS

Tecnologia dei Sistemi Informativi. architettura s.i. 1

L evoluzione delle Applicazioni Distribuite

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

Introduzione al Web. dott. Andrea Mazzini

Architetture e applicazioni web

Corso di Informatica Modulo T3 B2 - Database in rete

Corso di Informatica Modulo T3 B1 Programmazione web

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

Base di dati e sistemi informativi

MetaMAG METAMAG 1 IL PRODOTTO

Informatica per la comunicazione" - lezione 9 -

Architetture Informatiche. Dal Mainframe al Personal Computer

Architetture Informatiche. Dal Mainframe al Personal Computer

Come funziona internet

Componenti Web: client-side e server-side

Architetture Software

Web Application Libro Firme Autorizzate

Corso Web programming

Introduzione all elaborazione di database nel Web

Indice. Indice Premessa e scopo del documento Ambiente operativo Architettura di sistema... 5

INTEGRATA OTTIMIZZAZIONE DEI PROCESSI AZIENDALI

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

Programmazione Server Side e Database in rete

Architetture per le applicazioni web-based. Mario Cannataro

CONTENT MANAGEMENT SYSTEM

Firewall applicativo per la protezione di portali intranet/extranet

Amministrazione Patrimonio Fondi

RETI INFORMATICHE Client-Server e reti paritetiche

INTEGRATA OTTIMIZZAZIONE DEI PROCESSI AZIENDALI

appunti delle lezioni Architetture client/server: applicazioni client

Database e reti. Piero Gallo Pasquale Sirsi

IngEstate. Sistema di telegestione

Sistemi informativi secondo prospettive combinate

Architetture dei WIS. Definizione di WIS. Benefici dei WIS. Prof.ssa E. Gentile a.a

Scenario di Progettazione

Flavio De Paoli

Business Intelligence

Reti Informatiche. dott. Andrea Mazzini

Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni client

Topologia delle reti. Rete Multipoint: ogni nodo è connesso agli altri tramite nodi intermedi (rete gerarchica).

Architettura di un sistema operativo

Punti fondamentali sulla tecnologia del sistema ABScard

Piano Nazionale di Formazione degli Insegnanti sulle Tecnologie dell'informazione e della Comunicazione. Percorso Formativo C1.

Client - Server. Client Web: il BROWSER

MISURAZIONE DEI LIVELLI DI SERVIZIO

SISTEMI E RETI 4(2) 4(2) 4(2) caratteristiche funzionali

Progettazione di Sistemi Interattivi. Gli strati e la rete. Struttura e supporti all implementazione di applicazioni in rete (cenni)

IT Cloud Service. Semplice - accessibile - sicuro - economico

Applicazione: GAS - Gestione AcceSsi

Centralino telefonico OfficeServ 7100

Programmazione Client-Server

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento

Architetture di sistema

PROXYMA Contrà San Silvestro, Vicenza Tel Fax

Addition X DataNet S.r.l.

Gaia Corbetta Convegno 3E - ATI/ANIMP 11 luglio 2013, Milano

Base Dati Introduzione

Architetture di sistema

Lo scenario: la definizione di Internet

Lezione 1. Introduzione e Modellazione Concettuale

2.5. L'indirizzo IP identifica il computer di origine, il numero di porta invece identifica il processo di origine.

L'infrastruttura tecnologica Oracle Workflow alla base del progetto di Valutazione di Impatto Ambientale

SDD System design document

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

Componenti di una applicazione. Un programma applicativo è strutturato come un insieme organizzato di tre componenti funzionali:

Office e Applicativi sw

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

Internet e i suoi servizi. Luca Cervone (luca.cervone@unibo.it)

Soluzioni per l'integrazione e l'accesso alle informazioni. Visus RAD. Andrea Rocchini

BASE DI DATI: introduzione. Informatica 5BSA Febbraio 2015

Uso delle basi di dati DBMS. Cos è un database. DataBase. Esempi di database

Dal software al CloudWare

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

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

Lezione n 1! Introduzione"

Applicazione: Servizio periferico per l'invio telematico delle domande di nulla osta al lavoro

ELAND SPA Foggia Via Fiume, 42 Tel Fax

VntRAS Communication Suite

La piattaforma di lettura targhe intelligente ed innovativa in grado di offrire servizi completi e personalizzati

Moka Web La nuova architettura Moka

Oreste Signore, Responsabile Ufficio Italiano W3C Area della Ricerca CNR - via Moruzzi, Pisa

Транскрипт:

Concetti base Web application

La diffusione del World Wide Web 2 Supporto ai ricercatori Organizzazione documentazione Condivisione informazioni Scambio di informazioni di qualsiasi natura Chat Forum Intranet Stessi standard usati in Internet

Applicazioni Web 3 Una qualsiasi applicazione client/server che: Usa HTTP come protocollo di comunicazione Effettua richieste Http Riceve risposte Http Usa i browser standard come client (ma non necessariamente) Solitamente tale applicazione funziona da interfaccia per l accesso ad una base di dati HTTP request Client Server HTTP reply

Applicazione standard vs Web Application 4 Applicazione Standard Protocollo proprietario Protocollo non fissato Client ad-hoc Potenzialità di interazione Potenzialità di visualizzazione Web Application HTTP Stack TCP/IP Browser Interazione limitata Visualizzazione semplice

Generazione dinamica dei contenuti 5 Pagine HTML statiche Web Application: pagine dinamiche Interfaccia verso un database Esegue query SQL Formatta i dati per visualizzarli all utente HTTP request Client Server HTTP reply

Esempio: Web Mail 6 È un gateway applicativo Interfaccia con il server mail POP / IMAP SMTP L utente interagisce solo con il browser La Web Application interroga il Mail Server e compone la pagina Web Application click HTTP request Browser HTTP reply Server POP / IMAP SMTP Mail Server

Esempio: mappa stradale 7 Interazione con una base di dati Il DB contiene i possibili percorsi, pesati ad esempio in base a traffico, tipo di strada, Calcola il percorso ottimale (il più breve, il più semplice, ) Algoritmo complesso Genera le istruzioni necessarie per seguire l itinerario Formatta una pagina contenente le indicazioni da seguire e la mappa stradale

Applicazioni Web: peculiarità 8 Di facile utilizzo si utilizza un client usato comunemente per la navigazione di pagine web Integrazione immediata con Internet segue lo standard TCP/IP e utilizza l'http come protocollo applicativo Indipendente dalla piattaforma (TCP/IP) Interoperabilità tra hw/sw di costruttori vari Economica bassi costi di produzione del relativo sw applicativo Architettura altamente scalabile consente di scrivere anche applicazioni distribuite Modulare (divisa in livelli logici)

Limitazioni del protocollo HTTP 9 Stateless Transazioni difficili Carrello on-line Log-in Selezione prodotti Pagamento Log-off Possibili soluzioni: Cookie URL rewriting

Cookie 10 File di testo salvato sul lato client. Viene inviato tramite HTTP Alla prima richiesta HTTP, il server invia un cookie al client Alle successive richieste allo stesso server, il client allega il cookie ricevuto Cookie più recenti sovrascrivono i precedenti HTTP request cookie A Browser cookie A HTTP reply HTTP request HTTP reply cookie A Server A Server B cookie B HTTP request HTTP reply cookie B

Cookie e sessione 11 Cookie Informazioni standard sul server Data Durata cookie Data scadenza Informazioni dipendenti dalla Web Application Sessione Connessione logica tra client e server web Lo stato è memorizzato nel server Il cookie viene utilizzato per identificare la sessione

URL rewriting 12 URL dinamici Con ID della sessione Vengono riscritti gli URL all interno delle pagine da inviare al browser Ogni richiesta HTTP include l ID della sessione Il server separa ID da URL effettivo

Thin Client 13 Il client svolge funzioni limitate La logica è tutta sul lato server Il client si occupa della visualizzazione e dell interfaccia utente E il Browser Web? Non troppo leggero, dato l uso di plug-in (ActiveX, JavaScript, ) Sovraccaricano il lato server Occorre connettersi al server per qualsiasi operazione

Fat (Thick) Client 14 Sul client vengono eseguite funzioni degli applicativi Il client sw è una parte dell applicazione che va installata su ogni macchina Più difficili da mantenere Molti client Cambiamenti nel server hanno effetti sul client È possibile realizzare interfacce grafiche complesse Non richiede un interazione continua col server Riduce il carico sul lato server Aumenta il carico sul client

Browser Fat o Thin? 15 Browser testuali HTTP/HTML Browser con grafica Uso improprio di HTML Plug-in Ritorno ai Browser Thin Navigazione da dispositivi eterogenei Computer Palmari Telefonini

Architetture a più livelli Web application

Evoluzione delle applicazioni 17 ^70 ^80 ^90 App. monolitica Client/Server 3-tier

Applicazioni Monolitiche 18 Popolare con i mainframe Adatti per processi stand-alone Pezzi di codice indivisibile Controlla l intera applicazione Logica applicativa Gestione e memorizzazione dei dati Interfaccia utente

Applicazioni Client/Server 19 Passaggio da mainframe a server, pc, workstation: Più economici Più piccoli Diffusione Database RDBMS Architettura monolitica non flessibile Paradigma client/server Server (backend): Gestione di database Elaborazione dei dati Client (frontend): Interfaccia utente

Client/Server: pro e contro 20 Vantaggi: Maggiore scalabilità Carico computazionale distribuito sui client Sviluppo più veloce di applicazioni che accedono agli stessi dati Svantaggi: Traffico di messaggi intenso Logica di business inclusa sia nel frontend che nel backend Client e server dipendenti l uno dall altro

Client/Server: business logic 21 Problema: business logic sia nel client che nel server Server accessibile da più device Adapter Modifiche nella business logic impattano su: Server Molteplici client User Interface Client Client2 Client3 Logic Data Management Server

Applicazioni 3-tier 22 Tre livelli: Data Layer Gestione dei dati DBMS File XML Business Layer Business Logic Processamento dati Presentation Interfaccia utente Presentazione Dati Servizi Indipendenza dei layer Ogni livello ha obiettivi e vincoli propri Nessuna assunzione sugli altri livelli

Web Application: Presentation Layer 23 Web browser Visualizzare gli aspetti dell applicazione Interfaccia utente Invia richieste HTTP e interpreta le risposte Web server: riceve le richieste HTTP inviate dal browser inoltra la richiesta ai livelli successivi impagina la risposta e la invia al browser

Web Application: Application Layer 24 L insieme dei programmi che eseguono le azioni richieste (J2EE, Enterprise Java Beans, ) Gestisce Dati dell applicazione Stato corrente Assicura integrità dati Gestisce errori o eccezioni Esempi di operazioni: Query Elaborazione dei dati Report

Web Application: Data Store Layer 25 Dati dell applicazione Database Sistemi di altro tipo Mainframe Sistemi legacy File XML

Comunicazioni tra i livelli logici 26 business logic HTTP browser HTML web server database EIS Enterprise Infomation System

Applicazione come collezione di componenti 27 Non c è comunicazione diretta tra presentation e data layer Applicazioni viste come collezione di componenti cooperanti. Ogni componente può essere contemporaneamente parte di applicazioni diverse

Componenti appartenenti a più applicazioni 28 Telephony Client MAC Client Linux Client Palmtop Client Presentation layer Business Logic1 Business Logic2 Application layer Data Store layer Data Service1 Data Service2 Data Service3

3-tier: vantaggi 29 Flessibilità e modificabilità Componenti usabili in sistemi diversi Modifiche indipendenti Estensioni dell applicazione facilitate Ricerca di bug agevolata Interconnettività Non sono necessari gli adapter Accesso a dati comuni da parte di applicazioni diverse facilitato

Web Application 3-tier: vantaggi 30 Gestione di sistemi distribuiti Business logic aggiornabile senza interventi sui client Preleva direttamente i dati aggiornati (hot data) operando on-line sul database Consente di realizzare pagine HTML dinamiche Elimina la necessità di aggiornare le pagine HTML (statiche)

3-tier: svantaggi 31 Dimensione ed efficienza Comunicazione tra componenti onerosa Uso di apposite librerie software Software Legacy Difficile applicare il modello 3-tier Uso di adapter Web App Legacy

Web Application 3-tier: svantaggi 32 Web server e Db server sono spesso i colli di bottiglia del sistema Elevati problemi di sicurezza Virus Worm Trojan horses Rapida evoluzione delle tecnologie

Livelli applicativi di una Web Application 33 Presentazione Logica Dati Browser HTML HTTP Web server Servlet container (Servlet, JSP) Application server (J2EE, Enterprise Java Benas) Database server Thin client Fat client HTTP Socket JDBC