Roy Fielding

Roy Fielding: L'architetto del Web moderno

Tra il 1994 e il 2000, uno studente laureato a Irvine, in California, ha fatto due cose che quasi mai accadono insieme. Ha contribuito a costruire il software che faceva funzionare la maggior parte dei server web del mondo e ha scritto la teoria che spiegava perché il Web funzionasse affatto. La prima cosa ha fatto di lui uno dei fondatori dell'Apache Software Foundation. La seconda è stata una tesi di dottorato il cui quinto capitolo ha nominato uno stile architettonico chiamato REST: quattro lettere che ora compaiono in più descrizioni di lavoro di qualsiasi altra idea emersa da un dipartimento di informatica negli ultimi trent'anni, e che quasi nessuno che le scrive ha letto.

Laguna Beach

Roy Thomas Fielding è nato nel settembre 1965 a Laguna Beach, in California. Si è descritto, in una formulazione che si adatta a un uomo che ha trascorso la sua carriera sull'interoperabilità, come "parte maori, kiwi, yankee, irlandese, scozzese, britannico e vagabondo da spiaggia californiano". Non ha mai lasciato la sua casa sul piano accademico: tutti e tre i suoi titoli in informatica e scienze dell'informazione provengono dall'Università della California, Irvine — una laurea nel 1988, un master nel 1993 e il dottorato nel 2000.

Quel periodo di dodici anni merita una pausa. La maggior parte di ciò che ha reso importante Fielding è accaduto durante questo periodo, parallelamente ai suoi corsi piuttosto che dopo di essi. Non era uno studioso che in seguito si è unito all'industria, né un ingegnere che in seguito ha collezionato credenziali. Faceva entrambe le cose contemporaneamente, sullo stesso oggetto, durante gli anni esatti in cui l'oggetto veniva inventato.

Il server che ha mangiato Internet

Fielding è stato cofondatore del progetto Apache HTTP Server, il server web open source che è diventato l'infrastruttura predefinita del primo Internet commerciale. Ha poi svolto il lavoro istituzionale poco glamour che la maggior parte dei fondatori tecnici evita: è stato vicepresidente del progetto HTTP Server, direttore dell'Apache Software Foundation dal 1999 al 2003 e presidente per i suoi primi tre anni, dal 1999 al 2002, rimanendo nel consiglio di amministrazione fino a maggio 2014. Il modello di fondazione che ha contribuito a stabilire — un guscio legale e di governance che consente alle aziende concorrenti di contribuire al codice condiviso senza che nessuna di esse lo possieda — è stato da allora copiato in tutto il settore.

Il riconoscimento è arrivato rapidamente. L'Apache HTTP Server ha vinto l'ACM Software System Award nel 1999. Nello stesso anno, la MIT Technology Review lo ha inserito nella sua lista TR100 dei migliori innovatori sotto i trentacinque anni e nel 2000 O'Reilly gli ha conferito il premio Open Source Appaloosa per la visione.

IL TEST GRATUITO
Quanto fa il tuo?

Venti domande, otto minuti di orologio e un percentile misurato su tutti quelli che l’hanno fatto. Senza registrazione.

Fai il test del QI →

Scrivere il protocollo

Il contributo più profondo è stato nelle specifiche. Fielding è stato l'autore principale della specifica HTTP e il suo nome figura sui documenti che definiscono come comunica essenzialmente ogni applicazione in rete. Ha scritto o co-scritto la RFC 1808 sulle URL relative, la RFC 1945 su HTTP/1.0, la RFC 2068 e poi la RFC 2616 su HTTP/1.1, e la RFC 2396 e la RFC 3986 sulla sintassi generica degli identificatori di risorse uniformi. È stato anche fortemente coinvolto nello sviluppo dell'HTML.

La RFC 2616 in particolare ha governato il Web per oltre un decennio e la RFC 3986 rimane il documento che risponde alla domanda su cosa sia effettivamente una URL. Scrivere una specifica di questo tipo è una disciplina strana: non è tanto un'invenzione quanto una legislazione, che descrive qualcosa di già esistente nel mondo con sufficiente precisione da far sì che mille implementazioni indipendenti siano d'accordo tra loro. Fielding lo ha fatto per il protocollo più utilizzato mai implementato.

REST

La tesi del 2000, Architectural Styles and the Design of Network-based Software Architectures, è il resoconto teorico di tutto questo. La sua argomentazione procede nella direzione opposta alla solita direzione della progettazione software. Piuttosto che proporre un sistema, Fielding ha proposto un vocabolario di stili architettonici — insiemi di vincoli — e ha chiesto quale insieme di vincoli produce le proprietà di cui una rete globale, decentralizzata ed evolvibile ha bisogno. La risposta che ha derivato e nominato è stata Representational State Transfer: uno stile client-server, senza stato, memorizzabile nella cache, a interfaccia uniforme, a strati, in cui i pezzi sono risorse e i client si muovono attraverso l'applicazione seguendo l'ipermedia che il server fornisce loro. Nel 2000 ha coniato il termine HATEOAS — Hypermedia As The Engine Of Application State — per quell'ultimo vincolo.

