مصطلح

ما هي بوابة API؟ المعنى والوظائف والأمثلة

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

الخلاصة

  • معنى بوابة API: طبقة واحدة أمام واجهات برمجية كثيرة، تستقبل كل استدعاء وتطبّق عليه القواعد نفسها ثم تمرّره إلى الخدمة المناسبة.
  • لماذا توجد: من دونها تحمل كل خدمة تحققها من الهوية وحدودها وسجلاتها، وكل منها مختلف قليلًا عن غيره ويُراجَع وحده.
  • ما الذي ليست هي: ليست إدارة واجهات API كلها، وليست برنامجًا أمنيًا قائمًا بذاته. فهي تطبّق القواعد، ولا بد أن يكتبها أحد.
  • عند الاختيار: إن تجاوزتم التعريف وبدأتم التخطيط، فاقرؤوا صفحة بوابة API عن أشكال النشر وما تطلبونه من البوابة.

التعريف

ما هي بوابة API بعبارة بسيطة

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

اقرأ المزيد
مسار الطلب عبر بوابة API يصل الطلب من التطبيق إلى البوابة، فتتحقق من الهوية وتطبّق الحدود ثم توجّهه إلى الخدمة المناسبة من بين ثلاث خدمات. التطبيق المستدعي جوال، ويب، شريك بوابة API التحقق من الهوية الحدود والفحص التوجيه والتسجيل خدمة الحسابات خدمة الطلبات خدمة الدفع
كل طلب يمر بنقطة واحدة تطبّق القواعد نفسها قبل أن يصل إلى أي خدمة.

وتختلف بوابة API عن أجهزة الشبكات في أنها تفهم الطلبات والمسارات والترويسات والرموز والجهات المستدعية، لا عناوين IP والمنافذ وحدها. وتقع عادةً على حافة منصتكم، وكثيرًا ما تقف أمام الواجهات الداخلية أيضًا.

الوظائف

وظائف بوابة API الثماني الأساسية

الوظائف الثماني الأساسية لبوابة API مع أمثلة
الوظيفةما الذي تفعلهمثال
التوجيهترسل كل طلب إلى الخدمة والإصدار المناسبينتذهب طلبات ‎/orders إلى خدمة الطلبات، وطلبات ‎/v2/orders إلى إصدارها الجديد
التحقق من الهويةتتأكد من هوية المستدعي قبل وصول الطلب إلى الخدمةيقدّم الشريك مفتاح API أو رمزًا تصدره منصة الهوية لديكم
التحكم في الوصولتحدد الجهات والشبكات التي يحق لها استدعاء كل واجهةلا يستدعي واجهة الدفع إلا تطبيق المالية
تحديد معدل الاستدعاءتضع سقفًا لعدد الاستدعاءات لكل جهة خلال مدةيلتزم الشريك بعدد متفق عليه من الاستدعاءات في الدقيقة
فحص الطلباتترفض الطلبات المشوّهة أو غير المتوقعة مبكرًايُرفض عند البوابة طلب تنقصه بيانات مطلوبة أو يتجاوز حجمه المسموح
التحويلتعدّل الترويسات أو المحتوى بين المستدعي والخدمةتضيف ترويسة لرقم تتبع الطلب، أو تحذف ترويسة داخلية من الردود
التخزين المؤقتتجيب عن الطلبات المتكررة من نسخة محفوظة لمدة قصيرةتُعرض قائمة منتجات تتغير كل ساعة دون استدعاء الخدمة في كل مرة
الرصد والتسجيلتسجّل كل استدعاء وتقيسهتبيّن السجلات والمقاييس أي جهة تفشل طلباتها ومنذ متى

وللاطلاع على هذه الوظائف كما تطبّقها Kong Gateway، راجعوا صفحة بوابة API.

مقارنة

الفرق بين بوابة API وموزّع الأحمال وشبكة الخدمات

مقارنة بين بوابة API وموزّع الأحمال وشبكة الخدمات
بوابة APIموزّع الأحمالشبكة الخدمات
المهمة الرئيسةتطبيق قواعد الواجهات وتوجيه كل استدعاءتوزيع الحركة على النسخ السليمة من الخدمةتأمين الاستدعاءات بين الخدمات ورصدها
الحركة التي تتولاهاالحركة الداخلة إلى المنصة من المستدعين (north-south)أي حركة تصل إلى العنوان الذي يقف أمامهالحركة بين الخدمات داخل المنصة (east-west)
معرفة الجهات المستدعيةنعم: المفاتيح والرموز والخطط والحدود لكل جهةلا في الغالبتعرف الخدمات، لا الجهات الخارجية
السياسات المعتادةالتحقق من الهوية وحدود الاستدعاء والفحص والتحويلفحوص السلامة وطريقة التوزيع وTLSTLS المتبادل وإعادة المحاولة والمهل وقواعد الوصول بين الخدمات

وكثيرًا ما تعمل الثلاثة معًا: موزّع أحمال أمام عدة عُقد للبوابة، والبوابة أمام الخدمات، وشبكة الخدمات بين الخدمات نفسها.

موزّع الأحمال

الفرق بين بوابة API وموزّع الأحمال

يجيب موزّع الأحمال (load balancer) عن سؤال: «أي نسخة من هذه الخدمة تستقبل الطلب؟». وتجيب بوابة API عن سؤال آخر: «هل يحق لهذا المستدعي أن يرسل هذا الطلب، وأي خدمة تتولاه؟». وبينهما تداخل، فكثير من البوابات توزّع الحمل، وكثير من موزّعات الأحمال تقرأ المسارات. لكن الفرق في الجهة المستدعية: فالبوابة تعرف أن هذا الاستدعاء من شريك محدد له حد محدد، وموزّع الأحمال لا يعرف ذلك في الغالب.

