La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Eprogram informatica V anno. Programmare in rete.

Presentazioni simili


Presentazione sul tema: "Eprogram informatica V anno. Programmare in rete."— Transcript della presentazione:

1 Eprogram informatica V anno

2 Programmare in rete

3 Client e server Lo scambio di informazioni nel mondo Internet è basato fondamentalmente sull’architettura client-server. In base al tipo di applicazione che si vuole realizzare il client e il server possono avere un ruolo differente. Ciascuna delle due componenti può essere: - statica, cioè non rielaborare le informazioni, - dinamica, cioè a fronte di una richiesta viene attivato un programma in grado di effettuare delle operazioni.

4 Scenari possibili Possiamo avere i seguenti scenari: un client statico che interagisce con un server statico; un client statico che interagisce con un server dinamico; un client dinamico che interagisce con un server statico; un client dinamico che interagisce con un server dinamico.

5 Client statico e server statico 1. Il client statico invia una richiesta al server statico indicando uno specifico URL (Uniform Resource Locator). 2. Il server individua la risorsa richiesta e la invia al client. 3. Il client interpreta il codice HTML e visualizza le informazioni o invia un’altra richiesta al server.

6 Client statico e server dinamico 1. Il client effettua una richiesta. 2. Il server invia al client un’informazione che varia in funzione di parametri digitati dall’utente. Per ottenere l’informazione il server può eseguire direttamente una query SQL oppure attivare un applicativo, tramite componenti software che fungono da middleware. Si dice middleware un software che si interfaccia tra il client e il server. In ambito Internet, il server su cui vengono eseguite queste applicazioni prende il nome di application server. in questo scenario possono esistere più server distinti: il Web server che si occupa di colloquiare con i Client da un lato e con gli applicativi server dall'altro, per recuperare le informazioni.

