Roy Fielding: El arquitecto de la web moderna
En algún momento entre 1994 y 2000, un estudiante de posgrado en Irvine, California, hizo dos cosas que casi nunca ocurren juntas. Ayudó a construir el software que ejecutaba la mayoría de los servidores web del mundo y escribió la teoría que explicaba por qué la web funcionaba en absoluto. Lo primero lo convirtió en uno de los fundadores de la Apache Software Foundation. Lo segundo fue una tesis doctoral cuyo quinto capítulo nombró un estilo arquitectónico llamado REST: cuatro letras que ahora aparecen en más descripciones de puestos de trabajo que cualquier otra idea que haya salido de un departamento de informática en los últimos treinta años, y que casi nadie que las escribe ha leído.
Laguna Beach
Roy Thomas Fielding nació en septiembre de 1965 en Laguna Beach, California. Se ha descrito a sí mismo, en una formulación que se ajusta a un hombre que pasó su carrera dedicada a la interoperabilidad, como "parte maorí, kiwi, yanqui, irlandés, escocés, británico y vago de playa de California". Académicamente nunca salió de casa: sus tres títulos en informática y ciencias de la información provienen de la Universidad de California, Irvine: una licenciatura en 1988, una maestría en 1993 y el doctorado en 2000.
Vale la pena detenerse en ese período de doce años. La mayor parte de lo que hizo importante a Fielding ocurrió durante ese tiempo, en paralelo con sus cursos y no después de ellos. No fue un académico que luego se unió a la industria, ni un ingeniero que luego acumuló credenciales. Hacía ambas cosas a la vez, sobre el mismo objeto, durante los años exactos en que se estaba inventando el objeto.
El servidor que se comió a Internet
Fielding fue cofundador del proyecto Apache HTTP Server, el servidor web de código abierto que se convirtió en la infraestructura predeterminada de la Internet comercial temprana. Luego realizó el trabajo institucional poco glamuroso que la mayoría de los fundadores técnicos evitan: se desempeñó como vicepresidente del proyecto HTTP Server, como director de la Apache Software Foundation de 1999 a 2003, y como su presidente durante sus primeros tres años, de 1999 a 2002, permaneciendo en la junta hasta mayo de 2014. El modelo de fundación que ayudó a establecer —una estructura legal y de gobernanza que permite a las empresas competidoras contribuir a un código compartido sin que ninguna de ellas sea propietaria— ha sido copiado desde entonces en toda la industria.
El reconocimiento llegó rápidamente. El servidor HTTP Apache ganó el premio ACM Software System en 1999. Ese mismo año, MIT Technology Review lo incluyó en su lista TR100 de los mejores innovadores menores de treinta y cinco años, y en 2000 O'Reilly le otorgó su premio Open Source Appaloosa a la visión.
Veinte preguntas, ocho minutos de reloj y un percentil medido frente a todos los que la han hecho. Sin registro.
Hacer la prueba de CI →Escribiendo el protocolo
La contribución más profunda estuvo en las especificaciones. Fielding fue el autor principal de la especificación HTTP, y su nombre aparece en los documentos que definen cómo se comunica esencialmente cada aplicación en red. Escribió o coescribió el RFC 1808 sobre URL relativas, el RFC 1945 sobre HTTP/1.0, el RFC 2068 y luego el RFC 2616 sobre HTTP/1.1, y el RFC 2396 y el RFC 3986 sobre la sintaxis genérica de los identificadores de recursos uniformes. También participó activamente en el desarrollo de HTML.
El RFC 2616 en particular rigió la web durante más de una década, y el RFC 3986 sigue siendo el documento que responde a la pregunta de qué es realmente una URL. Escribir una especificación de este tipo es una disciplina extraña: no es tanto una invención como una legislación, que describe algo que ya existe en el mundo con la suficiente precisión para que mil implementaciones independientes estén de acuerdo entre sí. Fielding lo hizo para el protocolo más utilizado jamás implementado.
REST
La tesis de 2000, Architectural Styles and the Design of Network-based Software Architectures, es el relato teórico de todo esto. Su argumento corre en sentido contrario a la dirección habitual del diseño de software. En lugar de proponer un sistema, Fielding propuso un vocabulario de estilos arquitectónicos —conjuntos de restricciones— y preguntó qué conjunto de restricciones produce las propiedades que necesita una red global, descentralizada y evolutiva. La respuesta que derivó y nombró fue Representational State Transfer: un estilo cliente-servidor, sin estado, almacenable en caché, con interfaz uniforme y en capas, en el que las piezas son recursos y los clientes se mueven a través de la aplicación siguiendo el hipermedia que les proporciona el servidor. En 2000 acuñó el término HATEOAS —Hypermedia As The Engine Of Application State— para esa última restricción.
La tesis fue, en efecto, una explicación retroactiva de por qué la web había sobrevivido a su propio crecimiento explosivo cuando sistemas distribuidos mejor diseñados no lo habían hecho. Se convirtió en el documento arquitectónico más citado de la industria.
Waka
También intentó ir más allá. Entre 2001 y 2006, Fielding trabajó en Waka, un reemplazo binario basado en tokens para HTTP destinado a igualar el estilo REST de manera más eficiente que el protocolo de texto que él mismo había especificado. Nunca se terminó ni se implementó. La web siguió funcionando con HTTP.
Por qué a Roy se le llama genio
La facultad específica aquí es la abstracción arquitectónica: la capacidad de observar un sistema funcional, desordenado y accidental históricamente, y extraer de él el pequeño conjunto de restricciones que realmente explican sus propiedades. Fielding descubrió por qué funciona la web: por qué la ausencia de estado compra escalabilidad, por qué una interfaz uniforme compra evolución independiente, por qué el almacenamiento en caché y la estratificación permiten que los intermediarios sean insertados por partes que los diseñadores originales nunca conocieron. Habiendo derivado eso, luego lo usó como disciplina de diseño, dirigiendo HTTP/1.1 y los estándares de URI para que el crecimiento de la web no destruyera las propiedades que su análisis indicaba que eran estructurales. Hacer la teoría, la redacción de estándares y la implementación de referencia simultáneamente, en una infraestructura utilizada por millones de personas mientras trabajaba, es la parte verdaderamente inusual.
El contraargumento es justo. Su reputación se basa sustancialmente en una idea y los documentos que la codifican. Su premio principal, el premio ACM Software System de 1999, fue para el servidor Apache —un producto colaborativo— y ninguna fuente consultada aquí registra a ninguna autoridad llamándolo genio. Su intento de avanzar más allá de su propio protocolo, Waka, duró cinco años y no llegó a ninguna parte. Y el destino de REST es su propio tipo de acusación de falta de claridad: una idea cuyo nombre se aplica ahora indiscriminadamente a cualquier interfaz que devuelva JSON sobre HTTP, la mayoría de ellos ignorando la restricción de hipermedia que él consideraba esencial. Eso es influencia, pero no es lo mismo que ser comprendido.
Legado
Fielding se movió por la industria sin abandonar nunca el tema: científico jefe en eBuilt de 1999 a 2002, científico jefe en Day Software y luego en Adobe de 2010 a 2010, y científico principal sénior en Adobe en San José desde entonces. Enumera sus intereses de investigación con claridad: la World Wide Web, la arquitectura de software para aplicaciones basadas en red, los protocolos de red de capa de aplicación, los métodos de desarrollo de software colaborativo y los entornos globales de ingeniería de software, y ha pasado treinta años dedicándose exactamente a eso.
La medida de su trabajo es que es invisible. Cada solicitud web obedece a las reglas que él escribió; cada URL es legal porque un documento con su nombre define lo que significa legal; cada ingeniero que dice "API REST" está invocando, por lo general de forma imprecisa, un capítulo de una tesis de Irvine. La infraestructura es la única forma de autoría que tiene éxito al ser olvidada, y Fielding ha sido olvidado más completamente que la mayoría.

