استكشاف بوابات واجهة برمجة التطبيقات
قد يحتوي الحل الخاص بك على العديد من الخدمات الأمامية والخلفية. في هذا السيناريو، كيف يعرف العميل نقاط النهاية التي يجب استدعاها؟ ماذا يحدث عند تقديم خدمات جديدة، أو إعادة بناء التعليمات البرمجية للخدمات الحالية؟ كيف تتعامل الخدمات مع إنهاء SSL والمصادقة والمخاوف الأخرى؟
بوابة إدارة واجهة برمجة التطبيقات (تسمى أيضا مستوى البيانات أو وقت التشغيل) هي مكون الخدمة المسؤول عن وكيل طلبات واجهة برمجة التطبيقات وتطبيق النهج وجمع بيانات تتبع الاستخدام.
توجد بوابة API بين العملاء والخدمات. وهو يعمل كوكيل عكسي، وتوجيه الطلبات من العملاء إلى الخدمات. قد يؤدي أيضا مهاما متعددة شاملة مثل المصادقة وإنهاء SSL وتحديد المعدل. إذا لم تقم بنشر بوابة، يجب على العملاء إرسال الطلبات مباشرة إلى الخدمات الخلفية. ومع ذلك، هناك بعض المشاكل المحتملة مع تعريض الخدمات مباشرة للعملاء:
- يمكن أن يؤدي إلى تعليمة برمجية معقدة للعميل. يجب على العميل تتبع نقاط النهاية المتعددة، ومعالجة حالات الفشل بطريقة مرنة.
- يقوم بإنشاء اقتران بين العميل والواجهة الخلفية. يحتاج العميل إلى معرفة كيفية تحلل الخدمات الفردية. وهذا يجعل من الصعب الحفاظ على العميل وأيضا من الصعب إعادة بناء التعليمات البرمجية للخدمات.
- قد تتطلب عملية واحدة استدعاءات إلى خدمات متعددة.
- يجب أن تتعامل كل خدمة عامة مع مخاوف مثل المصادقة وSSL وتحديد معدل العميل.
- يجب أن تعرض الخدمات بروتوكولا ملائما للعميل مثل HTTP أو WebSocket. وهذا يحد من اختيار بروتوكولات الاتصال.
- الخدمات ذات نقاط النهاية العامة هي سطح هجوم محتمل، ويجب تقوية.
تساعد البوابة على معالجة هذه المشكلات عن طريق فصل العملاء عن الخدمات.
مدار ومستضاف ذاتيا
توفر APIM كلا من البوابات المدارة والمستضافة ذاتيا:
المدارة - البوابة المدارة هي مكون البوابة الافتراضي الذي يتم نشره في Azure لكل مثيل APIM في كل مستوى خدمة. باستخدام البوابة المدارة، تتدفق جميع حركة مرور واجهة برمجة التطبيقات عبر Azure بغض النظر عن مكان استضافة الواجهات الخلفية التي تنفذ واجهات برمجة التطبيقات.
ذاتية الاستضافة - البوابة ذاتية الاستضافة هي إصدار اختياري مستضاف في حاويات من البوابة المدارة الافتراضية. إنه مفيد للسيناريوهات المختلطة ومتعددة السحابات حيث هناك شرط لتشغيل البوابات خارج Azure في نفس البيئات حيث تتم استضافة واجهات برمجة التطبيقات الخلفية. تمكن البوابة المستضافة ذاتيا العملاء الذين لديهم بنية أساسية تكنولوجيا المعلومات المختلطة من إدارة واجهات برمجة التطبيقات المستضافة محليا وعبر السحب من خدمة APIM واحدة في Azure.