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

تقوم واجهات برمجة التطبيقات بتوصيل التطبيقات من خلال بروتوكولات وبنيات واضحة. بنية API هي إطار عمل من القواعد لإنشاء واجهات البرامج. تحدد القواعد كيفية توفير وظائف الخادم للمستخدمين. يحدد نوع البنية القواعد والهياكل التي تحكم واجهة برمجة التطبيقات.

هناك العديد من أنواع بنية API المختلفة ، من REST إلى RPC. سيساعدك التعرف على هيكلها وتكوينها على اختيار واحد للتطبيق الخاص بك.

1. استراحة

واجهات برمجة تطبيقات REST حديثة وهي أشهر بنية لواجهة برمجة التطبيقات يستخدمها المطورون. استراحة (نقل الحالة التمثيلية) هي بنية تستخدم لتصميم تطبيقات الخادم والعميل. إنه ليس بروتوكولًا أو معيارًا ، لذا يمكنك تنفيذه بطرق مختلفة. هذا الجانب يزيد من مرونتك كمطور.

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

instagram viewer

يمكن أن تكون المعلومات المنقولة عبر HTTP بتنسيق JSON أو HTML أو XML أو نص عادي. JSON هو تنسيق الملفات الأكثر استخدامًا لواجهات برمجة تطبيقات REST. JSON هي لغة حيادية ويمكن قراءتها من قبل البشر.

2. صابون

بروتوكول الوصول إلي كائن بسيط (SOAP) هو بروتوكول API رسمي. يحتفظ اتحاد شبكة الويب العالمية (W3C) ببروتوكول SOAP ، وهو أحد أقدم بنيات API. يسهل تصميمه الاتصال بين التطبيقات التي تم إنشاؤها بلغات ومنصات مختلفة.

يصف تنسيق SOAP API باستخدام لغة وصف خدمة الويب (WSDL). إنه مكتوب بلغة الترميز الشاملة (XML). يفرض التنسيق معايير امتثال مضمنة تعزز الأمان والاتساق والعزل والمتانة. تضمن هذه الخصائص معاملات قواعد البيانات الموثوقة مما يجعل SOAP أفضل لتطوير المؤسسات.

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

يدعم SOAP كلاً من عمليات تبادل البيانات ذات الحالة وعديمة الحالة.

3. GraphQL

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

على عكس بنية REST ، حيث يتعامل HTTP مع طلبات العميل واستجاباته ، تطلب GraphQL البيانات مع الاستعلامات. تحدد خدمة GraphQL الأنواع والحقول الخاصة بهذه الأنواع ، ثم توفر وظائف لكل حقل ونوع.

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

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

4. أباتشي كافكا

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

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

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

5. أسينكابي

أسينكابي هي مبادرة مفتوحة المصدر تساعد في بناء وصيانة البنى القائمة على الأحداث. تشترك مواصفاته في العديد من الأشياء مع مواصفات OpenAPI. AsyncAPI هو في الأساس تكيف من مواصفات OpenAPI وتحسينها ، مع بعض الاختلافات.

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

يعمل AsyncAPI على تحسين الحالة الحالية للهندسة المستندة إلى الأحداث (EDA). الهدف هو تسهيل العمل مع EDA كما هو الحال مع واجهات برمجة تطبيقات REST. توفر مبادرة AsyncAPI الوثائق والتعليمات البرمجية التي تدعم إدارة الأحداث. تنطبق غالبية العمليات المستخدمة في واجهات برمجة تطبيقات REST على واجهات برمجة التطبيقات التي تحركها الأحداث / غير المتزامنة.

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

6. استدعاء الإجراء البعيد (RPC)

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

يعمل RPC على نموذج خادم العميل. يطلب برنامج العميل ويستجيب برنامج الخادم بخدمة ما. تعمل RPCs على التزامن. عندما يرسل البرنامج طلبًا ، يظل معلقًا حتى يتلقى استجابة من الخادم.

RPCs هي الأفضل للأنظمة الموزعة. إنها الأفضل للأنظمة القائمة على الأوامر ولديها حمولات خفيفة الوزن تزيد من الأداء.

كيفية اختيار هندسة API الصحيحة

تعتمد بنية API الصحيحة على حالة الاستخدام الخاصة بك. تحدد البنية المنهجية لتطوير واجهة برمجة التطبيقات وكيفية تشغيلها. يحدد التصميم المعماري لواجهة برمجة التطبيقات مكوناتها وتفاعلاتها.

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