ओएसजीआई: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
Line 12: Line 12:
| website                = {{URL|http://www.osgi.org}}
| website                = {{URL|http://www.osgi.org}}
}}
}}
'''ओएसजीआई''' [[ ग्रहण फाउंडेशन |ग्रहण फाउंडेशन]] के अंतर्गत ओपन स्पेसिफिकेशन और [[ खुला स्त्रोत |ओपन सोर्स]] प्रोजेक्ट है। यह ओएसजीआई एलायंस (जिसे पूर्व ओपन सर्विसेज गेटवे पहल के रूप में जाना जाता था) द्वारा किए गए कार्य की निरंतरता है, जो मार्च 1999 में स्थापित [[कंप्यूटर सॉफ्टवेयर]] के लिए [[खुला मानक|ओपन स्टैन्डर्ड]] संगठन था। फाउंडेशन ने मूल रूप से ओएसजीआई मानक को निर्दिष्ट और बनाए रखा था। अलायंस ने 2020 के अंत में अपना कार्य एक्लिप्स फाउंडेशन को स्थानांतरित कर दिया। ओएसजीआई विनिर्देश [[जावा (प्रोग्रामिंग भाषा)]] प्रोग्रामिंग भाषा के लिए मॉड्यूलर सिस्टम और [[सेवा (सिस्टम आर्किटेक्चर)]] प्लेटफॉर्म का वर्णन करता है जो पूर्ण और गतिशील [[घटक मॉडल]] को लागू करता है, कुछ ऐसा जो स्टैंडअलोन जावा या [[ आभासी मशीन |आभासी मशीन]] वातावरण में मौजूद नहीं है। इसमें सेवा-उन्मुख वास्तुकला है जो सूक्ष्म सेवाओं पर आधारित है, प्रत्येक को विस्तारित जावा क्लास फ़ाइल संग्रह (जेएआर (फ़ाइल प्रारूप)) के रूप में कार्यान्वित किया जाता है।
'''ओएसजीआई''' [[ ग्रहण फाउंडेशन |ग्रहण फाउंडेशन]] के अंतर्गत ओपन स्पेसिफिकेशन और [[ खुला स्त्रोत |ओपन सोर्स]] प्रोजेक्ट है। यह ओएसजीआई एलायंस (जिसे पूर्व ओपन सर्विसेज गेटवे उपक्रम के रूप में जाना जाता था) द्वारा किए गए कार्य की निरंतरता है, जो मार्च 1999 में स्थापित [[कंप्यूटर सॉफ्टवेयर]] के लिए [[खुला मानक|ओपन स्टैन्डर्ड]] संगठन था। फाउंडेशन ने मूल रूप से ओएसजीआई मानक को निर्दिष्ट और बनाए रखा था। अलायंस ने 2020 के अंत में अपना कार्य एक्लिप्स फाउंडेशन को स्थानांतरित कर दिया। ओएसजीआई विनिर्देश [[जावा (प्रोग्रामिंग भाषा)]] प्रोग्रामिंग भाषा के लिए मॉड्यूलर सिस्टम और [[सेवा (सिस्टम आर्किटेक्चर)|सर्विस (सिस्टम आर्किटेक्चर)]] प्लेटफॉर्म का वर्णन करता है जो पूर्ण और गतिशील [[घटक मॉडल]] को लागू करता है, कुछ ऐसा जो स्टैंडअलोन जावा या [[ आभासी मशीन |आभासी मशीन]] वातावरण में स्थित नहीं है। इसमें सर्विस ऑरिएन्टेड स्ट्रक्चर है जो सूक्ष्म सेवाओं पर आधारित है, प्रत्येक को विस्तारित जावा वर्ग फ़ाइल संग्रह (जेएआर (फ़ाइल फार्मेट)) के रूप में कार्यान्वित किया जाता है।


==विवरण==
==विवरण==


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


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


