2011-01-02 5 views
48

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

क्या कोई इस तरह के डमी-सबूत स्पष्टीकरण प्रदान कर सकता है? शायद कुछ उदाहरणों या यहां तक ​​कि कोड अंश के साथ?

धन्यवाद!

उत्तर

60

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

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

ओएसजीआई गठबंधन वह संगठन है जो ओएसजीआई ढांचे और कई साथ सेवाओं को निर्दिष्ट करता है, उदाहरण के लिए कॉन्फ़िगरेशन डेटा, डिवाइस एक्सेस इत्यादि के प्रबंधन के लिए

यह केवल एक बहुत ही मूल अवलोकन है। ओएसजीआई बहुत अधिक है। कृपया https://www.osgi.org/developer/architecture/ (ओएसजीआई आर्किटेक्चर के लिए एक परिचय) और https://www.osgi.org/developer/where-to-start/ (ओएसजीआई गठबंधन द्वारा अनुशंसित कई लिंक और आगे की रीडिंग) पर एक नज़र डालें।

+0

वाह !! यह सवाल का सबसे अच्छा जवाब है। धन्यवाद – Walker

+0

ओएसजीआई के लिए मैंने जो सरल स्पष्टीकरण देखा, वह osgi.org के सामने वाले पृष्ठ पर होना चाहिए ताकि लोग 2 मिनट में प्राप्त कर सकें जो आम तौर पर एक दिन लेता है। यह निराशाजनक है जब परियोजनाओं के पास आधिकारिक साइट पर मार्केटिंग और पीडीएफ के पेज और पेज होते हैं, जबकि यह समझने के लिए कि हमें इस तरह के एक अच्छे सारांश की आवश्यकता है। इसके लिए धन्यवाद ! – xask

28

कुछ नीचे वोटों की कीमत पर ;-), मैं इसे अपने शब्दों में जवाब देना चाहता हूं (ताकि मैं अपनी समझ पर सही हो सकूं)।

हम मॉड्यूल के एक सेट के रूप में अनुप्रयोगों का निर्माण करते हैं, प्रत्येक मॉड्यूल अपने आप में कार्यात्मक रूप से संयोजक और अन्य मॉड्यूल के साथ मिलकर मिलकर बना रहता है। इसमें कई फायदे हैं जो आप पहले से ही जानते हैं। ओवरटाइम समय, मॉड्यूलरिटी की इकाई ने कार्यों से वर्गों तक पैकेजों में तैनाती की इकाई (जैसे जावा में जार और नेट में असेंबली) में सुधार किया है। लेकिन यह सब केवल विकास के समय के दौरान होता है, एक बार एप्लिकेशन (जो मॉड्यूल का एक सेट है) तैनात किया जाता है, सर्वर अभी भी इसे एक विशाल मोनोलिथिक एप्लिकेशन के रूप में देखता है यानी लॉजिकल सीमाएं रनटाइम के दौरान संरक्षित नहीं होती हैं। Why Have The OSGi Specifications Been Based On Java™ Technology?

: OSGi, यह भी इस प्रस्तुति की जाँच मैं तुम्हें OSGi in Practice

आप जावा मंच पर काम करते हैं आरंभ करने के लिए इस उत्कृष्ट मुक्त पुस्तक का सुझाव विकास के साथ-साथ से other benefits outlined here

क्रम अलग दौरान इन सीमाओं स्पष्ट करता है

+0

इसे साफ़ करने के लिए समय निकालने के लिए अकर और पेंजे दोनों के लिए धन्यवाद। मुझे लगता है कि मैं इसे "प्राप्त करना" शुरू कर रहा हूं। ऐसा लगता है जैसे ओएसजीआई जेएआरएस पीएनपी बनाने के लिए एक शक्तिशाली ढांचा है - हाँ?! एक आखिरी बात - क्या कोई मुझे बंडलों ("सेवाओं") के कुछ ठोस उदाहरण प्रदान कर सकता है और वे क्या कर सकते हैं? सभी को धन्यवाद! – Zac

+0

@Zac आपको ओएसजीआई के बारे में कुछ जानकारी मिल सकती है, बंडलों का उपयोग कैसे करें और उदाहरण के लिए सेवाओं को कैसे बनाएं या उपभोग करें [http://www.javaworld.com/javaworld/jw-03-2008/jw- 03-osgi1.html? page = 1)। यह मेरी राय में काफी अच्छा है। – Piotr

संबंधित मुद्दे