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