Na konci srpna vyšel dokument RFC 7950, který obsahuje specifikaci jazyka YANG verze 1.1. Tento jazyk slouží k modelování konfiguračních a stavových dat a představuje základ pro bezpečnou vzdálenou správu síťových zařízení všeho druhu. Po skromných začátcích se YANG v posledních dvou letech docela pěkně rozšířil nejen v rámci IETF, ale i v jiných standardizačních institucích (IEEE, BBF) a také v průmyslu. Ukazuje se totiž, že standardní a strojově čitelné datové modely – tedy popis struktury dat, jejich datových typů a sémantických pravidel – jsou zejména pro operátory velkých a heterogenních sítí důležitější než konkrétní protokol, jímž se data přenášejí a editují.
YANG 1.1 má povahu udržovací verze, přesto ale kromě oprav nalezených chyb a vysvětlení některých nejasností přináší několik pozoruhodných novinek:
- V datovém modelu je možné definovat tzv. akce, což jsou RPC operace spojené s určitým uzlem v datovém schématu. Od „běžných“ RPC operací, známých už z YANGu 1.0, se akce liší asi tak jako metody od funkcí v objektově orientovaném programování.
- Podobně je možné s uzly schématu spojovat i asynchronní notifikace.
- Byly zavedeny nové XPath funkce, které rozšiřují možnosti specifikace sémantických podmínek a omezení.
- Velmi zásadně byl změněn způsob popisu konkrétní implementace datového modelu, tedy souboru YANG modulů a jejich verzí, volitelných vlastností a dalších detailů podporovaných daným zařízením. Formát této specifikace se jmenuje YANG library a je popsán v samostatném RFC 7895.
Společně s RFC 7950 byla vydána i dvě další rozšíření YANGu, která jsem měl na starost já – jsou obsažena v RFC 7951 a 7952.
První z nich definuje JSON serializaci dat modelovaných v YANGu. Ta je tedy nyní standardní alternativou XML, což byl původně jediný serializační formát. YANG a s ním spojené technologie vznikaly před deseti a více lety, kdy bylo XML na vrcholu popularity, dnes je ale jasným favoritem pro zápis a přenos strukturovaných dat právě JSON. Nejenom, že je podstatně kompaktnější, ale daleko lépe se s ním také pracuje v softwaru. Řada nástrojů a projektů založených na YANGu podporovala JSON serializaci ještě před publikací RFC 7951 – k nejvýznamnějším patří YumaPro a OpenDaylight.
V nejbližší době by měl být pro YANG k dispozici i binární serializační formát – CBOR. YANG se tak vlastně stává schémovým jazykem pro hierarchická data bez ohledu na způsob jejich serializace, což je myslím docela zajímavé.
RFC 7952 pak rozšiřuje YANG o možnost definování anotací, které dovolují k běžným datům připojovat i metadata či jiné informace. Příkladem takové anotace je třeba atribut, kterým se deaktivuje podstrom v konfiguraci bez toho, že by byl z konfiguračního úložiště odstraněn.