Visit techcast.io
Ansible مقدمة بسيطة عن
March 14, 2023
SD-WAN Controllers
March 15, 2023

XML vs. JSON vs. YAML

Published by Wail Yahya on March 14, 2023
Categories
  • All
  • Network Automation
Tags
  • #XML #JSON #YAML #devnet #automation

كثيرا ما نسمع عن اللغات أو صيغ الملفات XML, JSON, YAML وبالذات في عالم Network Automation and Programmability لكن الكثير منا قد يواجه صعوبة في التفريق بينها ومعرفة مميزات كل واحدة منها.

 

ينبغي معرفة أن جميع هذه الصيغ من الملفات تقوم بحفظ البيانات أو المعلومات لذلك تسمى Data Encoding files أو Data files. بمعنى اخر هذه الملفات هي ملفات نصية وتحمل بيانات وليست ملفات برمجية تقوم بتنفيذ أوامر. تستطيع في هذه الملفات تخزين معلومات متنوعة عن الشبكة الخاصة بك مثل IP address وhostnames وinterfaces لكل جهاز في الشبكة الخاصة بك. يمكنك تخليها مثل البيانات المحفوظة في جداول أو قواعد البيانات. 

 

تتميز هذه الأنواع من الملفات بتخزين المعلومات داخلها بطريقة منظمة (structured). لكن ما الفائدة من عملية التنظيم structure للمعلومات المخزنة داخل هذه الملفات؟ الفائدة الكبرى هو تسهيل عملية الوصول للبرامج الالكترونية الى مختلف المعلومات! نستطيع أنا وأنت بقراءة أي نص بالعين المجردة ونستطيع معرفة أن عبارة ipaddress او عبارة hostaddress تعبر عن نفس المعلومة لكن بالنسبة للكمبيوتر فكل عبارة تعتبر مختلفة وتحتاج الى تعريف حتى يستطيع الكمبيوتر التعامل معها للوصول الى للمعلومة. 

 

كل هذه اللغات تعتمد على مبدأ key/value. حيث ان key يعتبر عنوان او مصطلح ثابت عـنـوان يستخدم للتعرف على قيمة أو value. فمثلا كلمة ipaddress هي العنوان او key الذي نستخدمه للتعريف عن قيمة او value مثل 10.1.1.1. لو اردنا كتابة هذه المعلومة باستخدام مختلف اللغات، سوف تجد تشابه كبير في الصيغة خصوصا بين JSON و YAML 

 

Language

Format

XML

<ipaddress>10.1.1.1</ipaddress>

JSON

 “ipaddress”: “10.1.1.1”

YAML

  ipaddress: 10.1.1.1

 

 

نستطيع استخدام هذه ملفات البيانات في تقنيات كثيرة مثل NETCONF, RESTCONF, Python, vManage API, Ansible,... وغيرها.






Share this:

  • Share on Facebook (Opens in new window) Facebook
  • Share on X (Opens in new window) X
  • Share on LinkedIn (Opens in new window) LinkedIn
  • Share on Telegram (Opens in new window) Telegram
  • Share on WhatsApp (Opens in new window) WhatsApp
Share
0
Wail Yahya
Wail Yahya

Related posts

March 15, 2023

ACI Protocols (Video)


Read more
March 15, 2023

SD-WAN Controllers


Read more
March 14, 2023

Ansible مقدمة بسيطة عن


Read more

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Powered by techcast.io