Roy Fielding: O Arquiteto da Web Moderna
Em algum momento entre 1994 e 2000, um estudante de pós-graduação em Irvine, Califórnia, fez duas coisas que quase nunca acontecem juntas. Ele ajudou a construir o software que operava a maioria dos servidores web do mundo e escreveu a teoria que explicava por que a web funcionava. A primeira tornou-o um dos fundadores da Apache Software Foundation. A segunda foi uma tese de doutorado cujo quinto capítulo nomeou um estilo arquitetural chamado REST — quatro letras que agora aparecem em mais descrições de cargos do que qualquer outra ideia saída de um departamento de ciência da computação nos últimos trinta anos, e que quase ninguém que as digita leu.
Laguna Beach
Roy Thomas Fielding nasceu em setembro de 1965 em Laguna Beach, Califórnia. Ele descreveu-se a si mesmo, numa formulação que se adequa a um homem que passou a carreira dedicada à interoperabilidade, como "parte maori, kiwi, ianque, irlandês, escocês, britânico e vagabundo de praia da Califórnia". Academicamente, nunca saiu de casa: os seus três diplomas em ciência da computação e da informação vieram da Universidade da Califórnia, Irvine — um bacharelado em 1988, um mestrado em 1993 e o doutorado em 2000.
Esse período de doze anos merece uma pausa. A maior parte do que tornou Fielding importante aconteceu durante esse tempo, em paralelo com os seus cursos e não depois deles. Ele não foi um acadêmico que depois entrou na indústria, nem um engenheiro que depois acumulou credenciais. Ele fazia as duas coisas ao mesmo tempo, no mesmo objeto, durante os anos exatos em que o objeto estava sendo inventado.
O Servidor que Comeu a Internet
Fielding foi cofundador do projeto Apache HTTP Server, o servidor web de código aberto que se tornou a infraestrutura padrão da internet comercial inicial. Ele então realizou o trabalho institucional pouco glamoroso que a maioria dos fundadores técnicos evita: serviu como vice-presidente do projeto HTTP Server, como diretor da Apache Software Foundation de 1999 a 2003, e como seu presidente nos primeiros três anos, de 1999 a 2002, permanecendo no conselho até maio de 2014. O modelo de fundação que ajudou a estabelecer — uma estrutura legal e de governança que permite que empresas concorrentes contribuam para um código compartilhado sem que nenhuma delas seja proprietária — foi desde então copiado em toda a indústria.
O reconhecimento chegou rapidamente. O Apache HTTP Server ganhou o prêmio ACM Software System Award em 1999. No mesmo ano, a MIT Technology Review nomeou-o para a sua lista TR100 dos melhores inovadores com menos de trinta e cinco anos, e em 2000 a O'Reilly deu-lhe o seu prêmio Open Source Appaloosa pela sua visão.
Vinte perguntas, oito minutos no relógio e um percentil medido contra todos os que já fizeram. Sem cadastro.
Fazer o teste de QI →Escrevendo o Protocolo
A contribuição mais profunda foi nas especificações. Fielding foi o autor principal da especificação HTTP, e o seu nome está nos documentos que definem como, essencialmente, todas as aplicações em rede ainda se comunicam. Ele foi autor ou coautor da RFC 1808 sobre URLs relativas, da RFC 1945 sobre HTTP/1.0, da RFC 2068 e depois da RFC 2616 sobre HTTP/1.1, e da RFC 2396 e RFC 3986 sobre a sintaxe genérica de Identificadores Uniformes de Recursos. Ele também esteve fortemente envolvido no desenvolvimento do HTML.
A RFC 2616, em particular, governou a web por mais de uma década, e a RFC 3986 continua a ser o documento que responde à questão sobre o que é realmente uma URL. Escrever uma especificação deste tipo é uma disciplina estranha: não é tanto uma invenção, mas uma legislação, descrevendo algo que já existe no mundo com precisão suficiente para que mil implementações independentes concordem umas com as outras. Fielding fez isso para o protocolo mais utilizado já implantado.
REST
A tese de 2000, Architectural Styles and the Design of Network-based Software Architectures, é o relato teórico de tudo isto. O seu argumento corre na direção inversa à habitual do design de software. Em vez de propor um sistema, Fielding propôs um vocabulário de estilos arquiteturais — conjuntos de restrições — e perguntou qual conjunto de restrições produz as propriedades que uma rede global, descentralizada e evolutiva necessita. A resposta que ele derivou e nomeou foi Representational State Transfer: um estilo cliente-servidor, sem estado, armazenável em cache, de interface uniforme e em camadas, no qual as peças são recursos, e os clientes movem-se através da aplicação seguindo o hipermídia que o servidor lhes dá. Em 2000, ele cunhou o termo HATEOAS — Hypermedia As The Engine Of Application State — para essa última restrição.
A tese foi, na verdade, uma explicação retroativa de por que a web sobreviveu ao seu próprio crescimento explosivo quando sistemas distribuídos melhor projetados não sobreviveram. Tornou-se o documento arquitetural mais citado da indústria.
Waka
Ele também tentou ir além. Entre 2001 e 2006, Fielding trabalhou no Waka, um substituto binário baseado em tokens para o HTTP, destinado a corresponder ao estilo REST de forma mais eficiente do que o protocolo de texto que ele mesmo havia especificado. Nunca foi finalizado nem implantado. A web continuou funcionando com HTTP.
Por que Roy é chamado de gênio
A faculdade específica aqui é a abstração arquitetural: a capacidade de olhar para um sistema funcional, desordenado e historicamente acidental, e extrair dele o pequeno conjunto de restrições que realmente explicam as suas propriedades. Fielding descobriu por que a web funciona — por que a ausência de estado compra escalabilidade, por que uma interface uniforme compra evolução independente, por que o cache e as camadas permitem que intermediários sejam inseridos por partes que os projetistas originais nunca conheceram. Tendo derivado isso, ele usou como disciplina de design, orientando o HTTP/1.1 e os padrões de URI para que o crescimento da web não destruísse as propriedades que a sua análise considerava estruturais. Fazer a teoria, a escrita de padrões e a implementação de referência simultaneamente, em uma infraestrutura sendo usada por milhões de pessoas enquanto ele trabalhava, é a parte genuinamente incomum.
O contra-argumento é justo. A sua reputação baseia-se substancialmente numa ideia e nos documentos que a codificam. O seu principal prêmio, o ACM Software System Award de 1999, foi para o servidor Apache — um produto colaborativo — e nenhuma fonte consultada aqui registra qualquer autoridade chamando-o de gênio. A sua tentativa de avançar além do seu próprio protocolo, Waka, durou cinco anos e não deu em nada. E o destino do REST é o seu próprio tipo de acusação de falta de clareza: uma ideia cujo nome é agora aplicado indiscriminadamente a qualquer interface que retorna JSON sobre HTTP, a maioria ignorando a restrição de hipermídia que ele considerava essencial. Isso é influência, mas não é o mesmo que ser compreendido.
Legado
Fielding moveu-se pela indústria sem nunca deixar o assunto: cientista-chefe na eBuilt de 1999 a 2002, cientista-chefe na Day Software e depois na Adobe de 2002 a 2010, e cientista principal sênior na Adobe em San Jose desde então. Ele lista seus interesses de pesquisa claramente — a World Wide Web, arquitetura de software para aplicações baseadas em rede, protocolos de rede de camada de aplicação, métodos de desenvolvimento de software colaborativo e ambientes globais de engenharia de software — e passou trinta anos exatamente nesses tópicos.
A medida do seu trabalho é que ele é invisível. Cada requisição web obedece a regras que ele escreveu; cada URL é legal porque um documento com o seu nome define o que legal significa; cada engenheiro que diz "API REST" está invocando, geralmente de forma imprecisa, um capítulo de uma tese de Irvine. A infraestrutura é a única forma de autoria que tem sucesso ao ser esquecida, e Fielding foi esquecido mais completamente do que a maioria.

