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

واجهة برمجة التطبيقات المفتوحة (أو واجهة برمجة التطبيقات العامة) هي واجهة متاحة للجميع تتيح للمطورين الوصول البرمجي إلى تطبيق برمجي (قد يكون مملوكًا) أو خدمة ويب . [ 1 ] واجهات برمجة التطبيقات المفتوحة هي واجهات منشورة على الإنترنت ومتاحة مجانًا للمستخدمين. [ 2 ]

تعريفات بديلة

لا يوجد تعريف مقبول عالميًا لمصطلح "Open API" ويمكن استخدامه ليعني أشياء متنوعة في سياقات مختلفة، بما في ذلك: [ 3 ]

  1. واجهة برمجة تطبيقات (API) للاستخدام من قبل المطورين والمستخدمين الآخرين مع قيود قليلة نسبيًا. قد تتطلب التسجيل أو تفرض حصصًا وحدودًا على معدل الاستخدام ، ولكن التسجيل مجاني ومتاح للجميع؛ أو
  2. واجهة برمجة تطبيقات مدعومة ببيانات مفتوحة . البيانات المفتوحة متاحة مجاناً للجميع لاستخدامها وإعادة نشرها كما يحلو لهم، دون قيود من حقوق النشر أو براءات الاختراع أو آليات التحكم الأخرى؛ أو
  3. واجهة برمجة تطبيقات (API) تستند إلى معيار مفتوح ، تحدد الآلية التي يستعلم بها المستهلك عن واجهة برمجة التطبيقات ويفسر استجاباتها.

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

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

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

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

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

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

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

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

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

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

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

تسمح العديد من شركات التكنولوجيا الكبرى، مثل تويتر ولينكدإن وفيسبوك، باستخدام خدماتها من قبل أطراف ثالثة ومنافسين . [ 13 ] [ 14 ] [ 15 ]

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

مع ازدياد أهمية HTML5 وWeb 2.0، أصبحت تجربة التصفح الحديثة تفاعلية وديناميكية، وقد تسارع هذا التطور جزئيًا بفضل استخدام واجهات برمجة التطبيقات المفتوحة (APIs). تستخلص بعض هذه الواجهات البيانات من قاعدة بيانات الموقع الإلكتروني، وتُعرف باسم واجهات برمجة تطبيقات الويب (Web APIs). على سبيل المثال، تتيح واجهة برمجة تطبيقات YouTube من Google للمطورين دمج YouTube في تطبيقاتهم من خلال توفير إمكانية البحث عن مقاطع الفيديو، واسترجاع خلاصات الأخبار، وعرض المحتوى ذي الصلة.

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

انظر أيضاً

مراجع

  1. بروفيت، برايان (19 سبتمبر 2013). "ما هي واجهات برمجة التطبيقات ولماذا هي مهمة" . ريد رايت . مؤرشف من الأصل في 22 سبتمبر 2013. تم الاسترجاع في 28 أكتوبر 2015 .
  2. "ما هي واجهة برمجة التطبيقات المفتوحة؟ - تعريف من موقع WhatIs.com" . SearchCloudApplications . مؤرشف من الأصل بتاريخ 30 أبريل 2017. تم الاطلاع عليه بتاريخ 26 أكتوبر 2015 .
  3. دودز، لي (25 مارس 2014). "ما هي واجهة برمجة التطبيقات المفتوحة؟" . لوست بوي . تم الاسترجاع في 2 نوفمبر 2015 .
  4. "6 فوائد تجارية لواجهات برمجة التطبيقات الخاصة | واجهات برمجة تطبيقات نورديك |" . واجهات برمجة تطبيقات نورديك . 13 فبراير 2014. تم الاطلاع عليه بتاريخ 4 نوفمبر 2015 .
  5. "وظائف NTAPI غير الموثقة" . undocumented.ntinternals.net .
  6. "دليل إرشادي لهندسة عكسية لواجهة برمجة التطبيقات الخاصة ببرنامجك: اختراق أريكتك | توبتال®" . مدونة توبتال الهندسية .
  7. مو، دارين (2019-05-07). "أداة مساعدة تُمكّن مشغل أوبتيموس من بث الصوت باستخدام AirPlay 2" . جيت هاب . تم الاسترجاع في 2019-05-09 .
  8. بيرس، شون. "شرائح التوافق مع التطبيقات الخبيثة" (ملف PDF) .
  9. "تجاوز مخاطر إدارة واجهات برمجة التطبيقات العامة والخاصة" . SearchSOA . مؤرشف من الأصل بتاريخ 25-11-2015 . تم الاطلاع عليه بتاريخ 04-11-2015 .
  10. تونديك، ماتي أكوس؛ زابو، زولت؛ هيلت، أتيلا. يارو ، غابور (2024/11/12). "دمج خدمات الاتصالات وتكنولوجيا المعلومات المعززة بواجهات برمجة التطبيقات" . إشارات . 5 (4): 756-773 . دوى : 10.3390 / إشارات 5040042 . ISSN 2624-6120 . 
  11. ^ دنغ ، تشوي. سالتافورماجيو، بريندان؛ تشانغ، شيانغيو. شو ، دونغيان (2015/01/01). "قزحية". وقائع المؤتمر الثاني والعشرون ACM SIGSAC حول أمن الكمبيوتر والاتصالات . سي سي إس '15. نيويورك، نيويورك، الولايات المتحدة الأمريكية: ACM. ص 44 – 56. دوى : 10.1145 / 2810103.2813675 . رقم ISBN  978-1-4503-3832-5. S2CID 5613038 . 
  12. "ما هي واجهات برمجة التطبيقات، وكيف تُغير واجهات برمجة التطبيقات المفتوحة الإنترنت؟" . MakeUseOf . ١٩ فبراير ٢٠١٥. تاريخ الاسترجاع: ٢٠١٥-١١-٠٢ .
  13. "وثائق مطوري فيسبوك" . فيسبوك للمطورين . تم الاطلاع عليه بتاريخ 9 فبراير 2021 .
  14. tonyxu-io. "وثائق واجهة برمجة تطبيقات LinkedIn - LinkedIn" . docs.microsoft.com . تم الاطلاع عليه بتاريخ 9 فبراير 2021 .
  15. "حول واجهات برمجة تطبيقات تويتر" . help.twitter.com . تم الاطلاع عليه بتاريخ 9 فبراير 2021 .