REST APIs وأهميتها في عملية Network
Automation
ربما قد سمعت عن هذا
المصطلح لو اردت طلب البيانات من مصدر على الانترنت عن طريق برنامج او سكربت.
مصطلح API هو عبارة عن واجهة المستخدم البرمجية (Application Programming
Interface) لأحد التطبيقات بهدف التواصل مع هذا التطبيق. بينما مصطلح REST (اختصار لمصطلح Representational State Transfer) يحدد كيف يتم التواصل مع API.
فمثلا عندما تقوم بعملية
بحث بسيطة على google, فانك ستقوم بكتابة الكلمة اللي تريد البحث عنها في خانة البحث. بعدها سيقوم google بإظهار
قائمة صفحات الانترنت التي تحتوي على هذا الرابط. وبنفس الطريقة يعمل REST
API بطريقة مشابهة عند طلب المعلومة من المصدر عن
طريق استخدام API الخاصة بالمصدر (Request), بعد ذلك يقوم المصدر بإظهار قائمة المعلومات المطلوبة وتسمى هذه
العملية (Response).
طيب ندخل تفاصيل أكثر شوي:
عملية Request وهي عند
طلب المعلومات من المصدر, لابد ان تكون صيغة الطلب على شكل رابط URL. وهذا الرابط يتكون من جزئين رئيسيين:
· Endpoint: وهو العنوان الرئيسي
للمصدر الذي نريد الوصول اليه وممكن يكون عنوان موقع مثل https://api.twitter.com أو ip address مثل http://192.1.1.15
· Path: وهو المسار المطلوب للوصول
الى المعلومة من المصدر حسب REST API documentation الخاصة به. بمعنى اخر كل مصدر يمتلك REST API الخاصة
به والتي من خلالها نستطيع الوصول الى للمعلومات التي يوفرها المصدر path. فمثلا اذا كنت تحاول الوصول الى معلومات
الانترفيس الموجودة على الراوتر بنظام IOS-XE فان صيغة تكون /restconf/data/my-interfaces:interfaces.
عملية
Response تكون بصيغة standard او صيغة structured (غالبا على شكل ملف JSON) وهذا يجعل مسألة
التعامل مع Response دائما واضحة وسهلة لطالب المعلومة
الشرح في الأعلى يندرج تحت عملية
تسمى GET من خلال طلب المعلومة من المصدر. هناك عمليات اخرى يمكن تنفيذها لو
تمت اتاحتها في API من قبل المصدر مثل عملية POST للاضافة وعملية Put/Patch للتحديث الجزئي/الكلي وعملية Delete للإزالة.
معرفة كيفية التعامل مع APIs مهم جدا لمهندس الشبكات عند التعامل مع الراوترات والسوتشات من
أجل عملية automation باستخدام لغة البايثون مثلا او باستخدام
برامج بواجهات استخدام سهلة التعامل مثل Postman