الدرس الثاني والخمسون: فهم واجهات API و REST
تعد واجهات API (Application Programming Interfaces) مكونات بالغة الأهمية لبرمجة الشبكة، مما يتيح لتطبيقات البرامج التفاعل مع أجهزة الشبكة.
واجهات REST API
Representational State Transfer (REST) هو نمط معماري لتصميم التطبيقات المتصلة بالشبكة. يعتمد على أساليب HTTP القياسية للتفاعل مع موارد الشبكة.
الخصائص الرئيسية لـ REST:
- عديم الحالة (Stateless): يحتوي كل طلب من العميل إلى الخادم على جميع المعلومات اللازمة لفهم الطلب.
- قائم على الموارد (Resource-Based): تُعامَل عناصر الشبكة كموارد، تُعرَّف بواسطة عناوين URL (مثل
/api/v1/interfaces/GigabitEthernet0/1).
أساليب HTTP (Verbs)
تحدد هذه الأفعال نوع الإجراء الذي يجب تنفيذه على المورد:
| الأسلوب | الغرض |
|---|---|
| GET | استرداد البيانات (قراءة) |
| POST | إنشاء بيانات جديدة (إنشاء) |
| PUT | تحديث البيانات الموجودة (تحديث/استبدال) |
| DELETE | إزالة البيانات (حذف) |
YANG و NETCONF/RESTCONF
تستخدم Cisco نماذج بيانات لتحديد الشكل الذي يجب أن تبدو عليه بيانات الإعداد.
- YANG: لغة نمذجة بيانات تُستخدم لتحديد هيكل الإعداد وبيانات الحالة.
- NETCONF/RESTCONF: بروتوكولات تستخدم نماذج YANG للتفاعل مع الأجهزة برمجياً، مما يوفر بدائل موثوقة ومنظمة لاستخراج مخرجات CLI.