ITアーキテクトはサブシステム分割とその連携についても責任を持つ。ICTシステムは内外で多くのデータをやり取りしており、今回はデータ交換の新潮流に注目する。取り上げるのは「YAML(ヤムル)」である。

 YAMLは「YAML Ain't Markup Language(YAMLはマークアップ言語ではない)」の略で、再帰的な名前付けをしている。構造化されたデータを表現するためのフォーマットとしてよく使われるXMLよりも「読みやすい」「書きやすい」「わかりやすい」ことが特徴だ。すでにRubyの設定パラメータなどで採用されているため、なじみのある読者もいることだろう。またAjaxやREST APIで使われているJSONがデータ交換フォーマットとして広まっているが、このJSONはYAMLの一種とみなせる。

 データ交換フォーマットというとCSVやXMLが頭に浮かぶ読者も多いだろう。CSV入出力は多くのソフトウエアがサポートしており、多くの人が使い慣れている。例えば、ExcelではCSVもXMLもサポートしているものの、XMLを使う人はほとんどいないのではないだろうか。

 というのもXMLは汎用性こそ高いものの、SOAが広まり始めたころにパース性能の低さがネックとなったり、スキーマやWDSLをそろえる準備が手間だったりして、それなりに使いこなしのハードルが高いためだ。YAMLはそれらに煩わされることなく、少しの手間でぐっと豊かにCSVよりもデータ構造を表現できる。これまでCSV一本だった読者もYAMLでのデータ交換にチャレンジしてはいかがだろうか。