ओएसजीआई: Difference between revisions

From Vigyanwiki
(Created page with "{{Short description|Open standards organisation}} {{more citations needed|date=June 2010}} {{Infobox standardref | name = OSGi Service Platform | image...")
 
No edit summary
Line 1: Line 1:
{{Short description|Open standards organisation}}
{{Short description|Open standards organisation}}
{{more citations needed|date=June 2010}}
{{Infobox standardref
{{Infobox standardref
| name                  = OSGi Service Platform
| name                  = OSGi Service Platform
Line 13: Line 12:
| website                = {{URL|http://www.osgi.org}}
| website                = {{URL|http://www.osgi.org}}
}}
}}
ओएसजीआई [[ ग्रहण फाउंडेशन ]] के तहत एक ओपन स्पेसिफिकेशन और [[ खुला स्त्रोत ]] प्रोजेक्ट है। यह ओएसजीआई एलायंस (जिसे पहले ओपन सर्विसेज गेटवे पहल के रूप में जाना जाता था) द्वारा किए गए काम की निरंतरता है, जो मार्च 1999 में स्थापित [[कंप्यूटर सॉफ्टवेयर]] के लिए एक [[खुला मानक]] संगठन था। फाउंडेशन ने मूल रूप से ओएसजीआई मानक को निर्दिष्ट और बनाए रखा था। गठबंधन ने 2020 के अंत में अपना काम एक्लिप्स फाउंडेशन को स्थानांतरित कर दिया। ओएसजीआई विनिर्देश [[जावा (प्रोग्रामिंग भाषा)]] प्रोग्रामिंग भाषा के लिए एक मॉड्यूलर सिस्टम और एक [[सेवा (सिस्टम आर्किटेक्चर)]] प्लेटफॉर्म का वर्णन करता है जो एक पूर्ण और गतिशील [[घटक मॉडल]] को लागू करता है, कुछ ऐसा जो स्टैंडअलोन जावा या [[ आभासी मशीन ]] वातावरण में मौजूद नहीं है। इसमें एक सेवा-उन्मुख वास्तुकला है जो सूक्ष्म सेवाओं पर आधारित है, प्रत्येक को विस्तारित जावा क्लास फ़ाइल संग्रह (जेएआर (फ़ाइल प्रारूप)) के रूप में कार्यान्वित किया जाता है।
ओएसजीआई [[ ग्रहण फाउंडेशन ]] के तहत ओपन स्पेसिफिकेशन और [[ खुला स्त्रोत ]] प्रोजेक्ट है। यह ओएसजीआई एलायंस (जिसे पहले ओपन सर्विसेज गेटवे पहल के रूप में जाना जाता था) द्वारा किए गए काम की निरंतरता है, जो मार्च 1999 में स्थापित [[कंप्यूटर सॉफ्टवेयर]] के लिए [[खुला मानक]] संगठन था। फाउंडेशन ने मूल रूप से ओएसजीआई मानक को निर्दिष्ट और बनाए रखा था। गठबंधन ने 2020 के अंत में अपना काम एक्लिप्स फाउंडेशन को स्थानांतरित कर दिया। ओएसजीआई विनिर्देश [[जावा (प्रोग्रामिंग भाषा)]] प्रोग्रामिंग भाषा के लिए मॉड्यूलर सिस्टम और [[सेवा (सिस्टम आर्किटेक्चर)]] प्लेटफॉर्म का वर्णन करता है जो पूर्ण और गतिशील [[घटक मॉडल]] को लागू करता है, कुछ ऐसा जो स्टैंडअलोन जावा या [[ आभासी मशीन ]] वातावरण में मौजूद नहीं है। इसमें सेवा-उन्मुख वास्तुकला है जो सूक्ष्म सेवाओं पर आधारित है, प्रत्येक को विस्तारित जावा क्लास फ़ाइल संग्रह (जेएआर (फ़ाइल प्रारूप)) के रूप में कार्यान्वित किया जाता है।


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


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


== विशिष्टता प्रक्रिया ==
== विशिष्टता प्रक्रिया ==
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> एक अलग पृष्ठ प्रमाणित और गैर-प्रमाणित दोनों [[ओएसजीआई विशिष्टता कार्यान्वयन]] को सूचीबद्ध करता है, जिसमें ओएसजीआई ढांचे और अन्य ओएसजीआई विनिर्देश शामिल हैं।
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> अलग पृष्ठ प्रमाणित और गैर-प्रमाणित दोनों [[ओएसजीआई विशिष्टता कार्यान्वयन]] को सूचीबद्ध करता है, जिसमें ओएसजीआई ढांचे और अन्य ओएसजीआई विनिर्देश शामिल हैं।


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


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


==बंडल==
==बंडल==
[[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> OSGi हेडर के साथ फ़ाइल:
<syntaxhighlight lang="properties" line>
<syntaxhighlight lang="properties" line>
  Bundle-Name: Hello World
  Bundle-Name: Hello World
Line 59: Line 58:
</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>
# बंडल-नाम: इस बंडल के लिए एक मानव-पठनीय नाम परिभाषित करता है, बस बंडल को एक संक्षिप्त नाम निर्दिष्ट करता है।
# बंडल-नाम: इस बंडल के लिए मानव-पठनीय नाम परिभाषित करता है, बस बंडल को संक्षिप्त नाम निर्दिष्ट करता है।
# बंडल-प्रतीकात्मक नाम: एकमात्र आवश्यक हेडर, यह प्रविष्टि [[रिवर्स डोमेन नाम नोटेशन]] ([[जावा पैकेज]] द्वारा भी उपयोग किया जाता है) के आधार पर बंडल के लिए एक अद्वितीय पहचानकर्ता निर्दिष्ट करती है।
# बंडल-प्रतीकात्मक नाम: एकमात्र आवश्यक हेडर, यह प्रविष्टि [[रिवर्स डोमेन नाम नोटेशन]] ([[जावा पैकेज]] द्वारा भी उपयोग किया जाता है) के आधार पर बंडल के लिए अद्वितीय पहचानकर्ता निर्दिष्ट करती है।
# बंडल-विवरण: बंडल की कार्यक्षमता का विवरण।
# बंडल-विवरण: बंडल की कार्यक्षमता का विवरण।
# बंडल-मैनिफेस्ट संस्करण: इस बंडल को पढ़ने के लिए उपयोग करने के लिए ओएसजीआई विनिर्देश को इंगित करता है।
# बंडल-मैनिफेस्ट संस्करण: इस बंडल को पढ़ने के लिए उपयोग करने के लिए ओएसजीआई विनिर्देश को इंगित करता है।
# बंडल-संस्करण: बंडल के लिए एक संस्करण संख्या निर्दिष्ट करता है।
# बंडल-संस्करण: बंडल के लिए संस्करण संख्या निर्दिष्ट करता है।
# बंडल-एक्टिवेटर: बंडल सक्रिय होने के बाद क्लास नाम को इंगित करता है।
# बंडल-एक्टिवेटर: बंडल सक्रिय होने के बाद क्लास नाम को इंगित करता है।
# निर्यात-पैकेज: व्यक्त करता है कि बंडल में कौन से जावा पैकेज बाहरी दुनिया के लिए उपलब्ध कराए जाएंगे।
# निर्यात-पैकेज: व्यक्त करता है कि बंडल में कौन से जावा पैकेज बाहरी दुनिया के लिए उपलब्ध कराए जाएंगे।
# आयात-पैकेज: इंगित करता है कि एक बंडल में आवश्यक निर्भरता को पूरा करने के लिए बाहरी दुनिया से कौन से जावा पैकेज की आवश्यकता होगी।
# आयात-पैकेज: इंगित करता है कि बंडल में आवश्यक निर्भरता को पूरा करने के लिए बाहरी दुनिया से कौन से जावा पैकेज की आवश्यकता होगी।


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


{| class="wikitable"
{| class="wikitable"
Line 93: Line 92:
| The bundle has been uninstalled. It cannot move into another state.
| The bundle has been uninstalled. It cannot move into another state.
|}
|}
नीचे इसे लागू करने वाली एक विशिष्ट जावा क्लास का एक उदाहरण दिया गया है <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 115:
}
}
</syntaxhighlight>
</syntaxhighlight>


==सेवाएँ==
==सेवाएँ==
{{Expand section|date=March 2009}}
===मानक सेवाएँ===
===मानक सेवाएँ===
OSGi एलायंस ने कई सेवाएँ निर्दिष्ट की हैं। सेवाएँ [[जावा इंटरफ़ेस]] द्वारा निर्दिष्ट की जाती हैं। बंडल इस इंटरफ़ेस को कार्यान्वित कर सकते हैं और सेवा रजिस्ट्री के साथ सेवा पंजीकृत कर सकते हैं। सेवा के ग्राहक इसे रजिस्ट्री में पा सकते हैं, या इसके प्रकट होने या गायब होने पर प्रतिक्रिया दे सकते हैं।
OSGi एलायंस ने कई सेवाएँ निर्दिष्ट की हैं। सेवाएँ [[जावा इंटरफ़ेस]] द्वारा निर्दिष्ट की जाती हैं। बंडल इस इंटरफ़ेस को कार्यान्वित कर सकते हैं और सेवा रजिस्ट्री के साथ सेवा पंजीकृत कर सकते हैं। सेवा के ग्राहक इसे रजिस्ट्री में पा सकते हैं, या इसके प्रकट होने या गायब होने पर प्रतिक्रिया दे सकते हैं।
Line 187: Line 183:
| The Measurement and State service allows and simplifies the correct handling of measurements in an OSGi service platform.
| The Measurement and State service allows and simplifies the correct handling of measurements in an OSGi service platform.
|}
|}


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


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


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


== विशिष्टता संस्करण ==
== विशिष्टता संस्करण ==
Line 221: Line 216:
** कोर और सार-संग्रह: अप्रैल 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>
* 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>
== संबंधित मानक ==
== संबंधित मानक ==
*[[मल्टीमीडिया होम प्लेटफार्म]] एप्लिकेशन प्लेटफ़ॉर्म
*[[मल्टीमीडिया होम प्लेटफार्म]] एप्लिकेशन प्लेटफ़ॉर्म
Line 235: Line 228:


== ओएसजीआई का उपयोग करने वाली परियोजनाएं ==
== ओएसजीआई का उपयोग करने वाली परियोजनाएं ==
* [[ एडोब अनुभव प्रबंधक ]] {{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}} इस एंटरप्राइज़ विकी और इश्यू ट्रैकर के लिए प्लग-इन आर्किटेक्चर OSGi का उपयोग करता है
* [[बीआईआरटी परियोजना]]|बिजनेस इंटेलिजेंस एंड रिपोर्टिंग टूल्स (बीआईआरटी) प्रोजेक्ट {{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}} वितरित डेटा फ्रेमवर्क मुफ़्त और ओपन-सोर्स डेटा एकीकरण प्रदान करता है
Line 246: Line 239:
* [[ईज़ीबीन्स]] {{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}} ServiceMix 4 का उत्पादीकृत और समर्थित रिलीज़
* [[एकीकृत जीनोम ब्राउज़र]] {{En dash}} जीनोम डेटा को देखने, तलाशने और विश्लेषण करने के लिए एक खुला स्रोत, डेस्कटॉप जीयूआई
* [[एकीकृत जीनोम ब्राउज़र]] {{En dash}} जीनोम डेटा को देखने, तलाशने और विश्लेषण करने के लिए खुला स्रोत, डेस्कटॉप जीयूआई
* इंटेलीजे आइडिया {{En dash}} मुफ्त सामुदायिक संस्करण के साथ जावा आईडीई और समृद्ध ग्राहक मंच
* इंटेलीजे आइडिया {{En dash}} मुफ्त सामुदायिक संस्करण के साथ जावा आईडीई और समृद्ध ग्राहक मंच
* [[जेबॉस]] {{En dash}} Red Hat का JBoss एप्लिकेशन सर्वर
* [[जेबॉस]] {{En dash}} Red Hat का JBoss एप्लिकेशन सर्वर
Line 287: Line 280:
| [https://www.knopflerfish.org Knopflerfish] || Open Source
| [https://www.knopflerfish.org Knopflerfish] || Open Source
|}
|}


==यह भी देखें==
==यह भी देखें==
Line 294: Line 286:
== संदर्भ ==
== संदर्भ ==
{{Reflist}}
{{Reflist}}


==अग्रिम पठन==
==अग्रिम पठन==
Line 501: Line 492:
}}
}}
{{refend}}
{{refend}}


