venerdì 31 gennaio 2014 Programmazione Web

Похожие документы
Corso di Web Programming

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

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

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

Architettura client-server

Come funziona internet

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

Protocolli e architetture per WIS

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

Corso di PHP. Prerequisiti. 1 - Introduzione

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

sito web sito Internet

Corso Creare Siti WEB

ESERCITAZIONE Semplice creazione di un sito Internet

Introduzione al Web. dott. Andrea Mazzini

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

Introduzione all elaborazione di database nel Web

Introduzione a Internet e al World Wide Web

Siti interattivi e dinamici. in poche pagine

Internet Internet è universalmente nota come la Rete delle reti: un insieme smisurato di computer collegati tra loro per scambiarsi dati e servizi.

HTML il linguaggio per creare le pagine per il web

Reti di Calcolatori. Il Livello delle Applicazioni

Architetture Informatiche. Dal Mainframe al Personal Computer

Linguaggio HTML. Reti. Il Linguaggio HTML. Il Linguaggio HTML

Iniziare con Internet Explorer. dott. Andrea Mazzini

Componenti Web: client-side e server-side

Architetture Informatiche. Dal Mainframe al Personal Computer

Corso di Informatica Modulo T3 B1 Programmazione web

COME FUNZIONA UN SITO WEB

Web Content Management and E- Learning

INTERNET PER INIZIARE PRIMA PARTE

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

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

Macchine per l elaborazione dell informazion e. Sistemi di Elaborazione delle Informazioni. Informatica II

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

TCP/IP: INDIRIZZI IP SIMBOLICI

Manuali.net. Nevio Martini

Le Reti Informatiche

prof. Mario Dalessandro

Database e reti. Piero Gallo Pasquale Sirsi

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

Il Web Server e il protocollo HTTP

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

Informatica per la comunicazione" - lezione 10 -

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

Architetture Web: un ripasso

Corso di HTML. Prerequisiti. Modulo L3. 1-Concetti generali. Browser Rete Internet Client e server. M. Malatesta 1-Concetti generali-12 28/07/2013

Corso basi di dati Introduzione alle ASP

Corso Web programming

Sistemi avanzati di gestione dei Sistemi Informativi

Lo scenario: la definizione di Internet

Reti di calcolatori. Reti di calcolatori

Protocolli applicativi: FTP

tratteremo di... Definizione di Internet e Web Linguaggio HTML e Siti web Statici Siti web Dinamici e codice PHP Breve accenno ai CMS Server Locale

Corso di PHP. Prerequisiti. 1 - Introduzione

WEB TECHNOLOGY. Il web connette. LE persone. E-book n 2 - Copyright Reserved

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Reti di Telecomunicazione Lezione 6

Sito web parrocchiale: STRUMENTI E PROGRAMMI

WEBCONFERENCE Platform

MagiCum S.r.l. Progetto Inno-School

DBMS e Linguaggi di programmazione nell'era di Internet

Implementazione di MVC. Gabriele Pellegrinetti

Flavio De Paoli

Reti di Calcolatori. Vantaggi dell uso delle reti. Cosa è una rete? Punto di vista logico: sistema di dati ed utenti distribuito

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

Corso di Web programming Modulo T3 A2 - Web server

Internet e World Wide Web

Facendo clic su parole, immagini e icone si può passare da un sito all'altro.

Comunicazione nel tempo

Web Programming Specifiche dei progetti

Indice PARTE PRIMA L INIZIO 1

Internet Architettura del www

Sistemi Informativi di relazione - Internet

Contenuti. Applicazioni di rete e protocolli applicativi

Appunti di Informatica Gestionale per cl. V A cura del prof. ing. Mario Catalano. Internet e il Web

Università degli Studi "Roma Tre" Dipartimento di Informatica ed automazione. Facoltà di Ingegneria

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

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

Client - Server. Client Web: il BROWSER

connessioni tra i singoli elementi Hanno caratteristiche diverse e sono presentati con modalità diverse Tali relazioni vengono rappresentate QUINDI

