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

نبتة ذات فروع متشابكة

شرح منظومة واجهة برمجة التطبيقات

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

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

ما هي العناصر الرئيسية لمنظومة واجهة برمجة التطبيقات؟

يمكن تقسيم المكونات الرئيسية لمنظومة واجهة برمجة التطبيقات بشكل عام إلى ثلاث فئات رئيسية: التقنيات (واجهات برمجة التطبيقات والبنية التحتية المرتبطة بها)، والأفراد (المزودون والمستهلكون والمجتمع)، والحوكمة (المعايير والسياسات وأنظمة الدعم والأصول).

التقنيات: واجهات برمجة التطبيقات والبنية التحتية الداعمة

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

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

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

تُعد واجهات برمجة التطبيقات حيوية بشكل متزايد للمؤسسات اليوم؛ حيث تمتلك المؤسسات، في المتوسط، أكثر من 600 نقطة نهاية API قيد التشغيل الفعلي، كما أن هناك شركات بأكملها تأسست كواجهات برمجة تطبيقات، بما في ذلك شركات معالجة المدفوعات، وشركات إثراء بيانات البريد الإلكتروني، وشركات الخدمات المالية.  

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

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

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

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

تعمل بوابات واجهة برمجة التطبيقات أيضًا على مركزية المهام الهامة الأخرى، مثل:

  • موازنة التحميل: توزيع حركة المرور لمنع زيادة التحميل على أي خادم واحد.

  • تحديد معدل الطلبات: تقييد عدد الطلبات لكل مستخدم لتقليل مخاطر أنواع معينة من الهجمات، مثل هجمات حجب الخدمة الموزعة (DDoS attacks)، والتي تعتمد على حركة مرور مفرطة لإغراق بروتوكولات الأمان.

  • المصادقة: استخدام أساليب وبروتوكولات التحقق مثل OAuth (التفويض المفتوح) لتعيين رمز مميز، وتمكين الوصول المؤقت والمحدد.

قواعد البيانات

تعد قواعد البيانات جزءاً لا يتجزأ من منظومة واجهات برمجة التطبيقات—فهي تخزن البيانات الخام التي تحتاجها التطبيقات لتعمل. تعمل واجهات برمجة التطبيقات كوسيط وبالتالي تمكّن التطبيقات من التفاعل مع قواعد البيانات بطريقة مستقرة وآمنة. توفر واجهات برمجة التطبيقات الواجهة التي تسمح للتطبيقات بأداء العمليات—مثل الإنشاء أو القراءة أو التحديث أو الحذف (CRUD)—في قاعدة البيانات.

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

التطبيقات والخدمات

تعد التطبيقات هي الواجهة التكنولوجية لمنظومة واجهات برمجة التطبيقات بالكامل؛ فالتطبيقات مثل تطبيقات الهاتف المحمول، أو تطبيقات الويب، أو برامج سطح المكتب هي ما يتفاعل معه المستخدم، سواء كان مستخدماً رقمياً أو بشرياً (بدلاً من التعامل مع الـ API نفسها).

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

الخدمات المصغرة

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

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

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

مسار التكامل المستمر والتسليم المستمر (CI/CD)

تُعدّ مسارات التكامل المستمر/التسليم المستمر (CI/CD) جزءاً من المنظومة لأنها غالباً ما تُستخدم لتطوير واجهات برمجة التطبيقات (APIs) ونشرها وتحديثها.

مسار CI/CD هو سير عمل يقوم بأتمتة عملية كتابة ودمج واختبار ونشر الكود. يمكن للمطورين كتابة الكود بشكل مستقل، وتتبع التغييرات باستخدام أدوات مثل Git، ويتم نقل الكود تلقائياً عبر مسار للاختبار والتحقق. ثم يتم دمج الأكواد التي تم التحقق من صحتها في بيئات الاختبار أو مستودعات مثل GitHub. يعد مسار CI/CD طريقة لتقليل وقت تطوير واجهة برمجة التطبيقات أو البرمجيات وتقليل التكاليف وكشف الأخطاء مبكرًا وتحسين تعاون الفريق.

إنّ مسار التكامُل المستمر والتسليم المستمر (CI/CD) غير مرئي للمستخدم النهائي؛ فهو منهجية شائعة تُستخدم لنقل الكود من مرحلة التطوير إلى النشر، ولتحسين البرمجيات وواجهات برمجة التطبيقات (APIs) باستمرار من خلال تحديثات منتظمة.

بوابة المطور

بوابة المطور هي مركز يحتوي على كل ما قد يحتاجه المطور لفهم واستخدام ودمج وتحسين واجهات برمجة التطبيقات (APIs). إنها جزء أساسي من المنظومة الشاملة لواجهة برمجة التطبيقات. تتضمن بوابة المطور عادةً معظم أو كل ما يلي:

  • وثائق API: هو مستودع لجميع نقاط نهاية واجهة برمجة التطبيقات (API)، وطرق بروتوكول HTTP، ومعلمات الطلب، وأكواد الخطأ، وأمثلة على الطلبات والاستجابات، وبيانات الاعتماد الخاصة بالمصادقة، ومعلومات أخرى حول API.

  • الأدلة والدروس: مجموعة من الوثائق المفيدة للبدء، غالباً ما تتضمن أمثلة وأفضل الممارسات.

  • أدوات تفاعلية: مساحة تجريبية أو بيئة معزولة يمكن للمطورين من خلالها API دون الحاجة إلى كتابة أي أكواد.

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

  • الدعم: مجموعة مختارة من الوثائق المفيدة مثل الأسئلة الشائعة وسجلات التغييرات والمستندات الفنية والندوات عبر الإنترنت وملاحظات الإصدارات ومعلومات الاتصال.
