ممارسة واجهات البرمجة

إدارة واجهات البرمجة (API) في المملكة

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

السياسة قبل البوابة نشر داخل المملكة حين يلزم

باختصار

طبقة واحدة تعرف كل واجهة، وتفرض القواعد نفسها عليها جميعًا

تصمّم إنتركي طبقة واجهات البرمجة وتنفّذها وتشغّلها للمؤسسات في المملكة: جرد ما هو موجود، والسياسات التي تنطبق عليه، المصادقة والتفويض وحدود المعدل والإصدارات، والبوابة التي تفرضها، وتشغيل تلك البوابة بعد ذلك. والمنصة التي تنفّذها إنتركي للبوابة هي Kong؛ والممارسة واحدة أيًا كان المنتج تحتها.

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

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

الأعراض

كيف يبدو هذا قبل إصلاحه

الحالات التي تصفها المؤسسات، وما تدل عليه كل منها عادةً. وقليل ممن يواجهها يصفها بأنها مشكلة واجهات برمجة.

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

الترتيب

البوابة هي الخطوة الثالثة

البرامج التي تبدأ بتثبيت بوابة تنتهي ببوابة أمام جرد لم يتفق عليه أحد وسياسة لم يكتبها أحد. كل خطوة أدناه لا تكون آمنة إلا حين تصمد التي قبلها.

  1. اجردوا ما هو موجود

    كل واجهة، ومالكها، ومستهلكوها، وطريقة المصادقة فيها اليوم. ويشمل ذلك ما لم يُسمَّ واجهة قط، لأن العرض المشترك في قاعدة بيانات واجهةٌ سواء وثّقها أحد أم لا.

  2. اكتبوا السياسة

    من يجوز له استدعاء ماذا، وبأي اعتماد، وبأي معدل، وكيف تُقدَّم الإصدارات وتُوقف. قصيرة، ومكتوبة، ومتفق عليها مع الفرق التي تملك الخدمات لا مفروضة عليها.

  3. انشروا البوابة

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

  4. أضيفوا المستهلكين

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

  5. شغّلوا وراقبوا

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

القيد

أين تعمل البوابة يقرّره ما يمرّ عبرها من بيانات

مستوى التحكم ومستوى البيانات سؤالان مختلفان عن إقامة البيانات

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

والصورة العملية أن أغلب المنصات تفصل مستوى البيانات (Data Plane) الذي يحمل الحركة عن مستوى التحكم (Control Plane) الذي يحمل الإعدادات. يمكن أن يعمل مستوى البيانات داخل المملكة، على بنية تشغّلها المؤسسة، بينما يعمل مستوى التحكم حيث يستضيفه المورّد، أو يعمل الاثنان داخل المملكة، مع ما يعنيه ذلك من تشغيل الاثنين. ويحدّد الخيار الصحيح تصنيفُ البيانات المارّة ومن هو مستعد لتشغيل مستوى التحكم لسنوات. تنشر إنتركي أي الشكلين، وصفحة Kong تشرح الاختيار لتلك المنصة تحديدًا.

النطاق

كيف يتشكّل العمل عادةً

أربعة أشكال. الأول كثيرًا ما يُشترى وحده، وهو يقرّر هل يستحق الباقي الشراء.

الجرد والسياسة

ما هو موجود، ومن يملكه، ومن يستدعيه، والقواعد المكتوبة التي ستحكمه. قصير، ومخرجه جرد بقرار لكل صف.

تنفيذ البوابة

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

إضافة المستهلكين

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

التشغيل

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

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

ما يميّز هذا السوق

أمران يغيّران شكل هذا العمل هنا لا مجرد ترجمته.

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

اقرأ المزيد

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

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

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

تعريف الاكتمال

كيف يبدو المكتمل فعلًا

كل بند إما متحقق أو غير متحقق، ويستطيع التحقق منه من لم يشارك في العمل:

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

أسئلة

أسئلة يطرحها المشترون فعلًا

سؤال شائع

هل نحتاج إلى منصة إدارة واجهات برمجة، أم بوابة فقط؟

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

سؤال شائع

أي منصة تنفّذون؟

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

سؤال شائع

هل يمكن أن تعمل المنصة كلها داخل المملكة؟

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

سؤال شائع

كم يستغرق هذا؟

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

سؤال شائع

ماذا عن الواجهات التي نعرضها على الإنترنت العام؟

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

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

ابدؤوا مما تعرضونه فعلًا

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

خانة إلزامية

يراجع فريق الرياض طلبكم ويرد عليكم مختص في أيام العمل السعودية، بالعربية أو الإنجليزية. نستخدم بياناتكم للرد عليكم فقط. إشعار الخصوصية

أو مباشرةً

+966-11-2180999 [email protected]

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

أو صفحة تنفيذ Kong

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