طريقة إنشاء واجهة برمجة تطبيقات

يونيو 30؜ 2022

ما المقصود بـ API؟

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

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

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

طريقة تطوير API من البداية

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

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

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

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

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

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

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

ما المقصود بـ SOAP؟
يمثل SOAP بروتوكول يستند إلى XML تم تصميمه في الأصل من شركة Microsoft. إن SOAP الذي تم إنشاؤه حول مجموعة من القواعد، ينشئ معايير في المراسلة التي دعمت العديد من التوسعات (تنسيق WS وأمان WS) والأتمتة ومعالجة الأخطاء المُضمنة. يعمل SOAP بشكل أفضل في بيئة موزَّعة، لكن يمكن أن يجعل اعتماده على بنية XML التعليمات البرمجية مُعقدة للغاية.

ما المقصود بـ REST؟
تم تطوير REST باعتبارها بديل أبسط وأيسر لـ SOAP الذي يعمل على مستوى من نقطة إلى نقطة. بصفته نمطًا بنيويًا للبرامج مصممًا خصيصًا لقابلية التوسع الفعَّالة، يقدم REST سلسلة من القيود الموحدة التي تقلل من المعالجة مع توفير المرونة. تقلل الاستجابة السريعة لـ REST من زمن الانتقال عبر تنسيقات رسائل المخرجات المختلفة المستخدمة بواسطة التطبيقات، بما في ذلك JSON وCSV.

هل يجب عليك استخدام REST أو SOAP لـ API؟
ما أفضل معيار لتطبيقك؟ يعتمد ذلك على احتياجاتك. بالنسبة إلى معظم الحالات التي يمكِّن فيها التطبيق الرسائل البسيطة التي تواجه المستخدم، مثل الوسائط المشتركة أو المخرجات من استعلام قاعدة بيانات، تكون واجهات برمجة تطبيقات REST مثالية. يتمتع SOAP بمنحنى تعلم واستخدام أكثر حدة، لكن هذا التعقيد المتأصل يجعله قادرًا على التعامل مع المعاملات الأكثر تعقيدًا، مثل المدفوعات الآمنة.

اختيار أدوات تصميم API

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

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

  1. في وحدة التحكم افتح قائمة التنقل وانقر فوق "خدمات المطورين". تحت "إدارة API"، انقر فوق "البوابات".
  2. في صفحة واجهات برمجة التطبيقات، انقر فوق "تكوين مورد واجهة برمجة التطبيقات" وحدد "الاسم". حمِّل "ملف وصف واجهة برمجة التطبيقات" (يحتوي على وصف واجهة برمجة التطبيقات بلغة مدعومة) و"العلامات".
  3. انقر فوق "إنشاء" لتكوين مورد API جديد.
  4. كتابة التعليمات البرمجية للواجهة الخلفية. باستخدام لغة البرمجة المُفضلة وإطار العمل، يمكنك إنشاء التعليمات البرمجية الخلفية التي تشغِّل واجهة برمجة التطبيقات. يمكن أن تكون هذه عملية مُتكررة تتضمن متعاونين آخرين.
  5. اختبار التعليمات البرمجية للواجهة الخلفية. تتضمن خدمة تطوير واجهة برمجة التطبيقات من Oracle أدوات مختلفة لاختبار كل من خدمات التكامل المستمر (CI) المحلية ومن خلال خدمات التكامل المستمر المتنوعة.
  6. والنشر. أطلق واجهة برمجة التطبيقات واجعلها يسهل الوصول إليها لمنظومات المطورين والشركاء والعملاء والمطورين الداخليين. تتيح بوابة Oracle API مراقبة الاستخدام وإدارة اتصالات واجهة برمجة التطبيقات والأمان والحوكمة..

للحصول على نظرة أعمق على تطوير واجهة برمجة التطبيقات باستخدام حل واجهة برمجة التطبيقات المستند إلى السحابة من Oracle، راجع دليل مطورو واجهة برمجة التطبيقات من Oracle (PDF).

أفضل الممارسات لاختبار واجهات API

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

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

هل مستعد لإنشاء واجهة برمجة التطبيقات واختبارها؟ جرِّب خدمات إدارة واجهة برمجة تطبيقات البنية التحتية من Oracle Cloud مجانًا لتجربة حل إدارة دورة حياة واجهة برمجة التطبيقات الكامل.