ओएसजीआई: Difference between revisions

From Vigyanwiki
No edit summary
m (7 revisions imported from alpha:ओएसजीआई)
 
(5 intermediate revisions by 2 users not shown)
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"
! Bundle State
! बंडल अवस्था
! Description
! विवरण
|-
|-
| '''INSTALLED'''
| '''INSTALLED'''
| The bundle has been successfully installed.
| बंडल सफलतापूर्वक स्थापित किया गया है।
|-
|-
| '''RESOLVED'''
| '''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'''
| '''STARTING'''
| The bundle is being started, the <code>[http://www.osgi.org/javadoc/r4v41/org/osgi/framework/BundleActivator.html#start(org.osgi.framework.BundleContext) BundleActivator.start]</code> 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.
| बंडल प्रारंभ किया जा रहा है, <code>[http://www.osgi.org/javadoc/r4v41/org/osgi/framework/BundleActivator.html#start(org.osgi.framework.BundleContext) BundleActivator.start]</code> विधि को कॉल किया गया है परंतु प्रारंभ विधि अभी तक वापस नहीं आई है। जब बंडल में एक सक्रियण नीति होती है, तो बंडल अपनी सक्रियण नीति के अनुसार सक्रिय होने तक बंडल STARTING स्थिति में रहेगा।
|-
|-
| '''ACTIVE'''
| '''ACTIVE'''
| The bundle has been successfully activated and is running; its Bundle Activator start method has been called and returned.
| बंडल सफलतापूर्वक सक्रिय हो गया है और चल रहा है; इसके बंडल एक्टिवेटर प्रारंभ विधि को कॉल किया गया है और वापस कर दिया गया है।
|-
|-
| '''STOPPING'''
| '''STOPPING'''
| The bundle is being stopped. The <code>[http://www.osgi.org/javadoc/r4v41/org/osgi/framework/BundleActivator.html#stop(org.osgi.framework.BundleContext) BundleActivator.stop]</code> method has been called but the stop method has not yet returned.
| बंडल रोका जा रहा है। <code>[http://www.osgi.org/javadoc/r4v41/org/osgi/framework/BundleActivator.html#stop(org.osgi.framework.BundleContext) BundleActivator.stop]</code> विधि को कॉल किया गया है परंतु स्टॉप विधि अभी तक वापस नहीं आई है।
|-
|-
| '''UNINSTALLED'''
| '''UNINSTALLED'''
| 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 116:
</syntaxhighlight>
</syntaxhighlight>


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


नीचे दी गई तालिका OSGi सिस्टम सेवाओं का विवरण दिखाती है:
इस प्रकार से निम्न दी गई तालिका ओएसजीआई सिस्टम सेवाओं का विवरण दिखाती है:
{| class="wikitable" width = "100%"
{| class="wikitable" width = "100%"
! System Services
! सिस्टम सर्विसेस
! Description
! विवरण
|-dsafassafasfas
|-dsafassafasfas
| '''Logging'''
| '''लॉगिंग'''
| The [[Java logging framework|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.
| सूचना, चेतावनियों, डिबग सूचना या त्रुटियों की [[Java logging framework|लॉगिंग]] को लॉग सर्विस के माध्यम से नियंत्रित किया जाता है। यह लॉग प्रविष्टियाँ प्राप्त करता है और फिर इन प्रविष्टियों को अन्य बंडलों को भेजता है जिन्होंने इस सूचना की सदस्यता ली है।
|-
|-
| '''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 [[Connected Device Configuration|CDC]]/[[CLDC]] <code>[http://java.sun.com/javame/reference/apis/jsr118/javax/microedition/io/package-summary.html javax.microedition.io]</code> package as a service. This service allows bundles to provide new and alternative protocol schemes.
| आईओ कनेक्टर सर्विस [[Connected Device Configuration|सीडीसी]]/[[CLDC|सीएलडीसी]] <code>[http://java.sun.com/javame/reference/apis/jsr118/javax/microedition/io/package-summary.html javax.microedition.io]</code> पैकेज को एक सर्विस के रूप में कार्यान्वित करती है। यह सर्विस बंडलों को नवीन और वैकल्पिक प्रोटोकॉल योजनाएं प्रदान करने की अनुमति देती है।
|-
|-
| '''Preferences'''
| '''प्रीफ़्रेनसेस'''
| Offers an alternative, more OSGi-friendly mechanism to using Java's default {{Javadoc:SE|java/util|Properties}} for storing preferences.
| प्राथमिकताओं को संग्रहीत करने के लिए जावा के डिफ़ॉल्ट {{Javadoc:SE|java/util|Properties}} का उपयोग करने के लिए एक वैकल्पिक, अधिक ओएसजीआई-अनुकूल तंत्र प्रदान करता है।
|-
|-
| '''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 प्रोटोकॉल सेवाओं का विवरण दिखाती है:
इस प्रकार से निम्न दी गई तालिका ओएसजीआई प्रोटोकॉल सेवाओं का विवरण दिखाती है:
{| class="wikitable" width = "100%"
{| class="wikitable" width = "100%"
! Protocol Services
! प्रोटोकाल सर्विसेस
! Description
! विवरण
|-
|-
| '''HTTP Service'''
| '''एचटीटीपी सर्विस'''
| Allows information to be sent and received from OSGi using [[HTTP]].
| [[HTTP|एचटीटीपी]] का उपयोग करके ओएसजीआई से सूचना भेजने और प्राप्त करने की अनुमति देता है।
|-
|-
| '''UPnP Device Service'''
| '''UPnP डिवाइस सर्विस'''
| Specifies how OSGi bundles can be developed to interoperate with [[Universal Plug and Play]] (UPnP) devices.
| निर्दिष्ट करता है कि [[Universal Plug and Play|यूनिवर्सल प्लग और प्ले]] (UPnP) उपकरणों के साथ इंटरऑपरेट करने के लिए ओएसजीआई बंडलों को कैसे विकसित किया जा सकता है।
|-
|-
| '''DMT Admin'''
| '''DMT एडमिन'''
| Defines an API for managing a device using concepts from the [[Open Mobile Alliance]] (OMA) device management specifications.
| [[Open Mobile Alliance|ओपन मोबाइल एलायंस]] (OMA) डिवाइस प्रबंधन विनिर्देशों की अवधारणाओं का उपयोग करके डिवाइस के प्रबंधन के लिए एक एपीआई को परिभाषित करता है।
|}
|}
नीचे दी गई तालिका OSGi विविध सेवाओं का विवरण दिखाती है:
इस प्रकार से निम्न दी गई तालिका ओएसजीआई विविध सेवाओं का विवरण दिखाती है:
{| class="wikitable" width = "100%"
{| class="wikitable" width = "100%"
! 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]].
| एक्सएमएल पार्सर सर्विस एक बंडल को वांछित गुणों और [[JAXP|जेएएक्सपी]] के साथ संगतता वाले पार्सर को ज्ञात करने की अनुमति देती है।
|-
|-
| '''Measurement and State'''
| '''माप और अवस्था'''
| 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>
इस प्रकार से इसके सदस्यों में अलग-अलग व्यावसायिक क्षेत्रों की 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}} सर्विसमिक्स 4 का उत्पादीकृत और समर्थित रिलीज़।
* [[एकीकृत जीनोम ब्राउज़र]] {{En dash}} जीनोम डेटा को देखने, तलाशने और विश्लेषण करने के लिए खुला स्रोत, डेस्कटॉप जीयूआई
* [[एकीकृत जीनोम ब्राउज़र]] {{En dash}} जीनोम डेटा को देखने, खोजने और विश्लेषण करने के लिए ओपन सोर्स, डेस्कटॉप जीयूआई।
* इंटेलीजे आइडिया {{En dash}} मुफ्त सामुदायिक संस्करण के साथ जावा आईडीई और समृद्ध ग्राहक मंच
* इंटेलीजे आइडिया {{En dash}} मुक्त सामुदायिक संस्करण के साथ जावा आईडीई और समृद्ध ग्राहक मंच।
* [[जेबॉस]] {{En dash}} Red Hat का JBoss एप्लिकेशन सर्वर
* [[जेबॉस]] {{En dash}} रेड हैट का जेबॉस एप्लिकेशन सर्वर।
* [[जोनास]] 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 ]] {{En dash}} ओपन सोर्स आईडीई और रिच क्लाइंट प्लेटफ़ॉर्म
* [[ 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 कार्बन|डब्लूएसओ2 कार्बन]] {{En dash}} डब्लूएसओ2 के एंटरप्राइज़-ग्रेड ओपन सोर्स मिडलवेयर स्टैक के लिए बेस प्लेटफ़ॉर्म।
* [[पेंटाहो]] - [[ व्यापारिक सूचना ]] (बीआई) सॉफ्टवेयर जो [[डेटा एकीकरण]], ओएलएपी, [[ प्रतिवेदन ]], [[डैशबोर्ड (प्रबंधन सूचना प्रणाली)]], [[डेटा खनन]] और एक्सट्रैक्ट, ट्रांसफॉर्म, लोड (ईटीएल) क्षमताएं प्रदान करता है।
* [[पेंटाहो]] - [[ व्यापारिक सूचना |व्यापारिक सूचना]] (बीआई) सॉफ्टवेयर जो [[डेटा एकीकरण]], ओएलएपी सर्विसेज़, [[ प्रतिवेदन |रिपोर्टिंग]], [[डैशबोर्ड (प्रबंधन सूचना प्रणाली)]], [[डेटा खनन|डेटा माइनिंग]] और एक्सट्रैक्ट, ट्रांसफॉर्म, लोड (ईटीएल) क्षमताएं प्रदान करता है।


== वर्तमान रूपरेखा कार्यान्वयन ==
== वर्तमान रूपरेखा कार्यान्वयन ==
Line 268: Line 269:
! Name !! License
! Name !! License
|-
|-
| [[Apache Felix]] || Open source
| [[Apache Felix|अपाचे फेलिक्स]] || ओपन सोर्स
|-
|-
| Apache Karaf || Open source
| अपाचे करफ || ओपन सोर्स
|-
|-
| [[Concierge OSGi]] || Open source
| [[Concierge OSGi|कॉनसीर्ज ओएसजीआई]] || ओपन सोर्स
|-
|-
| [[Equinox OSGi]]  || Open source
| [[Equinox OSGi|एक्वीनॉक्स ओएसजीआई]]  || ओपन सोर्स
|-
|-
| [[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: कैलिफ़ोर्निया में स्थित संगठन]]  
Line 505: Line 506:
[[Category: Machine Translated Page]]
[[Category: Machine Translated Page]]
[[Category:Created On 15/08/2023]]
[[Category:Created On 15/08/2023]]
[[Category:Vigyan Ready]]

Latest revision as of 22:17, 5 December 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. आयात-पैकेज: इंगित करता है कि बंडल में आवश्यक निर्भरता को पूर्ण करने के लिए बाह्य संसार से कौन से जावा पैकेज की आवश्यकता होगी।

जीवन-चक्र

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

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

बंडल अवस्था विवरण
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;
	}
}

सर्विसेस

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

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

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

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

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

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

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

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

संगठन

अतः ओएसजीआई एलायंस की स्थापना मार्च 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 कंटेनर।।
  • ग्रहण (सॉफ्टवेयर) – ओपन सोर्स आईडीई और रिच क्लाइंट प्लेटफ़ॉर्म
  • आईडेम्पीयर – ओपन सोर्स उद्यम संसाधन योजना ब्रांच ग्लोबलक्यूएसएस पूर्ण का ओएसजीआई कार्यान्वयन है जो मूल रूप से लो हेंग सिन द्वारा प्रारंभ किया गया था।[9]
  • कन्या (सॉफ्टवेयर) – ओपन सोर्स माइक्रोकर्नेल-आधारित सर्वर ओएसजीआई बंडलों से निर्मित और ओएसजीआई अनुप्रयोगों का समर्थन करता है।
  • कांच की मछली (v3) –जावा ईई के लिए एप्लिकेशन सर्वर।
  • फ़्यूज़ ईएसबी – सर्विसमिक्स 4 का उत्पादीकृत और समर्थित रिलीज़।
  • एकीकृत जीनोम ब्राउज़र – जीनोम डेटा को देखने, खोजने और विश्लेषण करने के लिए ओपन सोर्स, डेस्कटॉप जीयूआई।
  • इंटेलीजे आइडिया – मुक्त सामुदायिक संस्करण के साथ जावा आईडीई और समृद्ध ग्राहक मंच।
  • जेबॉस – रेड हैट का जेबॉस एप्लिकेशन सर्वर।
  • जोनास 5 – ओपन सोर्स जावा ईई 5 एप्लिकेशन सर्वर।
  • जोसो 2 – एट्रीकोर का ओपन सोर्स मानक-आधारित पहचान और पहुंच प्रबंधन प्लेटफ़ॉर्म।
  • लाइफ़रे – ओपन सोर्स और वाणिज्यिक उद्यम पोर्टल प्लेटफ़ॉर्म संस्करण 7.x से ओएसजीआई का उपयोग करते हैं।
  • लूसी 5 – ओपन सोर्स सीएफएमएल वेब एप्लिकेशन सर्वर।
  • नेटबीन्स – ओपन सोर्स आईडीई और रिच क्लाइंट प्लेटफ़ॉर्म।
  • नक्सियो – ओपन सोर्स उद्यम विवरण प्रबंधन सर्विस प्लेटफॉर्म।
  • डेलाइट प्रोजेक्ट खोलेंसॉफ़्टवेयर-परिभाषित नेटवर्किंग को अपनाने में तीव्रता लाने के लक्ष्य के साथ परियोजना।
  • ओपनईजेबी – ओपन सोर्स ओएसजीआई-सक्षम ईजेबी 3.0 कंटेनर जिसे स्टैंडअलोन या एम्बेडेड मोड दोनों में चलाया जा सकता है।
  • ओपनएचएबी – ओपन सोर्स होम ऑटोमेशन सॉफ्टवेयर।
  • ओपनवर्म – कैनोर्हाडाइटिस एलिगेंस|सी का ओपन सोर्स सॉफ्टवेयर सिमुलेशन। एलिगेंस, समर्पित गेपेट्टो मॉड्यूलर प्लेटफॉर्म के माध्यम से।
  • अकाना – अकाना से एपीआई गेटवे, पोर्टल और एनालिटिक्स सर्वर (पूर्व में एसओए सॉफ्टवेयर)।
  • वेबलॉजिक – ओरेकल वेबलॉजिक एप्लिकेशन सर्वर।
  • वेबस्फेयर – आईबीएम वेबस्फीयर जेईई एप्लिकेशन सर्वर।
  • वेबमेथड्स – सॉफ्टवेयरएजी वेबमेथड्स।
  • डब्लूएसओ2 कार्बन – डब्लूएसओ2 के एंटरप्राइज़-ग्रेड ओपन सोर्स मिडलवेयर स्टैक के लिए बेस प्लेटफ़ॉर्म।
  • पेंटाहो - व्यापारिक सूचना (बीआई) सॉफ्टवेयर जो डेटा एकीकरण, ओएलएपी सर्विसेज़, रिपोर्टिंग, डैशबोर्ड (प्रबंधन सूचना प्रणाली), डेटा माइनिंग और एक्सट्रैक्ट, ट्रांसफॉर्म, लोड (ईटीएल) क्षमताएं प्रदान करता है।

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

Name License
अपाचे फेलिक्स ओपन सोर्स
अपाचे करफ ओपन सोर्स
कॉनसीर्ज ओएसजीआई ओपन सोर्स
एक्वीनॉक्स ओएसजीआई ओपन सोर्स
एकलिप्स जेमिनी ओपन सोर्स
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

बाह्य संबंध