منصة API Management

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

الأشخاص: مقدمو الخدمات، المستهلكون، المجتمع

يمكن أيضًا تقسيم العنصر البشري في منظومة واجهة برمجة التطبيقات إلى ثلاث مجموعات:

مقدمو الخدمات

مزودو واجهة برمجة التطبيقات (API) هم الأشخاص والفرق المسؤولة عن إنشاء ونشر واجهات برمجة التطبيقات التي تمثل جوهر المنظومة. وقد تشمل ما يلي:

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

  • مديرو المنتجات الذين يوجهون فريق تطوير واجهة برمجة التطبيقات، ويطرحون الأسئلة الكبيرة ويجيبون عنها، مثل "لمن هذا؟ "ما الذي يجب أن يفعله؟"، "كيف يتناسب هذا مع بيئة تكنولوجيا المعلومات الحالية لدينا؟"، و "ما هي الميزات التي يجب أن تتوفر فيه؟" غالبا ما يدير مديرو منتجات API الشراكات ويعملون كحلقة وصل بين المطورين والأطراف المعنية.

  • مهندسو عمليات التطوير (DevOps) الذين يساعدون في بناء وأتمتة مسارات التكامل المستمر والتسليم المستمر (CI/CD)، وسير عمل عمليات التطوير المؤتمتة والمستخدمة لتبسيط تقديم واجهات برمجة التطبيقات واختبارها وتحسينها.

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

المستهلكون

هؤلاء هم المطورون الذين يستخدمون واجهات برمجة التطبيقات لدمج التطبيقات والأنظمة وبناء منتجات وخدمات جديدة. يُعتبر مستهلكو واجهة برمجة التطبيقات جزءًا أساسيًا من المنظومة—ففي نهاية المطاف، هذه الفئة هي التي صُممت واجهة برمجة التطبيقات لخدمتها.

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

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

المجتمع

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

  • إنشاء أو اكتشاف حالات استخدام جديدة لواجهة برمجة التطبيقات

  • المراقبة، واكتشاف الأخطاء البرمجية أو المشكلات أو فرص التحسين

  • إنشاء نظام دعم وتوثيق مخصص على منصات مثل Reddit و Stack Overflow و GitHub

  • المساعدة في ترسيخ واستمرار أفضل الممارسات والمعايير الأخرى

  • الترويج لواجهة برمجة التطبيقات بين المطورين والمستخدمين والعملاء الآخرين

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

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

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

فوائد منظومة واجهة برمجة التطبيقات القوية

توفر منظومة واجهة برمجة التطبيقات الناجحة ميزات كبيرة لكل من المؤسسات والمطورين:

ميزات المؤسسات

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

  • نطاق وصول أوسع: يبتكر مطورو الطرف الثالث تكاملات تتيح وصول خدمات المؤسسات إلى منصات ومستخدمين جُدد.

  • التخفيف من انتشار واجهة برمجة التطبيقات (API) العشوائي: تساعد مكتبات API المنظمة والوثائق المصاحبة الفرق على العثور على الخدمات القائمة واستخدامها، مما يمنع إنشاء خدمات وواجهات برمجة تطبيقات مكررة.

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

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

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

ميزات المطور

  • تقليل التعقيد: الوصول إلى وظائف متطورة من خلال واجهات بسيطة دون خبرة عميقة في المجال.

  • التركيز على التميز: التركيز على إنشاء ميزات فريدة بدلاً من التركيز على البنية التحتية للسلع الأساسية.

  • قابلية التركيب: الاستفادة من خدمات من مزودين مختلفين لإنشاء تطبيقات جديدة ومبتكرة.

  • المرونة المهنية: نقل المهارات باستخدام واجهات برمجة التطبيقات الشائعة عبر الشركات والمشاريع.
Dan Nosowitz

Staff Writer, Automation & ITOps

IBM Think

Michael Goodwin

Staff Editor, Automation & ITOps

IBM Think

حلول ذات صلة
®IBM API Connect

يمكنك تطوير جميع أنواع واجهات برمجة التطبيقات (API) وإدارتها وتأمينها والتفاعل معها بسلاسة، أينما وجدت.

استكشف API Connect
حلول التكامل من IBM

عزز أعمالك من خلال الاتصال السلس و الأتمتة باستخدام برنامج منصة التكامل.

استكشف حلول التكامل من IBM
الخدمات الاستشارية ذات الصلة بالتقنيات السحابية

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

استكشاف الاستشارات السحابية
اتخذ الخطوة التالية

تدعم IBM API Connect® جميع أنواع واجهات برمجة التطبيقات (API) الحديثة مع تعزيز الأمان والحوكمة. إمكانيات الذكاء الاصطناعي التوليدي (Gen AI) تعمل على أتمتة المهام اليدوية، مما يوفر الوقت ويساعد على ضمان الجودة. 

  1. استكشف IBM API Connect
  2. استكشف حلول التكامل من IBM®