Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Junos XML 管理プロトコルと Junos XML API を使用するメリット

Junos XML 管理プロトコルと Junos XML API には、サポートされるすべての Junos OS 運用要求のすべてのオプション、Junos OS 設定階層のすべてのステートメント、および設定モード コマンドに相当する基本的な操作が完全に文書化されています。タグ名は、運用または設定要求または設定ステートメント内の要素の機能を明確に示 しています

意味のあるタグ名と DTD の構造ルールを組み合わせることで、XML タグ付きデータ セットやドキュメントの内容と構造を簡単に理解できます。Junos XML および Junos XML プロトコル タグ要素を使用すると、クライアント アプリケーションがデバイスから情報を要求して出力を解析し、特定の情報を見つけるのが簡単になります。

デバイス出力の解析

以下の例は、Junos XML API を使用して、デバイスの出力を簡単に解析し、必要な情報を抽出する方法を示しています。この例では、Junos OS を実行するデバイスからの出力のフォーマット済み ASCII と XML タグ付きバージョンを比較しています。

フォーマットされたASCIIは次のとおりです。

対応する XML タグ付きバージョンは次のとおりです。

クライアントアプリケーションがフォーマットされたASCII出力から特定の値を抽出する必要がある場合、クライアントアプリケーションは、絶対または隣接するフィールドのラベルまたは値に関して表現された値の場所に依存する必要があります。クライアント・アプリケーションがインターフェース・インデックスを抽出したいとします。特定の文字列を特定するために正規表現一致ユーティリティを使用できますが、難しいのは、インターフェイスインデックスの桁数が必ずしも予測可能とは限りません。クライアント アプリケーションは、ラベルの後 Interface index: に特定の文字を読み取るだけではなく、ラベルと後続 SNMP ifIndex: のラベルの間のすべてを抽出し、含まれているコンマも含める必要があります。

テキスト出力の形式や順序が Junos OS の新しいバージョンで変更された場合、問題が発生します。例えば、インターフェイスインデックス番号の後にフィールドが追加された場合 Logical index: 、新しいフォーマット済みASCIIが次のように表示されることがあります。

SNMP ifIndex: のラベルで区切られたインターフェイスインデックス番号をInterface index:抽出するアプリケーションは、誤った結果を取得するようになりました。アプリケーションを手動で更新して、ラベルをLogical index:新しい区切り文字として検索する必要があります。

対照的に、XML タグ付き出力の構造化された性質により、クライアント アプリケーションは、開始 <index> タグと終了 </index> タグ内のすべてを抽出してインターフェイス インデックスを取得できます。Junos XML プロトコル サーバーがタグ要素内で任意の順序で子タグ要素を出力できるようにするため、アプリケーションは出力文字列内での要素の位置に依存する <interface> 必要はありません。将来のリリースで新 <logical-index> しいタグ要素を追加しても、タグ要素を見つけてコンテンツを <index> 抽出するアプリケーションの機能には影響しません。

デバイス出力の表示

XML タグ付き出力は、フォーマットされた ASCII 出力とは異なる表示形式に変換するのも簡単です。たとえば、特定のデバイス コンポーネントに関するさまざまな詳細を異なる時間に表示することができます。デバイスがフォーマットされた ASCII 出力を戻す場合は、特定の詳細レベルに適した情報を抽出して表示するために、特別なルーチンおよびデータ構造を表示プログラムに書き込む必要があります。対照的に、XML 出力の固有の構造は、表示プログラム独自の構造の理想的な基礎となります。また、より詳細な表示を作成する際に必要でないタグ要素を無視するだけで、複数の詳細レベルで同じ抽出ルーチンを使用することも簡単です。