ما المقصود بواجهة برمجة التطبيقات (API)؟

9 أبريل 2024

المؤلفين

Michael Goodwin

Editorial lead, Automation & ITOps

ما المقصود بواجهة برمجة التطبيقات (API)؟

تعد API أو واجهة برمجة التطبيقات هي مجموعة من القواعد أو البروتوكولات التي تمكّن تطبيقات البرامج من التواصل مع بعضها البعض لتبادل البيانات والميزات والوظائف.

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

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

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

منظر جوي للطرق السريعة

كن مطلعًا على آخر أخبار السحابة


احصل على نشرة Think الإخبارية الأسبوعية للحصول على إرشادات الخبراء حول تحسين الإعدادات متعددة السحابة في عصر الذكاء الاصطناعي.

كيف تعمل واجهات برمجة التطبيقات (API)؟

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

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

  • عندما ينقر المشتري على زر الدفع، يتم إرسال استدعاء من واجهة برمجة التطبيقات لاسترداد المعلومات. هذا هو الطلب. تتم معالجة هذا الطلب من التطبيق إلى خادم الويب من خلال معرّف الموارد الموحّد (URI) الخاص بواجهة برمجة التطبيقات (API) ويتضمن فعل الطلب والعناوين وأحياناً نص الطلب.
     

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

  • يرسل الخادم استجابة إلى واجهة برمجة التطبيقات بالمعلومات المطلوبة.
     

  • تنقل واجهة برمجة التطبيقات (API) البيانات إلى التطبيق الذي أصدر الطلب الأولي، وهو في هذه الحالة موقع الويب للمنتج.

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

أكاديمية الذكاء الاصطناعي

تحقيق جاهزية الذكاء الاصطناعي باستخدام التنقية السحابية الهجينة

وقد صُمم المنهج، الذي يقوده كبار قادة الفكر لدى IBM، لمساعدة قادة الأعمال على اكتساب المعرفة اللازمة لتحديد أولويات استثمارات الذكاء الاصطناعي التي يمكن أن تدفع عجلة النمو.

أنواع واجهات برمجة التطبيقات

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

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

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

اليوم، معظم واجهات برمجة التطبيقات هي من نوع واجهات برمجة تطبيقات الويب. واجهات برمجة تطبيقات الويب هي نوع من واجهات برمجة التطبيقات عن بُعد (بمعنى أن واجهة برمجة التطبيقات تستخدم بروتوكولات لمعالجة الموارد الخارجية) التي تعرض بيانات التطبيق ووظائفه عبر الإنترنت.

فيما يلي الأنواع الأربعة الرئيسية لواجهات برمجة تطبيقات الويب:

واجهات برمجة التطبيقات المفتوحة

Open APIs هي واجهات برمجة تطبيقات مفتوحة المصدر التي يمكنك الوصول إليها باستخدام بروتوكول HTTP. وتُعرف أيضًا باسم واجهات برمجة التطبيقات العامة، وقد حددت هذه الواجهات نقطة نهاية واجهة برمجة التطبيقات وتنسيقات الطلبات والاستجابة.

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

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

واجهات برمجة التطبيقات الداخلية

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

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

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

أنواع أخرى من واجهات برمجة التطبيقات

تشمل الأنواع الأقل شيوعًا من واجهات برمجة التطبيقات (APIs) ما يلي:

  • واجهات برمجة تطبيقات بيانات (أو قواعد بيانات)، تُستخدم لربط التطبيقات بأنظمة إدارة قواعد البيانات

  • واجهات برمجة تطبيقات نظام التشغيل (أو المحلية)، تُستخدم لتحديد كيفية استخدام التطبيقات لخدمات وموارد نظام التشغيل

  • واجهات برمجة التطبيقات البعيدة، تُستخدم لتحديد كيفية تفاعل التطبيقات على الأجهزة المختلفة

أمثلة على واجهة برمجة التطبيقات

نظرًا لأن واجهات برمجة التطبيقات (APIs) تتيح للمؤسسات إمكانية فتح صلاحية الوصول إلى مواردها مع الحفاظ على الأمن والتحكم، فقد أصبحت جانبًا قيّمًا من جوانب الأعمال الحديثة والتطبيقات الشخصية.

فيما يلي بعض الأمثلة على واجهة برمجة التطبيقات (API) التي غالباً ما يواجهها المستخدمون:

