Introduzione a Rack

15 giugno 2010

Rack è una gemma Ruby nata cercando di dare una risposta al sentito bisogno di standardizzazione nelle comunicazioni tra i vari middleware che vogliono concorrere alla gestione della richieste e alla produzione delle risposte di una chiamata HTTP.

La strategia che implementa è incredibilmente semplice ed efficace: Rack consente di concatenare in modo sequenziale i vari middleware tra loro.

Ogni richiesta in arrivo dal webserver viene quindi strutturata all’interno di un oggetto specifico e passata al primo anello della catena il quale ha in carico la responsabilità di passarlo a sua volta al secondo anello, e così via.

Prima di ogni passaggio tale oggetto può essere chiaramente arricchito di informazioni prodotte dal middleware. Una volta completato il percorso fino alla fine della catena l’algoritmo inverte direzione e ripercorre tutti gli anelli in senso inverso dando la possibilità ad ognuno di essi di poter incidere a proprio piacimento nella creazione della risposta. Al termine di questo ulteriore passaggio la risposta viene passata al server per poi essere inviata al browser.

La comodità di questo semplice meccanismo è evidente: qualunque libreria che aspira a middleware, se scritta secondo alcune semplici linee guida, può divenire rack-enabled e quindi essere inserita all’interno di queste catene beneficiando della combinazione con gli altri anelli.

Questo articolo vuole offrire sia una panoramica sulla tecnica di creazione di un middleware rack-enabled sia un buono spunto su come creare ed utilizzare una catena di middleware utilizzando Rack; entrambi i temi verranno esposti nel seguito dell’articolo.

Se vuoi aggiornamenti su Introduzione a Rack inserisci la tua e-mail nel box qui sotto:
 
X
Se vuoi aggiornamenti su Introduzione a Rack

inserisci la tua e-mail nel box qui sotto:

Ho letto e acconsento l'informativa sulla privacy

Acconsento al trattamento di cui al punto 3 dell'informativa sulla privacy