正月などは別にドーデモイイと思いつつも、明けましておめでとうございます。
「ハイパースキーマについて再び考えよう、っと」という次第で、年末年始も、ナントハナシにJSONハイパースキーマについて考えていました。ハイパースキーマが必要なのは、Webサービスの状態遷移をちゃんと記述するためです。目標から逆順に、必要なビルディングブロックをたどってみると:
- Webサービスの(クライアント側)状態遷移を記述するには、ハイパースキーマが必要である。
- ハイパースキーマにはトリガー型とトリガー定義が必要である。
- トリガー型の定義には、型コレクションが必要である。
- トリガー定義には、パートとセレクター式が必要である。
- パートの定義にはパス式が必要である。
型コレクションは、名前が仰々しいのですが、たいした概念ではありません。
パス式(path expression)はセレクター式(selector expression)のサブセットになるので、まずはセレクター式を定義しなくてはならないことが分かりました。セレクター式が定義できたら、次にパートという概念を定義して、それでトリガー定義の“定義”が出来るはずです。
ハイパースキーマを定義して、そしてWebサービスの状態遷移が記述できるまでの道のりは、遠いんだか近いんだか? ともかく、セレクター式とパートをさっさと定義するべ、お正月のあいだに(って、いつまで?)。