مشاكل واجهات برمجة التطبيقات: الأمان، والاكتشاف، والتحميل المجمع

  • Oct 31, 2023

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

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

لوحة المفاتيح-صورة-جو-mckendrick.jpg
الصورة: جو ماكيندريك

حديثا تقرير، التي نشرتها Cloud Elements، راجعت 107 نقاط نهاية عامة، و58 نقطة نهاية تجريبية، و28000 مثيل فردي والمزيد أكثر من 1.6 مليار استدعاء لواجهة برمجة التطبيقات (API) بين سبتمبر 2016 ومارس 2017، لقياس التحديات الناشئة عن واجهة برمجة التطبيقات (API) اندماج. ظهرت مجالات مثل الأمان والاكتشاف والتحميل المجمع وحدود الأسعار كمخاوف رئيسية. لاحظ مؤلفو الدراسة، مارك جين وروس جاريت من Cloud Elements والمبشر بواجهة برمجة التطبيقات كين لين، أن يؤدي الاعتماد المتزايد على واجهات برمجة التطبيقات العامة إلى زيادة الحاجة إلى معالجة مجموعة من التكامل التحديات.

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

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

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

حماية. وقد تم الاستشهاد بهذا باعتباره مصدر القلق الرئيسي في الدراسات الاستقصائية، وهناك جهود لمعالجة جوانب مثل المصادقة. OAuth هو المعيار الأكثر قبولًا على نطاق واسع، "ولكن لا يزال هناك العديد من واجهات برمجة التطبيقات المتاحة اليوم والتي تعتمد على المصادقة الأساسية (17%)، أو بعض التطبيقات المخصصة لـ API Key & Secret (33%)." وجد الاستطلاع أن OAuth 1.0 (و1.0a) "غير المحبوب والمعقد" يستخدم من قبل 8% فقط من مقدمي الخدمة اليوم، مقارنةً بـ OAuth 2.0 الأكثر انتشارًا في أكثر من بنسبة 41%..

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

العمليات السائبة. وجدت الدراسة أن هذا مجال آخر يواجه تحديات. "يعد التحميل والتنزيل الجماعي للبيانات مفيدًا للعديد من التطبيقات، وحيثما كان ذلك متاحًا، نرى المستخدمين حريصين على الاستفادة من هذه الوظيفة. ومع ذلك، فإن 42% فقط من واجهات برمجة التطبيقات التي تعمل معها Cloud Elements تدعم فعليًا المجموعة. يعد هذا رقمًا مثيرًا للدهشة، نظرًا لأن جميع مجموعات البيانات تقريبًا في تطبيقات SaaS للمؤسسات كبيرة وتتطلب شكلاً من أشكال العمليات المجمعة. وبالتالي، فإن 58% من واجهات برمجة التطبيقات لا تقدم دعمًا مجمعًا، مما يجعل تطبيقات SaaS من الصعب ترحيل البيانات من وإلى أنظمتها. يعمل هذا الوضع بمثابة عائق أمام الترحيل أو المزامنة بين أي تطبيقات جديدة ترغب في العمل بسلاسة مع أنظمة التسجيل الحالية."

حدود معدل API. ويشير التقرير إلى أن "حدود المعدل قد تجعل من المستحيل تقريبًا التعامل مع كميات كبيرة من البيانات". "على سبيل المثال، يقيد تطبيق التجارة الإلكترونية الشهير التطبيقات بمكالمتين في الثانية، مع آلية "تسرب البيانات" التي تسمح بما يصل إلى 40 مكالمة متراكمة. وهذا يعني أن تطبيقك يجب أن يتعامل مع البيانات المجمعة بمعدل 2TPS مما قد يؤدي إلى ساعات أو حتى أيام من استدعاءات API المستمرة."