يونيو 30 2022
المقصود بـ API، وما الإرشادات الخاصة ببناء واحدة بنجاح؟ تُمثل واجهة برمجة التطبيقات (API) مجموعة من وظائف البرمجة والأدوات والبروتوكولات التي تسمح للتطبيقات الخارجية بالوصول إلى ميزات أو بيانات المنصة أو نظام التشغيل أو التطبيق أو الخدمة والتفاعل معها. تفتح واجهات برمجة التطبيقات الفعَّالة الباب أمام مشاركة البيانات والتعاون بشكل أكبر، مما ينشئ منظومة يمكن فيها لأجزاء مختلفة من البرامج التواصل مع بعضها بعضًا لتقديم وظائف الأعمال. تُعد واجهات برمجة التطبيقات مُكونًا أساسًا للتطبيقات الحديثة والبنى السحابية الأصلية القائمة على الخدمات الصغيرة؛ إذ تنشئ القنوات الرئيسة للخدمات المختلفة للتواصل مع بعضها بعضًا وتقديم تجارب حديثة.
يتطلب تصميم واجهات برمجة التطبيقات الناجحة وتطويرها وتوزيعها الاستفادة من مجموعة من أفضل الممارسات. من خلال الالتزام بأفضل الممارسات هذه، تضمن العملية الوصول الآمن وسهولة الاستخدام من المطورين والتطبيقات على حد سواء. تشمل أفضل الممارسات هذه ما يلي:
يعتمد إنشاء واجهة برمجة التطبيقات إلى حد كبير على عوامل محددة تتعلق بكل من المصدر والتطبيق (التطبيقات) الخارجي الذي يتم ربطه بهذا المصدر. فيما يلي بعض الأسئلة التي يجب طرحها عند تخطيط عملية تطوير واجهة برمجة التطبيقات.
ما أهدافك؟
بالنسبة إلى أي نوع من المشروعات، فإن أفضل مكان للبدء به هو دائمًا في الصورة الشاملة: تحديد أهدافك وفهمها. يكمُن الغرض من واجهة برمجة التطبيقات الخاصة بك في إلقاء الضوء على هذا المشروع. ما المعلومات التي يتم تبادلها من خلال API؟ كيف يتم استخدامها أو تقديمها؟ تتضمن العناصر الأخرى التي يجب وضعها في الاعتبار فهم الجمهور المستهدف للتطبيق واحتياجاته.
ما القيود المفروضة عليك؟
يكمن الجانب الآخر من أهداف مشروعك في القيود على المشروع. يعد تطبيق منظور عملي على التطوير خطوة ضرورية، لذلك؛ يجب أن يكون لديك فهم جيد لقيود الموارد والجدول الزمني الخاصة بك. يوجد عامل آخر يجب مراعاته: أي قيود تقنية، مثل المخاوف الأمنية، والتأثير على موارد الأجهزة، ومتطلبات الأداء يجب أن تكون مصدر قلق.
ما بنيتك؟
عندما يتعلق الأمر بتصميم واجهة برمجة التطبيقات من البداية، يكون للمطورين العديد من نقاط البداية للاختيار من بينها. تكون كل من Python وJava وJavaScript وC# واللغات الأخرى خيارات قادرة على تطوير واجهة برمجة التطبيقات. تتضمن العوامل الأخرى التي يجب دمجها في اعتبارات التصميم لديك إمكانية الاستخدام وقابلية التوسع (مقترنة باحتياجات الموارد) والأمان. يُعد هذا الأخير مهمًا بشكل خاص، إذ تعمل واجهات برمجة التطبيقات بصفتها جسور بين التطبيقات. عند قيامها بذلك، يجب على كلا الجانبين حماية بياناتهما بشكل صحيح. تكون واجهة برمجة التطبيقات ذات الثغرات الأمنية مُتاحة للاستغلال، مثل إدخال التعليمات البرمجية وتعرض البيانات.
مع هذه الأسئلة ذات الصورة الشاملة، يمكن تحديد الإرشادات ويمكن للمطورين الغوص بشكل أعمق في عملية إنشاء واجهة برمجة التطبيقات من البداية.
يتعلق أحد القرارات الرئيسة عند تصميم واجهة برمجة التطبيقات بطريقة وصول التطبيق إلى خدمات الويب. يمكن أن يكون كل من بروتوكول الوصول إلى الكائنات للأنماط المعمارية للبرامج البسيطة (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 بمنحنى تعلم واستخدام أكثر حدة، لكن هذا التعقيد المتأصل يجعله قادرًا على التعامل مع المعاملات الأكثر تعقيدًا، مثل المدفوعات الآمنة.
تختلف الأسس الخاصة ببناء واجهة برمجة التطبيقات اعتمادًا على الأدوات التي يختارها فريق التطوير. تمكّنك حلول واجهة برمجة تطبيقات من البنية التحتية من Oracle Cloud (OCI) من تصميم واجهات برمجة التطبيقات وتطويرها بسهولة باستخدام مجموعة أدوات كاملة تتيح النمذجة الأولية السريعة والتحقق منها، على أساس مواصفات OpenAPI. باستخدام OCI، يمكن للمستخدمين الوصول إلى مخطط واجهة برمجة التطبيقات أو Swagger لتصميم واجهات برمجة التطبيقات لديهم. بالإضافة إلى ذلك، يمكن إنشاء واجهات برمجة التطبيقات من البداية أو من القوالب لتسريع عملية التطوير.
دعونا نلقي نظرة عن كَثب على عملية تطوير واجهة برمجة التطبيقات على OCI. في هذا المثال، ننشئ مورد API (اختياريًا مع وصف API تم تكوينه من ملف وصف API الذي تم تحميله) باستخدام وحدة تحكم OCI. اتبع الخطوات بنفسك من خلال التسجيل للحصول على حساب OCI مجاني.
للحصول على نظرة أعمق على تطوير واجهة برمجة التطبيقات باستخدام حل واجهة برمجة التطبيقات المستند إلى السحابة من Oracle، راجع دليل مطورو واجهة برمجة التطبيقات من Oracle (PDF).
يعد الاختبار الشامل لواجهة برمجة التطبيقات خطوة ضرورية لضمان الإطلاق السَلس والعمليات المستمرة. لمساعدتك في نشر واجهات برمجة التطبيقات التي تلبي احتياجات عملك، إليك قائمة قصيرة بأفضل ممارسات واجهة برمجة التطبيقات الفعَّالة لاتباعها:
هل مستعد لإنشاء واجهة برمجة التطبيقات واختبارها؟ جرِّب خدمات إدارة واجهة برمجة تطبيقات البنية التحتية من Oracle Cloud مجانًا لتجربة حل إدارة دورة حياة واجهة برمجة التطبيقات الكامل.