Avantages de l’utilisation du protocole de gestion Junos XML et de l’API XML Junos
Le protocole de gestion Junos XML et l’API Junos XML documentent toutes les options pour chaque demande opérationnelle Junos OS prise en charge, toutes les instructions de la hiérarchie de configuration Junos OS et les opérations de base équivalentes aux commandes du mode de configuration. Les noms des balises indiquent clairement la fonction d’un élément dans une demande opérationnelle ou de configuration ou une déclaration de configuration.
La combinaison de noms de balises significatifs et de règles structurelles dans un DTD facilite la compréhension du contenu et de la structure d’un ensemble de données ou d’un document marqué par XML. Les éléments de balise de protocole Junos XML et Junos XML permettent aux applications clientes qui demandent des informations à un équipement d’analyser la sortie et de trouver des informations spécifiques.
Sortie de l’équipement d’analyse
L’exemple suivant illustre comment l’API XML Junos facilite l’analyse de la sortie de l’équipement et l’extraction des informations nécessaires. L’exemple compare les versions ascii et xml de sortie d’un équipement exécutant Junos OS.
Le format ASCII est le suivant :
Physical interface: fxp0, Enabled, Physical link is Up Interface index: 4, SNMP ifIndex: 3
La version xml-taggée correspondante est :
<interface> <name>fxp0</name> <admin-status>enabled</admin-status> <operational-status>up</operational-status> <index>4</index> <snmp-index>3</snmp-index> </interface>
Lorsqu’une application cliente doit extraire une valeur spécifique à partir d’une sortie ASCII formatée, elle doit s’appuyer sur l’emplacement de la valeur, exprimée soit de manière absolue, soit par rapport à des étiquettes ou des valeurs dans des champs adjacents. Supposons que l’application cliente souhaite extraire l’index de l’interface. Il peut utiliser un utilitaire de correspondance d’expression régulière pour localiser des chaînes spécifiques, mais l’une des difficultés est que le nombre de chiffres dans l’index d’interface n’est pas nécessairement prévisible. L’application cliente ne peut pas simplement lire un certain nombre de caractères après le Interface index:
label, mais doit plutôt extraire tout ce qui se trouve entre le label et le label SNMP ifIndex:
suivant et tenir compte de la virgule incluse.
Un problème survient si le format ou l’ordre des sorties de texte change dans une version ultérieure de Junos OS. Par exemple, si un Logical index:
champ est ajouté après le numéro d’index de l’interface, le nouveau format ASCII peut apparaître comme suit :
Physical interface: fxp0, Enabled, Physical link is Up Interface index: 4, Logical index: 12, SNMP ifIndex: 3
Une application qui extrait le numéro d’index d’interface délimité par les Interface index:
étiquettes et SNMP ifIndex:
obtient désormais un résultat incorrect. L’application doit être mise à jour manuellement pour rechercher le Logical index:
label comme nouveau délimiteur.
En revanche, la nature structurée de la sortie marquée par XML permet à une application cliente de récupérer l’index de l’interface en extrayant tout ce qui se trouve dans la balise d’ouverture <index>
et la balise de fermeture </index>
. L’application n’a pas à dépendre de la position d’un élément dans la chaîne de sortie, de sorte que le serveur de protocole XML Junos peut émettre les éléments de balise enfant dans n’importe quel ordre au sein de l’élément <interface>
de balise. L’ajout d’un nouvel <logical-index>
élément de balise dans une version ultérieure n’affecte pas la capacité d’une application à localiser l’élément <index>
de balise et à extraire son contenu.
Affichage de la sortie de l’équipement
La sortie étiquetée XML est également plus facile à transformer en différents formats d’affichage que la sortie ASCII formatée. Par exemple, vous pouvez afficher différentes quantités de détails sur un composant d’équipement donné à différents moments. Lorsqu’un équipement renvoie une sortie ASCII formatée, vous devez écrire des routines et des structures de données spéciales dans votre programme d’affichage pour extraire et afficher les informations appropriées pour un niveau de détail donné. En revanche, la structure inhérente à la sortie XML constitue la base idéale pour les propres structures d’un programme d’affichage. Il est également facile d’utiliser la même routine d’extraction pour plusieurs niveaux de détail, en ignorant simplement les éléments de balise dont vous n’avez pas besoin lors de la création d’un affichage moins détaillé.