La tesi è stata, in effetti, una spiegazione retroattiva del motivo per cui il Web era sopravvissuto alla sua stessa crescita esplosiva quando sistemi distribuiti meglio progettati non lo avevano fatto. È diventato il documento architettonico più citato nel settore.

Waka

Ha anche cercato di andare oltre. Tra il 2001 e il 2006 Fielding ha lavorato su Waka, un sostituto binario basato su token per HTTP destinato a corrispondere allo stile REST in modo più efficiente rispetto al protocollo di testo che lui stesso aveva specificato. Non è mai stato completato né implementato. Il Web ha continuato a funzionare su HTTP.

Perché Roy viene chiamato genio

La facoltà specifica qui è l'astrazione architettonica: la capacità di guardare un sistema funzionante, disordinato e storicamente accidentale ed estrarre da esso il piccolo insieme di vincoli che spiegano effettivamente le sue proprietà. Fielding ha capito perché il Web funziona — perché l'assenza di stato garantisce scalabilità, perché un'interfaccia uniforme garantisce un'evoluzione indipendente, perché la memorizzazione nella cache e la stratificazione consentono agli intermediari di essere inseriti da parti che i progettisti originali non hanno mai incontrato. Avendo derivato ciò, lo ha quindi utilizzato come disciplina di progettazione, guidando HTTP/1.1 e gli standard URI in modo che la crescita del Web non distruggesse le proprietà che la sua analisi considerava portanti. Fare la teoria, la scrittura degli standard e l'implementazione di riferimento simultaneamente, su un'infrastruttura utilizzata da milioni di persone mentre lavorava, è la parte genuinamente insolita.

Il controargomento è giusto. La sua reputazione poggia sostanzialmente su un'idea e sui documenti che la codificano. Il suo premio principale, l'ACM Software System Award del 1999, è andato al server Apache — un prodotto collaborativo — e nessuna fonte consultata qui registra alcuna autorità che lo definisca un genio. Il suo tentativo di andare oltre il proprio protocollo, Waka, è durato cinque anni e non ha portato da nessuna parte. E il destino di REST è un suo tipo di accusa alla chiarezza: un'idea il cui nome viene ora applicato indiscriminatamente a qualsiasi interfaccia che restituisca JSON su HTTP, la maggior parte delle quali ignora il vincolo ipermediale che lui considerava essenziale. Questa è influenza, ma non è la stessa cosa che essere compresi.

Eredità

Fielding si è mosso nel settore senza mai lasciare l'argomento: scienziato capo presso eBuilt dal 1999 al 2002, scienziato capo presso Day Software e poi Adobe dal 2002 al 2010, e scienziato principale senior presso Adobe a San Jose da allora. Elenca chiaramente i suoi interessi di ricerca — il World Wide Web, l'architettura del software per applicazioni basate su rete, i protocolli di rete a livello applicativo, i metodi di sviluppo software collaborativo e gli ambienti di ingegneria del software globale — e ha trascorso trent'anni esattamente su questi.

La misura del suo lavoro è che è invisibile. Ogni richiesta web obbedisce a regole che ha scritto; ogni URL è legale perché un documento con il suo nome definisce cosa significa legale; ogni ingegnere che dice "API REST" sta invocando, solitamente in modo impreciso, un capitolo di una tesi di Irvine. L'infrastruttura è l'unica forma di paternità che ha successo essendo dimenticata, e Fielding è stato dimenticato più completamente della maggior parte.

Confronta con i grandi

Jean Jacques Rousseau vs Sigmund FreudArchimedes vs Kim Ung YongFr D Ric Chopin vs George Frideric HandelAdam Smith vs Leonardo Da Vinci
Vedi Classifica →Tutti i confronti →

Bambini prodigio

Momiji NishiyaMomiji NishiyaFirst Olympic women's street champion, winning gold at age 13Emily BearEmily BearPlayed the White House at six, won a Grammy at twenty, scored a…Summer McintoshOlympic finalist at 14, world-record holder and triple Olympic…Laurent SimonsGraduated University at 11 — Belgian Prodigy with Electrical…
Bambini prodigio →

Gioca e torna domani

Sfida del genio del giorno · Brain teaser
A farmer has 17 sheep. All but 9 run away. How many are left?
Tocca la tua risposta ↓
Quale genio sei? Test del QI gratuito