Questo sito utilizza cookie di terze parti per inviarti pubblicità in linea con le tue preferenze. Se vuoi saperne di più clicca QUI 
Chiudendo questo banner, scorrendo questa pagina, cliccando su un link o proseguendo la navigazione in altra maniera, acconsenti all'uso dei cookie. OK

HTTP chat server in ERLANG

L'obiettivo di questa tesi è di realizzare un servizio web con funzionalità PUSH implementato sul protocollo HTTP nel rispetto degli standard W3C. Il protocollo HTTP non supporta naturalmente la modalità PUSH, ma è possibile realizzarla tramite una variante di Ajax chiamata Comet. Il "protocollo" Comet è uno standard emergente che viene supportato sul lato cliente da librerie di interfaccia utente per il web come Dojo, e sul lato server da alcuni web server avanzati come Jetty.

Il lavoro originale di questa tesi è consistito nel realizzare un'implementazione lato server di Comet nel linguaggio di programmazione Erlang, integrato nel web server Yaws. Erlang è un linguaggio orientato alla concorrenza che supporta applicazioni massicciamente parallele. E' particolarmente indicato per applicazioni intensamente interattive come ad esempio chat, giochi, trading online; il fatto che finora non esistesse un'implementazione di Comet in Erlang ne limitava la sua applicabilità.

L'implementazione di Comet che abbiamo realizzato è conforme allo standard, tanto che è possibile utilizzare la chat dimostrativa realizzata per questa tesi con un client di chat standard Comet non modificato.

L'applicativo è stato sviluppato seguendo, quanto più possibile, i dettami dell’Extreme Programming. La classica analisi formale è stata sostituita dal Planning Game, che è risultato essere molto più leggero e flessibile. Nella fase di programmazione il TDD e lo sviluppo per approssimazioni successive hanno permesso di converge verso la soluzione cercata.

Il primo passo è stato implementare la chat sfruttando Ajax. E' stato così possibile sviluppare una prima versione del servizio in Erlang. Utilizzando i test automatici, tramite il package EUnit, è stata creata una solida base per l’implementazione del protocollo Bayeux.

Durante la seconda iterazione, la parte client della chat, è stata integrata con le funzioni messe a disposizione dal toolkit JavaScript DOJO. Grazie a questo tool è stato possibile creare una versione del servizio compatibile con la maggior parte dei browser.

Infine è stato implementato il protocollo Bayeux secondo le specifiche fornite dalla Dojo Foundation.

Sfruttando il lavoro svolto in questo progetto pilota sarà possibile sviluppare servizi in stile Comet, con Yaws, senza doversi preoccupare dei dettagli implementativi del protocollo Bayeux.

Mostra/Nascondi contenuto.
Introduzione Erlang e` un linguaggio di programmazione dichiarativo sviluppato da Ericsson. Grazie a un ottimo sistema di gestione dei processi questo lin- guaggio risulta particolarmente adatto per la programmazione concorrente e distribuita. Il garbage collector si occupa di gestire la memoria che viene allocata automaticamente quando necessario e deallocata quando non e` piu` utilizzata. Erlang permette anche la sostituzione del codice a caldo. Cioe` risul- ta possibile sostituire parti di programma senza doverlo riavviare. Questa caratteristica ne permette l’utilizzo in sistemi ’non-stop’ come centrali te- lefoniche, sistemi per il controllo del traffico aereo e in tutti quei sistemi che non possono essere bloccati per l’aggiornamento del software. Grazie a queste caratteristiche Erlang e` stato il candidato ideale per la creazione di un nuovo web server chiamato Yaws. E` stato dimostrato che Yaws e` in grado di sopportare picchi di carico di almeno un ordine di grandezza maggiore di Apache. L’obiettivo di questa tesi e` di realizzare un servizio web interattivo in Erlang. Si intende cioe´ realizzare una ’chat’ interamente in Erlang. Questo per verificare l’adattamento di Erlang allo stile di programmazione comet. 1

Laurea liv.I

Facoltà: Scienze Matematiche, Fisiche e Naturali

Autore: Marco Trinci Contatta »

Composta da 119 pagine.

 

Questa tesi ha raggiunto 855 click dal 10/07/2008.

 

Consultata integralmente una volta.

Disponibile in PDF, la consultazione è esclusivamente in formato digitale.