==बाहरी संबंध==
==बाहरी संबंध==
Line 508: Line 498:
*[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 - OSGi 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 open source OSGi implementation
<!--Interwikies-->


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



Revision as of 17:15, 29 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 के अंत में अपना काम एक्लिप्स फाउंडेशन को स्थानांतरित कर दिया। ओएसजीआई विनिर्देश जावा (प्रोग्रामिंग भाषा) प्रोग्रामिंग भाषा के लिए मॉड्यूलर सिस्टम और सेवा (सिस्टम आर्किटेक्चर) प्लेटफॉर्म का वर्णन करता है जो पूर्ण और गतिशील घटक मॉडल को लागू करता है, कुछ ऐसा जो स्टैंडअलोन जावा या आभासी मशीन वातावरण में मौजूद नहीं है। इसमें सेवा-उन्मुख वास्तुकला है जो सूक्ष्म सेवाओं पर आधारित है, प्रत्येक को विस्तारित जावा क्लास फ़ाइल संग्रह (जेएआर (फ़ाइल प्रारूप)) के रूप में कार्यान्वित किया जाता है।

विवरण

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

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

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

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

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

वास्तुकला

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

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

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

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

बंडल

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

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

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

 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. आयात-पैकेज: इंगित करता है कि बंडल में आवश्यक निर्भरता को पूरा करने के लिए बाहरी दुनिया से कौन से जावा पैकेज की आवश्यकता होगी।

जीवन-चक्र

ओएसजीआई बंडल जीवन-चक्र

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

Bundle State Description
INSTALLED The bundle has been successfully installed.
RESOLVED All Java classes that the bundle needs are available. This state indicates that the bundle is either ready to be started or has stopped.
STARTING The bundle is being started, the BundleActivator.start method has been called but the start method has not yet returned. When the bundle has an activation policy, the bundle will remain in the STARTING state until the bundle is activated according to its activation policy.
ACTIVE The bundle has been successfully activated and is running; its Bundle Activator start method has been called and returned.
STOPPING The bundle is being stopped. The BundleActivator.stop method has been called but the stop method has not yet returned.
UNINSTALLED The bundle has been uninstalled. It cannot move into another state.

नीचे इसे लागू करने वाली विशिष्ट जावा क्लास का उदाहरण दिया गया है 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;
	}
}

