0

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

Спасибо вам

+0

Добро пожаловать в переполнение стека! Сначала вы можете взять тур (http://stackoverflow.com/tour) и узнать [Как задать хороший вопрос] (http://stackoverflow.com/help/how-to-ask) и создать [ Minimal, Complete и Verifiable] (http://stackoverflow.com/help/mcve). Это облегчает нам помощь. –

ответ

0

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

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

RFC7950, Section 1

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

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

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

+0

спасибо, но у меня все еще есть некоторые недоумения, янь используется только для определения схемы данных, которая будет создана на другом языке, таком как XML, JSON. или может ли он сделать оба (определить схему и создать экземпляр или записать фактические данные в соответствие с этой схемой)? – Mheni

+0

@ M'heniMerzouki, YANG - это язык определения схемы. В нем описываются правила, в соответствии с которыми должны выполняться документы экземпляра (хранилища данных, служебные данные), чтобы последний был признан действительным. Его можно использовать для проверки документа экземпляра напрямую, если у вас есть необходимые инструменты для этого. Документы экземпляра кодируются как XML или JSON, поэтому YANG может использоваться для проверки действительности XML или JSON напрямую (нет необходимости создавать промежуточную схему, хотя некоторые инструменты делают это только для того, чтобы использовать существующие технологии). – predi

+1

К этой дате YANG проверяет [XML] (https://tools.ietf.org/html/rfc7950#section-1) и [JSON] (https://tools.ietf.org/html/rfc7951#section -1). –

 Смежные вопросы

  • Нет связанных вопросов^_^