ماهي API وأنواعها وأدواتها ومواصفاتها وبروتوكولاتها وأمثلة عليها
الكثير منا رأي اثناء قراءة مقال او موضوع تقني او سمع من أحد الأشخاص المتخصصين عن مصطلح API وهو من الاختصارات التقنية الهامة جداً والشائعة ولكي نفهم المعني البسيط لتلك الحروف ومعناها واجهة برمجة التطبيقات application programming interfaces ، هذا المعني يندرج أسفله العديد من الاستخدامات والأمور الهامة التي سنتعرف عليها في مقالنا هذا ولماذا هو هام ، دعنا نتعمق قليلاً في هذا المجال واذا كنت احد المبرمجين فان هذه المقالة مفيدة جداً لك ، حيث سنقدم لك الأدوات التي تحتاج اليها وفهمها .
ماهي API وأنواعها وأدواتها ومواصفاتها وبروتوكولاتها وأمثلة عليها |
ماهي API وأنواعها وأدواتها ومواصفاتها وبروتوكولاتها وأمثلة عليها
لا تحتاج البرامج أو عناصرها إلى واجهة مستخدم رسومية للتواصل مع بعضها البعض. تتبادل منتجات البرمجيات البيانات والوظائف عبر واجهات يمكن للآلة قراءتها - وهي ما يعرف ب واجهات برمجة التطبيقات (API) .
ما هي واجهة برمجة التطبيقات API ؟
API هو عبارة عن مجموعة من التعليمات البرمجية التي تتيح نقل البيانات بين منتج برمجي واحد وآخر. يحتوي أيضًا على شروط تبادل البيانات هذا.
ايضاً API عبارة عن مجموعة من التعريفات والبروتوكولات لبناء برامج التطبيقات ودمجها .
تتيح واجهات برمجة التطبيقات لمنتجك أو خدمتك التواصل مع المنتجات والخدمات الأخرى دون الحاجة إلى معرفة كيفية تنفيذها. يمكن أن يؤدي ذلك إلى تبسيط تطوير التطبيق وتوفير الوقت والمال. عندما تقوم بتصميم أدوات ومنتجات جديدة - أو إدارة المنتجات الموجودة - تمنحك واجهات برمجة التطبيقات API المرونة ؛ تبسيط التصميم والإدارة والاستخدام ؛ وتوفير فرص للابتكار.
والواجهة التي يتواصل بها هذان التطبيقان هي ما تحدده API
تعد وثائق واجهة برمجة التطبيقات دليلًا للمطورين يتضمن جميع المعلومات الضرورية حول كيفية العمل مع واجهة برمجة التطبيقات واستخدام الخدمات التي توفرها. سنتحدث أكثر عن الوثائق في أحد الأقسام التالية.
تحتوي كل واجهة برمجة تطبيقات ويتم تنفيذها عن طريق استدعاءات الوظائف - عبارات اللغة التي تطلب برنامجًا لأداء إجراءات وخدمات معينة. استدعاءات الوظيفة عبارة عن جمل مكونة من أفعال وأسماء ، على سبيل المثال :
تتيح واجهات برمجة التطبيقات لمنتجك أو خدمتك التواصل مع المنتجات والخدمات الأخرى دون الحاجة إلى معرفة كيفية تنفيذها. يمكن أن يؤدي ذلك إلى تبسيط تطوير التطبيق وتوفير الوقت والمال. عندما تقوم بتصميم أدوات ومنتجات جديدة - أو إدارة المنتجات الموجودة - تمنحك واجهات برمجة التطبيقات API المرونة ؛ تبسيط التصميم والإدارة والاستخدام ؛ وتوفير فرص للابتكار.
تتكون واجهات برمجة التطبيقات API من مكونين :
- المواصفات الفنية التي تصف خيارات تبادل البيانات بين الحلول مع المواصفات التي تم إجراؤها في شكل طلب للمعالجة وبروتوكولات تسليم البيانات .
- واجهة البرنامج مكتوبة على المواصفات التي تمثلها .
والواجهة التي يتواصل بها هذان التطبيقان هي ما تحدده API
تعد وثائق واجهة برمجة التطبيقات دليلًا للمطورين يتضمن جميع المعلومات الضرورية حول كيفية العمل مع واجهة برمجة التطبيقات واستخدام الخدمات التي توفرها. سنتحدث أكثر عن الوثائق في أحد الأقسام التالية.
تحتوي كل واجهة برمجة تطبيقات ويتم تنفيذها عن طريق استدعاءات الوظائف - عبارات اللغة التي تطلب برنامجًا لأداء إجراءات وخدمات معينة. استدعاءات الوظيفة عبارة عن جمل مكونة من أفعال وأسماء ، على سبيل المثال :
- بدء أو إنهاء جلسة
- استعادة أو استرداد الكائنات من الخادم.
استدعاءات الوظائف موصوفة في وثائق API.
تخدم واجهات برمجة التطبيقات أغراضًا عديدة. بشكل عام ، يمكنها تبسيط وتسريع تطوير البرامج. يمكن للمطورين إضافة وظائف (على سبيل المثال ، محرك التوصية ، وحجز الإقامة ، والتعرف على الصور ، ومعالجة الدفع) من مقدمي الخدمات الآخرين إلى الحلول الحالية أو إنشاء تطبيقات جديدة باستخدام خدمات من قبل مزودي خدمات الطرف الثالث. في كل هذه الحالات ، لا يتعين على المتخصصين التعامل مع الكود المصدري ذاته ، في محاولة لفهم كيفية عمل الحل الآخر. إن واجهة برمجة التطبيقات API ببساطة تقوم بربط البرامج والتطبيقات ببرامج اخري مدعومة . بمعنى آخر ، تعمل واجهات برمجة التطبيقات كطبقة ربط بين نظامين ، تخفي التعقيد وتفاصيل العمل الخاصة بالنظام الأخير.
أنواع واجهات برمجة التطبيقات API
تختلف واجهات برمجة التطبيقات حسب التوفر ويعرف أيضًا باسم سياسات الإصدار
فيما يتعلق بسياسات الإصدار ، يمكن أن تكون واجهات برمجة التطبيقات API خاصة ومشتركة وعامة.
واجهات برمجة التطبيقات API الخاصة.
تم تصميم واجهات برامج التطبيقات هذه لتحسين الحلول والخدمات داخل المؤسسة. قد يستخدم المطورون أو الموظفون الداخليون واجهات برمجة التطبيقات هذه لدمج أنظمة أو تطبيقات تكنولوجيا المعلومات الخاصة بالشركة ، أو إنشاء أنظمة جديدة أو تطبيقات مواجهة للعملاء تستفيد من الأنظمة الحالية. حتى إذا كانت التطبيقات متاحة للجمهور ، تظل الواجهة نفسها متاحة فقط لأولئك الذين يعملون مباشرة مع ناشر واجهة برمجة التطبيقات. تسمح الاستراتيجية الخاصة للشركة بالتحكم الكامل في استخدام واجهة برمجة التطبيقات.
واجهات برمجة التطبيقات API المشتركة .
يتم الترويج لواجهات برمجة التطبيقات المشتركة بشكل علني ولكن تتم مشاركتها مع شركاء الأعمال الذين وقعوا اتفاقية مع الناشر. حالة الاستخدام الشائعة لواجهات برمجة التطبيقات المشتركة هي تكامل البرامج بين طرفين. الشركة التي تمنح الشركاء إمكانية الوصول إلى البيانات أو القدرة تستفيد من تدفقات الإيرادات الإضافية. في الوقت نفسه ، يمكنه مراقبة كيفية استخدام الأصول الرقمية المكشوفة ، والتأكد مما إذا كانت حلول الجهات الخارجية التي تستخدم واجهات برمجة التطبيقات الخاصة بها توفر تجربة مستخدم لائقة ، وتحافظ على هوية الشركة في تطبيقاتها.
واجهات برمجة التطبيقات API العامة
تُعرف واجهات برمجة التطبيقات هذه ، التي تُعرف أيضًا بواجهة مطور أو خارجية ، لأي مطورين تابعين لجهات خارجية. يسمح برنامج API العام بزيادة الوعي بالعلامة التجارية وتلقي مصدر دخل إضافي عند تنفيذه بشكل صحيح.
هناك نوعان من واجهات برمجة التطبيقات العامة - مفتوحة (مجانية) وأخرى تجارية. يقترح تعريف Open API أن جميع ميزات واجهة برمجة التطبيقات هذه عامة ويمكن استخدامها بدون شروط وأحكام مقيدة. على سبيل المثال ، من الممكن إنشاء تطبيق يستخدم واجهة برمجة التطبيقات دون موافقة صريحة من مورد واجهة برمجة التطبيقات أو رسوم الترخيص الإلزامية. ينص التعريف أيضًا على أن وصف واجهة برمجة التطبيقات وأي وثائق ذات صلة يجب أن تكون متاحة بشكل مفتوح ، وأنه يمكن استخدام واجهة برمجة التطبيقات بحرية لإنشاء التطبيقات واختبارها.
يدفع مستخدمو واجهة برمجة التطبيقات التجارية رسوم الاشتراك أو يستخدمون واجهات برمجة التطبيقات على أساس الدفع أولاً بأول. من الأساليب الشائعة بين الناشرين تقديم تجارب مجانية ، بحيث يمكن للمستخدمين تقييم واجهات برمجة التطبيقات قبل شراء الاشتراكات.
هناك نوعان من واجهات برمجة التطبيقات العامة - مفتوحة (مجانية) وأخرى تجارية. يقترح تعريف Open API أن جميع ميزات واجهة برمجة التطبيقات هذه عامة ويمكن استخدامها بدون شروط وأحكام مقيدة. على سبيل المثال ، من الممكن إنشاء تطبيق يستخدم واجهة برمجة التطبيقات دون موافقة صريحة من مورد واجهة برمجة التطبيقات أو رسوم الترخيص الإلزامية. ينص التعريف أيضًا على أن وصف واجهة برمجة التطبيقات وأي وثائق ذات صلة يجب أن تكون متاحة بشكل مفتوح ، وأنه يمكن استخدام واجهة برمجة التطبيقات بحرية لإنشاء التطبيقات واختبارها.
يدفع مستخدمو واجهة برمجة التطبيقات التجارية رسوم الاشتراك أو يستخدمون واجهات برمجة التطبيقات على أساس الدفع أولاً بأول. من الأساليب الشائعة بين الناشرين تقديم تجارب مجانية ، بحيث يمكن للمستخدمين تقييم واجهات برمجة التطبيقات قبل شراء الاشتراكات.
واجهات برمجة التطبيقات عن طريق حالات الاستخدام
يمكن تصنيف واجهات برمجة التطبيقات وفقًا للأنظمة التي صممت من أجلها.
واجهات برمجة تطبيقات قاعدة البيانات. تمكن واجهات برمجة التطبيقات لقواعد البيانات من الاتصال بين التطبيق ونظام إدارة قاعدة البيانات. يعمل المطورون مع قواعد البيانات عن طريق كتابة استعلامات للوصول إلى البيانات ، وتغيير الجداول ، وغيرها. تسمح واجهة Drupal 7 Database API ، على سبيل المثال ، للمستخدمين بكتابة استعلامات موحدة لقواعد بيانات مختلفة ، خاصة ومفتوحة المصدر مثل (Oracle ، MongoDB ، PostgreSQL ، MySQL ، CouchDB و MSSQL).
مثال آخر هو واجهة برمجة تطبيقات قاعدة بيانات ORDS ، والتي يتم تضمينها في Oracle REST Data Services.
واجهات برمجة تطبيقات API أنظمة التشغيل
تحدد هذه المجموعة من واجهات برمجة التطبيقات كيفية استخدام التطبيقات لموارد وخدمات أنظمة التشغيل. كل نظام لديه مجموعة من واجهات برمجة التطبيقات، على سبيل المثال، ويندوز API أو لينكس API ( API الفضاء المستعمل النواة و نواة API الداخلي ).
توفر آبل مرجع لواجهة برمجة التطبيقات API لنظامي ماك macOS و iOS في وثائق المطور الخاصة بها . يتم تضمين واجهات برمجة التطبيقات لإنشاء تطبيقات لنظام تشغيل سطح المكتب لماك macOS من آبل في مجموعة Cocoa من أدوات المطور. أولئك الذين ينشئون تطبيقات لنظام تشغيل iOS للأجهزة المحمولة يستخدمون Cocoa Touch - نسخة معدلة من Cocoa.
توفر آبل مرجع لواجهة برمجة التطبيقات API لنظامي ماك macOS و iOS في وثائق المطور الخاصة بها . يتم تضمين واجهات برمجة التطبيقات لإنشاء تطبيقات لنظام تشغيل سطح المكتب لماك macOS من آبل في مجموعة Cocoa من أدوات المطور. أولئك الذين ينشئون تطبيقات لنظام تشغيل iOS للأجهزة المحمولة يستخدمون Cocoa Touch - نسخة معدلة من Cocoa.
واجهات برمجة التطبيقات API عن بعد
تحدد واجهات برمجة التطبيقات عن بعد معايير التفاعل للتطبيقات التي تعمل على أجهزة مختلفة. بمعنى آخر ، يصل أحد منتجات البرامج إلى الموارد الموجودة خارج الجهاز الذي يطلبها ، وهو ما يفسر الاسم. نظرًا لأن تطبيقين موجودين عن بُعد متصلين عبر شبكة اتصالات ، وخاصة الإنترنت ، فإن معظم واجهات برمجة التطبيقات البعيدة تتم كتابتها بناءً على معايير الويب. يعد Java Database Connectivity API و Java Remote Method Invocation API مثالين على واجهات برمجة التطبيقات عن بُعد.
واجهات برمجة تطبيقات الويب. فئة API هذه هي الأكثر شيوعًا. توفر واجهات برمجة تطبيقات الويب بيانات قابلة للقراءة آليًا ونقل الوظائف بين الأنظمة المستندة إلى الويب والتي تمثل بنية خادم العميل . تقدم واجهات برمجة التطبيقات (API) هذه الطلبات بشكل أساسي من تطبيقات الويب والاستجابات من الخوادم التي تستخدم بروتوكول نقل النص التشعبي (HTTP).
يمكن للمطورين استخدام واجهات برمجة تطبيقات الويب لتوسيع وظائف تطبيقاتهم أو مواقعهم. على سبيل المثال ، تأتي Pinterest API مع أدوات لإضافة بيانات Pinterest الخاصة بالمستخدمين مثل اللوحات أو الدبابيس إلى موقع ويب. تمكن واجهة برمجة تطبيقات خرائط جوجل من إضافة خريطة مع موقع المؤسسة.
تستخدم معظم الشركات أكثر من واجهة برمجة تطبيقات واحدة لربط التطبيقات ومشاركة المعلومات. ينتهي الأمر بالبعض إلى أداة إدارة واجهة برمجة التطبيقات لمساعدتهم على التحكم في واجهات برمجة التطبيقات المختلفة وتوزيعها وتحليلها. تعرف على المزيد حول إدارة API في مقالتنا التفصيلية.
مواصفات / بروتوكولات واجهة برمجة التطبيقات API
الهدف من مواصفات API هو توحيد تبادل البيانات بين خدمات الويب. في هذه الحالة ، يعني التوحيد قدرة أنظمة متنوعة ، مكتوبة بلغات برمجة مختلفة و / أو تعمل على أنظمة تشغيل مختلفة ، أو باستخدام تقنيات مختلفة ، للتواصل مع بعضها البعض بسلاسة.
بروتوكول استدعاء الإجراء البعيد (RPC)
قد تلتزم واجهات برمجة تطبيقات الويب بمبادئ تبادل الموارد بناءً على استدعاء الإجراء البعيد. يحدد هذا البروتوكول التفاعل بين التطبيقات المستندة إلى خادم العميل. يطلب أحد البرامج (العميل) بيانات أو وظائف من برنامج آخر (خادم) ، موجود في كمبيوتر آخر على شبكة ، ويرسل الخادم الاستجابة المطلوبة.
يُعرف RPC أيضًا باسم روتين فرعي أو استدعاء دالة. إحدى طريقتين لتنفيذ استدعاء إجراء عن بعد هي SOAP .
بروتوكول الوصول إلى كائن الخدمة (SOAP)
SOAP هو بروتوكول خفيف الوزن لتبادل المعلومات المهيكلة في بيئة لا مركزية وموزعة ، وفقًا لتعريف ميكروسوفت الذي طورته. بشكل عام ، تحتوي هذه المواصفات على قواعد بناء الجملة لرسائل الطلب والاستجابة المرسلة بواسطة تطبيقات الويب. تعمل واجهات برمجة التطبيقات التي تتوافق مع مبادئ SOAP على تمكين رسائل XML بين الأنظمة من خلال HTTP أو بروتوكول نقل البريد البسيط (SMTP) لنقل البريد.
لغة الترميز الموسعة ( XML ) هي تنسيق نصي بسيط ومرن للغاية يستخدم على نطاق واسع لتخزين البيانات وتبادلها عبر الإنترنت أو الشبكات الأخرى. تحدد XML مجموعة من القواعد لترميز المستندات بتنسيق يمكن لكل من البشر والآلات قراءته. لغة الترميز هي مجموعة من الرموز التي يمكن وضعها في النص لتحديد وتسمية أجزاء من المستند النصي. تحتوي المستندات النصية بتنسيق XML على علامات وصفية ذاتية لكائنات البيانات ، مما يجعلها سهلة القراءة.
يستخدم SOAP في الغالب مع البرامج المستندة إلى الويب للمؤسسات لضمان الأمان العالي للبيانات المرسلة. تُفضل واجهات برمجة تطبيقات SOAP بين مزودي بوابات الدفع وإدارة الهوية وحلول إدارة علاقات العملاء ، فضلاً عن الخدمات المالية وخدمات الاتصالات. واجهة برمجة تطبيقات PayPal العامة هي واحدة من واجهات برمجة تطبيقات SOAP المعروفة. يتم استخدامه أيضًا بشكل متكرر لدعم النظام القديم.
نقل الحالة التمثيلية (REST)
تم تقديم مصطلح REST بواسطة عالم الكمبيوتر Roy Fielding في أطروحة في عام 2000. على عكس SOAP ، وهو بروتوكول ، فإن REST هو نمط معماري للبرامج مع ستة قيود لبناء التطبيقات التي تعمل عبر HTTP ، وغالبًا ما تكون خدمات الويب. شبكة الويب العالمية هي أكثر الإدراك والتطبيق شيوعًا لهذا النمط المعماري.
يعتبر REST بديلاً أبسط لـ SOAP ، والذي يجد العديد من المطورين صعوبة في استخدامه لأنه يتطلب كتابة الكثير من التعليمات البرمجية لإكمال كل مهمة واتباع بنية XML لكل رسالة يتم إرسالها. يتبع REST منطقًا آخر لأنه يجعل البيانات متاحة كمصادر. يتم تمثيل كل مورد بواسطة عنوان URL فريد ، ويمكن للمرء أن يطلب هذا المورد من خلال توفير عنوان URL الخاص به.
تسمى واجهات برمجة تطبيقات الويب التي تتوافق مع قيود REST المعمارية RESTful APIs. تستخدم واجهات برمجة التطبيقات طلبات HTTP (أساليب أو أفعال AKA) للعمل مع الموارد: GET و PUT و HEAD و POST و PATCH و CONNECT و TRACE و OPTIONS و DELETE.
تدعم أنظمة RESTful المراسلة بتنسيقات مختلفة ، مثل النص العادي و HTML و YAML و XML و JSON ، بينما يسمح SOAP فقط بتنسيق XML. تعد القدرة على دعم تنسيقات متعددة لتخزين البيانات وتبادلها أحد الأسباب التي تجعل REST هو الخيار السائد لبناء واجهات برمجة تطبيقات عامة هذه الأيام.
يوفر عمالقة وسائل التواصل الاجتماعي وشركات السفر واجهات برمجة تطبيقات خارجية لتحسين ظهور علامتهم التجارية بشكل أكبر. يحتوي تويتر على العديد من واجهات برمجة التطبيقات RESTful ؛ لدى Expedia واجهات برمجة تطبيقات SOAP و RESTful لشركائها.
JavaScript Object Notation ( JSON ) هو تنسيق نصي خفيف الوزن وسهل التحليل لتبادل البيانات. يعتمد تركيبها على مجموعة فرعية من ECMA-262 الإصدار الثالث . يحتوي كل ملف JSON على مجموعات من أزواج الاسم / القيمة وقوائم القيم المرتبة. نظرًا لأن هذه هياكل بيانات عالمية ، يمكن استخدام التنسيق مع أي لغة برمجة.
gRPC
gRPC هو إطار عمل لواجهة برمجة التطبيقات API عالمي مفتوح المصدر تم تصنيفه أيضًا ضمن RPC. على عكس SOAP ، يعد gRPC أحدث كثيرًا وقد تم إصداره للجمهور في عام 2015 بواسطة جوجل . باستخدام gRPC ، يمكن لتطبيق العميل استدعاء الأساليب مباشرةً من تطبيق خادم موجود على كمبيوتر مختلف كما لو كان كائنًا محليًا. هذا يجعل من السهل إنشاء الخدمات والتطبيقات الموزعة.
مثل SOAP و REST ، فإن طبقة النقل لـ gRPC هي HTTP. ومع ذلك ، على غرار RCP ، تسمح gRPC للمطورين بتحديد أي نوع من استدعاءات الوظائف ، بدلاً من الاختيار من الخيارات المحددة مسبقًا مثل PUT و GET في حالة REST.
بشكل افتراضي ، تستخدم gRPC المخازن المؤقتة للبروتوكول بدلاً من JSON أو XML كلغة تعريف الواجهة (IDL) لتسلسل البيانات المنظمة. هنا ، يحتاج المطور أولاً إلى تحديد بنية البيانات التي يريد إجراء تسلسل لها. بمجرد تحديد هياكل البيانات ، فإنها تستخدم برنامج التحويل البرمجي المؤقت للبروتوكول لإنشاء فئات الوصول إلى البيانات بلغة البرمجة التي تختارها. ثم يتم ضغط البيانات وتسلسلها بتنسيق ثنائي في وقت التشغيل.
GraphQL
أدت الحاجة إلى تطوير أسرع للمميزات ، وتحميل بيانات أكثر كفاءة بسبب زيادة الاعتماد علي الأجهزة المحمولة ، وتعدد العملاء ، إلى جعل المطورين يبحثون عن طرق أخرى لهندسة البرامج. تم إنشاء GraphQL في البداية بواسطة فيسبوك في عام 2012 للاستخدام الداخلي ، وهي REST الجديدة مع مؤسسات مثل Shopify و Yelp و GitHub و Coursera و The New York Times التي تستخدمها لبناء واجهات برمجة التطبيقات.
GraphQL هي لغة استعلام لواجهات برمجة التطبيقات. يسمح للعميل بتفصيل البيانات الدقيقة التي يحتاجها ويبسط تجميع البيانات من مصادر متعددة ، بحيث يمكن للمطور استخدام استدعاء API واحد لطلب جميع البيانات المطلوبة. ميزة أخرى خاصة لـ GraphQL هي أنها تستخدم نظام كتابة لوصف البيانات.
تتحكم التطبيقات التي تستخدم GraphQL في البيانات التي تحتاجها لجلبها من الخادم ، مما يسمح لها بالعمل بسرعة حتى عندما يكون اتصال الهاتف المحمول بطيئًا.
وثائق واجهة برمجة التطبيقات API
بغض النظر عن عدد الفرص التي توفرها واجهة برمجة التطبيقات API لإنشاء منتجات برمجية أو توسيعها ، فإنها ستظل جزءًا غير قابل للاستخدام من التعليمات البرمجية إذا لم يفهم المطورون كيفية التعامل معها. إن وثائق API المكتوبة والمنظمة جيدًا والتي تشرح كيفية الاستخدام الفعال لواجهة برمجة التطبيقات ودمجها بطريقة سهلة الفهم ستجعل المطور سعيدًا ومتشوقًا للتوصية بواجهة برمجة التطبيقات للتعامل معها .
تعد وثائق API دليلًا مرجعيًا يحتوي على جميع المعلومات المطلوبة حول API ، بما في ذلك الوظائف والفئات وأنواع الإرجاع والوسيطات.
توفر عناصر المحتوى العديدة توثيقًا جيدًا ، مثل :
- دليل البدء السريع
- معلومات المصادقة
- تفسيرات لكل استدعاء API (طلب)
- أمثلة لكل طلب وإرجاع مع وصف استجابة ورسائل خطأ وما إلى ذلك.
- عينات من التعليمات البرمجية للغات البرمجة الشائعة مثل Python أو Java أو JavaScript أو PHP ؛
- دروس
- أمثلة SDK (في حالة توفر حزم SDK) توضح كيفية الوصول إلى المورد ، وما إلى ذلك.
قد يكون التوثيق ثابت و تفاعلي. يسمح الأخير بتجربة واجهات برمجة التطبيقات ورؤية نتائج الإرجاع وعادة ما يتكون من عمودين: الإنسان والآلة. يحتوي العمود البشري على أوصاف API ، والجهاز يحتوي على وحدة تحكم لإجراء المكالمات ويحتوي على معلومات يهتم بها العملاء والخوادم عند اختبار API .
أمثلة على واجهات برمجة التطبيقات API
فيما يلي بعض الأمثلة على واجهات برمجة التطبيقات المعروفة التي تستخدم بروتوكولات ومواصفات مختلفة. تحقق من وثائقهم للحصول على مزيد من المعلومات والمراجع.
خرائط جوجل. ليس سراً أن جوجل من بين عمالقة التكنولوجيا ، وقد وضعوا المعايير في طريقة عمل الشركات الأخرى. تستخدم معظم مواقع الويب التي تحتوي على خريطة متكاملة واجهات API لخرائط جوجل . على سبيل المثال ، تستخدم واجهة برمجة تطبيقات الاتجاهات من جوجل طلب HTTP لإرجاع اتجاهات بتنسيق XML أو JSON بين المواقع الجغرافية.
فولكان. Vulkan هي واجهة برمجة تطبيقات متعددة المنصات تعمل على مستوى نظام التشغيل. إنه يمكّن المطورين من إنشاء رسومات عالية الجودة في الوقت الفعلي في التطبيقات ويقود الاتصال بين التطبيق ووحدة المعالجة الرسومية. تحقق من وثائق Vulkan API إذا كنت مهتمًا.
Skyscanner Flight Search. Skyscanner هي عبارة عن منصة بحث metasearch تتيح للمسافرين البحث عن الرحلات الجوية بأفضل الأسعار من قاعدة بيانات Skyscanner للأسعار. أيضًا ، توفر Skyscanner لشركائها التابعين واجهة برمجة تطبيقات RESTful تدعم كلاً من XML و JSON كتنسيقات تبادل البيانات. من أجل تحسين الأمان ، يشجعون الشركاء على استخدام بروتوكول HTTPS فقط لتقديم الطلبات. يمكنك التحقق من وثائقهم هنا.
الطقس هذا مزود مجاني لمعلومات تحديد الموقع الجغرافي والطقس مع الكثير من واجهات برمجة التطبيقات المختلفة التي تتراوح من توقعات الطقس ، وبحث IP ، والرياضة ، وعلم الفلك ، وتحديد الموقع الجغرافي ، والمنطقة الزمنية. يوفر الوصول إلى البيانات الجغرافية والطقس باستخدام واجهة برمجة تطبيقات JSON / XML RESTful. يمكن للمطورين استخدام HTTP أو HTTPS لطلب واجهة برمجة التطبيقات. يزودون المطورين بوثائق مفصلة حول كيفية استخدام جميع واجهات برمجة التطبيقات الخاصة بهم.
توافر Sabre Air. هذا هو Sabre SOAP API المستخدم للبحث عن الرحلات الجوية ومعلومات التوفر المقابلة لتواريخ وأصول ووجهات معينة. نظرًا لأنه SOAP API ، فإنه يستخدم XML كتنسيق تبادل البيانات ، وبروتوكولات HTTP أو HTTPS للطلبات.
Yelp API. هذه واجهة برمجة تطبيقات GraphQL تقدم للمستخدمين توصيات ومراجعات لأفضل المطاعم ، والأشياء التي يمكن القيام بها ، والحياة الليلية ، والمزيد. يستخدم طريقة طلب HTTP للوصول إلى البيانات من الخوادم. تتصل واجهة برمجة التطبيقات بمصادر البيانات من خلال نقاط النهاية ، والتي يمكن للمطورين إضافتها إلى تطبيقاتهم. يستخدم JSON كتنسيق تبادل البيانات.
كلمة أخيرة عن واجهة برمجة التطبيقات API
يكون دور واجهات برمجة التطبيقات أكبر بكثير إذا نظرنا إليها ليس فقط من زاوية تطوير البرمجيات ولكن أيضًا من زاوية التعاون التجاري. هذه الواجهات المقروءة آليًا لتبادل الموارد تشبه خدمات التوصيل التي تعمل بشكل غير مباشر وتمكن الاتصال التكنولوجي المطلوب. وفقًا لتقرير حالة تكامل API الرابع لعام 2020 ، وجد 83 بالمائة من المشاركين تكامل واجهة برمجة التطبيقات "أمرًا بالغ الأهمية" لأعمالهم والبنى التحتية لتكنولوجيا المعلومات.
في هذا الصدد ، تتمثل المهمتان الرئيسيتان لصانعي القرار والمطورين في اختيار واجهة برمجة التطبيقات التي تعمل لتلبية احتياجات العمل المحددة للشركة وفهم كيفية استخدامها بفعالية.
ليست هناك تعليقات:
يمكنك إضافة الملاحظات او الإستفسار عن محتوي المشاركة او اضافة معلومة جديدة لم يتم التطرق اليها ، يمنع اضافة اية روابط علي سبيل الدعاية