Laboratorio di Progettazione Web Applicazioni Web

Dal protocollo IP ai livelli superiori

Modulo 7: RETI INFORMATICHE

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

Lezione n 1! Introduzione"

Guida Operativa Programma Pestalozzi

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

Corso di Informatica

Транскрипт:

Programmazione Web

WWW: storia Il World Wide Web (WWW) nasce tra il 1989 e il 1991 come progetto del CERN di Ginevra affidato a un gruppo di ricercatori informatici tra i quali Tim Berners- Lee e Robert Cailliau. Lo scopo del progetto era la creazione di un sistema pratico ed efficiente per lo scambio di informazioni all interno del CERN e tra i ricercatori del CERN e i loro collaboratori all estero. I ricercatori identificarono due elementi chiave per la realizzazione di tale sistema: Internet Gli ipertesti

WWW: storia Nel 1990/1991 i ricercatori realizzarono un prototipo basato su NeXT già dotato di una sorta di interfaccia grafica per navigare.

WWW: storia ViolaWWW - 1990 Line Mode Browser -1991 Erwise - 1992 MacWWW - 1992

WWW: storia Alla fine del 1992 erano già disponibili 26 web server in varie nazioni. Alla fine del 1993 i web server disponibili erano già oltre 200. Tra il 1992 e il 1993 il National Centre for Supercomputing Applications (NCSA) realizzò il primo web browser di successo: chiamato NCSA Mosaic

WWW: storia In pochi anni il WWW ebbe una crescita molto rapida, divenendo utilizzato da milioni di persone. Gli interessi commerciali attorno a tale successo portarono alla guerra dei browser. http://en.wikipedia.org/wiki/browser_wars

WWW: storia Nel 1994 Marc Anderseen (realizzatore di NCSA Mosaic) e Jim Clark (fondatore della Silicon Graphics) fondarono Netscape Corp. e realizzarono il browser Netscape Communicator basato su Mosaic. Nel 1995 Microsoft lancia il browser Internet Explorer. Negli anni successivi (fino al 1998) i due browser combattono a colpi di nuove funzionalità, ma alla fine Netscape si dichiara sconfitta non riuscendo a competere con Internet Explorer.

WWW: storia Netscape Corp. viene venduta ad America On-Line (AOL). Il codice sorgente di Communicator viene reso pubblico creando una comunità Open Source (chiamata Mozilla.org) che ne porti avanti lo sviluppo. Nel 2000 esce una nuova versione del browser Mozilla, ricco di funzionalità ma molto lento. Nel 2004 la comunità di Mozilla riesce nell intento di rivoluzionare il cuore del proprio browser e realizza Mozilla Firefox, un browser veloce, flessibile e multipiattaforma che riscuote un rapido e crescente successo.

WWW: storia Netscape Corp. viene venduta ad America On-Line (AOL). Il codice sorgente di Communicator viene reso pubblico creando una comunità Open Source (chiamata Mozilla.org) che ne porti avanti lo sviluppo. Nel 2000 esce una nuova versione del browser Mozilla, ricco di funzionalità ma molto lento. Nel 2004 la comunità di Mozilla riesce nell intento di rivoluzionare il cuore del proprio browser e realizza Mozilla Firefox, un browser veloce, flessibile e multipiattaforma che riscuote un rapido e crescente successo.

WWW: storia

