로이 필딩

로이 필딩: 현대 웹의 설계자

1994년과 2000년 사이의 어느 시점, 캘리포니아주 어바인(Irvine)의 한 대학원생이 거의 동시에 일어나기 힘든 두 가지 일을 해냈습니다. 그는 전 세계 웹 서버 대부분을 구동하는 소프트웨어를 만드는 데 기여했고, 웹이 왜 작동하는지를 설명하는 이론을 집필했습니다. 첫 번째 일은 그를 아파치 소프트웨어 재단(Apache Software Foundation)의 설립자 중 한 명으로 만들었습니다. 두 번째 일은 그의 박사 학위 논문이었는데, 이 논문의 5장은 REST라는 아키텍처 스타일을 명명했습니다. 이 네 글자는 지난 30년간 컴퓨터 과학 분야에서 나온 그 어떤 아이디어보다도 많은 직무 기술서에 등장하지만, 이를 입력하는 사람들 중 정작 그 논문을 읽어본 사람은 거의 없습니다.

라구나 비치

로이 토머스 필딩(Roy Thomas Fielding)은 1965년 9월 캘리포니아주 라구나 비치에서 태어났습니다. 그는 상호 운용성을 위해 커리어를 바친 인물답게 자신을 "마오리, 키위(뉴질랜드인), 미국인, 아일랜드인, 스코틀랜드인, 영국인, 그리고 캘리포니아 해변의 방랑자"가 섞인 사람이라고 묘사했습니다. 그는 학업적으로 한 번도 고향을 떠난 적이 없는데, 정보 및 컴퓨터 과학 분야의 학위 3개를 모두 캘리포니아 대학교 어바인(University of California, Irvine)에서 취득했습니다. 1988년 학사, 1993년 석사, 2000년 박사 학위가 그것입니다.

12년에 걸친 이 기간은 잠시 짚고 넘어갈 만합니다. 필딩을 중요한 인물로 만든 업적 대부분은 이 기간 동안, 학업 이후가 아닌 학업과 병행하며 이루어졌습니다. 그는 나중에 산업계로 진출한 학자도 아니었고, 나중에 학위를 취득한 엔지니어도 아니었습니다. 그는 그 대상이 발명되던 바로 그 시기에, 똑같은 대상에 대해 두 가지 일을 동시에 수행하고 있었습니다.

인터넷을 집어삼킨 서버

필딩은 초기 상업용 인터넷의 기본 인프라가 된 오픈 소스 웹 서버인 아파치 HTTP 서버(Apache HTTP Server) 프로젝트를 공동 창립했습니다. 그는 이어 대다수 기술 창업자들이 피하는, 돋보이지 않는 조직적 업무를 수행했습니다. 그는 HTTP 서버 프로젝트의 부사장, 1999년부터 2003년까지 아파치 소프트웨어 재단의 이사, 그리고 1999년부터 2002년까지 재단 설립 후 첫 3년간 의장을 맡았으며 2014년 5월까지 이사회에 남아 있었습니다. 그가 설립을 도운 재단 모델, 즉 경쟁 기업들이 코드의 소유권을 가지지 않은 채 공유 코드에 기여할 수 있도록 하는 법적·지배적 틀은 이후 업계 전반에 모방되었습니다.

