ロイ・フィールディング: 現代ウェブの設計者
1994年から2000年のどこかで、カリフォルニア州アーバインの大学院生が、ほとんど同時に起こることのない2つのことを成し遂げた。彼は世界のウェブサーバーの大半を動かしていたソフトウェアの構築を助け、なぜウェブが機能するのかを説明する理論を書いた。前者は彼をApacheソフトウェア財団(Apache Software Foundation)の設立者の1人にした。後者は博士論文であり、その第5章でRESTと呼ばれるアーキテクチャスタイルを命名した。これは、過去30年間に計算機科学部門から生まれた他のどのアイデアよりも多くの求人票に登場する4つの文字であり、それを入力する人のほとんどは読んだことがないものである。
ラグナビーチ
ロイ・トーマス・フィールディング(Roy Thomas Fielding)は1965年9月、カリフォルニア州ラグナビーチで生まれた。彼は自身のキャリアを相互運用性に捧げた人物にふさわしい表現で、自分自身を「マオリ、キウイ、ヤンキー、アイルランド系、スコットランド系、イギリス系、そしてカリフォルニアのビーチの怠け者が入り混じった存在」と述べている。彼は学問の面では故郷を離れることはなかった。情報科学と計算機科学の3つの学位はすべてカリフォルニア大学アーバイン校(University of California, Irvine)で取得した。1988年の学士号、1993年の修士号、そして2000年の博士号である。
この12年間は立ち止まって考える価値がある。フィールディングを重要な存在にしたもののほとんどは、この期間中に、コースワークの後ではなく並行して起こった。彼は後に業界に加わった学者でも、後に資格を集めたエンジニアでもなかった。彼は、そのオブジェクトがまさに発明されていた正確な期間に、そのオブジェクトに対して両方を同時に行っていたのである。
インターネットを飲み込んだサーバー
フィールディングは、初期の商用インターネットのデフォルトのインフラストラクチャとなったオープンソースウェブサーバーであるApache HTTP Serverプロジェクトを共同設立した。その後、ほとんどの技術系創業者が避ける地味な組織運営の仕事を行った。彼はHTTP Serverプロジェクトの副会長を務め、1999年から2003年までApacheソフトウェア財団の理事を務め、1999年から2002年までの最初の3年間は会長を務め、2014年5月まで理事会にとどまった。彼が設立に貢献した財団モデル、つまり競合企業が共有コードに寄与できるようにする法律およびガバナンスの枠組みは、それ以来業界全体でコピーされている。
評価はすぐに得られた。Apache HTTP Serverは1999年にACMソフトウェアシステム賞を受賞した。同年、MITテクノロジーレビューは彼を35歳未満のトップイノベーターのTR100リストに挙げ、2000年にはO'Reillyが彼にビジョンに対するオープンソース・アパラルーサ賞を授与した。
プロトコルの記述
より深い貢献は仕様にあった。フィールディングはHTTP仕様の主要な著者であり、事実上すべてのネットワークアプリケーションが現在どのように通信しているかを定義する文書には彼の名前がある。彼は相対URLに関するRFC 1808、HTTP/1.0に関するRFC 1945、HTTP/1.1に関するRFC 2068およびRFC 2616、そしてUniform Resource Identifierの汎用構文に関するRFC 2396およびRFC 3986の著者または共同著者である。彼はHTMLの開発にも深く関与していた。
特にRFC 2616は10年以上にわたってウェブを支配し、RFC 3986はURLとは実際何かという問いに答える文書として残っている。この種の仕様を書くことは奇妙な学問である。それは発明というよりもむしろ立法であり、1000の独立した実装が互いに同意できるように、すでに世界にあるものを十分に正確に記述することである。フィールディングは、これまで導入された中で最も広く使用されているプロトコルに対してこれを行った。
REST
2000年の博士論文『Architectural Styles and the Design of Network-based Software Architectures』は、これらすべての理論的説明である。その議論は、通常のソフトウェア設計の方向とは逆に進む。システムを提案するのではなく、フィールディングはアーキテクチャスタイル(一連の制約)の語彙を提案し、どのような制約の集合がグローバルで分散化され、進化可能なネットワークが必要とする特性を生み出すかを問いかけた。彼が導き出し、命名した答えは、Representational State Transfer(表現状態転送)であった。これは、クライアントサーバー型、ステートレス、キャッシュ可能、均一インターフェース、階層化されたスタイルであり、構成要素はリソースであり、クライアントはサーバーが提供するハイメディアに従うことでアプリケーション内を移動する。2000年、彼はその最後の制約に対してHATEOAS(Hypermedia As The Engine Of Application State)という用語を造語した。
その論文は、事実上、より優れた設計の分散システムが生き残れなかった中で、なぜウェブが独自の爆発的な成長を生き延びたのかという遡及的な説明であった。それは業界で最も引用されるアーキテクチャ文書となった。
Waka
彼はまた、それを超えようとした。2001年から2006年の間、フィールディングはHTTPのバイナリでトークンベースの代替であるWakaに取り組んだ。これは彼自身が指定したテキストプロトコルよりも効率的にRESTスタイルに適合させることを意図していた。それは決して完成することはなく、導入されることもなかった。ウェブはHTTP上で動き続けた。
ロイが天才と呼ばれる理由
ここでの特定の能力はアーキテクチャの抽象化である。機能的で乱雑で歴史的に偶発的なシステムを見て、その特性を実際に説明する制約の小さなセットを抽出する能力である。フィールディングは、なぜウェブが機能するのか(なぜステートレスがスケーラビリティをもたらすのか、なぜ均一インターフェースが独立した進化をもたらすのか、なぜキャッシュと階層化により元の設計者が会ったことのない当事者によって仲介者を挿入できるのか)を解明した。それを導き出した後、彼はそれを設計規律として使用し、ウェブの成長が彼の分析が耐荷重性があるとした特性を破壊しないようにHTTP/1.1とURI標準を舵取りした。彼が働いている間に何百万人もの人々に使用されているインフラストラクチャ上で、理論と標準化の執筆と参照実装を同時に行うことは、真に珍しい部分である。
反論も公正である。彼の評判は本質的に1つのアイデアとそれを符号化する文書に基づいている。彼の主要な賞である1999年のACMソフトウェアシステム賞は、共同製品であるApacheサーバーに授与されたものであり、ここで相談した情報源には、彼を天才と呼ぶ権威は記録されていない。独自のプロトコルWakaを超えようとする彼の試みは5年間続いたが、どこにも至らなかった。そしてRESTの運命は、明晰さに対する独自の非難のようなものである。その名前が現在、HTTP経由でJSONを返すあらゆるインターフェースに無差別に適用されており、そのほとんどが彼が不可欠だと考えていたハイメディア制約を無視している。それは影響力ではあるが、理解されていることとは同じではない。
レガシー
フィールディングはその主題を決して離れることなく業界を渡り歩いた。1999年から2002年までeBuiltでチーフサイエンティスト、2002年から2010年までDay Software、次いでAdobeでチーフサイエンティスト、そしてそれ以降はサンノゼのAdobeでシニアプリンシパルサイエンティストを務めている。彼は自身の研究関心、つまりワールドワイドウェブ、ネットワークベースのアプリケーションのためのソフトウェアアーキテクチャ、アプリケーション層ネットワークプロトコル、共同ソフトウェア開発手法、およびグローバルソフトウェア工学環境を明確に挙げており、30年間まさにそれらに費やしてきた。
彼の仕事の尺度は、それが不可視であるということである。すべてのウェブ要求は彼が書き留めた規則に従う。すべてのURLは合法である。なぜなら彼が定義した合法性という文書に名前があるからだ。"REST API"と言うすべてのエンジニアは、通常不正確にではあるが、アーバインの論文の一章を呼び出している。インフラストラクチャとは忘れ去られることで成功する唯一の形態の著作権であり、フィールディングは他のほとんどの人物よりも徹底的に忘れ去られている。

