इंटरफ़ेस डिस्क्रिप्शन लैंग्वेज

एक इंटरफेस विवरण लैंग्वेज या इंटरफेस परिभाषा लैंग्वेज (आईडीएल), एक लैंग्वेज के लिए एक सामान्य शब्द है जो एक लैंग्वेज में लिखे गए प्रोग्राम या ऑब्जेक्ट को किसी अज्ञात लैंग्वेज में लिखे दूसरे प्रोग्राम के साथ संचार करने देती है। आईडीएल लैंग्वेज-स्वतंत्र तरीके से एक इंटरफेस का वर्णन करते हैं, उदाहरण के लिए, C++ में लिखे गए और जावा में लिखे गए घटकों के बीच तथा जो सॉफ़्टवेयर घटकों के बीच संचार को सक्षम करते हैं जो एक लैंग्वेज शेयर नहीं करते हैं।

आईडीएल का उपयोग आमतौर पर रिमोट प्रक्रिया कॉल सॉफ्टवेयर में किया जाता है। इन स्थितियों में लिंक के दोनों छोर पर स्थित मशीनें विभिन्न संचालन प्रणाली और कंप्यूटर लैंग्वेजेज का उपयोग कर सकती हैं। आईडीएल दो अलग-अलग प्रणालियों के बीच एक ब्रिज की तरह काम करते हैं।

आईडीएल पर आधारित सॉफ्टवेयर प्रणाली में सन का ओएनसी आरपीसी, विवृत समूह का वितरित संगणन परिवेश, आईबीएम का प्रणाली अभिलक्ष्य निदर्श, ऑब्जेक्ट प्रबंधन समूह का कॉर्बा (जो ओएमजी आईडीएल, डीसीई/आरपीसी पर आधारित एक आईडीएल लागू करता है) और डेटा वितरण सेवा, मोज़िला का एक्सपीसीओएम, माइक्रोसॉफ्ट का माइक्रोसॉफ्ट आरपीसी (जो सीओएम और डीसीओएम में विकसित हुआ), फेसबुक काथ्रिफ्ट और वेब सेवाओं का डब्लूएसडीएल सम्मिलित हैं।

उदाहरण

 * एआईडीएल, जावा पर आधारित एंड्रॉइड के लिए, स्थानीय और रिमोट प्रक्रिया कॉल का समर्थन करता है, जावा नेटिव इंटरफेस (जेएनआई) के माध्यम से कॉल करके मूल अनुप्रयोगों से पहुंचा जा सकता है
 * अपाचे थ्रिफ्ट, अपाचे से, मूल रूप से फेसबुक द्वारा विकसित
 * अपाचे एवरो, अपाचे एवरो प्रणाली के लिए
 * संक्षिप्त डेटा परिभाषा लैंग्वेज (सीडीडीएल, आरएफसी 8610),, सीबीओआर और जेएसओएन डेटा संरचनाओं के लिए एक संकेतन
 * कॉर्टोस्क्रिप्ट, उन प्रणालियों के लिए डेटा और/या इंटरफेस का विवरण करें जिनके लिए सेमैंटिक संगतता की आवश्यकता होती है
 * एच, सिस्को की एच क्रॉस-प्लेटफ़ॉर्म सेवा विवरण लैंग्वेज
 * विस्तरणीय डेटा संकतन (ईडीएन), क्लोजर डेटा प्रारूप, जेएसओएन के समान
 * फ़्लैटबफ़र्स, गूगल का क्रमांकन प्रारूप जो शून्य-प्रतिलिपि अक्रमांकन का समर्थन करता है
 * फ्रैंक आईडीएल, विवृत स्रोत फ़्रैंका इंटरफेस परिभाषा लैंग्वेज
 * FIDL, Fuchsia (ऑपरेटिंग सिस्टम) के लिए इंटरफेस विवरण लैंग्वेज C (प्रोग्रामिंग भाषा), C++ में ऐप घटकों को लिखने के लिए डिज़ाइन की गई है। डार्ट (प्रोग्रामिंग भाषा), गो (प्रोग्रामिंग भाषा) और रस्ट (प्रोग्रामिंग भाषा)। * आईडीएल विनिर्देश भाषा, मूल इंटरफेस विवरण भाषा
 * आईपीएल, इमांड्रा प्रोटोकॉल भाषा
 * JSON वेब-सर्विस प्रोटोकॉल (JSON-WSP)
 * लाइटवेट इमेजिंग डिवाइस इंटरफेस भाषा
 * माइक्रोसॉफ्ट इंटरफेस परिभाषा लैंग्वेज (एमआईडीएल), कंपोनेंट ऑब्जेक्ट प्रारूप (COM) और डिस्ट्रिब्यूटेड कंपोनेंट ऑब्जेक्ट प्रारूप (DCOM) के लिए समर्थन जोड़ने के लिए OMG IDL का माइक्रोसॉफ्ट एक्सटेंशन
 * OMG IDL, ऑब्जेक्ट मैनेजमेंट ग्रुप द्वारा मानकीकृत, CORBA (DCE/RPC सेवाओं के लिए) और डेटा वितरण सेवा (डेटा प्रारूपिंग के लिए) में उपयोग किया जाता है, XML, HTML और CSS दस्तावेज़ों के DOM को उजागर करने के लिए W3C द्वारा भी चुना गया है।
 * ओपनएपीआई विशिष्टता, आरईएसटी इंटरफेस के लिए एक मानक, जिसका उपयोग स्वैगर (सॉफ्टवेयर) और अन्य प्रौद्योगिकियों द्वारा किया जाता है।
 * सेवा इंटरफेस परिभाषाएँ खोलें
 * प्रोटोकॉल बफ़र्स, Google का IDL
 * रेस्टफुल सेवा विवरण लैंग्वेज (आरएसडीएल)
 * स्मिथी, एक AWS-आविष्कृत प्रोटोकॉल-अज्ञेयवादी इंटरफेस परिभाषा भाषा।
 * इंटरनेट संचार इंजन के लिए विशिष्टता लैंग्वेज (आइस, इंटरनेट संचार इंजन#स्लाइस)
 * यूनिवर्सल नेटवर्क ऑब्जेक्ट, OpenOffice.org का घटक प्रारूप
 * वेब एप्लिकेशन विवरण लैंग्वेज (डब्ल्यूएडीएल)
 * वेब आईडीएल, उन इंटरफेस का विवरण करने के लिए उपयोग किया जा सकता है जिन्हें वेब ब्राउज़र में लागू करने का इरादा है
 * वेब सेवा विवरण लैंग्वेज (डब्ल्यूएसडीएल)
 * एक्ससीबी, एक्स विंडो प्रणाली के लिए एक्स प्रोटोकॉल विवरण भाषा
 * क्रॉस प्लेटफ़ॉर्म इंटरफेस विवरण लैंग्वेज (XPIDL), XPCOM इंटरफेस निर्दिष्ट करने का मोज़िला का तरीका

यह भी देखें
उपयोगकर्ता इंटरफेस मार्कअप लैंग्वेज भाषा
 * घटक-आधारित सॉफ्टवेयर इंजीनियरिंग
 * इंटरफेस-आधारित प्रोग्रामिंग
 * जावा इंटरफेस परिभाषा भाषा
 * संगणन और आईटी संक्षिप्ताक्षरों की सूची
 * यूनिवर्सल इंटरफेस भाषा

बाहरी संबंध

 * Documenting Software Architecture, Documenting Interfaces (PDF)
 * OMG Specification of OMG IDL
 * OMG Tutorial on OMG IDL