شبكة الخدمات

الفرق بين بوابة API وشبكة الخدمات

تضع شبكة الخدمات (service mesh) وكيلًا صغيرًا بجوار كل خدمة، فتُشفَّر الاستدعاءات بين الخدمات وتُعاد محاولتها وتُقاس بالطريقة نفسها دون تعديل شيفرة الخدمات. وهي موجهة إلى الحركة داخل المنصة، بينما البوابة موجهة إلى الباب الأمامي. والخدمات القليلة نادرًا ما تحتاج إلى شبكة خدمات، أما الخدمات الكثيرة على Kubernetes فقد تبرّر الاثنتين. وتشرح صفحة شبكة الخدمات متى تستحق الشبكة كلفة تشغيلها.

أمثلة

أمثلة على استعمال بوابة API

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

الحدود

متى لا تكون البوابة الخطوة الأولى

قد لا يحتاج تطبيق واحد يستدعي خدمة واحدة، دون أي جهة خارجية، إلى بوابة بعد. والبوابة لا تجعل الخدمة غير الآمنة آمنة: فضعف التحقق من الصلاحيات داخل الخدمة، والردود التي تعيد بيانات أكثر من اللازم، والمكتبات التي لم تُحدَّث، كلها تُعالج في الخدمة نفسها. وحصر الواجهات وكتابة من يحق له استدعاء ماذا يسبقان عادةً اختيار المنتج، وهذا العمل هو إدارة واجهات API، والبوابة هي المكان الذي تُطبَّق فيه.

Kong وإنتركي

Kong Gateway وأين تساعد إنتركي

تطبّق إنتركي Kong Gateway، وهي منتج لشركة Kong Inc. إحدى الشركات التقنية الشريكة لإنتركي. وتوثّق Kong ثلاث طرق لتشغيلها: التقليدية مع قاعدة بيانات، ودون قاعدة بيانات (DB-less) مع إعدادات تُحمَّل من ملف تعريفي، والهجينة التي يحفظ فيها مستوى التحكم الإعدادات وتحمل مستويات البيانات الحركة. وبعض الإضافات خاصة بإصدار Enterprise، فيتبع الإصدار الوظائف التي تحتاجونها.

وتصمّم إنتركي البوابة، وتكتب سياساتها إعداداتٍ تخضع لإدارة الإصدارات، وتربطها بمنصات الهوية والمراقبة لديكم، وتشغّلها بعد الإطلاق. وتعرض صفحة بوابة API أشكال النشر وقائمة متطلبات يمكنكم بها تقييم أي عرض، ومنها عرضنا.

في السياق السعودي

بوابات API في السياق السعودي

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

أسئلة تطرحها الفرق عن بوابات API

هل بوابة API مجرد وكيل عكسي (reverse proxy)؟

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

هل تبطئ بوابة API كل استدعاء يمر بها؟

تضيف خطوة واحدة، فلها عبء إضافي. ويتوقف مقداره على القواعد المطبّقة على كل استدعاء، وعلى موقع البوابة من الخدمات. قيسوه على حركتكم الفعلية.

أين نشغّل بوابة API إن كانت بياناتنا يجب أن تبقى في السعودية؟

يعمل الجزء الذي يحمل الحركة ويفحصها على بنية تحتية داخل المملكة. ومع تشغيل Kong Gateway بإدارة ذاتية يمكن أن يعمل مستوى الإعدادات داخلها أيضًا. ويحدد تصنيف بياناتكم الشكل المقبول.

كيف تُرخَّص بوابة API، وما الذي يحدد كلفتها؟

في Kong Gateway يحدد الإصدارُ الكلفةَ أولًا، لأن بعض الإضافات خاصة بإصدار Enterprise. وبعد الترخيص تتبع الكلفة عدد البيئات، وعدد الواجهات التي تنتقل إلى البوابة، ومن يتولى تشغيلها. وتقدّم إنتركي عرضًا واحدًا للتراخيص والتنفيذ والدعم في المملكة.

كم يستغرق وضع أول الواجهات خلف البوابة؟

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

لدينا بوابة API، فهل نحتاج إلى شبكة خدمات أيضًا؟

ليس بالضرورة. فالبوابة تضبط الحركة الداخلة إلى منصتكم، وشبكة الخدمات تضبط الحركة بين الخدمات. والفرق التي لديها خدمات كثيرة يستدعي بعضها بعضًا وتحتاج إلى TLS متبادل بينها تضيفها في العادة.

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

خطّطوا معنا بوابة API لخدماتكم

أخبرونا بالواجهات التي تتيحونها اليوم، ومن يستدعيها، وأين يجب أن تبقى بياناتكم. وسنقترح تصميمًا للبوابة وأول الواجهات التي تنتقل إليها، ونسعّر تراخيص Kong Gateway والتنفيذ والدعم إن كانت Kong مناسبة لكم.

خانة إلزامية

بإرسالك هذا النموذج، فأنت توافق على سياسة الخصوصية.

أو مباشرةً

+966-11-2180999 [email protected]

أبراج التعاونية، البرج الشمالي، الطابق السابع، طريق الملك فهد، العليا، ص.ب. ٥٦٨٣٥، الرياض ١١٥٦٤، المملكة العربية السعودية

أو الوظائف الثماني

نشرته إنتركي. آخر تحديث . إنتركي مسجلة في الرياض بالسجل التجاري رقم 1010156897.