Ян использовал как 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]).
Фактически недавний выпуск новой спецификации YANG (1.1) сделал шаг к отделению модели от ее кодирования. В будущем мы, вероятно, увидим отдельные документы кодирования XML и JSON (плюс, возможно, другие) и один документ, имеющий дело только со спецификой языка.
Вы можете использовать YANG для моделирования данных для других более общих целей, если игнорируете такие выражения, как rpc
, action
, notification
, config
и т. д. Те, которые имеют отношение только к конкретным контекстам. Конечно, вам придется определить контекст, в котором вы хотите использовать модель, и что это значит для вас. Некоторые моделисты используют extension
заявление, чтобы определить такие требования, затем реализовать специализированный компилятор YANG, который распознает расширения и действует соответственно - это позволяет вам использовать язык для вещей, которые первоначально не предназначались авторами.
В спецификации есть некоторые определения, которые могут затруднить превращение YANG в язык моделирования общего назначения (например, что такое XML-схема для XML). Понятия как configuration datastore
, configuration data
, state data
, client
, server
и т.д. чертовски специфичны. Вы всегда можете закрыть глаза на них и просто заставить это работать на вас. Я считаю, что именно так это и делается в проекте OpenDaylight.