WWW: storia Diffusione dei browser 2012 (fonte: http://gs.statcounter.com) per stato per continente

WWW: elementi Il World Wide Web è un globally distributed hypermedia system, ossia un ipertesto multimediale distribuito a livello mondiale: un ipertesto, documento (elettronico) costituito da pagine consultabili in maniera non sequenziale attraverso l uso di collegamenti (links) all interno delle pagine stesse. multimediale, ossia che contiene testo, ma anche immagini, suoni, video, ecc... distribuito a livello mondiale, ossia tale per cui le pagine non sono tutte memorizzate in un unico computer, ma su innumerevoli server diversi. I collegamenti contenuti in una pagina di un server possono riferire pagine memorizzate su altri server.

WWW: elementi I protocolli/linguaggi su cui si basa il WWW sono i seguenti: Uniform Resource Locator (URL). E una convenzione su come scrivere il riferimenti ad altri documenti. Viene utilizzato nei link contenuti nelle pagine web. HyperText Transfer Protocol (HTTP). E un protocollo di comunicazone che viene utilizzato per l accesso a documenti ipertestuali via rete. HyperText Markup Language (HTML). E un linguaggio per la realizzazione di documenti ipertestuali

WWW: elementi Si sono poi aggiunti nel tempo altri componenti che consento di realizzare pagine web più evolute e dinamiche, ad esempio: Cascading Style Sheet (CSS): un linguaggio per descrivere gli aspetti di presentazione di una pagina web (font, colori, ecc...) Client Scripting: un insieme di linguaggi e tecnologie (e.g. JavaScript) per realizzare pagine più complesse e interattive (ad esempio tramite finestre pop-up, ecc...) che contengono del codice che viene eseguito dal browser Siti web dinamici: il server web non è più un semplice memorizzatore di pagine ma esegue applicazioni i cui output sono pagine web. Per questo nascono linguaggi quali Perl, PHP, Python e ASP.

Le diverse generazioni del WWW Chi produce quali tipi di contenuti? Web 0.0 (prima generazione): Content provider fornisce contenuti statici (uguali per tutti gli utenti) Web 1.0 (seconda generazione): Content provider fornisce contenuti dinamici (l utente effettua qualche tipo di query e la risposta è adeguata alla richiesta) Web 2.0: Content provider + utente forniscono contenuti. Conseguenze del Web 2.0 Utenti: da lettori passivi a partecipanti attivi Contenuti: da risorse standardizzate generate da pochi provider a contenuti molto eterogenei generati dagli utenti stessi Comunità: la partecipazione di molti utenti favorisce il cosiddetto social networking

Le diverse generazioni Web 1.0 ( Apertura ) del WWW Enorme apertura verso l esterno Si infrange il modello storico di redazione, selezione e pubblicazione delle informazioni (editore professionale e autore) Si amplia moltissimo la platea dei possibili autori rispetto al mondo cartaceo, ma la barriera di ingresso (tecnologica) rimane abbastanza elevata Web 2.0 ( Partecipazione ) Grazie a nuovi strumenti software e di hosting di siti, si abbatte ogni barriera di ingresso di tipo tecnologico: chiunque può essere un creativo (scrittore, cantante, regista, attore,...) e avere successo mondiale Nasce una platea enorme in grado di ricevere ed offrire informazioni, e di alimentare il Web di nuovi contenuti

Le diverse generazioni #$%&'&(()*+(,'$(+)'(,+,-&.)$+, del WWW! /&'%,0*,+.&'1')+'$-2)+,'2)'&33&-).)$+,' 45*+.)$+&+6,7'89,'3-,:)%)$+)',-&+$'2):,-%,; Content generator Tipo di contenuti Client 1ª generazione content provider statici fisso 2ª generazione + dinamici 3ª generazione + multimediali 4ª generazione + utente 5ª generazione + utente mobile + mobile 6ª generazione + organizzati 7ª generazione + dispositivi!"#$%&%'(")*$$%+,-(+")."/)(&)0"1)22)3434)566785696!"

WWW: elementi architetturali Alcune architetture comuni per la realizzazione di siti web sono le seguenti: Sito web statico: ogni pagina del sito è memorizzata in un file diverso sul web server in formato HTML. Quando viene richiesta una pagina, il file corrispondente viene inviato al client e visualizzato così com è dal browser. Sito web con script: differisce rispetto all approccio statico nel fatto che i file HTML possono contenere porzioni di codice (in un linguaggio tipo JavaScript) che verranno eseguite dal browser per creare qualche effetto di dinamicità. Per esempio: controllo sui dati immessi nella pagina, apertura di finestre di dialogo, ecc.. Sito web dinamico: i server web eseguono programmi che generano le pagine web richieste da un client. Tali programmi spesso interrogano un database per ottenere le informazioni che servono per costruire le parti principali delle pagine.

WWW: web statico o con script Architettura di un sito web statico (o con script) Il Il web server ha un archivio di documenti HTML (possibilmente con script) contenti che script) invia al che client inviasu alrichiesta. client su richiesta Il browser (eseguito sul cliet) visualizza il documento ricevuto Il browser visualizza il documento ricevuto, eseguendo eventuali script. (eseguendo eventuali script)