7 Client dinamico e server statico Il client svolge una parte dell’elaborazione. Vi sono due possibilità di rendere dinamico un client: - una componente software (es. un'applet) o un programma Javascript che risiede sul server ed è automaticamente scaricata sul client ed eseguita localmente. - L’altra possibilità è quella di utilizzare i linguaggi di scripting. In questo caso il codice viene inserito all’interno delle pagine HTML e viene interpretato al momento dell’esecuzione.

8 Client dinamico e server dinamico Unisce le potenzialità viste in precedenza: - permette di migliorare l’interazione tra utente e sistema, consentendo un accesso adeguato ai dati e alle applicazioni aziendali. - è il modello attualmente più adottato per lo sviluppo di applicazioni aziendali basate sugli standard Internet (intranet ed extranet). Per realizzare la dinamicità dei client e dei server è necessario scrivere programmi che si attivino quando necessario. Per far questo esistono diverse tecniche: - realizzazione di semplici script interpretabili dai browser, - creazione di veri e propri programmi compilati. Alcune di queste tecniche sono utilizzabili solo dal lato server, altre servono solo per i client, mentre vi sono tecniche che è possibile utilizzare su entrambi i nodi della comunicazione.

9 Pagine statiche Quando digitate nella barra degli indirizzi del browser un indirizzo che finisce per.html quasi sicuramente state vedendo una pagina statica. In questo caso il Web server che chiamate si sta comportando essenzialmente come un hard disk remoto: controlla se la pagina esiste e ve la fornisce così com’è. Queste pagine sono dette statiche perché l’aspetto ed il contenuto delle pagine viene impostato alla creazione delle stesse e non è dipendente dall’interazione con l’utente.

10 Pagine statiche Possono contenere animazioni o script per “simulare” un interazione con l’utente che però non modificano i dati in possesso dell’utente stesso. Se voi salvate il file sul vostro disco fisso, insieme agli eventuali attributi (cosa che tutti i browser sono in grado di fare), potete ricaricare la pagina esattamente nello stesso modo.

11 Pagine dinamiche Per pagina dinamica si intende una pagina il cui contenuto NON è prefissato, ma viene (parzialmente o interamente) generato in tempo reale in base alle richieste dell’utente. L’esempio più chiaro e noto a tutti è quello dei motori di ricerca: ovviamente non sono presenti sul Server di Google tutte le pagine associate alle possibili combinazioni di termini che un utente può digitare per la ricerca a, ma le pagine vengono ricreare quando l'utente le richiede. La pagina dinamica ha un' estensione diversa da.html ( per esempio.php,.jsp, aspx), ed in genere ha una parte del documento fissa, ma anche una parte scritra in un linguaggio di scripting, che prima di essere mandata al client deve essere elaborata dal webserver.

12 Pagine dinamiche Chiaramente il server web deve essere dotato di tecnologia in grado di “costruire” su richiesta le pagine, assemblando insieme i dati e spedirle al browser. Una volta che la pagina è arrivata al client è diventata statica e la potete salvare, facendone in un certo senso una fotografia. L'utente può interagire con il server ad esempio sottomettendo dati che il server elabora per restituire poi una risposta sotto forma di pagina HTML. Un tipico caso e' l'accesso da parte dell'utente ad un database che risiede sul server. In questo caso la pagina web funziona come una interfaccia per accedere ai dati che risiedono sul server.

13 Programmazione lato client A livello di client vi possono essere dei programmi già compilati, che vengono scaricati dal server ed eseguiti sul client, oppure programmi scritti in un linguaggio di script che vengono interpretati dal client. E' la parte di programmazione che coinvolge il browser web ed è quindi dipendente dal tipo (e versione) del browser usato. Alcuni linguaggi client-side non sono supportati da alcuni browser – ad es. VBscript è supportato solo la IExplorer. Uno standard è Javascript.

14 Programmazione lato Client Uno script può comportarsi in modo diverso nei vari browser web. Tipicamente la operazioni effettuate client side sono di interazione stretta con l'utente – ad es. rollover sui tasti o il controllo di dati inseriti tramite FORM (moduli). Generalmente abbiniamo alla programmazione client side compiti semplici e di interazione immediata con l'utente.

15 Applet Con Applet si indicano particolari programmi Java che vengono inseriti nelle pagine HTML mediante l’elemento applet (o object) con alcuni attributi necessari all’esecuzione dell’applet. All’interno dell’elemento applet (o object) possono inoltre essere definiti parametri che vengono passati all’applet in esecuzione. Quando un browser incontra tali tag HTML carica in memoria il programma e lo esegue.

16 I linguaggi di scripting I linguaggi di scripting sono pezzi di codice inseriti in pagine HTML. Introducono estensioni all’interfaccia di una pagina Web o del browser. In questo modo è possibile aumentare le potenzialità interattive di una pagina Web SENZA UNA COMPETENZA DA PROGRAMMATORE. Possono essere eseguiti sia a livello server, sia a livello client. Quando gli script sono eseguiti a livello client non possono accedere alle risorse locali (sono quindi sicuri). I principali linguaggi di scripting sono JavaScript e Visual Basic Script (VBScript).

17 JavaScript Nonostante il nome, il linguaggio JavaScript non ha niente a che fare con il linguaggio Java. Il codice viene inserito direttamente nelle pagine HTML preceduto dal tag Il codice è normalmente composto da una serie di function che vengono richiamate in corrispondenza a eventi che occorrono nella pagina. Viene usato principalmente per realizzare form per l’immissione dati, realizzare calcoli su tabelle e per gestire la navigazione sul Web.

18 VBScript Il linguaggio VBScript deriva dal Visual Basic. Come per JavaScript, il codice è inserito in pagine HTML dopo il tag Le funzionalità offerte sono praticamente le stesse di JavaScript. La principale differenza sta nella portabilità inferiore a JavaScript, in quanto utilizzabile solo con Internet Explorer, e nella fase di apprendimento del linguaggio decisamente più facile di JavaScript.

19 Programmare lato server La programmazione di componenti software per Web application lato server si può basare su diverse tecnologie, le più comuni delle quali sono: CGI (Common Gateway Interface); Java servlet; linguaggi di scripting quali: Active Server Pages (ASP), Java Server Pages (JSP) e PHP (Hypertext Processor).

20 ASP Le Active Server Pages (ASP) forniscono un meccanismo con cui è possibile inserire all’interno di una pagina Web il codice che è eseguito sul server a ogni accesso alla pagina. La pagina inviata al browser viene quindi generata dinamicamente in base a specifici parametri forniti in input. La tecnologia ASP è disponibile SOLO sulle piattaforme Microsoft, ma la pagina generata è visualizzabile su QUALSIASI browser. Il codice è interpretato da una componente (ASP.DLL) che opera parallelamente al Web server ed è in grado di gestire più richieste contemporaneamente (multithread).

21 Pagine PHP Le pagine PHP, dal punto di vista funzionale, sono simili alle pagine ASP. Sono pagine HTML che contengono codice scritto in PHP. Può girare praticamente su qualsiasi server Web, su qualsiasi sistema operativo e consente di interagire praticamente con qualsiasi tipo di database. Può essere agevolmente utilizzato per i più svariati tipi di progetti. Quando un comando dello script richiede il reperimento di dati da un database, il server Web preleva i dati dal database e li inserisce nei comandi HTML all’interno del modulo PHP per produrre un documento HTML formattato.

22 Server Web Apache L'esecuzione delle pagine PHP su un computer richiede che sullo stesso sia installato e in esecuzione un server Web con supporto PHP. Per tutti i sistemi operativi si può installare Apache, distribuito come software free, prelevando lo dal suo sito. Apache cerca le pagine da caricare in una cartella, che saranno dei file di testo con estensione.php ( Hypertext PreProcessor)


Scaricare ppt "Eprogram informatica V anno. Programmare in rete."

Presentazioni simili


Annunci Google