احجز مكالمة 20 دقيقة

خدمة تقنية · 11

تطوير واجهات البرمجة والتكامل

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

صمّم العقد قبل المتحكّم

المواصفة تأتي أولاً، مكتوبة بـ OpenAPI ومُراجَعة مع الفرق التي ستستهلكها. وخوادم المحاكاة المولَّدة من تلك المواصفة تتيح بدء عمل العميل بالتوازي، وهو ما يوفّر أسابيع بانتظام في المشاريع ذات الفرق الأمامية والخلفية المنفصلة.

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

  • مواصفة OpenAPI مُراجَعة قبل التنفيذ
  • خادم محاكاة متاح للمستهلكين من الأسبوع الأول
  • أعراف داخلية للأخطاء والترقيم والتصفية

إدارة الإصدارات وعد تفي به

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

المفاتيح والحصص ومن يستخدمها

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

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

التكاملات التي لم تكتبها ستوقظك في الثالثة فجراً

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

ما الذي تحصل عليه

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

النتائج المعتادة

<100ms

وسيط زمن استجابة واجهات البرمجة الذي نصمّم نحوه

99.9%

هدف التوافر لنقاط النهاية المنشورة

أسبوع واحد

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

التقنيات التي نستخدمها

OpenAPINode.js.NETGraphQLKongOAuth 2.0PostmanRedisPostgreSQL

أسئلة

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

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

نعم. تُلتقَط نقاط النهاية القائمة من الحركة والشيفرة إلى مواصفة OpenAPI، وتُسرَد التناقضات، ونتفق على أيها يستحق التصحيح مقابل كلفة كسر المستهلكين.

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

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

ابدأ بمكالمة مدتها 20 دقيقة.

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