تسجيلات الدخول العامة

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

إنترنت الأشياء (IoT)

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

مقارنات حجوزات السفر

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

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

تطبيقات التنقل

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

وسائل التواصل الاجتماعي

تستخدم شركات وسائل التواصل الاجتماعي واجهات برمجة التطبيقات (APIs) للسماح للكيانات الأخرى بمشاركة المحتوى المعروض على تطبيقات وسائل التواصل الاجتماعي وتضمينه في مواقعها الخاصة. على سبيل المثال، تُمكِّن واجهة برمجة تطبيقات Instagram الشركات من تضمين شبكة Instagram الخاصة بهم على موقعهم الإلكتروني وتحديث الشبكة تلقائيًا عند إضافة المستخدمين منشورات جديدة.

تطبيقات البرمجيات كخدمة (SaaS)

تُعد واجهات برمجة التطبيقات جزءًا لا يتجزأ من نمو منتجات البرمجيات كخدمة (SaaS). غالبًا ما تتضمن منصات مثل CRM (أدوات إدارة علاقات العملاء) العديد من واجهات برمجة التطبيقات المدمجة التي تتيح للشركات التكامل مع التطبيقات التي تستخدمها بالفعل، مثل تطبيقات المراسلة ووسائل التواصل الاجتماعي والبريد الإلكتروني.

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

بروتوكولات واجهة برمجة التطبيقات والأنماط البنائية واللغات

في السابق، كان مصطلح واجهة برمجة التطبيقات (API) يُشير إلى واجهة متصلة بتطبيق مكتوب بإحدى لغات البرمجة منخفضة المستوى مثل JavaScript. أما اليوم، فتتنوع واجهات برمجة التطبيقات الحديثة من حيث بنيتها وتنسيقات البيانات التي تستخدمها. وغالبًا ما تُبنى هذه الواجهات للعمل عبر بروتوكول HTTP، ما يجعلها صديقة للمطورين، وسهلة الوصول، ومفهومة على نطاق واسع من قِبل التطبيقات المكتوبة بلغات مثل Java وRuby وPython وغيرها الكثير.

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

SOAP (بروتوكول الوصول البسيط إلى الكائنات)

بروتوكول الوصول البسيط إلى الكائنات (SOAP) عبارة عن مواصفات بروتوكول مراسلة خفيف قائم على XML يمكّن نقاط النهاية من إرسال واستقبال البيانات من خلال مجموعة من بروتوكولات الاتصال بما في ذلك SMTP (بروتوكول نقل البريد البسيط) وHTTP (بروتوكول نقل النص التشعبي). يعمل SOAP على نحو مستقل، مما يسمح لواجهات برمجة تطبيقات SOAP بمشاركة المعلومات بين مكونات التطبيقات أو البرامج التي تعمل في بيئات مختلفة أو مكتوبة بلغات مختلفة.

استدعاء الإجراء عن بُعد (RPC)

استدعاء الإجراء عن بُعد (RPC) هو بروتوكول يوفر نموذج الاتصالات عالي المستوى المستخدم في نظام التشغيل. يفترض استدعاء الإجراء عن بُعد وجود بروتوكول نقل منخفض المستوى، مثل بروتوكول التحكم في الإرسال/بروتوكول الإنترنت (TCP/IP) أو بروتوكول مخطط بيانات المستخدم (UDP)، لنقل بيانات الرسالة بين البرامج المتصلة.

يقوم استدعاء الإجراء عن بُعد بتنفيذ نظام اتصالات منطقي من عميل إلى خادم مصمم خصيصاً لدعم تطبيقات الشبكة. يمكّن بروتوكول استدعاء الإجراء عن بُعد المستخدمين من العمل مع الإجراءات البعيدة كما لو كانت الإجراءات محلية.1

بروتوكول XML-RPC (استدعاء الإجراء عن بُعد القائم على XML)

يعتمد بروتوكول XML-RPC على تنسيق XML محدد لنقل البيانات. يعد بروتوكول XML-RPC أقدم من SOAP، ولكنه أبسط، وخفيف نسبيًا من حيث أنه يستخدم الحد الأدنى من النطاق الترددي.

JSON-RPC

