لغة وصف الواجهة

لغة وصف الواجهات ( IDL ) هي مصطلح عام يُطلق على أي لغة تُمكّن برنامجًا أو كائنًا مكتوبًا بلغة معينة من التواصل مع برنامج آخر مكتوب بلغة غير معروفة. تُستخدم لغات وصف الواجهات عادةً لوصف أنواع البيانات والواجهات بطريقة مستقلة عن اللغة، على سبيل المثال، بين البرامج المكتوبة بلغة C++ والبرامج المكتوبة بلغة Java.
تُستخدم لغات تعريف الواجهة (IDLs) بشكل شائع في برامج استدعاء الإجراءات عن بُعد. في هذه الحالات، قد تستخدم الأجهزة على طرفي الاتصال أنظمة تشغيل ولغات برمجة مختلفة. توفر لغات تعريف الواجهة (IDLs) جسراً بين النظامين المختلفين.
تشمل أنظمة البرمجيات القائمة على IDLs كلاً من Sun RPC من Sun Microsystems ، وبيئة الحوسبة الموزعة من The Open Group ، ونموذج كائنات النظام من IBM ، وبنية وسيط طلب الكائنات المشتركة (CORBA) من Object Management Group (التي تنفذ OMG IDL، وهي IDL قائمة على DCE/RPC) وخدمة توزيع البيانات ، و XPCOM من Mozilla ، و RPC من Microsoft (الذي تطور إلى نموذج كائنات المكونات (COM) ونموذج كائنات المكونات الموزعة (DCOM))، و Apache Thrift من Facebook ولغة وصف خدمات الويب (WSDL) لخدمات الويب.
أمثلة
- AIDL : مكتبة مبنية على Java ، لنظام Android ؛ تدعم استدعاءات الإجراءات المحلية والبعيدة، ويمكن الوصول إليها من التطبيقات الأصلية عن طريق الاستدعاء من خلال واجهة Java الأصلية (JNI).
- أباتشي ثريفت : من أباتشي ، تم تطويره في الأصل بواسطة فيسبوك
- Avro IDL : لنظام Apache Avro
- ASN.1
- Cap'n Proto : تم إنشاؤه بواسطة القائم على صيانته السابق، ويتجنب بعض أوجه القصور المتصورة في بروتوكول بافرز .
- لغة تعريف البيانات الموجزة (CDDL، RFC 8610): [ 1 ] تدوين لهياكل بيانات CBOR و JSON
- كورتوسكريبت : وصف البيانات و/أو واجهات الأنظمة التي تتطلب قابلية التشغيل البيني الدلالي
- إيتش : لغة وصف الخدمات متعددة المنصات من سيسكو
- تدوين البيانات القابل للتوسيع (EDN): تنسيق بيانات Clojure ، مشابه لـ JSON
- FlatBuffers : تنسيق تسلسل من جوجل يدعم إلغاء التسلسل بدون نسخ
- فرانكا IDL : لغة تعريف واجهة فرانكا مفتوحة المصدر
- FIDL : لغة وصف الواجهة لنظام التشغيل Fuchsia مصممة لكتابة مكونات التطبيق بلغات C و C++ و Dart و Go و Rust . [ 2 ]
- لغة مواصفات IDL : لغة وصف الواجهة الأصلية
- IPL : لغة بروتوكول إيماندرا
- بروتوكول خدمة الويب JSON ( JSON-WSP )
- لغة واجهة جهاز التصوير خفيفة الوزن
- لغة تعريف واجهة مايكروسوفت (MIDL): امتداد مايكروسوفت لـ OMG IDL لإضافة دعم لنموذج كائن المكون (COM) ونموذج كائن المكون الموزع (DCOM).
- OMG IDL : معيار موحد من قبل مجموعة إدارة الكائنات ، يُستخدم في CORBA (لخدمات DCE/RPC) و DDS ( لنمذجة البيانات )، كما اختارته W3C لعرض DOM لمستندات XML وHTML وCSS
- مواصفات OpenAPI : معيار لواجهات برمجة تطبيقات الويب ، يستخدم بواسطة Swagger وتقنيات أخرى.
- تعريفات واجهة الخدمة المفتوحة
- بروتوكول بافرز : لغة تعريف الواجهة (IDL) من جوجل
- لغة وصف الخدمة RESTful (RSDL)
- سميثي : لغة تعريف واجهة مستقلة عن البروتوكول تم ابتكارها بواسطة AWS.
- لغة المواصفات لمحرك اتصالات الإنترنت (Ice: Slice )
- كائنات الشبكة العالمية : نموذج مكونات OpenOffice.org
- لغة وصف تطبيقات الويب (WADL)
- لغة تعريف واجهة الويب (Web IDL) من WHATWG : يمكن استخدامها لوصف الواجهات التي يُراد تنفيذها في متصفحات الويب
- لغة وصف خدمات الويب (WSDL)
- XCB : لغة وصف بروتوكول X لنظام النوافذ X
- لغة وصف الواجهات متعددة المنصات ( XPIDL ): طريقة موزيلا لتحديد واجهات XPCOM
انظر أيضاً
مراجع
- ↑ بيركهولز، هـ.؛ فيغانو، س.؛ بورمان، س. (2019). "لغة تعريف البيانات الموجزة (CDDL): اصطلاح تدويني للتعبير عن تمثيل الكائنات الثنائية الموجز (CBOR) وهياكل بيانات JSON" . محرر RFC . doi : 10.17487/RFC8610 . S2CID 195857027. تاريخ الاسترجاع: 24 مايو 2022 .
- ↑ "نظرة عامة على FIDL" . فوشيا . تم الاسترجاع في 23 فبراير 2022 .
روابط خارجية
- لغات نمذجة البيانات
- إجراء مكالمة عن بعد
- لغات المواصفات
- لغات البرمجة الخاصة بالمجال
