ما هي API؟ | تعريف سريع

ما هو API؟

مقدمة

ببضع نقرات على سطح المكتب أو الجهاز ، يمكن للمرء شراء أو بيع أو نشر أي شيء في أي وقت. بالضبط كيف يحدث ذلك؟ كيف معلومات من هنا إلى هناك؟ البطل غير المعروف هو API.

ما هو API؟

API لتقف على ملف واجهة برمجة تطبيق. تعبر API عن مكون البرنامج وعملياته ومدخلاته ومخرجاته وأنواعه الأساسية. ولكن كيف تشرح API بلغة إنجليزية بسيطة؟ تعمل واجهة برمجة التطبيقات (API) كبرنامج مراسلة ينقل طلبك من أحد التطبيقات ويقدم الاستجابة إليك.

مثال 1: عندما تبحث عن رحلات طيران عبر الإنترنت. أنت تتفاعل مع موقع شركة الطيران. يوضح موقع الويب تفاصيل المقاعد وتكلفة الرحلة في ذلك التاريخ والوقت المحددين. أنت تختار وجبتك أو مقاعدك أو أمتعتك أو طلبات الحيوانات الأليفة.

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

 

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

 

مثال 2: يجعل Best Buy تسعير صفقة اليوم خاصًا متاحًا من خلال موقعه على الويب. هذه البيانات نفسها موجودة في تطبيق الهاتف المحمول الخاص بها. التطبيق لا يهتم بنظام التسعير الداخلي - يمكنه استدعاء Deal of the Day API ويسأل ، ما هو التسعير الخاص؟ يستجيب Best Buy بالمعلومات المطلوبة بتنسيق قياسي يعرضه التطبيق للمستخدم النهائي.

 

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

  • Twitter API: التفاعل مع معظم وظائف Twitter
  • Facebook API: للمدفوعات وبيانات المستخدم وتسجيل الدخول 
  • Instagram API: وضع علامة على المستخدمين ، وعرض الصور الشائعة

ماذا عن REST & SOAP API؟

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

خدمة الويب SOAP

يستخدم بروتوكول الوصول إلى الكائنات البسيط (SOAP) بروتوكولات HTTP للسماح للتطبيقات بالاتصال. SOAP هو اتصال اتجاهي عديم الحالة بين العقد. هناك 3 أنواع من عُقد SOAP:

  1. مرسل SOAP - إنشاء رسالة ونقلها.

  2. مستقبل SOAP - يحصل على الرسالة ويعالجها.

  3. SOAP Intermediary- يستقبل كتل الترويسة ويعالجها.

خدمة ويب مريحة

نقل الحالة التمثيلية (REST) ​​يتعلق بالعلاقة بين العميل والخادم وكيفية معالجة الحالة. بقية العمارة ، يوفر خادم REST الوصول إلى الموارد للعميل. الباقي يتعامل مع قراءة وتعديل أو كتابة الموارد. المعرّف الموحد (URI) يعرّف الموارد التي تحتوي على مستند. هذا سوف يلتقط حالة المورد.

REST أخف من هندسة SOAP. تقوم بتحليل JSON ، وهي لغة يمكن للبشر قراءتها والتي تتيح مشاركة البيانات وتسهيل استخدام البيانات ، بدلاً من XML المستخدمة في هندسة SOAP.

هناك عدة مبادئ لتصميم خدمة الويب المريحة ، وهي:

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

مزايا REST

  • يستخدم تنسيقًا أبسط للرسائل
  • يقدم كفاءة أقوى على المدى الطويل
  • يدعم الاتصال عديم الجنسية
  • استخدم معايير وقواعد HTTP
  • البيانات متاحة كمورد

عيوب REST

  • فشل في معايير خدمة الويب مثل المعاملات الأمنية وما إلى ذلك.
  • طلبات REST غير قابلة للتطوير

مقارنة REST مقابل SOAP

الاختلافات بين خدمات الويب SOAP و REST.

 

خدمة ويب SOAP

بقية خدمة الويب

يتطلب حمولة إدخال ثقيلة مقارنة بـ REST.

REST خفيف الوزن لأنه يستخدم URI لنماذج البيانات.

غالبًا ما يؤدي التغيير في خدمات SOAP إلى تغيير كبير في التعليمات البرمجية من جانب العميل.

لا تتأثر التعليمات البرمجية من جانب العميل بالتغيير في الخدمات في توفير الويب REST.

نوع الإرجاع هو دائمًا نوع XML.

يوفر تنوعًا فيما يتعلق بشكل البيانات التي تم إرجاعها.

بروتوكول رسائل يستند إلى XML

بروتوكول معماري

يتطلب مكتبة SOAP في نهاية العميل.

لا حاجة إلى دعم مكتبة عادةً ما يتم استخدامه عبر HTTP.

يدعم WS-Security و SSL.

يدعم SSL و HTTPS.

يحدد SOAP الأمان الخاص به.

ترث خدمات الويب RESTful إجراءات الأمان من النقل الأساسي.

أنواع سياسات إصدار API

سياسات الإصدار الخاصة بواجهة برمجة التطبيقات هي:

 

سياسات الإصدار الخاص: 

API متاح فقط للاستخدام الداخلي للشركة.


سياسات إصدار الشريك:

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

 

سياسات الإصدار العام:

API للاستخدام العام. توافر سياسات الإصدار متاح للجمهور. مثال: Microsoft Windows API و Apple's Cocoa.

وفي الختام

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

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

شكرا لكم على قراءة هذا المقال. تحقق من مقالتنا على دليل إلى أمن API 2022.