WWW: web dinamico In un sito web dinamico il server web non ha un archivio di pagine, ma esegue un programma (web application) che genera le pagine su richiesta. Tra i linguaggi più usati per le web applications ci sono PHP e ASP (.net) Comunemente la web application interagisce con un database usando opportune librerie ed SQL. Tra i database più usati: MySQL La combinazione Apache (Web Server) + MySQL + PHP è la più diffusa per la realizzazione di siti web dinamici- Esistono soluzioni all inclusive per l installazione di questa combinazione di software noti come soluzioni LAMP (per Linux), WAMP (per Windows) e MAMP (per MAC), dove AMP `e l acronimo formato dalle iniziali dei nomi delle tre componenti software. Un esempio di WAMP di semplice utilizzo e poco invasivo è EasyPHP

WWW: web dinamico Architettura di un sito web dinamico (2) Paolo Milazzo (Università di Pisa) WebProg 1 - Introduzione A.A. 2010/2011 17 / 17

Livelli di una applicazione web Un applicazione Web comunemente si sviluppa su tre livelli (3-tier) presentazione logico o intermedio dati Non sempre i livelli logici di un applicazione Web corrispondono a locazioni fisiche sulla rete

Livello di presentazione Il livello di presentazione costituisce l interfaccia utente dell applicazione Web e corrisponde al client. Esso è costituito da vari componenti combinati tra loro: browser, documenti HTML, applet Java, controlli ActiveX,...

Livello intermedio o logico Il livello intermedio di un applicazione Web corrisponde alla componente elaborativa dell applicazione. Le modalità di realizzazione del livello intermedio dipendono dalle caratteristiche e dalle tecnologie supportate dal server Web: può essere costituito da un insieme di script, componenti e programmi interagenti tra di loro e con il server Web. Alcune delle tecnologie più comuni: Common Gateway Interface (CGI), Internet Server Application Interface (ISAPI), Active Server Pages (ASP), PHP, Java Servlet,.

Livello dati Il livello dati fornisce servizi non direttamente disponibili tramite il Server Web; questi servizi sono generalmente forniti da applicazioni indipendenti dall ambiente Web. Tipici esempi di applicazioni presenti a questo livello sono: Server dati (DBMS). Server di mail (POP, SMTP). Server di documentazione elettronica.

Livelli di una applicazione web

Tecnologie Sia i livelli presentazione che intermedio possono avere una componente elaborativa. La tecnologia utilizzata ha caratteristiche profondamente diverse a seconda che il livello interessato sia presentazione o intermedio. Le tecnologie web impiegate in un applicazione web si chiamano lato server (server-side) e lato client (client side)

Computazione client e server side Tecnologie web Computazione Server Side Computazione Client Side Programmi Compilati Script Server Side Programmi Compilati su client Script Client Side CGI Java Servlets PHP ASP Java Applets Javascript VBScript ASP.NET Cold Fusion Tecnologie ibride Java Server Pages ASP.NET

Riassumendo... Linguaggi lato client: HTML CSS Javascript, VBscript Applet Java Flash Ajax Microsoft Silverlight Plug-in,... Linguaggi lato server: Programmi CGI (C, C+ +, Perl, Python,...) Active Server Pages (ASP) ColdFusion PHP Java Python.NET con code-behind