अक्टूबर 2020 में, OSGi एलायंस ने मानकीकरण प्रयास को एक्लिप्स फाउंडेशन में स्थानांतरित करने की घोषणा की, जिसके बाद यह बंद हो जाएगा।<ref>{{Cite web|url=https://blog.osgi.org/2020/10/announcement-of-transition-to-eclipse.html|title=Announcement of Transition to Eclipse Foundation}}</ref> सभी कलाकृतियों को एक्लिप्स फाउंडेशन में स्थानांतरित कर दिया गया है, जहां "ओएसजीआई वर्किंग ग्रुप विनिर्देश को बनाए रखना और विकसित करना जारी रखता है।
अक्टूबर 2020 में, ओएसजीआई एलायंस ने मानकीकरण प्रयास को एक्लिप्स फाउंडेशन में स्थानांतरित करने की घोषणा की, जिसके बाद यह संवृत हो जाएगा।<ref>{{Cite web|url=https://blog.osgi.org/2020/10/announcement-of-transition-to-eclipse.html|title=Announcement of Transition to Eclipse Foundation}}</ref> सभी कलाकृतियों को एक्लिप्स फाउंडेशन में स्थानांतरित कर दिया गया है, जहां "ओएसजीआई वर्किंग ग्रुप विनिर्देश को बनाए रखना और विकसित करना जारी रखता है।


== विशिष्टता प्रक्रिया ==
== विशिष्टता प्रक्रिया ==
OSGi विशिष्टता को सदस्यों द्वारा खुली प्रक्रिया में विकसित किया जाता है और OSGi विशिष्टता लाइसेंस के अंतर्गत जनता को निःशुल्क उपलब्ध कराया जाता है।<ref>{{Cite web |url=http://www.osgi.org/Main/OSGiSpecificationLicense |title=ओएसजीआई विशिष्टता लाइसेंस|access-date=2012-05-10 |archive-url=https://web.archive.org/web/20150914021603/http://www.osgi.org/Main/OSGiSpecificationLicense |archive-date=2015-09-14 |url-status=dead }}</ref> ओएसजीआई एलायंस का नियामक अनुपालन कार्यक्रम है जो केवल सदस्यों के लिए खुला है। नवंबर 2010 तक, सात प्रमाणित ओएसजीआई फ्रेमवर्क [[कार्यान्वयन]] हैं।<ref>{{Cite web |url=https://www.osgi.org/osgi-compliance/osgi-certification/osgi-certified-products/ |title=OSGi Alliance &#124; Markets / Certified |access-date=2017-06-23 |archive-date=2008-09-25 |archive-url=https://web.archive.org/web/20080925211558/http://www.osgi.org/Markets/Certified |url-status=dead }}</ref> अलग पृष्ठ प्रमाणित और गैर-प्रमाणित दोनों [[ओएसजीआई विशिष्टता कार्यान्वयन]] को सूचीबद्ध करता है, जिसमें ओएसजीआई ढांचे और अन्य ओएसजीआई विनिर्देश शामिल हैं।
ओएसजीआई विशिष्टता को सदस्यों द्वारा विवृत प्रक्रिया में विकसित किया जाता है और ओएसजीआई विशिष्टता लाइसेंस के अंतर्गत जनता को निःशुल्क उपलब्ध कराया जाता है।<ref>{{Cite web |url=http://www.osgi.org/Main/OSGiSpecificationLicense |title=ओएसजीआई विशिष्टता लाइसेंस|access-date=2012-05-10 |archive-url=https://web.archive.org/web/20150914021603/http://www.osgi.org/Main/OSGiSpecificationLicense |archive-date=2015-09-14 |url-status=dead }}</ref> ओएसजीआई एलायंस का नियामक अनुपालन कार्यक्रम है जो मात्र सदस्यों के लिए विवृत है। नवंबर 2010 तक, सात प्रमाणित ओएसजीआई फ्रेमवर्क [[कार्यान्वयन]] हैं।<ref>{{Cite web |url=https://www.osgi.org/osgi-compliance/osgi-certification/osgi-certified-products/ |title=OSGi Alliance &#124; Markets / Certified |access-date=2017-06-23 |archive-date=2008-09-25 |archive-url=https://web.archive.org/web/20080925211558/http://www.osgi.org/Markets/Certified |url-status=dead }}</ref> अलग पृष्ठ प्रमाणित और गैर-प्रमाणित दोनों [[ओएसजीआई विशिष्टता कार्यान्वयन]] को सूचीबद्ध करता है, जिसमें ओएसजीआई संरचना और अन्य ओएसजीआई विनिर्देश सम्मिलित हैं।


==वास्तुकला==
==आर्किटेक्चर==
[[File:Osgi framework.svg|thumb|250px|ओएसजीआई सर्विस गेटवे आर्किटेक्चर]]ओएसजीआई मॉड्यूलर सॉफ्टवेयर प्रोग्राम और लाइब्रेरी को विकसित करने और तैनात करने के लिए जावा फ्रेमवर्क है। प्रत्येक बंडल कक्षाओं, जार और कॉन्फ़िगरेशन फ़ाइलों का कसकर युग्मित, गतिशील रूप से लोड करने योग्य संग्रह है जो स्पष्ट रूप से उनकी बाहरी निर्भरता (यदि कोई हो) घोषित करता है।
[[File:Osgi framework.svg|thumb|250px|ओएसजीआई सर्विस गेटवे आर्किटेक्चर]]ओएसजीआई मॉड्यूलर सॉफ्टवेयर प्रोग्राम और लाइब्रेरी को विकसित करने और नियुक्त करने के लिए जावा फ्रेमवर्क है। प्रत्येक बंडल कक्षाओं, जार और कॉन्फ़िगरेशन फ़ाइलों का दृढ़ता से युग्मित, गतिशील रूप से लोड करने योग्य संग्रह है जो स्पष्ट रूप से उनकी बाह्य निर्भरता (यदि कोई हो) घोषित करता है।


रूपरेखा को वैचारिक रूप से निम्नलिखित क्षेत्रों में विभाजित किया गया है:
रूपरेखा को वैचारिक रूप से निम्नलिखित क्षेत्रों में विभाजित किया गया है:
;बंडल: बंडल अतिरिक्त मेनिफेस्ट हेडर के साथ सामान्य JAR (फ़ाइल प्रारूप) घटक हैं।
;बंडल: बंडल अतिरिक्त मेनिफेस्ट हेडर के साथ सामान्य JAR (फ़ाइल फार्मेट) घटक हैं।
;सेवाएँ: सेवा परत सादे पुराने जावा इंटरफेस (पीओजेआई) या सादे पुराने जावा ऑब्जेक्ट्स (पीओजेओ) के लिए प्रकाशन-खोज-बाइंड मॉडल की पेशकश करके बंडलों को गतिशील तरीके से जोड़ती है।
;सर्विसेस: सर्विस लेयर साधारण प्राचीन जावा इंटरफेस (पीओजेआई) या साधारण प्राचीन जावा ऑब्जेक्ट्स (पीओजेओ) के लिए प्रकाशन-खोज-बाइंड मॉडल की प्रस्तुति करके बंडलों को गतिशील विधि से जोड़ती है।
;सेवा रजिस्ट्री: प्रबंधन सेवाओं के लिए [[अप्लिकेशन प्रोग्रामिंग अंतरफलक]]
;सर्विस रजिस्ट्री: प्रबंधन सेवाओं के लिए [[अप्लिकेशन प्रोग्रामिंग अंतरफलक|अप्लिकेशन प्रोग्रामिंग इंटरफ़ेस]]
;जीवन-चक्र: बंडलों के लिए जीवन चक्र प्रबंधन (इंस्टॉल, स्टार्ट, स्टॉप, अपडेट और अनइंस्टॉल) के लिए एप्लिकेशन प्रोग्रामिंग इंटरफ़ेस।
;जीवन-चक्र: बंडलों के लिए जीवन चक्र प्रबंधन (इंस्टॉल, स्टार्ट, स्टॉप, अपडेट और अनइंस्टॉल) के लिए एप्लिकेशन प्रोग्रामिंग इंटरफ़ेस।
;मॉड्यूल: वह परत जो एनकैप्सुलेशन और निर्भरता की घोषणा को परिभाषित करती है (कैसे बंडल कोड आयात और निर्यात कर सकता है)।
;मॉड्यूल: वह लेयर जो एनकैप्सुलेशन और निर्भरता की घोषणा को परिभाषित करती है (कैसे बंडल कोड आयात और निर्यात कर सकता है)।
;सुरक्षा: वह परत जो बंडल कार्यक्षमता को पूर्व-निर्धारित क्षमताओं तक सीमित करके सुरक्षा पहलुओं को संभालती है।
;सुरक्षा: वह लेयर जो बंडल कार्यक्षमता को पूर्व-निर्धारित क्षमताओं तक सीमित करके सुरक्षा गुणों को संभालती है।
;निष्पादन पर्यावरण: परिभाषित करता है कि किसी विशिष्ट प्लेटफ़ॉर्म में कौन सी विधियाँ और कक्षाएं उपलब्ध हैं। निष्पादन वातावरण की कोई निश्चित सूची नहीं है, क्योंकि यह परिवर्तन के अधीन है क्योंकि [[जावा समुदाय प्रक्रिया]] जावा के नए संस्करण और संस्करण बनाती है। हालाँकि, निम्नलिखित सेट वर्तमान में अधिकांश OSGi कार्यान्वयन द्वारा समर्थित है:
;निष्पादन पर्यावरण: परिभाषित करता है कि किसी विशिष्ट प्लेटफ़ॉर्म में कौन सी विधियाँ और कक्षाएं उपलब्ध हैं। निष्पादन वातावरण की कोई निश्चित सूची नहीं है, क्योंकि यह परिवर्तन के अधीन है क्योंकि [[जावा समुदाय प्रक्रिया]] जावा के नवीन संस्करण और संस्करण बनाती है। यद्यपि , निम्नलिखित सेट वर्तमान में अधिकांश ओएसजीआई कार्यान्वयन द्वारा समर्थित है:
:*कनेक्टेड डिवाइस कॉन्फ़िगरेशन|सीडीसी-1.0/फाउंडेशन-1.0
:*सीडीसी-1.0/फाउंडेशन-1.0
:*कनेक्टेड डिवाइस कॉन्फ़िगरेशन|सीडीसी-1.1/फाउंडेशन-1.1
:*सीडीसी-1.1/फाउंडेशन-1.1
:*ओएसजीआई/न्यूनतम-1.0
:*ओएसजीआई/न्यूनतम-1.0
:*ओएसजीआई/न्यूनतम-1.1
:*ओएसजीआई/न्यूनतम-1.1
:*जेआरई-1.1
:*जेआरई-1.1
:*J2SE-1.2 से J2SE-1.6 तक
:*जे2एसई-1.2 से जे2एसई-1.6 तक


==बंडल==
==बंडल==
[[Image:osgi-system-layering.svg|thumb|right|250px|वर्गीकरण: ओएसजीआई]]बंडल जावा कक्षाओं और विस्तृत मेनिफेस्ट से सुसज्जित अतिरिक्त संसाधनों का समूह है <code>[[MANIFEST.MF]]</code> संपूर्ण समुच्चय को घटक मानने की सीमा तक, जावा कक्षाओं के शामिल समूह को अधिक परिष्कृत व्यवहार देने के लिए आवश्यक अतिरिक्त सेवाओं के साथ-साथ इसकी सभी सामग्रियों पर फ़ाइल करें।
[[Image:osgi-system-layering.svg|thumb|right|250px|वर्गीकरण: ओएसजीआई]]एक बंडल जावा कक्षाओं और अतिरिक्त संसाधनों का एक समूह है जो इसकी सभी विवरणों पर एक विस्तृत मैनिफ़ेस्ट <code>[[MANIFEST.MF]]</code> फ़ाइल से सुसज्जित है, साथ ही संपूर्ण समुच्चय को एक घटक मानने की सीमा तक, जावा कक्षाओं के शामिल समूह को अधिक परिष्कृत व्यवहार देने के लिए अतिरिक्त सेवाओं की आवश्यकता है।


नीचे विशिष्ट उदाहरण दिया गया है <code>[[MANIFEST.MF]]</code> OSGi हेडर के साथ फ़ाइल:
नीचे ओएसजीआई हेडर के साथ एक विशिष्ट <code>[[MANIFEST.MF]]</code> फ़ाइल का एक उदाहरण दिया गया है:
<syntaxhighlight lang="properties" line>
<syntaxhighlight lang="properties" line>
  Bundle-Name: Hello World
  Bundle-Name: Hello World
Line 57: Line 57:
  Import-Package: org.osgi.framework;version="1.3.0"
  Import-Package: org.osgi.framework;version="1.3.0"
</syntaxhighlight>
</syntaxhighlight>
उदाहरण में सामग्री का अर्थ इस प्रकार है:<ref>[http://blog.springsource.com/2008/02/18/creating-osgi-bundles/ Creating OSGi bundles] by Costin Leau</ref>
उदाहरण में विवरण का अर्थ इस प्रकार है:<ref>[http://blog.springsource.com/2008/02/18/creating-osgi-bundles/ Creating OSGi bundles] by Costin Leau</ref>
# बंडल-नाम: इस बंडल के लिए मानव-पठनीय नाम परिभाषित करता है, बस बंडल को संक्षिप्त नाम निर्दिष्ट करता है।
# बंडल-नाम: इस बंडल के लिए मानव-पठनीय नाम परिभाषित करता है, बस बंडल को संक्षिप्त नाम निर्दिष्ट करता है।
# बंडल-प्रतीकात्मक नाम: एकमात्र आवश्यक हेडर, यह प्रविष्टि [[रिवर्स डोमेन नाम नोटेशन]] ([[जावा पैकेज]] द्वारा भी उपयोग किया जाता है) के आधार पर बंडल के लिए अद्वितीय पहचानकर्ता निर्दिष्ट करती है।
# बंडल-प्रतीकात्मक नाम: एकमात्र आवश्यक हेडर, यह प्रविष्टि [[रिवर्स डोमेन नाम नोटेशन]] ([[जावा पैकेज]] द्वारा भी उपयोग किया जाता है) के आधार पर बंडल के लिए अद्वितीय पहचानकर्ता निर्दिष्ट करती है।
Line 63: Line 63:
# बंडल-मैनिफेस्ट संस्करण: इस बंडल को पढ़ने के लिए उपयोग करने के लिए ओएसजीआई विनिर्देश को इंगित करता है।
# बंडल-मैनिफेस्ट संस्करण: इस बंडल को पढ़ने के लिए उपयोग करने के लिए ओएसजीआई विनिर्देश को इंगित करता है।
# बंडल-संस्करण: बंडल के लिए संस्करण संख्या निर्दिष्ट करता है।
# बंडल-संस्करण: बंडल के लिए संस्करण संख्या निर्दिष्ट करता है।
# बंडल-एक्टिवेटर: बंडल सक्रिय होने के बाद क्लास नाम को इंगित करता है।
# बंडल-एक्टिवेटर: बंडल सक्रिय होने के बाद वर्ग नाम को इंगित करता है।
# निर्यात-पैकेज: व्यक्त करता है कि बंडल में कौन से जावा पैकेज बाहरी दुनिया के लिए उपलब्ध कराए जाएंगे।
# निर्यात-पैकेज: व्यक्त करता है कि बंडल में कौन से जावा पैकेज बाह्य संसार के लिए उपलब्ध कराए जाएंगे।
# आयात-पैकेज: इंगित करता है कि बंडल में आवश्यक निर्भरता को पूरा करने के लिए बाहरी दुनिया से कौन से जावा पैकेज की आवश्यकता होगी।
# आयात-पैकेज: इंगित करता है कि बंडल में आवश्यक निर्भरता को पूर्ण करने के लिए बाह्य संसार से कौन से जावा पैकेज की आवश्यकता होगी।


== जीवन-चक्र ==
== जीवन-चक्र ==
[[Image:OSGi Bundle Life-Cycle.svg|thumb|right|250px|ओएसजीआई बंडल जीवन-चक्र]]एक जीवन चक्र परत बंडलों को जोड़ती है जिन्हें गतिशील रूप से स्थापित, प्रारंभ, बंद, अद्यतन और अनइंस्टॉल किया जा सकता है। बंडल क्लास लोडिंग के लिए मॉड्यूल परत पर निर्भर करते हैं लेकिन रन टाइम में मॉड्यूल को प्रबंधित करने के लिए एपीआई जोड़ते हैं। जीवन चक्र परत उन गतिशीलता का परिचय देती है जो आम तौर पर किसी एप्लिकेशन का हिस्सा नहीं होती हैं। पर्यावरण के सही संचालन को सुनिश्चित करने के लिए व्यापक निर्भरता तंत्र का उपयोग किया जाता है। जीवन चक्र संचालन सुरक्षा वास्तुकला के साथ पूरी तरह से संरक्षित हैं।
[[Image:OSGi Bundle Life-Cycle.svg|thumb|right|250px|ओएसजीआई बंडल जीवन-चक्र]]एक जीवन चक्र लेयर बंडलों को जोड़ती है जिन्हें गतिशील रूप से स्थापित, प्रारंभ, संवृत, अद्यतन और अनइंस्टॉल किया जा सकता है। बंडल वर्ग लोडिंग के लिए मॉड्यूल लेयर पर निर्भर करते हैं परंतु रन टाइम में मॉड्यूल को प्रबंधित करने के लिए एपीआई जोड़ते हैं। जीवन चक्र लेयर उन गतिशीलता का परिचय देती है जो सामान्यतः किसी एप्लिकेशन का भाग नहीं होती हैं। पर्यावरण के उचित संचालन को सुनिश्चित करने के लिए व्यापक निर्भरता तंत्र का उपयोग किया जाता है। जीवन चक्र संचालन सुरक्षा आर्किटेक्चर के साथ पूर्ण रूप से संरक्षित हैं।


{| class="wikitable"
{| class="wikitable"
Line 78: Line 78:
|-
|-
| '''RESOLVED'''
| '''RESOLVED'''
| बंडल के लिए आवश्यक सभी जावा कक्षाएं उपलब्ध हैं। यह स्थिति इंगित करती है कि बंडल या तो प्रारंभ होने के लिए तैयार है या बंद हो गया है।
| बंडल के लिए आवश्यक सभी जावा कक्षाएं उपलब्ध हैं। यह स्थिति इंगित करती है कि बंडल या तो प्रारंभ होने के लिए तैयार है या संवृत हो गया है।
|-
|-
| '''STARTING'''
| '''STARTING'''
| बंडल प्रारंभ किया जा रहा है, <code>[http://www.osgi.org/javadoc/r4v41/org/osgi/framework/BundleActivator.html#start(org.osgi.framework.BundleContext) BundleActivator.start]</code> विधि को कॉल किया गया है लेकिन प्रारंभ विधि अभी तक वापस नहीं आई है। जब बंडल में एक सक्रियण नीति होती है, तो बंडल अपनी सक्रियण नीति के अनुसार सक्रिय होने तक बंडल STARTING स्थिति में रहेगा।
| बंडल प्रारंभ किया जा रहा है, <code>[http://www.osgi.org/javadoc/r4v41/org/osgi/framework/BundleActivator.html#start(org.osgi.framework.BundleContext) BundleActivator.start]</code> विधि को कॉल किया गया है परंतु प्रारंभ विधि अभी तक वापस नहीं आई है। जब बंडल में एक सक्रियण नीति होती है, तो बंडल अपनी सक्रियण नीति के अनुसार सक्रिय होने तक बंडल STARTING स्थिति में रहेगा।
|-
|-
| '''ACTIVE'''
| '''ACTIVE'''
Line 87: Line 87:
|-
|-
| '''STOPPING'''
| '''STOPPING'''
| बंडल रोका जा रहा है। <code>[http://www.osgi.org/javadoc/r4v41/org/osgi/framework/BundleActivator.html#stop(org.osgi.framework.BundleContext) BundleActivator.stop]</code> विधि को कॉल किया गया है लेकिन स्टॉप विधि अभी तक वापस नहीं आई है।
| बंडल रोका जा रहा है। <code>[http://www.osgi.org/javadoc/r4v41/org/osgi/framework/BundleActivator.html#stop(org.osgi.framework.BundleContext) BundleActivator.stop]</code> विधि को कॉल किया गया है परंतु स्टॉप विधि अभी तक वापस नहीं आई है।
|-
|-
| '''UNINSTALLED'''
| '''UNINSTALLED'''
| बंडल अनइंस्टॉल कर दिया गया है। वह दूसरे राज्य में नहीं जा सकता।
| बंडल अनइंस्टॉल कर दिया गया है। वह दूसरी अवस्था में नहीं जा सकता।
|}
|}
<code>[http://www.osgi.org/javadoc/r4v42/org/osgi/framework/BundleActivator.html BundleActivator]</code> इंटरफ़ेस को लागू करने वाले एक विशिष्ट जावा क्लास का उदाहरण नीचे दिया गया है:
<code>[http://www.osgi.org/javadoc/r4v42/org/osgi/framework/BundleActivator.html BundleActivator]</code> इंटरफ़ेस को लागू करने वाले एक विशिष्ट जावा वर्ग का उदाहरण नीचे दिया गया है:
<syntaxhighlight lang="java">
<syntaxhighlight lang="java">
package org.wikipedia;
package org.wikipedia;
Line 116: Line 116:
</syntaxhighlight>
</syntaxhighlight>


==सेवाएँ==
==सर्विसेस==
===मानक सेवाएँ===
===मानक सर्विसेस===
OSGi एलायंस ने कई सेवाएँ निर्दिष्ट की हैं। सेवाएँ [[जावा इंटरफ़ेस]] द्वारा निर्दिष्ट की जाती हैं। बंडल इस इंटरफ़ेस को कार्यान्वित कर सकते हैं और सेवा रजिस्ट्री के साथ सेवा पंजीकृत कर सकते हैं। सेवा के ग्राहक इसे रजिस्ट्री में पा सकते हैं, या इसके प्रकट होने या गायब होने पर प्रतिक्रिया दे सकते हैं।
ओएसजीआई एलायंस ने कई सर्विसेस निर्दिष्ट की हैं। सर्विसेस [[जावा इंटरफ़ेस]] द्वारा निर्दिष्ट की जाती हैं। बंडल इस इंटरफ़ेस को कार्यान्वित कर सकते हैं और सर्विस रजिस्ट्री के साथ सर्विस पंजीकृत कर सकते हैं। सर्विस के ग्राहक इसे रजिस्ट्री में पा सकते हैं, या इसके प्रकट होने या विलुप्त होने पर प्रतिक्रिया दे सकते हैं।


नीचे दी गई तालिका OSGi सिस्टम सेवाओं का विवरण दिखाती है:
नीचे दी गई तालिका ओएसजीआई सिस्टम सेवाओं का विवरण दिखाती है:
{| class="wikitable" width = "100%"
{| class="wikitable" width = "100%"
! System Services
! System सर्विसेस
! विवरण
! विवरण
|-dsafassafasfas
|-dsafassafasfas
| '''Logging'''
| '''Logging'''
| सूचना, चेतावनियों, डिबग जानकारी या त्रुटियों की [[Java logging framework|लॉगिंग]] को लॉग सेवा के माध्यम से नियंत्रित किया जाता है। यह लॉग प्रविष्टियाँ प्राप्त करता है और फिर इन प्रविष्टियों को अन्य बंडलों को भेजता है जिन्होंने इस जानकारी की सदस्यता ली है।
| सूचना, चेतावनियों, डिबग सूचना या त्रुटियों की [[Java logging framework|लॉगिंग]] को लॉग सर्विस के माध्यम से नियंत्रित किया जाता है। यह लॉग प्रविष्टियाँ प्राप्त करता है और फिर इन प्रविष्टियों को अन्य बंडलों को भेजता है जिन्होंने इस सूचना की सदस्यता ली है।
|-
|-
| '''Configuration Admin'''
| '''Configuration Admin'''
| यह सेवा ऑपरेटर को तैनात बंडलों की कॉन्फ़िगरेशन जानकारी सेट करने और प्राप्त करने की अनुमति देती है।
| यह सर्विस ऑपरेटर को नियुक्त बंडलों की कॉन्फ़िगरेशन सूचना सेट करने और प्राप्त करने की अनुमति देती है।
|-
|-
| '''Device Access'''
| '''Device Access'''
| मौजूदा उपकरणों की स्वचालित पहचान और अनुलग्नक के समन्वय की सुविधा प्रदान करता है। इसका उपयोग प्लग एंड प्ले परिदृश्यों के लिए किया जाता है।
| वर्तमान उपकरणों की स्वचालित पहचान और अनुलग्नक के समन्वय की सुविधा प्रदान करता है। इसका उपयोग प्लग एंड प्ले परिदृश्यों के लिए किया जाता है।
|-
|-
| '''User Admin'''
| '''User Admin'''
| यह सेवा प्रमाणीकरण और प्राधिकरण उद्देश्यों के लिए उपयोगकर्ता जानकारी (निजी और सार्वजनिक) वाले डेटाबेस का उपयोग करती है।
| यह सर्विस प्रमाणीकरण और प्राधिकरण उद्देश्यों के लिए उपयोगकर्ता सूचना (निजी और सार्वजनिक) वाले डेटाबेस का उपयोग करती है।
|-
|-
| '''IO Connector'''
| '''IO Connector'''
| IO कनेक्टर सेवा [[Connected Device Configuration|CDC]]/[[CLDC]] <code>[http://java.sun.com/javame/reference/apis/jsr118/javax/microedition/io/package-summary.html javax.microedition.io]</code> पैकेज को एक सेवा के रूप में कार्यान्वित करती है। यह सेवा बंडलों को नई और वैकल्पिक प्रोटोकॉल योजनाएं प्रदान करने की अनुमति देती है।
| IO कनेक्टर सर्विस [[Connected Device Configuration|सीडीसी]]/[[CLDC|सीएलडीसी]] <code>[http://java.sun.com/javame/reference/apis/jsr118/javax/microedition/io/package-summary.html javax.microedition.io]</code> पैकेज को एक सर्विस के रूप में कार्यान्वित करती है। यह सर्विस बंडलों को नवीन और वैकल्पिक प्रोटोकॉल योजनाएं प्रदान करने की अनुमति देती है।
|-
|-
| '''Preferences'''
| '''Preferences'''
Line 144: Line 144:
|-
|-
| '''Component Runtime'''
| '''Component Runtime'''
| सेवाओं की गतिशील प्रकृति—वे किसी भी समय आ और जा सकती हैं—सॉफ़्टवेयर लिखना कठिन बना देती हैं। कंपोनेंट रनटाइम विनिर्देश निर्भरता की XML आधारित घोषणा प्रदान करके इन गतिशील पहलुओं को संभालना आसान बना सकता है।
| सेवाओं की गतिशील प्रकृति—वे किसी भी समय आ और जा सकती हैं—सॉफ़्टवेयर लिखना कठिन बना देती हैं। कंपोनेंट रनटाइम विनिर्देश निर्भरता की एक्सएमएल आधारित घोषणा प्रदान करके इन गतिशील गुणों को संभालना सरल बना सकता है।
|-
|-
| '''Deployment Admin'''
| '''Deployment Admin'''
| प्रबंधन एजेंट की कुछ जिम्मेदारियों तक पहुंच का मानकीकरण करता है।
| प्रबंधन एजेंट की कुछ उत्तरदायित्वों तक पहुंच का मानकीकरण करता है।
|-
|-
| '''Event Admin'''
| '''Event Admin'''
Line 155: Line 155:
| एक साथ उपलब्ध कई अलग-अलग प्रकार के अनुप्रयोगों के साथ पर्यावरण के प्रबंधन को सरल बनाता है।
| एक साथ उपलब्ध कई अलग-अलग प्रकार के अनुप्रयोगों के साथ पर्यावरण के प्रबंधन को सरल बनाता है।
|}
|}
नीचे दी गई तालिका OSGi प्रोटोकॉल सेवाओं का विवरण दिखाती है:
नीचे दी गई तालिका ओएसजीआई प्रोटोकॉल सेवाओं का विवरण दिखाती है:
{| class="wikitable" width = "100%"
{| class="wikitable" width = "100%"
! Protocol Services
! Protocol सर्विसेस
! विवरण
! विवरण
|-
|-
| '''HTTP Service'''
| '''एचटीटीपी सर्विस'''
| [[HTTP]] का उपयोग करके OSGi से जानकारी भेजने और प्राप्त करने की अनुमति देता है।
| [[HTTP|एचटीटीपी]] का उपयोग करके ओएसजीआई से सूचना भेजने और प्राप्त करने की अनुमति देता है।
|-
|-
| '''UPnP Device Service'''
| '''UPnP Device सर्विस'''
| निर्दिष्ट करता है कि [[Universal Plug and Play|यूनिवर्सल प्लग एंड प्ले]] (UPnP) उपकरणों के साथ इंटरऑपरेट करने के लिए OSGi बंडलों को कैसे विकसित किया जा सकता है।
| निर्दिष्ट करता है कि [[Universal Plug and Play|यूनिवर्सल प्लग एंड प्ले]] (UPnP) उपकरणों के साथ इंटरऑपरेट करने के लिए ओएसजीआई बंडलों को कैसे विकसित किया जा सकता है।
|-
|-
| '''DMT Admin'''
| '''DMT Admin'''
| [[Open Mobile Alliance|ओपन मोबाइल एलायंस]] (OMA) डिवाइस प्रबंधन विनिर्देशों की अवधारणाओं का उपयोग करके डिवाइस के प्रबंधन के लिए एक एपीआई को परिभाषित करता है।
| [[Open Mobile Alliance|ओपन मोबाइल एलायंस]] (OMA) डिवाइस प्रबंधन विनिर्देशों की अवधारणाओं का उपयोग करके डिवाइस के प्रबंधन के लिए एक एपीआई को परिभाषित करता है।
|}
|}
नीचे दी गई तालिका OSGi विविध सेवाओं का विवरण दिखाती है:
नीचे दी गई तालिका ओएसजीआई विविध सेवाओं का विवरण दिखाती है:
{| class="wikitable" width = "100%"
{| class="wikitable" width = "100%"
! Miscellaneous Services
! विविध सर्विसेस
! विवरण
! विवरण
|-
|-
| '''Wire Admin'''
| '''Wire Admin'''
| निर्माता सेवा और उपभोक्ता सेवा के बीच संबंध की अनुमति देता है।
| निर्माता सर्विस और उपभोक्ता सर्विस के बीच संबंध की अनुमति देता है।
|-
|-
| '''XML Parser'''
| '''एक्सएमएल Parser'''
| XML पार्सर सेवा एक बंडल को वांछित गुणों और [[JAXP]] के साथ संगतता वाले पार्सर का पता लगाने की अनुमति देती है।
| एक्सएमएल पार्सर सर्विस एक बंडल को वांछित गुणों और [[JAXP|जेएएक्सपी]] के साथ संगतता वाले पार्सर को ज्ञात करने की अनुमति देती है।
|-
|-
| '''Measurement and State'''
| '''Measurement and State'''
| माप और राज्य सेवा OSGi सेवा प्लेटफ़ॉर्म में माप के सही प्रबंधन की अनुमति देती है और सरल बनाती है।
| माप और अवस्था सर्विस ओएसजीआई सर्विस प्लेटफ़ॉर्म में माप के उचित प्रबंधन की अनुमति देती है और सरल बनाती है।
|}
|}


== संगठन ==
== संगठन ==
ओएसजीआई एलायंस की स्थापना मार्च 1999 में [[एरिक्सन]], [[आईबीएम]], [[ MOTOROLA |MOTOROLA]] , [[सन माइक्रोसिस्टम्स]] और अन्य द्वारा की गई थी। गैर-लाभकारी निगम के रूप में शामिल होने से पूर्व, इसे कनेक्टेड एलायंस कहा जाता था।
ओएसजीआई एलायंस की स्थापना मार्च 1999 में [[एरिक्सन]], [[आईबीएम]], [[ MOTOROLA |मोटोरोला]] , [[सन माइक्रोसिस्टम्स]] और अन्य द्वारा की गई थी। गैर-लाभकारी निगम के रूप में सम्मिलित होने से पूर्व, इसे कनेक्टेड एलायंस कहा जाता था।


इसके सदस्यों में शामिल हैं ({{As of|2015|alt=as of February 2015}}) बिल्कुल भिन्न व्यावसायिक क्षेत्रों की 35 से अधिक कंपनियाँ, उदाहरण के लिए [[एडोब इंक]], [[डॉयचे टेलीकॉम]], [[ Hitachi |Hitachi]] , आईबीएम, [[लाइफ़रे]], मेकवेव, [[एनईसी]], निप्पॉन टेलीग्राफ एंड टेलीफोन, [[ओरेकल कॉर्पोरेशन]], [[ऑरेंज एसए]], [[प्रोसिस्ट]], [[ बिक्री बल |बिक्री बल]] , [[सीमेंस]], [[ सॉफ्टवेयर इंक |सॉफ्टवेयर इंक]] और [[टिब्को सॉफ्टवेयर]]<ref>[http://www.osgi.org/About/Members OSGi Alliance | About / Members]</ref>
इसके सदस्यों में अलग-अलग व्यावसायिक क्षेत्रों की 35 से अधिक कंपनियां हैं, उदाहरण के लिए [[एडोब इंक]], [[डॉयचे टेलीकॉम]], [[ Hitachi |हिताची]] , आईबीएम, [[लाइफ़रे]], मेकवेव, [[एनईसी]], निप्पॉन टेलीग्राफ एंड टेलीफोन, [[ओरेकल कॉर्पोरेशन]], [[ऑरेंज एसए]], [[प्रोसिस्ट]], [[ बिक्री बल |बिक्री बल]] , [[सीमेंस]], [[ सॉफ्टवेयर इंक |सॉफ्टवेयर इंक]] और [[टिब्को सॉफ्टवेयर]] सम्मिलित हैं।<ref>[http://www.osgi.org/About/Members OSGi Alliance | About / Members]</ref>
एलायंस के पास निदेशक मंडल है जो संगठन का समग्र प्रशासन प्रदान करता है। अलायंस का समर्थन करने में OSGi अधिकारियों की विभिन्न भूमिकाएँ और जिम्मेदारियाँ हैं। तकनीकी कार्य निदेशक मंडल द्वारा चार्टर्ड विशेषज्ञ समूहों (ईजी) के भीतर आयोजित किया जाता है, और गैर-तकनीकी कार्य विभिन्न कार्य समूहों और समितियों में आयोजित किया जाता है। विशेषज्ञ समूहों के भीतर किए गए तकनीकी कार्यों में विशिष्टताओं का विकास, संदर्भ कार्यान्वयन और अनुपालन परीक्षण शामिल हैं। इन विशेषज्ञ समूहों ने ओएसजीआई विनिर्देशों के पांच प्रमुख रिलीज तैयार किए हैं ({{as of|2012}}).


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


एंटरप्राइज एक्सपर्ट ग्रुप (ईईजी) नवीनतम ईजी है और एंटरप्राइज/सर्वर-साइड अनुप्रयोगों को संबोधित कर रहा है।
एंटरप्राइज एक्सपर्ट ग्रुप (ईईजी) नवीनतम ईजी है और एंटरप्राइज/सर्वर-साइड अनुप्रयोगों को संबोधित कर रहा है।
नवंबर 2007 में आवासीय विशेषज्ञ समूह (आरईजी) ने आवासीय/होम-गेटवे को दूरस्थ रूप से प्रबंधित करने के लिए विशिष्टताओं पर कार्य करना शुरू किया।
 
अक्टूबर 2003 में, [[नोकिया]], मोटोरोला, [[अंतर्राष्ट्रीय व्यवसाय तंत्र]], प्रोसिस्ट और अन्य ओएसजीआई सदस्यों ने मोबाइल एक्सपर्ट ग्रुप (एमईजी) का गठन किया, जो अगली पीढ़ी के स्मार्ट मोबाइल फोन के लिए [[एमआईडीपी]]-आधारित सेवा प्लेटफॉर्म निर्दिष्ट करेगा, जो कनेक्टेड कुछ जरूरतों को संबोधित करेगा। सीमित डिवाइस कॉन्फ़िगरेशन प्रबंधित नहीं किया जा सकता {{En dash}} [[कनेक्टेड डिवाइस कॉन्फ़िगरेशन]] के अलावा अन्य। MEG R4 की तरह OSGi का हिस्सा बन गया।
नवंबर 2007 में आवासीय विशेषज्ञ समूह (आरईजी) ने आवासीय/होम-गेटवे को दूरस्थ रूप से प्रबंधित करने के लिए विशिष्टताओं पर कार्य करना प्रारंभ किया।अक्टूबर 2003 में, [[नोकिया]], मोटोरोला, [[अंतर्राष्ट्रीय व्यवसाय तंत्र]], प्रोसिस्ट और अन्य ओएसजीआई सदस्यों ने मोबाइल एक्सपर्ट ग्रुप (एमईजी) का निर्माण किया, जो अगली पीढ़ी के स्मार्ट मोबाइल फोन के लिए [[एमआईडीपी]]-आधारित सर्विस प्लेटफॉर्म निर्दिष्ट करेगा, जो कनेक्टेड कुछ आवश्यकताओं को संबोधित करेगा। सीमित डिवाइस कॉन्फ़िगरेशन प्रबंधित नहीं किया जा सकता {{En dash}} [[कनेक्टेड डिवाइस कॉन्फ़िगरेशन]] के अतिरिक्त अन्य। MEG R4 के जैसे ओएसजीआई का भाग बन गया।


== विशिष्टता संस्करण ==
== विशिष्टता संस्करण ==
Line 215: Line 216:
* ओएसजीआई रिलीज 7 (आर7): अप्रैल 2018
* ओएसजीआई रिलीज 7 (आर7): अप्रैल 2018
** कोर और सार-संग्रह: अप्रैल 2018
** कोर और सार-संग्रह: अप्रैल 2018
* OSGi रिलीज़ 8 (R8): दिसंबर 2020<ref>{{Cite web|url=https://blog.osgi.org/2020/12/osgi-core-release-8-is-now-final-and.html|title=OSGi Core Release 8 is now final and published}}</ref>
* ओएसजीआई रिलीज़ 8 (R8): दिसंबर 2020<ref>{{Cite web|url=https://blog.osgi.org/2020/12/osgi-core-release-8-is-now-final-and.html|title=OSGi Core Release 8 is now final and published}}</ref>
== संबंधित मानक ==
== संबंधित मानक ==
*[[मल्टीमीडिया होम प्लेटफार्म]] एप्लिकेशन प्लेटफ़ॉर्म
*[[मल्टीमीडिया होम प्लेटफार्म]] एप्लिकेशन प्लेटफ़ॉर्म
*[[यूनिवर्सल प्लग एंड प्ले]] (यूपीएनपी)
*[[यूनिवर्सल प्लग एंड प्ले]] (यूपीएनपी)
*[[DPWS]]
*[[DPWS|डीपीडब्ल्यूएस]]
*आईटीयू-टी जी.एच.एन
*आईटीयू-टी जी.एच.एन
*[[लोनवर्क्स]]
*[[लोनवर्क्स]]
*[[कोरबा]]
*[[कोरबा]]
*[[सीईबस]]
*[[सीईबस]]
*[[यूरोपीय होम सिस्टम प्रोटोकॉल]] (KNX (मानक)) / CECED [[चेन (उद्योग मानक)]]
*[[यूरोपीय होम सिस्टम प्रोटोकॉल]] (केएनएक्स (मानक)) / सीईसीईडी [[चेन (उद्योग मानक)]]
*[[जावा प्रबंधन एक्सटेंशन]]
*[[जावा प्रबंधन एक्सटेंशन]]


== ओएसजीआई का उपयोग करने वाली परियोजनाएं ==
== ओएसजीआई का उपयोग करने वाली परियोजनाएं ==
* [[ एडोब अनुभव प्रबंधक | एडोब अनुभव प्रबंधक]] {{En dash}} उद्यम [[सामग्री प्रबंधन प्रणाली]]<ref>{{cite news|date=2018-11-16|title=फॉरेस्टर ने वेब सामग्री प्रबंधन नेताओं के नाम बताए|publisher=CMSWire|url=https://www.cmswire.com/digital-experience/forrester-names-web-content-management-leaders-aprimo-updates-dam-more-news/|access-date=5 December 2018}}</ref>
* [[ एडोब अनुभव प्रबंधक | एडोब अनुभव प्रबंधक]] {{En dash}} उद्यम [[सामग्री प्रबंधन प्रणाली|विवरण प्रबंधन प्रणाली]]<ref>{{cite news|date=2018-11-16|title=फॉरेस्टर ने वेब सामग्री प्रबंधन नेताओं के नाम बताए|publisher=CMSWire|url=https://www.cmswire.com/digital-experience/forrester-names-web-content-management-leaders-aprimo-updates-dam-more-news/|access-date=5 December 2018}}</ref>
*[[अपाचे मेष]] {{En dash}} ओएसजीआई एंटरप्राइज एक्सपर्ट ग्रुप द्वारा परिभाषित एप्लिकेशन-केंद्रित विशिष्टताओं का ब्लूप्रिंट कंटेनर कार्यान्वयन और विस्तार
*[[अपाचे मेष]] {{En dash}} ओएसजीआई एंटरप्राइज एक्सपर्ट ग्रुप द्वारा परिभाषित एप्लिकेशन-केंद्रित विशिष्टताओं का ब्लूप्रिंट कंटेनर कार्यान्वयन और विस्तार।
* [[अपाचे स्लिंग]] {{En dash}} जावा सामग्री रिपॉजिटरी के लिए सामग्री रिपॉजिटरी एपीआई के लिए ओएसजीआई-आधारित एप्लिकेशन परत
* [[अपाचे स्लिंग]] {{En dash}} जावा विवरण रिपॉजिटरी के लिए विवरण रिपॉजिटरी एपीआई के लिए ओएसजीआई-आधारित एप्लिकेशन लेयर।
* [[एटलसियन संगम]] और [[एटलसियन वहाँ]] {{En dash}} इस एंटरप्राइज़ विकी और इश्यू ट्रैकर के लिए प्लग-इन आर्किटेक्चर OSGi का उपयोग करता है
* [[एटलसियन संगम]] और [[एटलसियन वहाँ]] {{En dash}} इस एंटरप्राइज़ विकी और इश्यू ट्रैकर के लिए प्लग-इन आर्किटेक्चर ओएसजीआई का उपयोग करता है।
* [[बीआईआरटी परियोजना]]|बिजनेस इंटेलिजेंस एंड रिपोर्टिंग टूल्स (बीआईआरटी) प्रोजेक्ट {{En dash}} ओपन सोर्स रिपोर्टिंग इंजन
* [[बीआईआरटी परियोजना]]|बिजनेस इंटेलिजेंस एंड रिपोर्टिंग टूल्स (बीआईआरटी) प्रोजेक्ट {{En dash}} ओपन सोर्स रिपोर्टिंग इंजन।
* [[साइटोस्केप]] {{En dash}} खुला स्रोत जैव सूचना विज्ञान सॉफ़्टवेयर प्लेटफ़ॉर्म (संस्करण 3.0 के अनुसार)
* [[साइटोस्केप]] {{En dash}} ओपन सोर्स जैव सूचना विज्ञान सॉफ़्टवेयर प्लेटफ़ॉर्म (संस्करण 3.0 के अनुसार)
* डेटा [[डेटान्यूक्लियस]] {{En dash}} सेवा-उन्मुख आर्किटेक्चर में ओपन सोर्स डेटा सेवाएं और दृढ़ता मंच
* डेटा [[डेटान्यूक्लियस]] {{En dash}} सेवा-उन्मुख आर्किटेक्चर में ओपन सोर्स डेटा सेवाएं और दृढ़ता मंच।
*[http://codice.org/ddf/index.html डीडीएफ] {{En dash}} वितरित डेटा फ्रेमवर्क मुफ़्त और ओपन-सोर्स डेटा एकीकरण प्रदान करता है
*[http://codice.org/ddf/index.html डीडीएफ] {{En dash}} वितरित डेटा फ्रेमवर्क मुफ़्त और ओपन-सोर्स डेटा एकीकरण प्रदान करता है।
*[[डॉटसीएमएस]] {{En dash}} खुला स्रोत वेब सामग्री प्रबंधन
*[[डॉटसीएमएस]] {{En dash}} ओपन सोर्स वेब विवरण प्रबंधन।
* [[ईज़ीबीन्स]] {{En dash}} खुला स्रोत ईजेबी 3 कंटेनर
* [[ईज़ीबीन्स]] {{En dash}} ओपन सोर्स ईजेबी 3 कंटेनर।।
* ग्रहण (सॉफ्टवेयर) {{En dash}} ओपन सोर्स आईडीई और रिच क्लाइंट प्लेटफ़ॉर्म
* ग्रहण (सॉफ्टवेयर) {{En dash}} ओपन सोर्स आईडीई और रिच क्लाइंट प्लेटफ़ॉर्म
* [[iDempiere]] {{En dash}} ओपन सोर्स [[ उद्यम संसाधन योजना |उद्यम संसाधन योजना]] ब्रांच ग्लोबलक्यूएसएस [[पूरा]] का ओएसजीआई कार्यान्वयन है जो मूल रूप से लो हेंग सिन द्वारा शुरू किया गया था।<ref>{{cite web|title=Adempiere Branch_GlobalQSS_361|url=http://www.adempiere.com/Branch_GlobalQSS_361|website=adempiere.com/|access-date=27 September 2014}}</ref>
* [[iDempiere]] {{En dash}} ओपन सोर्स [[ उद्यम संसाधन योजना |उद्यम संसाधन योजना]] ब्रांच ग्लोबलक्यूएसएस [[पूरा|पूर्ण]] का ओएसजीआई कार्यान्वयन है जो मूल रूप से लो हेंग सिन द्वारा प्रारंभ किया गया था।<ref>{{cite web|title=Adempiere Branch_GlobalQSS_361|url=http://www.adempiere.com/Branch_GlobalQSS_361|website=adempiere.com/|access-date=27 September 2014}}</ref>
* [[कन्या (सॉफ्टवेयर)]] {{En dash}} ओपन सोर्स माइक्रोकर्नेल-आधारित सर्वर ओएसजीआई बंडलों से निर्मित और ओएसजीआई अनुप्रयोगों का समर्थन करता है
* [[कन्या (सॉफ्टवेयर)]] {{En dash}} ओपन सोर्स माइक्रोकर्नेल-आधारित सर्वर ओएसजीआई बंडलों से निर्मित और ओएसजीआई अनुप्रयोगों का समर्थन करता है।
* [[ कांच की मछली | कांच की मछली]] (v3) {{En dash}}जावा ईई के लिए एप्लिकेशन सर्वर
* [[ कांच की मछली | कांच की मछली]] (v3) {{En dash}}जावा ईई के लिए एप्लिकेशन सर्वर।
* [[ फ़्यूज़ ईएसबी | फ़्यूज़ ईएसबी]] {{En dash}} ServiceMix 4 का उत्पादीकृत और समर्थित रिलीज़
* [[ फ़्यूज़ ईएसबी | फ़्यूज़ ईएसबी]] {{En dash}} सर्विसMix 4 का उत्पादीकृत और समर्थित रिलीज़।
* [[एकीकृत जीनोम ब्राउज़र]] {{En dash}} जीनोम डेटा को देखने, तलाशने और विश्लेषण करने के लिए खुला स्रोत, डेस्कटॉप जीयूआई
* [[एकीकृत जीनोम ब्राउज़र]] {{En dash}} जीनोम डेटा को देखने, तलाशने और विश्लेषण करने के लिए ओपन सोर्स, डेस्कटॉप जीयूआई।
* इंटेलीजे आइडिया {{En dash}} मुफ्त सामुदायिक संस्करण के साथ जावा आईडीई और समृद्ध ग्राहक मंच
* इंटेलीजे आइडिया {{En dash}} मुफ्त सामुदायिक संस्करण के साथ जावा आईडीई और समृद्ध ग्राहक मंच।
* [[जेबॉस]] {{En dash}} Red Hat का JBoss एप्लिकेशन सर्वर
* [[जेबॉस]] {{En dash}} Red Hat का JBoss एप्लिकेशन सर्वर।
* [[जोनास]] 5 {{En dash}} ओपन सोर्स जावा ईई 5 एप्लिकेशन सर्वर
* [[जोनास]] 5 {{En dash}} ओपन सोर्स जावा ईई 5 एप्लिकेशन सर्वर।
* [[जोसो]] 2 {{En dash}} एट्रीकोर का खुला स्रोत मानक-आधारित पहचान और पहुंच प्रबंधन प्लेटफ़ॉर्म
* [[जोसो]] 2 {{En dash}} एट्रीकोर का ओपन सोर्स मानक-आधारित पहचान और पहुंच प्रबंधन प्लेटफ़ॉर्म।
* लाइफ़रे {{En dash}} ओपन सोर्स और वाणिज्यिक उद्यम पोर्टल प्लेटफ़ॉर्म संस्करण 7.x से OSGi का उपयोग करते हैं
* लाइफ़रे {{En dash}} ओपन सोर्स और वाणिज्यिक उद्यम पोर्टल प्लेटफ़ॉर्म संस्करण 7.x से ओएसजीआई का उपयोग करते हैं।
*[[लूसी]] 5 {{En dash}} खुला स्रोत सीएफएमएल वेब एप्लिकेशन सर्वर
*[[लूसी]] 5 {{En dash}} ओपन सोर्स सीएफएमएल वेब एप्लिकेशन सर्वर।
* [[ NetBeans | NetBeans]] {{En dash}} ओपन सोर्स आईडीई और रिच क्लाइंट प्लेटफ़ॉर्म
* [[ NetBeans | NetBeans]] {{En dash}} ओपन सोर्स आईडीई और रिच क्लाइंट प्लेटफ़ॉर्म।
*[[नक्सियो]] {{En dash}} ओपन सोर्स [[ उद्यम सामग्री प्रबंधन |उद्यम सामग्री प्रबंधन]] सर्विस प्लेटफॉर्म
*[[नक्सियो]] {{En dash}} ओपन सोर्स [[ उद्यम सामग्री प्रबंधन |उद्यम विवरण प्रबंधन]] सर्विस प्लेटफॉर्म।
* [[डेलाइट प्रोजेक्ट खोलें]] {{En dash}} [[सॉफ़्टवेयर-परिभाषित नेटवर्किंग]] को अपनाने में तेजी लाने के लक्ष्य के साथ परियोजना
* [[डेलाइट प्रोजेक्ट खोलें]] {{En dash}} [[सॉफ़्टवेयर-परिभाषित नेटवर्किंग]] को अपनाने में तेजी लाने के लक्ष्य के साथ परियोजना।
* [[ओपनईजेबी]] {{En dash}} ओपन सोर्स ओएसजीआई-सक्षम ईजेबी 3.0 कंटेनर जिसे स्टैंडअलोन या एम्बेडेड मोड दोनों में चलाया जा सकता है
* [[ओपनईजेबी]] {{En dash}} ओपन सोर्स ओएसजीआई-सक्षम ईजेबी 3.0 कंटेनर जिसे स्टैंडअलोन या एम्बेडेड मोड दोनों में चलाया जा सकता है।
* ओपनएचएबी {{En dash}} ओपन सोर्स होम ऑटोमेशन सॉफ्टवेयर
* ओपनएचएबी {{En dash}} ओपन सोर्स होम ऑटोमेशन सॉफ्टवेयर।
* [[ओपनवर्म]] {{En dash}} कैनोर्हाडाइटिस एलिगेंस|सी का ओपन सोर्स सॉफ्टवेयर सिमुलेशन। एलिगेंस, समर्पित गेपेट्टो मॉड्यूलर प्लेटफॉर्म के माध्यम से
* [[ओपनवर्म]] {{En dash}} कैनोर्हाडाइटिस एलिगेंस|सी का ओपन सोर्स सॉफ्टवेयर सिमुलेशन। एलिगेंस, समर्पित गेपेट्टो मॉड्यूलर प्लेटफॉर्म के माध्यम से।
* [[ अकना | अकना]] {{En dash}} अकाना से एपीआई गेटवे, पोर्टल और एनालिटिक्स सर्वर (पूर्व में एसओए सॉफ्टवेयर)
* [[ अकना |अकना]] {{En dash}} अकाना से एपीआई गेटवे, पोर्टल और एनालिटिक्स सर्वर (पूर्व में एसओए सॉफ्टवेयर)
* [[वेबलॉजिक]] {{En dash}} ओरेकल वेबलॉजिक एप्लिकेशन सर्वर
* [[वेबलॉजिक]] {{En dash}} ओरेकल वेबलॉजिक एप्लिकेशन सर्वर।
* [[वेबस्फेयर]] {{En dash}} आईबीएम वेबस्फीयर जेईई एप्लिकेशन सर्वर
* [[वेबस्फेयर]] {{En dash}} आईबीएम वेबस्फीयर जेईई एप्लिकेशन सर्वर।
* [[वेबमेथड्स]] {{En dash}} सॉफ्टवेयरएजी वेबमेथड्स
* [[वेबमेथड्स]] {{En dash}} सॉफ्टवेयरएजी वेबमेथड्स।
* [[WSO2 कार्बन]] {{En dash}} WSO2 के एंटरप्राइज़-ग्रेड ओपन सोर्स मिडलवेयर स्टैक के लिए बेस प्लेटफ़ॉर्म
* [[WSO2 कार्बन]] {{En dash}} WSO2 के एंटरप्राइज़-ग्रेड ओपन सोर्स मिडलवेयर स्टैक के लिए बेस प्लेटफ़ॉर्म।
* [[पेंटाहो]] - [[ व्यापारिक सूचना |व्यापारिक सूचना]] (बीआई) सॉफ्टवेयर जो [[डेटा एकीकरण]], ओएलएपी, [[ प्रतिवेदन |प्रतिवेदन]] , [[डैशबोर्ड (प्रबंधन सूचना प्रणाली)]], [[डेटा खनन]] और एक्सट्रैक्ट, ट्रांसफॉर्म, लोड (ईटीएल) क्षमताएं प्रदान करता है।
* [[पेंटाहो]] - [[ व्यापारिक सूचना |व्यापारिक सूचना]] (बीआई) सॉफ्टवेयर जो [[डेटा एकीकरण]], ओएलएपी, [[ प्रतिवेदन |प्रतिवेदन]] , [[डैशबोर्ड (प्रबंधन सूचना प्रणाली)]], [[डेटा खनन]] और एक्सट्रैक्ट, ट्रांसफॉर्म, लोड (ईटीएल) क्षमताएं प्रदान करता है।


Line 268: Line 269:
! Name !! License
! Name !! License
|-
|-
| [[Apache Felix]] || Open source
| [[Apache Felix|अपाचे फेलिक्स]] || ओपन सोर्स
|-
|-
| Apache Karaf || Open source
| अपाचे करफ || ओपन सोर्स
|-
|-
| [[Concierge OSGi]] || Open source
| [[Concierge OSGi|Concierge ओएसजीआई]] || ओपन सोर्स
|-
|-
| [[Equinox OSGi]]  || Open source
| [[Equinox OSGi|Equinox ओएसजीआई]]  || ओपन सोर्स
|-
|-
| [[Eclipse Gemini]] || Open Source
| [[Eclipse Gemini]] || ओपन सोर्स
|-
|-
| [https://www.knopflerfish.org Knopflerfish] || Open Source
| [https://www.knopflerfish.org Knopflerfish] || ओपन सोर्स
|}
|}


Line 493: Line 494:
{{refend}}
{{refend}}


==बाहरी संबंध==
==बाह्य संबंध==
{{Commons category|OSGi}}
{{Commons category|OSGi}}
*{{Official website|http://www.osgi.org/}}
*{{Official website|http://www.osgi.org/}}
*[https://web.archive.org/web/20100505202136/http://www.viddler.com/explore/oredev/videos/112/ Oredev 2008 - Architecture - OSGi Now and Tomorrow]
*[https://web.archive.org/web/20100505202136/http://www.viddler.com/explore/oredev/videos/112/ Oredev 2008 - Architecture - ओएसजीआई Now and Tomorrow]
* [http://wiki.eclipse.org/index.php/Category:Equinox Eclipse Equinox Article Index] - Articles on an open source OSGi implementation
* [http://wiki.eclipse.org/index.php/Category:Equinox Eclipse Equinox Article Index] - Articles on an ओपन सोर्स ओएसजीआई implementation


[[Category: संयुक्त राज्य अमेरिका में मानक संगठन]] [[Category: उदाहरण जावा कोड वाले लेख]] [[Category: जावा में प्रोग्राम किया गया मुफ़्त सॉफ़्टवेयर (प्रोग्रामिंग भाषा)]] [[Category: 1999 संयुक्त राज्य अमेरिका में प्रतिष्ठान]] [[Category: अंतः स्थापित प्रणालियाँ]] [[Category: कैलिफ़ोर्निया में स्थित संगठन]]  
[[Category: संयुक्त राज्य अमेरिका में मानक संगठन]] [[Category: उदाहरण जावा कोड वाले लेख]] [[Category: जावा में प्रोग्राम किया गया मुफ़्त सॉफ़्टवेयर (प्रोग्रामिंग भाषा)]] [[Category: 1999 संयुक्त राज्य अमेरिका में प्रतिष्ठान]] [[Category: अंतः स्थापित प्रणालियाँ]] [[Category: कैलिफ़ोर्निया में स्थित संगठन]]  

Revision as of 12:02, 30 November 2023

ओएसजीआई
File:OSGi Logo.png
OSGi Alliance logo
Year started1999
Latest version8.0
October 2020 (2020-10)[1]
OrganizationOSGi Alliance
DomainJava
LicenseOSGi Specification License, Version 2.0
Websitewww.osgi.org

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

विवरण

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

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

अक्टूबर 2020 में, ओएसजीआई एलायंस ने मानकीकरण प्रयास को एक्लिप्स फाउंडेशन में स्थानांतरित करने की घोषणा की, जिसके बाद यह संवृत हो जाएगा।[2] सभी कलाकृतियों को एक्लिप्स फाउंडेशन में स्थानांतरित कर दिया गया है, जहां "ओएसजीआई वर्किंग ग्रुप विनिर्देश को बनाए रखना और विकसित करना जारी रखता है।

विशिष्टता प्रक्रिया

ओएसजीआई विशिष्टता को सदस्यों द्वारा विवृत प्रक्रिया में विकसित किया जाता है और ओएसजीआई विशिष्टता लाइसेंस के अंतर्गत जनता को निःशुल्क उपलब्ध कराया जाता है।[3] ओएसजीआई एलायंस का नियामक अनुपालन कार्यक्रम है जो मात्र सदस्यों के लिए विवृत है। नवंबर 2010 तक, सात प्रमाणित ओएसजीआई फ्रेमवर्क कार्यान्वयन हैं।[4] अलग पृष्ठ प्रमाणित और गैर-प्रमाणित दोनों ओएसजीआई विशिष्टता कार्यान्वयन को सूचीबद्ध करता है, जिसमें ओएसजीआई संरचना और अन्य ओएसजीआई विनिर्देश सम्मिलित हैं।

आर्किटेक्चर

ओएसजीआई सर्विस गेटवे आर्किटेक्चर

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

रूपरेखा को वैचारिक रूप से निम्नलिखित क्षेत्रों में विभाजित किया गया है:

बंडल
बंडल अतिरिक्त मेनिफेस्ट हेडर के साथ सामान्य JAR (फ़ाइल फार्मेट) घटक हैं।
सर्विसेस
सर्विस लेयर साधारण प्राचीन जावा इंटरफेस (पीओजेआई) या साधारण प्राचीन जावा ऑब्जेक्ट्स (पीओजेओ) के लिए प्रकाशन-खोज-बाइंड मॉडल की प्रस्तुति करके बंडलों को गतिशील विधि से जोड़ती है।
सर्विस रजिस्ट्री
प्रबंधन सेवाओं के लिए अप्लिकेशन प्रोग्रामिंग इंटरफ़ेस
जीवन-चक्र
बंडलों के लिए जीवन चक्र प्रबंधन (इंस्टॉल, स्टार्ट, स्टॉप, अपडेट और अनइंस्टॉल) के लिए एप्लिकेशन प्रोग्रामिंग इंटरफ़ेस।
मॉड्यूल
वह लेयर जो एनकैप्सुलेशन और निर्भरता की घोषणा को परिभाषित करती है (कैसे बंडल कोड आयात और निर्यात कर सकता है)।
सुरक्षा
वह लेयर जो बंडल कार्यक्षमता को पूर्व-निर्धारित क्षमताओं तक सीमित करके सुरक्षा गुणों को संभालती है।
निष्पादन पर्यावरण
परिभाषित करता है कि किसी विशिष्ट प्लेटफ़ॉर्म में कौन सी विधियाँ और कक्षाएं उपलब्ध हैं। निष्पादन वातावरण की कोई निश्चित सूची नहीं है, क्योंकि यह परिवर्तन के अधीन है क्योंकि जावा समुदाय प्रक्रिया जावा के नवीन संस्करण और संस्करण बनाती है। यद्यपि , निम्नलिखित सेट वर्तमान में अधिकांश ओएसजीआई कार्यान्वयन द्वारा समर्थित है:
  • सीडीसी-1.0/फाउंडेशन-1.0
  • सीडीसी-1.1/फाउंडेशन-1.1
  • ओएसजीआई/न्यूनतम-1.0
  • ओएसजीआई/न्यूनतम-1.1
  • जेआरई-1.1
  • जे2एसई-1.2 से जे2एसई-1.6 तक

बंडल

वर्गीकरण: ओएसजीआई

एक बंडल जावा कक्षाओं और अतिरिक्त संसाधनों का एक समूह है जो इसकी सभी विवरणों पर एक विस्तृत मैनिफ़ेस्ट MANIFEST.MF फ़ाइल से सुसज्जित है, साथ ही संपूर्ण समुच्चय को एक घटक मानने की सीमा तक, जावा कक्षाओं के शामिल समूह को अधिक परिष्कृत व्यवहार देने के लिए अतिरिक्त सेवाओं की आवश्यकता है।

नीचे ओएसजीआई हेडर के साथ एक विशिष्ट MANIFEST.MF फ़ाइल का एक उदाहरण दिया गया है:

 Bundle-Name: Hello World
 Bundle-SymbolicName: org.wikipedia.helloworld
 Bundle-Description: A Hello World bundle
 Bundle-ManifestVersion: 2
 Bundle-Version: 1.0.0
 Bundle-Activator: org.wikipedia.Activator
 Export-Package: org.wikipedia.helloworld;version="1.0.0"
 Import-Package: org.osgi.framework;version="1.3.0"

उदाहरण में विवरण का अर्थ इस प्रकार है:[5]

  1. बंडल-नाम: इस बंडल के लिए मानव-पठनीय नाम परिभाषित करता है, बस बंडल को संक्षिप्त नाम निर्दिष्ट करता है।
  2. बंडल-प्रतीकात्मक नाम: एकमात्र आवश्यक हेडर, यह प्रविष्टि रिवर्स डोमेन नाम नोटेशन (जावा पैकेज द्वारा भी उपयोग किया जाता है) के आधार पर बंडल के लिए अद्वितीय पहचानकर्ता निर्दिष्ट करती है।
  3. बंडल-विवरण: बंडल की कार्यक्षमता का विवरण।
  4. बंडल-मैनिफेस्ट संस्करण: इस बंडल को पढ़ने के लिए उपयोग करने के लिए ओएसजीआई विनिर्देश को इंगित करता है।
  5. बंडल-संस्करण: बंडल के लिए संस्करण संख्या निर्दिष्ट करता है।
  6. बंडल-एक्टिवेटर: बंडल सक्रिय होने के बाद वर्ग नाम को इंगित करता है।
  7. निर्यात-पैकेज: व्यक्त करता है कि बंडल में कौन से जावा पैकेज बाह्य संसार के लिए उपलब्ध कराए जाएंगे।
  8. आयात-पैकेज: इंगित करता है कि बंडल में आवश्यक निर्भरता को पूर्ण करने के लिए बाह्य संसार से कौन से जावा पैकेज की आवश्यकता होगी।

जीवन-चक्र

File:OSGi Bundle Life-Cycle.svg
ओएसजीआई बंडल जीवन-चक्र

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

बंडल अवस्था विवरण
INSTALLED बंडल सफलतापूर्वक स्थापित किया गया है।
RESOLVED बंडल के लिए आवश्यक सभी जावा कक्षाएं उपलब्ध हैं। यह स्थिति इंगित करती है कि बंडल या तो प्रारंभ होने के लिए तैयार है या संवृत हो गया है।
STARTING बंडल प्रारंभ किया जा रहा है, BundleActivator.start विधि को कॉल किया गया है परंतु प्रारंभ विधि अभी तक वापस नहीं आई है। जब बंडल में एक सक्रियण नीति होती है, तो बंडल अपनी सक्रियण नीति के अनुसार सक्रिय होने तक बंडल STARTING स्थिति में रहेगा।
ACTIVE बंडल सफलतापूर्वक सक्रिय हो गया है और चल रहा है; इसके बंडल एक्टिवेटर प्रारंभ विधि को कॉल किया गया है और वापस कर दिया गया है।
STOPPING बंडल रोका जा रहा है। BundleActivator.stop विधि को कॉल किया गया है परंतु स्टॉप विधि अभी तक वापस नहीं आई है।
UNINSTALLED बंडल अनइंस्टॉल कर दिया गया है। वह दूसरी अवस्था में नहीं जा सकता।

BundleActivator इंटरफ़ेस को लागू करने वाले एक विशिष्ट जावा वर्ग का उदाहरण नीचे दिया गया है:

package org.wikipedia;

import org.osgi.framework.BundleActivator;
import org.osgi.framework.BundleContext;

public class Activator implements BundleActivator {
	private BundleContext context;

	@Override
	public void start(BundleContext context) throws Exception {
		System.out.println("Starting: Hello World");
		this.context = context;
	}

	@Override
	public void stop(BundleContext context) throws Exception {
		System.out.println("Stopping: Goodbye Cruel World");
		this.context = null;
	}
}

सर्विसेस

मानक सर्विसेस

ओएसजीआई एलायंस ने कई सर्विसेस निर्दिष्ट की हैं। सर्विसेस जावा इंटरफ़ेस द्वारा निर्दिष्ट की जाती हैं। बंडल इस इंटरफ़ेस को कार्यान्वित कर सकते हैं और सर्विस रजिस्ट्री के साथ सर्विस पंजीकृत कर सकते हैं। सर्विस के ग्राहक इसे रजिस्ट्री में पा सकते हैं, या इसके प्रकट होने या विलुप्त होने पर प्रतिक्रिया दे सकते हैं।

नीचे दी गई तालिका ओएसजीआई सिस्टम सेवाओं का विवरण दिखाती है:

System सर्विसेस विवरण
Logging सूचना, चेतावनियों, डिबग सूचना या त्रुटियों की लॉगिंग को लॉग सर्विस के माध्यम से नियंत्रित किया जाता है। यह लॉग प्रविष्टियाँ प्राप्त करता है और फिर इन प्रविष्टियों को अन्य बंडलों को भेजता है जिन्होंने इस सूचना की सदस्यता ली है।
Configuration Admin यह सर्विस ऑपरेटर को नियुक्त बंडलों की कॉन्फ़िगरेशन सूचना सेट करने और प्राप्त करने की अनुमति देती है।
Device Access वर्तमान उपकरणों की स्वचालित पहचान और अनुलग्नक के समन्वय की सुविधा प्रदान करता है। इसका उपयोग प्लग एंड प्ले परिदृश्यों के लिए किया जाता है।
User Admin यह सर्विस प्रमाणीकरण और प्राधिकरण उद्देश्यों के लिए उपयोगकर्ता सूचना (निजी और सार्वजनिक) वाले डेटाबेस का उपयोग करती है।
IO Connector IO कनेक्टर सर्विस सीडीसी/सीएलडीसी javax.microedition.io पैकेज को एक सर्विस के रूप में कार्यान्वित करती है। यह सर्विस बंडलों को नवीन और वैकल्पिक प्रोटोकॉल योजनाएं प्रदान करने की अनुमति देती है।
Preferences प्राथमिकताओं को संग्रहीत करने के लिए जावा के डिफ़ॉल्ट Properties का उपयोग करने के लिए एक वैकल्पिक, अधिक ओएसजीआई-अनुकूल तंत्र प्रदान करता है।
Component Runtime सेवाओं की गतिशील प्रकृति—वे किसी भी समय आ और जा सकती हैं—सॉफ़्टवेयर लिखना कठिन बना देती हैं। कंपोनेंट रनटाइम विनिर्देश निर्भरता की एक्सएमएल आधारित घोषणा प्रदान करके इन गतिशील गुणों को संभालना सरल बना सकता है।
Deployment Admin प्रबंधन एजेंट की कुछ उत्तरदायित्वों तक पहुंच का मानकीकरण करता है।
Event Admin प्रकाशित-और-सदस्यता मॉडल के आधार पर एक अंतर-बंडल संचार तंत्र प्रदान करता है।
Application Admin एक साथ उपलब्ध कई अलग-अलग प्रकार के अनुप्रयोगों के साथ पर्यावरण के प्रबंधन को सरल बनाता है।

नीचे दी गई तालिका ओएसजीआई प्रोटोकॉल सेवाओं का विवरण दिखाती है:

Protocol सर्विसेस विवरण
एचटीटीपी सर्विस एचटीटीपी का उपयोग करके ओएसजीआई से सूचना भेजने और प्राप्त करने की अनुमति देता है।
UPnP Device सर्विस निर्दिष्ट करता है कि यूनिवर्सल प्लग एंड प्ले (UPnP) उपकरणों के साथ इंटरऑपरेट करने के लिए ओएसजीआई बंडलों को कैसे विकसित किया जा सकता है।
DMT Admin ओपन मोबाइल एलायंस (OMA) डिवाइस प्रबंधन विनिर्देशों की अवधारणाओं का उपयोग करके डिवाइस के प्रबंधन के लिए एक एपीआई को परिभाषित करता है।

नीचे दी गई तालिका ओएसजीआई विविध सेवाओं का विवरण दिखाती है:

विविध सर्विसेस विवरण
Wire Admin निर्माता सर्विस और उपभोक्ता सर्विस के बीच संबंध की अनुमति देता है।
एक्सएमएल Parser एक्सएमएल पार्सर सर्विस एक बंडल को वांछित गुणों और जेएएक्सपी के साथ संगतता वाले पार्सर को ज्ञात करने की अनुमति देती है।
Measurement and State माप और अवस्था सर्विस ओएसजीआई सर्विस प्लेटफ़ॉर्म में माप के उचित प्रबंधन की अनुमति देती है और सरल बनाती है।

संगठन

ओएसजीआई एलायंस की स्थापना मार्च 1999 में एरिक्सन, आईबीएम, मोटोरोला , सन माइक्रोसिस्टम्स और अन्य द्वारा की गई थी। गैर-लाभकारी निगम के रूप में सम्मिलित होने से पूर्व, इसे कनेक्टेड एलायंस कहा जाता था।

इसके सदस्यों में अलग-अलग व्यावसायिक क्षेत्रों की 35 से अधिक कंपनियां हैं, उदाहरण के लिए एडोब इंक, डॉयचे टेलीकॉम, हिताची , आईबीएम, लाइफ़रे, मेकवेव, एनईसी, निप्पॉन टेलीग्राफ एंड टेलीफोन, ओरेकल कॉर्पोरेशन, ऑरेंज एसए, प्रोसिस्ट, बिक्री बल , सीमेंस, सॉफ्टवेयर इंक और टिब्को सॉफ्टवेयर सम्मिलित हैं।[6]

एलायंस के निकट निदेशक मंडल है जो संगठन का समग्र प्रशासन प्रदान करता है। अलायंस का समर्थन करने में ओएसजीआई अधिकारियों की विभिन्न भूमिकाएँ और उत्तरदायित्व हैं। तकनीकी कार्य निदेशक मंडल द्वारा चार्टर्ड विशेषज्ञ समूहों (ईजी) के भीतर आयोजित किया जाता है, और गैर-तकनीकी कार्य विभिन्न कार्य समूहों और समितियों में आयोजित किया जाता है। विशेषज्ञ समूहों के भीतर किए गए तकनीकी कार्यों में विशिष्टताओं का विकास, संदर्भ कार्यान्वयन और अनुपालन परीक्षण सम्मिलित हैं। इन विशेषज्ञ समूहों ने ओएसजीआई विनिर्देशों (2012 तक) के पांच प्रमुख रिलीज तैयार किए हैं।

उद्यम, मोबाइल, वाहन और मुख्य प्लेटफ़ॉर्म क्षेत्रों के लिए समर्पित विशेषज्ञ समूह स्थित हैं।

एंटरप्राइज एक्सपर्ट ग्रुप (ईईजी) नवीनतम ईजी है और एंटरप्राइज/सर्वर-साइड अनुप्रयोगों को संबोधित कर रहा है।

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

विशिष्टता संस्करण

  • ओएसजीआई रिलीज़ 1 (आर1): मई 2000
  • ओएसजीआई रिलीज़ 2 (आर2): अक्टूबर 2001
  • ओएसजीआई रिलीज़ 3 (आर3): मार्च 2003
  • ओएसजीआई रिलीज 4 (आर4): अक्टूबर 2005/सितंबर 2006
    • कोर विशिष्टता (आर4 कोर): अक्टूबर 2005
    • मोबाइल विशिष्टता (आर4 मोबाइल/जेएसआर-232): सितंबर 2006
  • ओएसजीआई रिलीज 4.1 (आर4.1): मई 2007 (एकेए जेएसआर-291)
  • ओएसजीआई रिलीज 4.2 (आर4.2): सितंबर 2009
    • एंटरप्राइज विशिष्टता (आर4.2): मार्च 2010
  • ओएसजीआई रिलीज़ 4.3 (आर4.3): अप्रैल 2011
    • कोर: अप्रैल 2011
    • सार-संग्रह एवं आवासीय: मई 2012
  • ओएसजीआई रिलीज़ 5 (आर5): जून 2012
    • कोर और एंटरप्राइज: जून 2012
  • ओएसजीआई रिलीज़ 6 (आर6): जून 2015
    • कोर: जून 2015
  • ओएसजीआई रिलीज 7 (आर7): अप्रैल 2018
    • कोर और सार-संग्रह: अप्रैल 2018
  • ओएसजीआई रिलीज़ 8 (R8): दिसंबर 2020[7]

संबंधित मानक

ओएसजीआई का उपयोग करने वाली परियोजनाएं

  • एडोब अनुभव प्रबंधक – उद्यम विवरण प्रबंधन प्रणाली[8]
  • अपाचे मेष – ओएसजीआई एंटरप्राइज एक्सपर्ट ग्रुप द्वारा परिभाषित एप्लिकेशन-केंद्रित विशिष्टताओं का ब्लूप्रिंट कंटेनर कार्यान्वयन और विस्तार।
  • अपाचे स्लिंग – जावा विवरण रिपॉजिटरी के लिए विवरण रिपॉजिटरी एपीआई के लिए ओएसजीआई-आधारित एप्लिकेशन लेयर।
  • एटलसियन संगम और एटलसियन वहाँ – इस एंटरप्राइज़ विकी और इश्यू ट्रैकर के लिए प्लग-इन आर्किटेक्चर ओएसजीआई का उपयोग करता है।
  • बीआईआरटी परियोजना|बिजनेस इंटेलिजेंस एंड रिपोर्टिंग टूल्स (बीआईआरटी) प्रोजेक्ट – ओपन सोर्स रिपोर्टिंग इंजन।
  • साइटोस्केप – ओपन सोर्स जैव सूचना विज्ञान सॉफ़्टवेयर प्लेटफ़ॉर्म (संस्करण 3.0 के अनुसार)।
  • डेटा डेटान्यूक्लियस – सेवा-उन्मुख आर्किटेक्चर में ओपन सोर्स डेटा सेवाएं और दृढ़ता मंच।
  • डीडीएफ – वितरित डेटा फ्रेमवर्क मुफ़्त और ओपन-सोर्स डेटा एकीकरण प्रदान करता है।
  • डॉटसीएमएस – ओपन सोर्स वेब विवरण प्रबंधन।
  • ईज़ीबीन्स – ओपन सोर्स ईजेबी 3 कंटेनर।।
  • ग्रहण (सॉफ्टवेयर) – ओपन सोर्स आईडीई और रिच क्लाइंट प्लेटफ़ॉर्म
  • iDempiere – ओपन सोर्स उद्यम संसाधन योजना ब्रांच ग्लोबलक्यूएसएस पूर्ण का ओएसजीआई कार्यान्वयन है जो मूल रूप से लो हेंग सिन द्वारा प्रारंभ किया गया था।[9]
  • कन्या (सॉफ्टवेयर) – ओपन सोर्स माइक्रोकर्नेल-आधारित सर्वर ओएसजीआई बंडलों से निर्मित और ओएसजीआई अनुप्रयोगों का समर्थन करता है।
  • कांच की मछली (v3) –जावा ईई के लिए एप्लिकेशन सर्वर।
  • फ़्यूज़ ईएसबी – सर्विसMix 4 का उत्पादीकृत और समर्थित रिलीज़।
  • एकीकृत जीनोम ब्राउज़र – जीनोम डेटा को देखने, तलाशने और विश्लेषण करने के लिए ओपन सोर्स, डेस्कटॉप जीयूआई।
  • इंटेलीजे आइडिया – मुफ्त सामुदायिक संस्करण के साथ जावा आईडीई और समृद्ध ग्राहक मंच।
  • जेबॉस – Red Hat का JBoss एप्लिकेशन सर्वर।
  • जोनास 5 – ओपन सोर्स जावा ईई 5 एप्लिकेशन सर्वर।
  • जोसो 2 – एट्रीकोर का ओपन सोर्स मानक-आधारित पहचान और पहुंच प्रबंधन प्लेटफ़ॉर्म।
  • लाइफ़रे – ओपन सोर्स और वाणिज्यिक उद्यम पोर्टल प्लेटफ़ॉर्म संस्करण 7.x से ओएसजीआई का उपयोग करते हैं।
  • लूसी 5 – ओपन सोर्स सीएफएमएल वेब एप्लिकेशन सर्वर।
  • NetBeans – ओपन सोर्स आईडीई और रिच क्लाइंट प्लेटफ़ॉर्म।
  • नक्सियो – ओपन सोर्स उद्यम विवरण प्रबंधन सर्विस प्लेटफॉर्म।
  • डेलाइट प्रोजेक्ट खोलेंसॉफ़्टवेयर-परिभाषित नेटवर्किंग को अपनाने में तेजी लाने के लक्ष्य के साथ परियोजना।
  • ओपनईजेबी – ओपन सोर्स ओएसजीआई-सक्षम ईजेबी 3.0 कंटेनर जिसे स्टैंडअलोन या एम्बेडेड मोड दोनों में चलाया जा सकता है।
  • ओपनएचएबी – ओपन सोर्स होम ऑटोमेशन सॉफ्टवेयर।
  • ओपनवर्म – कैनोर्हाडाइटिस एलिगेंस|सी का ओपन सोर्स सॉफ्टवेयर सिमुलेशन। एलिगेंस, समर्पित गेपेट्टो मॉड्यूलर प्लेटफॉर्म के माध्यम से।
  • अकना – अकाना से एपीआई गेटवे, पोर्टल और एनालिटिक्स सर्वर (पूर्व में एसओए सॉफ्टवेयर)।
  • वेबलॉजिक – ओरेकल वेबलॉजिक एप्लिकेशन सर्वर।
  • वेबस्फेयर – आईबीएम वेबस्फीयर जेईई एप्लिकेशन सर्वर।
  • वेबमेथड्स – सॉफ्टवेयरएजी वेबमेथड्स।
  • WSO2 कार्बन – WSO2 के एंटरप्राइज़-ग्रेड ओपन सोर्स मिडलवेयर स्टैक के लिए बेस प्लेटफ़ॉर्म।
  • पेंटाहो - व्यापारिक सूचना (बीआई) सॉफ्टवेयर जो डेटा एकीकरण, ओएलएपी, प्रतिवेदन , डैशबोर्ड (प्रबंधन सूचना प्रणाली), डेटा खनन और एक्सट्रैक्ट, ट्रांसफॉर्म, लोड (ईटीएल) क्षमताएं प्रदान करता है।

वर्तमान रूपरेखा कार्यान्वयन

Name License
अपाचे फेलिक्स ओपन सोर्स
अपाचे करफ ओपन सोर्स
Concierge ओएसजीआई ओपन सोर्स
Equinox ओएसजीआई ओपन सोर्स
Eclipse Gemini ओपन सोर्स
Knopflerfish ओपन सोर्स

यह भी देखें

  • ओएसजीआई विशिष्टता कार्यान्वयन

संदर्भ

  1. "OSGi Alliance | Specifications / HomePage". osgi.org. 2020. Retrieved October 3, 2022.
  2. "Announcement of Transition to Eclipse Foundation".
  3. "ओएसजीआई विशिष्टता लाइसेंस". Archived from the original on 2015-09-14. Retrieved 2012-05-10.
  4. "OSGi Alliance | Markets / Certified". Archived from the original on 2008-09-25. Retrieved 2017-06-23.
  5. Creating OSGi bundles by Costin Leau
  6. OSGi Alliance | About / Members
  7. "OSGi Core Release 8 is now final and published".
  8. "फॉरेस्टर ने वेब सामग्री प्रबंधन नेताओं के नाम बताए". CMSWire. 2018-11-16. Retrieved 5 December 2018.
  9. "Adempiere Branch_GlobalQSS_361". adempiere.com/. Retrieved 27 September 2014.

अग्रिम पठन

Template:अग्रिम पठन cleanup

बाह्य संबंध