كافة المقالات

مقال تحليلي ٢٠٧

ما هي واجهة برمجة التطبيقات: شرح مباشر لأصحاب الأعمال

٢٠٢٦-١٠-٠١

واجهة برمجة التطبيقات باب محدد يتيحه نظام لجاره: قائمة بالطلبات التي يجوز للنظام الآخر طرحها، وبأشكال الأجوبة التي سيرد بها.

يقولها العضو التقني في كل اجتماع تقريباً: ستربط منظومة الحجوزات بمنظومة الفواتير عبر الواجهة البرمجية. فيومئ صاحب العمل برأسه، وقد بدت له الجملة تفصيلاً هامشياً، ولا يسأل عن معناها خشية أن يبدو جاهلاً بالآلة التي صار عملها عليها. هذه الصفحة هي الشرح الذي كان يُفترض أن يتضمنه ذلك الاجتماع.

واجهة برمجة التطبيقات باب محدد يتيحه نظام لغيره: قائمة بالطلبات التي يجوز للنظام الآخر أن يطرحها، وبأشكال الأجوبة التي سترد. هذه هي الفكرة كلها: حدٌّ تعلن قائمته بما يجوز أن يعبره. وحين يقول المطور إن المنظومتين تتحدثان عبر واجهة برمجية، فمعناه أن كل طرف نشر باباً يستطيع الآخر طرقه.

وتصحّ قصة النادل لأنها تسجّل النقطة الجوهرية: القائمة تحدد ما يمكنك طلبه، لا كيف يعمل المطبخ. أنت تطلب مما في القائمة، والمطبخ يحفظ وصفته واندفاعه وارتسامه خلف الباب، ويصل الطعام بصيغة تصلح للأكل. والأنظمة كذلك: الواجهة البرمجية تعد بالطلبات التي تقبلها، وكل ما خلفها يبقى شأناً خاصاً بمقدم الخدمة.

ويهم هذا صاحب العمل لأن الربط بين الأنظمة يتقرر عند الأبواب: فإن أتاح النظامان بابين نظيفين وتطابقت الحقول، كان الربط شغلاً لظهيرة واحدة. وإن لم يتيح أحد الطرفين باباً أصلاً، أو سمّى الطرفان الشيء ذاته باسمين مختلفين، وجب على أحد أن يترجم بينهما وأن يحفظ الترجمة صالحة كلما تغيّر أحد الجانبين. فقول اربطهما يمتد من ظهيرة إلى مشروع، والفرق معروف قبل التوقيع لا بعده.

وتتكرر صور الفشل: الربط المفترَض داخل عرض السعر الذي يتضح بعد أسابيع أنه المشروع كله. والباب الذي بدّله المزود من طرفه فانقطع الوصل بصمت، ولُحظ ذلك حين توقفت الفواتير عن الوصول. والبيانات التي تزامنت في اتجاه واحد بينما كان الفريق ينتظر اتجاهين، فانحرفت الكميات في نظام واحد عن الصواب إلى الأبد.

فلذا حين تُذكر الواجهة البرمجية اسأل أربعة أسئلة: ما البيانات التي تعبر، وفي أي اتجاه، وبأي وتيرة، وماذا يحدث حين يتعطل الطرف الآخر. واسأل هل يتيح النظامان البابَ فعلاً قبل أن تفترض رخص الجسر، فنشر أحد الطرفين قائمة لا يعني أن الطرفين جاهزان للخدمة. وسجِّل الارتباط بحيث تظهر أعطاله في موضع يُتفقد، لا أن يكتشفها عميل.

وليس هذا كله تعلماً للبرمجة، بل معاملة الربط بوصفه شيئاً له نطاق واتجاه وطريقة تعطل، وهي الطريقة التي نحدد بها نطاق عملنا نحن. إرشاد لا ضمانات: تفاصيل باب كل مزود مرجعها وثائق ذلك المزود، وهي تتبدل بلا إنذار. والبنية تصح في كل مكان: سمِّ البيانات، وسمِّ الاتجاه، واسأل من يتيح الباب، تصير الجملة في الاجتماع القادم ذات معنى.

الأسئلة الشائعة

إجابات مباشرة ودقيقة

ما هي واجهة برمجة التطبيقات بلغة بسيطة؟

إنها باب محدد يتيحه نظام لجاره: قائمة بالطلبات التي يجوز للنظام الآخر أن يطرحها، وبأشكال الأجوبة التي سترد. فالقائمة تحدد ما يمكنك طلبه، لا كيف يعمل المطبخ داخله، وكل ما خلف الباب يبقى شأناً خاصاً بمقدم الخدمة لا يشترط أن تفهمه.

كيف أميز قبل التعاقد إن كان الربط بين منظومتين سهلاً أم مشروعاً كاملاً؟

اسأل هل يتيح النظامان بابين فعلاً، وهل تطابقت الحقول بين الطرفين. فبابان نظيفان وحقول متوافقة يعني شغلاً يُنجز في ظهيرة واحدة. أما طرف بلا باب، أو طرفان يسمّيان الشيء ذاته باسمين مختلفين، فيعني ترجمة دائمة بينهما، وهذا مشروع. والفرق معروف قبل التوقيع لا بعده.

ماذا أسأل حين يقول المطور إن الربط سيكون عبر الواجهة البرمجية؟

اسأل أربعة أسئلة: ما البيانات التي تعبر، وفي أي اتجاه، وبأي وتيرة، وماذا يحدث حين يتعطل الطرف الآخر. ثم اسأل هل يتيح النظامان الباب فعلاً، فنشر أحد الطرفين قائمة لا يعني أن الطرفين جاهزان للخدمة. واطلب أخيراً تسجيل الارتباط بحيث تظهر أعطاله في موضع يُتفقد لا يكتشفه عميل.

لماذا انقطع الربط بين أنظمتنا دون أن يغيّر أحد شيئاً؟

السبب المعتاد أن المزود بدّل بابه من طرفه. فالواجهة البرمجية وعد ينشره المزود، والمزودون يبدلون أبوابهم بلا إنذار، فيمكن أن يصمت ربط أُنشئ أمس اليوم. ولهذا يحتاج الارتباط سجلاً يُظهر العطل في موضع يُتفقد، بدل أن يكتشفه عميل أولاً.

الخطوة التالية

منصات الويب

منصات ويب وهندسة برمجيات: ثنائية اللغة، مصممة أصالة للغة العربية ومن اليمين إلى اليسار، فائقة السرعة، ومهيأة للظهور في محركات البحث، على البنية التقنية ذاتها التي تشغل هذا الموقع ومشاريعنا.

ابدأ طلباً، أو اطلب استشارة خاصة، أو اطرح سؤالك ببساطة: رسالة واتساب واحدة، بالعربية أو الإنجليزية، تفتح المحادثة.

تحدثوا معنا عبر واتساب