PHPカンファレンス2019 開催

PHPカンファレンス2019参加レポート[後編]

この記事を読むのに必要な時間:およそ 4 分

12月1日,東京都大田区産業プラザPiOにてPHPカンファレンス2019が開催されました。本稿ではその模様をお届けしています。最終回の今回は,郡山さんのRESTに関するセッション,サイボウズとSkillCampのセッション,ライトニングトークをレポートします。

郡山昭仁さん「REST 6+4の制約」

フレームワーク「BEAR.Sunday」の開発者であり,フリーランスエンジニアの郡山昭仁さんはRESTの制約について話しました発表資料⁠。

郡山さん(撮影:Yuya Oka)

画像

RESTやHTTPを誰も意識していない

マーシャル・マクルーハンの「誰が水を発見したのかは知らないが,それが魚でないことだけは確かだ」という言葉とSteve Klabnikやロイ・フィールディングのブログを引用して,我々が普段利用している技術について意識していないことについて説明しました。

そもそもRESTというものはロイ・フィールディングが2000年に発表した論文が元になっており,その論文に定義されていることがすべてです。50年以上の歴史があって様々な文脈で語られるオブジェクト指向プログラミングやMVCの定義を一言で言い表すのが難しいものではないとします。

なぜWebが成功したか

Webの成功要因として,次の4つのアーキテクチャ特性を挙げました。

低い参入障壁
  • 利用も作成も簡単
  • マニュアルもコマンドの暗記も不要
  • テキストエディタで作成できる
拡張性
  • クライアントの動作に悪影響を与えることなくWebサイトを変更できる
  • 時間と共に変化するユーザーの要件に対応し,長寿命なシステムを意図する
分散ハイパーメディア
  • データとともに次にできる操作をサーバーが伝え,データと同じように扱う
  • クライアントの動作を壊さずサーバーの動作を変更でき,サーバーとクライアントが疎結合である
インターネット規模
  • 無秩序なスケーラビリティを実現する
  • 異なる部分がそれぞれ独立して配備できる

RESTの制約を通じてRESTの本質を理解する

RESTを理解する上で重要な4つのインターフェース制約と6つのアーキテクチャ制約,そしてその制約の前に立つNull制約やアプリケーション状態,リソース状態について説明しました。こうした制約を理解した上でいかにしてシステムを設計するかについても話は及びます。構築しようとしているシステムに必要な特性を洗い出し,必要な制約を選択していくことが重要であると強調します。

また,REST APIを設計する際にApplication state diagramを活用できることも示しました。そしてAPIで使われる言葉の意味,分類,関係を人間だけでなくマシンも理解できるようにするツールとしてALPSを紹介しました。

最後に,郡山さんは「新しいものに飛びつくのではなく,今ある技術を深く理解して積み重ねていくのが重要であり,技術の背後に何があるか,どういう人々がどういう意図で作っているかを理解することが必要である」と発表を結びました。

著者プロフィール

花井宏行(はないひろゆき)

スタディプラス株式会社所属。日本Symfonyユーザー会メンバー。PHPカンファレンスには2015年から参加。

Twitter:hanahiro_aze


中村慎吾(なかむらしんご)

仕事でPHPを使うようになって10数年。楽しいと思ったことには何でもやってみている。趣味が講じて(拗らせて?)会社も作りました。最近はAEMなどのニッチな方面ばかりやっていました。そろそろPHPが恋しい。

Twitter:@n416
URLhttp://kisaragi-system.co.jp


川原英明(かわはらひであき)

放浪のITエンジニアとして人生は常に勉強だ!ということでPHPもやり続けていたが,Perlも含めて最近あまり使っていない。最近はPythonやRubyをやっている。2020年からは新しい職場で頑張っていく。

Twitter:@sapi_kawahara