सेवाएँ

मानक सेवाएँ

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

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

System Services Description
Logging The logging of information, warnings, debug information or errors is handled through the Log Service. It receives log entries and then dispatches these entries to other bundles that subscribed to this information.
Configuration Admin This service allows an operator to set and get the configuration information of deployed bundles.
Device Access Facilitates the coordination of automatic detection and attachment of existing devices. This is used for Plug and Play scenarios.
User Admin This service uses a database with user information (private and public) for authentication and authorization purposes.
IO Connector The IO Connector Service implements the CDC/CLDC javax.microedition.io package as a service. This service allows bundles to provide new and alternative protocol schemes.
Preferences Offers an alternative, more OSGi-friendly mechanism to using Java's default Properties for storing preferences.
Component Runtime The dynamic nature of services—they can come and go at any time—makes writing software harder. The Component Runtime specification can simplify handling these dynamic aspects by providing an XML based declaration of the dependencies.
Deployment Admin Standardizes access to some of the responsibilities of the management agent.
Event Admin Provides an inter-bundle communication mechanism based on a publish-and-subscribe model.
Application Admin Simplifies the management of an environment with many different types of applications that are simultaneously available.

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

Protocol Services Description
HTTP Service Allows information to be sent and received from OSGi using HTTP.
UPnP Device Service Specifies how OSGi bundles can be developed to interoperate with Universal Plug and Play (UPnP) devices.
DMT Admin Defines an API for managing a device using concepts from the Open Mobile Alliance (OMA) device management specifications.

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

