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

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

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

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

उदाहरण

 * AIDL: एंड्रॉइड (ऑपरेटिंग सिस्टम) के लिए जावा (प्रोग्रामिंग भाषा) आधारित; स्थानीय और दूरस्थ प्रक्रिया कॉल का समर्थन करता है, जावा नेटिव इंटरफ़ेस (जेएनआई) के माध्यम से कॉल करके मूल अनुप्रयोगों से पहुंचा जा सकता है
 * अपाचे थ्रिफ्ट: अपाचे सॉफ्टवेयर फाउंडेशन से, मूल रूप से फेसबुक द्वारा विकसित
 * अपाचे एवरो: अपाचे एवरो प्रणाली के लिए
 * संक्षिप्त डेटा परिभाषा भाषा (सीडीडीएल, आरएफसी 8610): सीबीओआर और जेएसओएन डेटा संरचनाओं के लिए एक नोटेशन
 * शॉर्टस्क्रिप्ट : उन प्रणालियों के लिए डेटा और/या इंटरफेस का वर्णन करें जिनके लिए सिमेंटिक इंटरऑपरेबिलिटी की आवश्यकता होती है
 * Etch (प्रोटोकॉल): सिस्को की Etch क्रॉस-प्लेटफ़ॉर्म सेवा विवरण भाषा
 * एक्स्टेंसिबल डेटा नोटेशन (ईडीएन): क्लोजर डेटा प्रारूप, जेएसओएन के समान
 * फ़्लैटबफ़र्स: Google का क्रमांकन प्रारूप जो शून्य-प्रतिलिपि डीसेरिएलाइज़ेशन का समर्थन करता है
 * फ्रैंक आईडीएल: ओपन-सोर्स फ़्रैंका इंटरफ़ेस परिभाषा भाषा
 * 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