تمامًا مثل XML-RPC، فإن JSON-RPC هو استدعاء إجراء عن بُعد، يستخدم JSON (تدوين كائنات JavaScript) بدلاً من XML. JSON هو تنسيق خفيف لتبادل البيانات سهل التحليل ويستخدم أزواج أسماء/قيم وقوائم مرتبة من القيم. نظرًا لأن JSON يستخدم بنى بيانات عامة، فيمكن استخدامه مع أي لغة برمجة.

gRPC

gRPC هو عبارة عن إطار عمل استدعاء إجراء عن بُعد (RPC) عالي المستوى، تم تطويره في البداية بواسطة Google. يستخدم gRPC بروتوكول الشبكة HTTP/2 وتنسيق بيانات المخازن المؤقتة للبروتوكول ويُستخدم عادةً لربط الخدمات في بنية الخدمات المصغرة.

WebSocket

تتيح واجهات برمجة تطبيقات WebSocket الاتصال ثنائي الاتجاه بين العميل والخادم. لا يتطلب هذا النوع من واجهة برمجة التطبيقات إنشاء اتصال جديد لكل اتصال—فبمجرد إنشاء الاتصال، فإنه يسمح بالتبادل المستمر. وذلك يجعل واجهات برمجة تطبيقات WebSocket مثالية للاتصال في الوقت الفعلي.

REST (نقل الحالة التمثيلية)

REST هي مجموعة من مبادئ بنية واجهة برمجة تطبيقات الويب. واجهات برمجة تطبيقات REST—والمعروفة أيضًا باسم RESTful APIs—هي واجهات برمجة تطبيقات تلتزم بقيود بنية معينة لـ REST. تستخدم واجهات برمجة تطبيقات REST طلبات HTTP مثل GET وPUT وHEAD وDELETE للتفاعل مع الموارد. تتيح مجموعة مبادئ REST البيانات على شكل موارد، حيث يتم تمثيل كل مورد بـ URI فريد من نوعه. يقوم العملاء بطلب المورد من خلال توفير URI الخاص به.

تتميز واجهات برمجة تطبيقات REST بأنها بلا حالة—فهي لا تحفظ بيانات العميل بين الطلبات. من الممكن إنشاء واجهات برمجة تطبيقات RESTful مع بروتوكولات SOAP، لكن الممارسين عادةً ما ينظرون إلى المعيارين على أنهما مواصفات متنافسة.

GraphQL

GraphQL هي لغة استعلام مفتوحة المصدر وبيئة تشغيل على الخادم تُحدّد كيفية تفاعل العملاء مع واجهات برمجة التطبيقات (APIs).GraphQL تُتيح GraphQL للمستخدمين إرسال طلبات API بعدد قليل من الأسطر فقط، بدلاً من الاضطرار إلى الوصول إلى نقاط نهاية معقّدة تحتوي على العديد من المعلمات. وتمكّن هذه القدرة من إنشاء وتنفيذ استعلامات واجهات برمجة تطبيقات بشكل أسهل، لا سيما في الحالات المعقّدة أو المحددة التي تستهدف موارد متعددة.

REST مقابل SOAP

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

غالباً ما يعتبر REST بديلاً أبسط لبروتوكول SOAP لأنه خفيف الوزن ومرن وشفاف وسهل الاستخدام نسبياً؛ حيث يتطلب SOAP من المستخدمين كتابة المزيد من التعليمات البرمجية لإكمال كل مهمة أكثر مما يتطلبه REST.

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

تدعم أنظمة RESTful المراسلة بتنسيقات مختلفة، مثل النص العادي وHTML وYAML وXML وJSON، بينما SOAP تسمح فقط بتنسيق XML. لكل منها نقاط قوته، وقد يعتمد "الاختيار الصحيح" على حالة الاستخدام. ومع ذلك، تعد القدرة على دعم تنسيقات متعددة لتخزين البيانات وتبادلها أحد الأسباب التي تجعل REST خيارًا سائدًا لبناء واجهات برمجة التطبيقات العامة.

REST مقابل GraphQL

GraphQL هي لغة استعلام مفتوحة المصدر وبيئة تشغيل واجهة برمجة تطبيقات (API) طورتها كانت شركة Facebook داخليًا في عام 2012 قبل أن تصبح مفتوحة المصدر في عام 2015. كل من GraphQL وREST عديمتا الحالة (Stateless)، وتعملان وفق نموذج العميل/الخادم، وتستخدمان HTTP. وتُعالج GraphQL بعض قيود REST، على سبيل المثال: توفير القدرة على استهداف الموارد المطلوبة بدقة أكبر من خلال طلب واحد فقط.

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

