تحتاج هذه المقالة إلى تدقيق لغوي وإملائي

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

من ويكيبيديا، الموسوعة الحرة
اذهب إلى: تصفح، ‏ ابحث
Writing Magnifying.PNG
هذه المقالة تحتاج إلى تدقيق لغوي وإملائي. يمكنك مساعدة ويكيبيديا بإجراء التصحيحات المطلوبة. وسمت هذه المقالة منذ : مايو 2014

برمجة واجهة التطبيقات (بالإنجليزية: Application Programming Interface وتختصر إلى API) وصفٌ لعناصر البرمجيّة حسب وظائفها، و مدخلاتها و مخرجاتها. الهدف الرئيسيّ منها توفير قائمة من الوظائف المستقلّة تماماً عن الآلية التي نفّذت بها، لتتيح للآخرين التواصل معها من خلال أيّ آلية أخرى.

الأنواع[عدل]

هناك نوعان منها(API):

احدهما يعتمد على لغة البرمجة ؛ بمعنى انه متاحُُ فقط في لغة برمجة معينة، ويقوم على استخدام syntax وعناصر هذه اللغة لجعله ملائما للاستخدام في هذا السياق.

و الأخرى مستقلة عن اللغة وهذا يعنى انها مكتوبة بطريقة تتيح لها ان تستخدم في العديد من لغات البرمجة (عادةً an assembly/C-level interface) وهذا النمط مطلوب في أنواع الواجهات البرمجية API المستخدمة في service غير المرتبطة بعملية معينة process، أو نظام تشغيل وعادة ما تكون متاحة كروتين منفصل.

مثال عن النوع الثاني هو على سبيل المثال ،الموقع الذي يعرض أماكن تواجد المطاعم في مكان ما يتيح للمستخدم بوضع مجموعة معلومات اضافية على نفس خريطة الموقع التي جلبت من خرائط جوجل (Google Maps)، وذلك بسبب ان خرائط جوجل تحتوي على هذا النوع والذي يسمح بعمل هذا الشيء.واجهة برمجة التطبيقات الخاصة بخرائط جوجل تتحكم بماهية المعلومات التي يمكن للمستخدم استغلالها وما الذي يستطيع ان يعمل بهاوكذلك ليس على الخرائط الخاصة لجوجل فقط بل انها تستخدم في العديد من المهام الاخرى مثل ربطها بموقع الكترونى لاتاحة فرصة عملية الشراء من خلال الموقع بالفيزا او كروت الــ ATM.

الاستعمالات[عدل]

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

في البنيات الخدمية يمكن للتطبيقات أن تعتمد على الميزات التي تقدمها برامج طرف ثالث عن طريق واجهات برمجة منفذة من طرف خدمات الويب.

واجهة البرمجة تسمح على سبيل المثال للبرنامج بالوصول إلى الخدمات التي يقدمها نظام التشغيل الذي يستضيف البرنامج. واجهة socket هي مثال كلاسيكي من واجهة البرمجة، تسمح للبرنامج من استغلال إمكانيات طبقة الشبكة لنظام التشغيل.

السوق[عدل]

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

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

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

أمثلة لواجهات برمجة التطبيقات[عدل]

  • كراف API للفيسبوك (Graph API Facebook)
  • API كوكل مابس (Google Maps API)

أمثلة على حسب مجال التطبيق[عدل]

  • الرسومات ثلاثية الأبعاد 3D: برنامج OpenGL، Direct3D (جزء من DirectX)، مانتل (AMD)
  • التعامل مع وثائق SAX، DOM : XML
  • الولوج إلى قواعد البيانات: ODBC، JDBC
  • رسم الخرائط ونظم المعلومات الجغرافية

وظائف واجهات البرمجة بلغة جافا[عدل]

قد يكون لواجهات البرمجة وظائف متعددة. على سبيل المثال،في J2EE، هناك الوظائف التالية:

  • API اتصال متزامن / غير متزامن
  • API للاتصالات (الدلائل وقواعد البيانات وتخطيط موارد المؤسسات)
  • API إدارة المعاملات
  • API إدارة البريد الإلكتروني
  • API تسلسل XML
  • API تحليل XML
  • API إدارة سجلات XML (مثل ebXML)

ويمكن استخدام واجهات برمجة التطبيقات لتبسيط الوصول إلى واجهات برمجة تطبيقات أخرى.

  • يوفر JAXP API سهولة الوصول إلى تطبيقات مختلفة من SAX و DOM

البيانات المنقولة[عدل]

يمكن لواجهات البرمجة أن تحمل و تسير بيانات وصفية.

  • في الواجهات التي توفرها نظم تخطيط موارد المؤسسات

أمثلة:API بيانات 9i Oracle و البيانات الوصفية العلائقية SAP.

  • في لغات البرمجة

مثال جافا: API للوصول و معالجة البيانات المسجلة في مصدر بيانات.

  • نظم القرار

مثال: البيانات الوصفية في API ل SAS

  • في قواعد البيانات العلائقية

مثال: DB2 مكعب

  • في تطبيقات الهندسة المعرفية

مثال: تحميل Loading metadata to Livelink using Bulk Loader API's