인정은 빠르게 찾아왔습니다. 아파치 HTTP 서버는 1999년 ACM 소프트웨어 시스템 상을 수상했습니다. 같은 해 MIT 테크놀로지 리뷰는 그를 35세 미만 혁신가 100인(TR100) 명단에 올렸고, 2000년 오라일리(O'Reilly)는 그에게 오픈 소스 아팔루사 비전 상을 수여했습니다.

무료 테스트
당신은 얼마일까요?

스무 문제, 8분 제한 시간, 그리고 응시자 전체와 비교한 백분위. 가입 없음.

IQ 테스트 하기 →

프로토콜 집필

더 깊은 기여는 사양(specification) 분야에 있었습니다. 필딩은 HTTP 사양의 주 저자였으며, 오늘날 사실상 모든 네트워크 애플리케이션이 통신하는 방식을 정의하는 문서에 그의 이름이 올라 있습니다. 그는 상대 경로 URL에 관한 RFC 1808, HTTP/1.0에 관한 RFC 1945, HTTP/1.1에 관한 RFC 2068 및 RFC 2616, 그리고 URI(Uniform Resource Identifier)의 일반 구문에 관한 RFC 2396 및 RFC 3986을 집필하거나 공동 집필했습니다. 그는 또한 HTML 개발에도 깊이 관여했습니다.

특히 RFC 2616은 10년이 넘는 기간 동안 웹을 통치했으며, RFC 3986은 여전히 URL이 무엇인지에 대한 질문에 답하는 문서로 남아 있습니다. 이런 종류의 사양을 작성하는 것은 기묘한 학문입니다. 그것은 발명이라기보다는 입법에 가까우며, 이미 세상에 존재하는 무언가를 천 개의 독립적인 구현체가 서로 동의할 수 있을 만큼 정밀하게 설명하는 일입니다. 필딩은 역사상 가장 많이 사용되는 프로토콜을 대상으로 이 일을 해냈습니다.

REST

2000년 박사 학위 논문인 네트워크 기반 소프트웨어 아키텍처의 아키텍처 스타일과 설계(Architectural Styles and the Design of Network-based Software Architectures)는 이 모든 것에 대한 이론적 설명입니다. 그 논지의 방향은 일반적인 소프트웨어 설계와는 정반대입니다. 필딩은 시스템을 제안하는 대신 아키텍처 스타일, 즉 일련의 제약 조건들에 대한 어휘를 제안했고, 전 세계적이고 분산적이며 진화 가능한 네트워크가 필요로 하는 속성을 만들어내는 제약 조건이 무엇인지 질문했습니다. 그가 도출하고 명명한 답은 '표현 상태 전이'(Representational State Transfer, REST)였습니다. 이는 클라이언트-서버 구조, 무상태성, 캐시 가능성, 일관된 인터페이스, 계층적 스타일로, 구성 요소는 자원이 되고 클라이언트는 서버가 제공하는 하이퍼미디어를 따라 애플리케이션을 이동합니다. 2000년 그는 마지막 제약 조건에 대해 HATEOAS(애플리케이션 상태 엔진으로서의 하이퍼미디어)라는 용어를 만들었습니다.

이 논문은 사실 더 잘 설계된 분산 시스템들이 실패했을 때 웹이 왜 폭발적인 성장을 견뎌냈는지에 대한 사후적 설명이었습니다. 이는 업계에서 가장 많이 인용되는 아키텍처 문서가 되었습니다.

와카 (Waka)

그는 그 너머로 나아가려고 시도하기도 했습니다. 2001년에서 2006년 사이 필딩은 와카(Waka)라는 작업을 진행했는데, 이는 그가 직접 명시했던 텍스트 프로토콜보다 REST 스타일을 더 효율적으로 구현하기 위해 고안된 바이너리 기반 토큰 형태의 HTTP 대체제였습니다. 이 프로젝트는 완성되지 못했고 배포되지도 않았습니다. 웹은 계속 HTTP 위에서 실행되었습니다.

로이가 천재라 불리는 이유

여기서의 특정 능력은 아키텍처 추상화입니다. 즉, 작동 중인 복잡하고 역사적으로 우연한 시스템을 들여다보고 그 속성을 실제로 설명하는 작은 제약 조건 집합을 추출해 내는 능력입니다. 필딩은 웹이 왜 작동하는지, 즉 왜 무상태성이 확장성을 가져오고, 왜 일관된 인터페이스가 독립적인 진화를 가능하게 하며, 왜 캐싱과 계층화가 원래 설계자가 만난 적 없는 제3자에 의해 중개자가 삽입될 수 있게 하는지를 파악했습니다. 이를 도출한 후, 그는 이를 설계 원칙으로 사용하여 웹의 성장이 그의 분석에서 하중 지지 속성이라고 명시했던 것들을 파괴하지 않도록 HTTP/1.1과 URI 표준을 조율했습니다. 그가 작업하는 동안 수백만 명의 사람이 사용하고 있는 인프라 위에서 이론 정립, 표준 집필, 참조 구현을 동시에 수행한 것이야말로 진정으로 드문 부분입니다.

반론 또한 타당합니다. 그의 명성은 사실 하나의 아이디어와 그것을 인코딩한 문서들에 상당히 의존합니다. 그의 주요 상인 1999년 ACM 소프트웨어 시스템 상은 협업 산물인 아파치 서버에 수여되었으며, 본 문서에서 참조한 출처 중 그를 천재라고 칭하는 권위 있는 기록은 없습니다. 그가 자신의 프로토콜을 넘어서고자 시도했던 와카(Waka) 프로젝트는 5년간 진행되었으나 성과 없이 끝났습니다. 또한 REST의 운명은 명확성에 대한 일종의 기소와도 같습니다. 그 이름이 이제는 하이퍼미디어 제약 조건을 무시하면서 HTTP 위에서 JSON을 반환하는 모든 인터페이스에 무분별하게 적용되고 있기 때문입니다. 그것은 영향력이지만, 이해받는 것과는 다릅니다.

유산

필딩은 그 주제를 결코 떠나지 않고 산업계에서 활동했습니다. 1999년부터 2002년까지 이빌트(eBuilt)의 수석 과학자, 2002년부터 2010년까지 데이 소프트웨어(Day Software)와 어도비(Adobe)의 수석 과학자를 지냈으며, 이후 산호세 어도비에서 수석 연구원으로 재직 중입니다. 그는 자신의 연구 분야를 월드 와이드 웹, 네트워크 기반 애플리케이션을 위한 소프트웨어 아키텍처, 애플리케이션 계층 네트워크 프로토콜, 협업 소프트웨어 개발 방법론, 글로벌 소프트웨어 엔지니어링 환경으로 명확히 나열하며 30년간 정확히 그 분야에만 매진해 왔습니다.

그의 업적을 측정하는 척도는 그것이 눈에 보이지 않는다는 점입니다. 모든 웹 요청은 그가 적어 놓은 규칙을 따르고, 모든 URL은 그의 이름이 적힌 문서가 무엇이 합법인지를 정의하기 때문에 유효하며, "REST API"라고 말하는 모든 엔지니어는 대개 부정확하게나마 어바인에서 나온 논문의 한 장을 인용하고 있는 것입니다. 인프라는 잊혀짐으로써 성공하는 유일한 저작 형태이며, 필딩은 그 누구보다 철저하게 잊혀 왔습니다.

위인과 비교

Jean Jacques Rousseau vs Sigmund FreudArchimedes vs Kim Ung YongFr D Ric Chopin vs George Frideric HandelAdam Smith vs Leonardo Da Vinci
순위 보기 →모든 비교 →

신동

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…
신동 →

플레이하고 내일 또 오세요

매일 천재 챌린지 · Brain teaser
A farmer has 17 sheep. All but 9 run away. How many are left?
답을 탭하세요 ↓
나는 어떤 천재일까? 무료 IQ 테스트