Miscellaneous Services Description
Wire Admin Allows the connection between a Producer service and a Consumer service.
XML Parser The XML Parser service allows a bundle to locate a parser with desired properties and compatibility with JAXP.
Measurement and State The Measurement and State service allows and simplifies the correct handling of measurements in an OSGi service platform.

संगठन

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

इसके सदस्यों में शामिल हैं (as of February 2015) बिल्कुल भिन्न व्यावसायिक क्षेत्रों की 35 से अधिक कंपनियाँ, उदाहरण के लिए एडोब इंक, डॉयचे टेलीकॉम, Hitachi , आईबीएम, लाइफ़रे, मेकवेव, एनईसी, निप्पॉन टेलीग्राफ एंड टेलीफोन, ओरेकल कॉर्पोरेशन, ऑरेंज एसए, प्रोसिस्ट, बिक्री बल , सीमेंस, सॉफ्टवेयर इंक और टिब्को सॉफ्टवेयर[6] एलायंस के पास निदेशक मंडल है जो संगठन का समग्र प्रशासन प्रदान करता है। गठबंधन का समर्थन करने में OSGi अधिकारियों की विभिन्न भूमिकाएँ और जिम्मेदारियाँ हैं। तकनीकी कार्य निदेशक मंडल द्वारा चार्टर्ड विशेषज्ञ समूहों (ईजी) के भीतर आयोजित किया जाता है, और गैर-तकनीकी कार्य विभिन्न कार्य समूहों और समितियों में आयोजित किया जाता है। विशेषज्ञ समूहों के भीतर किए गए तकनीकी कार्यों में विशिष्टताओं का विकास, संदर्भ कार्यान्वयन और अनुपालन परीक्षण शामिल हैं। इन विशेषज्ञ समूहों ने ओएसजीआई विनिर्देशों के पांच प्रमुख रिलीज तैयार किए हैं (As of 2012).

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

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

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

  • ओएसजीआई रिलीज़ 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
  • OSGi रिलीज़ 8 (R8): दिसंबर 2020[7]

संबंधित मानक

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

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

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

Name License
Apache Felix Open source
Apache Karaf Open source
Concierge OSGi Open source
Equinox OSGi Open source
Eclipse Gemini Open Source
Knopflerfish Open Source

यह भी देखें

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

संदर्भ

  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

बाहरी संबंध