Ян использовал как Xml или Json?

Я просто хочу знать, специфичен ли язык моделирования Ян и может использоваться только с протоколом NetConf, или он может использоваться для моделирования данных, таких как Xml и Json?

Спасибо

1 ответ

Решение

Изначально YANG предназначался для моделирования данных, которыми обмениваются одноранговые узлы в сеансе NETCONF, но это уже не единственный случай. Теперь есть другие протоколы, которые (будут) использовать его, такие как RESTCONF и CoMI.

YANG - это язык моделирования данных, изначально разработанный для моделирования данных конфигурации и состояния, которыми управляют протокол конфигурации сети (NETCONF), удаленные вызовы процедур NETCONF и уведомления NETCONF [RFC6241]. Со времени публикации YANG версии 1 [RFC6020] YANG использовался или предлагался для использования в других протоколах (например, RESTCONF [RESTCONF] и Интерфейс управления протоколом ограниченных приложений (CoAP) (CoMI) [CoMI]). Кроме того, были предложены кодировки, отличные от XML (например, JSON [RFC7951]).

RFC7950, раздел 1

Фактически недавний выпуск новой спецификации YANG (1.1) сделал шаг к отделению модели от ее кодирования. В будущем мы, вероятно, увидим отдельные документы кодирования XML и JSON (плюс, возможно, другие) и один документ, имеющий дело только со спецификой языка.

Вы можете использовать YANG для моделирования данных для других более общих целей, если игнорируете такие выражения, как rpc, action, notification, configи т. д. Те, которые имеют отношение только к конкретным контекстам. Конечно, вам придется определить контекст, в котором вы хотите использовать модель, и что это значит для вас. Некоторые моделисты используют extension заявление, чтобы определить такие требования, затем реализовать специализированный компилятор YANG, который распознает расширения и действует соответственно - это позволяет вам использовать язык для вещей, которые первоначально не предназначались авторами.

В спецификации есть некоторые определения, которые могут затруднить превращение YANG в язык моделирования общего назначения (например, что такое XML-схема для XML). Понятия как configuration datastore, configuration data, state data, client, serverи т.д. чертовски специфичны. Вы всегда можете закрыть глаза на них и просто заставить это работать на вас. Я считаю, что именно так это и делается в проекте OpenDaylight.

Другие вопросы по тегам