Middleware
मिडलवेयर एक प्रकार का कंप्यूटर सॉफ्टवेयर है जो ऑपरेटिंग सिस्टम से उपलब्ध सॉफ्टवेयर अनुप्रयोगों को सेवाएं प्रदान करता है। इसे "सॉफ्टवेयर गोंद" के रूप में वर्णित किया जा सकता है। मिडलवेयर सॉफ्टवेयर डेवलपर्स के लिए संचार और इनपुट/आउटपुट को लागू करना आसान बनाता है, ताकि वे अपने अनुप्रयोग के विशिष्ट उद्देश्य पर ध्यान केंद्रित कर सकें। इसने 1980 के दशक में नई अनुप्रयोगों को पुरानी विरासत प्रणालियों से जोड़ने की समस्या के समाधान के रूप में लोकप्रियता हासिल की, हालांकि यह शब्द 1968 से उपयोग में था। वितरित अनुप्रयोगों में इस शब्द का उपयोग आमतौर पर सॉफ्टवेयर के लिए किया जाता है जो वितरित अनुप्रयोगों में डेटा के संचार और प्रबंधन को सक्षम बनाता है। 2000 में आई. ई. टी. एफ. की एक कार्यशाला ने मिडलवेयर को "परिवहन के ऊपर पाई जाने वाली सेवाओं" के रूप में परिभाषित किया। टी. सी. पी./आई. पी. पर) सेवाओं का परत समूह लेकिन अनुप्रयोग वातावरण के नीचे "(अर्थात। अनुप्रयोग-स्तर एपीआई के नीचे)। इस अधिक विशिष्ट अर्थ में मिडलवेयर को क्लाइंट-सर्वर में डैश ("-") या पीयर-टू-पीयर के रूप में वर्णित किया जा सकता है। मिडलवेयर में वेब सर्वर, एप्लिकेशन सर्वर, सामग्री प्रबंधन प्रणाली और इसी तरह के उपकरण शामिल हैं जो एप्लिकेशन विकास और वितरण का समर्थन करते हैं। ऑब्जेक्टवेब मिडलवेयर को इस प्रकार परिभाषित करता हैः "सॉफ्टवेयर परत जो एक नेटवर्क में वितरित कंप्यूटिंग प्रणाली के प्रत्येक तरफ ऑपरेटिंग सिस्टम और अनुप्रयोगों के बीच स्थित होती है।" मिडलवेयर के रूप में मानी जाने वाली सेवाओं में उद्यम अनुप्रयोग एकीकरण, डेटा एकीकरण, संदेश उन्मुख मिडलवेयर (एमओएम), ऑब्जेक्ट अनुरोध दलाल (ओआरबी) और उद्यम सेवा बस (ईएसबी) शामिल हैं। डेटाबेस अभिगम सेवाओं को अक्सर मिडलवेयर के रूप में चिह्नित किया जाता है। उनमें से कुछ भाषा विशिष्ट कार्यान्वयन हैं और विषम विशेषताओं और अन्य संबंधित संचार विशेषताओं का समर्थन करते हैं। डेटाबेस-उन्मुख मिडलवेयर के उदाहरणों में ओ. डी. बी. सी., जे. डी. बी. सी. और लेनदेन प्रसंस्करण मॉनिटर शामिल हैं। डिस्ट्रिब्यूटेड कंप्यूटिंग सिस्टम मिडलवेयर को दो श्रेणियों में विभाजित किया जा सकता है-वे जो मानव-समय सेवाएं प्रदान करते हैं (जैसे कि वेब अनुरोध सेवा) और वे जो मशीन-समय में प्रदर्शन करते हैं। यह बाद वाला मिडलवेयर सेवा उपलब्धता मंच के माध्यम से कुछ हद तक मानकीकृत है और आमतौर पर दूरसंचार, रक्षा और एयरोस्पेस उद्योगों के भीतर जटिल, अंतर्निहित प्रणालियों में उपयोग किया जाता है। मिडलवेयर का उपयोग मिडलवेयर के वर्गीकरण के संबंध में कई परिभाषाएँ मौजूद हैं जो या तो उस क्षेत्र को निर्दिष्ट करती हैं जहाँ इसका उपयोग किया जाता है या अनुप्रयोग मॉड्यूल जो यह कार्य करता है। हाल की ग्रंथ सूची में, मिडलवेयर की मुख्य श्रेणियां निम्नलिखित हैंः लेन-देनः कई समकालिक/अतुल्यकालिक लेनदेन का प्रसंस्करण, जो बैंक लेनदेन या क्रेडिट कार्ड भुगतान जैसी वितरित प्रणालियों से संबंधित अनुरोधों के एक समूह के रूप में कार्य करता है। संदेश-उन्मुखः संदेश कतार और संदेश पासिंग आर्किटेक्चर, जो समकालिक/अतुल्यकालिक संचार का समर्थन करते हैं। प्रक्रियात्मकः कॉल ऑपरेशन जैसे अतुल्यकालिक प्रणाली संचारों की सॉफ्टवेयर प्रतिक्रियाओं को जोड़ने, पारित करने और पुनः प्राप्त करने के लिए दूरस्थ और स्थानीय वास्तुकला। ऑब्जेक्ट-ओरिएंटेडः प्रक्रियात्मक मिडलवेयर के समान, हालांकि, इस प्रकार के मिडलवेयर में ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग डिज़ाइन सिद्धांत शामिल हैं। विश्लेषणात्मक रूप से, इसके सॉफ्टवेयर घटक में वस्तु संदर्भ, अपवाद और वितरित वस्तु अनुरोध के माध्यम से गुणों की विरासत शामिल है। अन्य उदाहरण मिडलवेयर शब्द का उपयोग अन्य संदर्भों में भी किया जाता है। मिडलवेयर का उपयोग कभी-कभी सॉफ्टवेयर ड्राइवर के समान ही किया जाता है, एक अमूर्त परत जो किसी अनुप्रयोग से हार्डवेयर उपकरणों या अन्य सॉफ्टवेयर के बारे में विवरण छुपाती है। एंड्रॉइड ऑपरेटिंग सिस्टम अपने मूल में लिनक्स कर्नेल का उपयोग करता है, और एक अनुप्रयोग ढांचा भी प्रदान करता है जिसे डेवलपर्स अपने अनुप्रयोगों में शामिल करते हैं। इसके अलावा, एंड्रॉइड पुस्तकालयों सहित एक मिडलवेयर परत प्रदान करता है जो डेटा भंडारण, स्क्रीन प्रदर्शन, मल्टीमीडिया और वेब ब्राउज़िंग जैसी सेवाएं प्रदान करता है। क्योंकि मिडलवेयर पुस्तकालयों को मशीन भाषा में संकलित किया जाता है, सेवाओं को जल्दी से निष्पादित किया जाता है। मिडलवेयर पुस्तकालय उपकरण-विशिष्ट कार्यों को भी लागू करते हैं, इसलिए अनुप्रयोगों और अनुप्रयोग ढांचे को विभिन्न एंड्रॉइड उपकरणों के बीच भिन्नताओं के साथ खुद को चिंतित करने की आवश्यकता नहीं है। एंड्रॉइड की मिडलवेयर परत में ए. आर. टी. आभासी मशीन और इसकी मुख्य जावा अनुप्रयोग पुस्तकालय भी शामिल हैं। मिडलवेयर उस सॉफ्टवेयर को भी संदर्भित करता है जो दो या दो से अधिक एपीआई को अलग करता है और दर-सीमा, प्रमाणीकरण और लॉगिंग जैसी सेवाएं प्रदान करता है। गेम इंजन सॉफ्टवेयर जैसे गेमब्रियो और रेंडरवेयर को कभी-कभी मिडलवेयर के रूप में वर्णित किया जाता है, क्योंकि वे गेम विकास को सरल बनाने के लिए कई सेवाएं प्रदान करते हैं। सिमुलेशन तकनीक में, मिडलवेयर का उपयोग आम तौर पर उच्च स्तरीय वास्तुकला (एच. एल. ए.) के संदर्भ में किया जाता है जो कई वितरित सिमुलेशन पर लागू होता है। यह सॉफ्टवेयर की एक परत है जो एप्लिकेशन कोड और रन-टाइम बुनियादी ढांचे के बीच स्थित है। मिडलवेयर में आम तौर पर कार्यों का एक पुस्तकालय होता है, और प्रत्येक अनुप्रयोग के लिए उन्हें फिर से बनाने के बजाय आम पुस्तकालय से इन कार्यों को पृष्ठ करने के लिए कई अनुप्रयोगों-अनुकरण या एच. एल. ए. शब्दावली में संघों-को सक्षम बनाता है। वायरलेस नेटवर्किंग डेवलपर वायरलेस सेंसर नेटवर्क (डब्ल्यू. एस. एन.) से जुड़ी चुनौतियों का सामना करने के लिए मिडलवेयर का उपयोग कर सकते हैं। एक मिडलवेयर एप्लिकेशन को लागू करने से डब्ल्यू. एस. एन. डेवलपर्स को वर्तमान में उपलब्ध विभिन्न प्रकार के अनुप्रयोगों के साथ ऑपरेटिंग सिस्टम और हार्डवेयर को एकीकृत करने की अनुमति मिलती है। क्यूएनएक्स ऑपरेटिंग सिस्टम ऑटोमोबाइल, विमान और अन्य वातावरण में उपयोग के लिए मल्टीमीडिया सेवाएं प्रदान करने के लिए मिडलवेयर प्रदान करता है। रेडियो-फ्रीक्वेंसी आइडेंटिफिकेशन (आर. एफ. आई. डी.) सॉफ़्टवेयर टूलकिट शोर और अनावश्यक कच्चे डेटा को फ़िल्टर करने के लिए मिडलवेयर प्रदान करते हैं। यह भी देखें भाषा-अज्ञेय तृतीय-पक्ष सॉफ्टवेयर घटक संदर्भ बाहरी लिंक सिस्टम इंजीनियरिंग