ولا تُعد واجهات REST أو GraphQL متفوّقة بطبيعتها، بل هما أداتان مختلفتان ومناسبتان لمهام مختلفة.

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

تتيح واجهات برمجة التطبيقات GraphQL إمكانية جلب البيانات على نحوٍ أكثر مرونة وكفاءة، ما يُمكن أن يُحسِّن أداء النظام وسهولة الاستخدام للمطورين. وتجعل هذه الميزات GraphQL مفيدة بشكل خاص لبناء واجهات برمجة التطبيقات في البيئات المعقدة ذات متطلبات الواجهة الأمامية سريعة التغير.4

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

واجهات برمجة التطبيقات مقابل خدمات الويب

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

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

تطوير واجهات برمجة التطبيقات والخدمات المصغرة وتطوير السحابة الأصلية

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

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

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

تعمل واجهات برمجة التطبيقات على تبسيط تصميم وتطوير التطبيقات والخدمات الجديدة وتكامل وإدارة التطبيقات والخدمات الحالية. كما أنها تقدم أيضًا ميزة كبيرة للمطورين والمؤسسات على نطاق أوسع.

تعزيز التعاون

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

تسريع وتيرة الابتكار

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

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

تسييل البيانات

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

عندما أطلقت AccuWeather بوابة الخدمة الذاتية للمطوِّرين الخاصة بها لبيع مجموعة واسعة من حزم واجهات برمجة التطبيقات. استغرق الأمر 10 أشهر فقط لجذب 24,000 مطور، وبيع 11,000 مفتاح من مفاتيح واجهة برمجة التطبيقات. وقد ساعد هذا التوجّه في بناء مجتمع نشط حول حلول الشركة.

أمن النظام

تفصل واجهات برمجة التطبيقات بين التطبيق الذي يُرسل الطلب والبنية التحتية للخدمة التي تستجيب له، وتوفّر طبقات من الأمان أثناء عملية التواصل بين الطرفين. على سبيل المثال، تتطلب استدعاءات واجهة برمجة التطبيقات (API) عادةً بيانات اعتماد للمصادقة. ويمكن استخدام رؤوس HTTP أو ملفات تعريف الارتباط (Cookies) أو سلاسل الاستعلام (Query Strings) لتوفير أمان إضافي أثناء تبادل البيانات. كما يمكن أن تعمل بوّابة واجهة برمجة التطبيقات API Gateway على التحكم في الوصول لتقليل التهديدات الأمنية إلى الحد الأدنى.

أمان وخصوصية المستخدم

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

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

حلول ذات صلة
IBM webMethods

يمكنك دمج تطبيقاتك وأتمتة العمل باستخدام منصة السحابة المتعددة الهجينة IBM webMethods.

استكشف webMethods
حلول وبرامج التكامل

أطلق العنان لإمكانات الأعمال مع حلول التكامل من IBM، وقم بربط التطبيقات والأنظمة للوصول إلى البيانات الحساسة بسرعة وأمان.

استكشف حلول التكامل السحابي
خدمات الاستشارات السحابية 

أطلق العنان للقدرات الجديدة وحفِّز مرونة الأعمال من خلال خدمات الاستشارات السحابية من IBM. اكتشف كيفية المشاركة في إنشاء الحلول وتسريع التحول الرقمي وتحسين الأداء من خلال إستراتيجيات السحابة الهجينة والشراكات مع الخبراء.

الخدمات السحابية
اتخِذ الخطوة التالية

تمكَّن من تبسيط رحلة التحول الرقمي الخاصة بك باستخدام أدوات التكامل القوية. اكتشف كيف يمكن لحلول IBM الرائدة توصيل تطبيقات الأعمال الخاصة بك، وأتمتتها، وتأمينها.

البدء باستخدام عمليات التكامل استكشف الحلول المتخصصة
الحواشي

1Remote Procedure Call”, ibm.com, 3 November 2023.

2What is GraphQL”, Chrystal R. China, ibm.com, 8 December 2023.

3
Comparing REST and SOAP”, ibm.com, 5 March 2021.

4GraphQL vs. REST API: What’s the difference?”, Chrystal R. China, ibm.com, 29 March 2024.