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

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

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

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

उदाहरण

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

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

बाहरी संबंध

 * Documenting Software Architecture, Documenting Interfaces (PDF)
 * ओएमजी Specification of ओएमजी IDL
 * ओएमजी Tutorial on ओएमजी IDL