OSGi: Apache Felix और Apache Karaf के बीच क्या अंतर हैं?


131

अपाचे करफ अपाचे फेलिक्स की एक उप परियोजना है । इसे "एक हल्के OSGi कंटेनर" के रूप में परिभाषित किया गया है।

मुझे समझ नहीं आ रहा है कि मुझे हैवीवेट का उपयोग कब करना चाहिए और हल्के का उपयोग कब करना चाहिए। उनकी साइट यह बहुत ज्यादा नहीं समझाती है।

जवाबों:


209

The लाइटवेट ओएसजीआई कंटेनर ’लेबल कारफ को अधिक फीचर वाले अमीर ओएसजी कंटेनर के विपरीत है , कि फेलिक्स के साथ ।

यहाँ से गिलौम नोडेट (करफ के लेखक) को उद्धृत करने के लिए :

फेलिक्स सिर्फ ओएसजीआई कोर रनटाइम है। Karaf अन्य सुविधाओं जैसे कंसोल, एक SSH रीमोटिंग मैकेनिज्म, एक फ़ाइल परिनियोजक और बहुत कुछ जोड़कर फेलिक्स पर आधारित "वितरण" प्रदान करता है।

करफ वास्तुकला के इस चित्र में, फेलिक्स (या अन्य OSGi कार्यान्वयन - वर्तमान में विषुव भी समर्थित है) OSGi बॉक्स है, अन्य बक्से करफ द्वारा जोड़ी गई विशेषताएं हैं:

करफ आर्किटेक्चर इसलिए, जब तक कि आपके पास विशिष्ट आवश्यकताएं नहीं होती हैं, जो करफ द्वारा पूरी नहीं की जाती हैं (अंतर्निहित कार्यान्वयन तक पहुंच की आवश्यकता होती है) यह आमतौर पर इसका उपयोग करने के लिए समझ में आता है क्योंकि यह अधिक 'बॉक्स से बाहर' प्रदान करता है।


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

1
ऐसा लगता है कि यह जवाब अधूरा है कि इसमें एक आवेदन में फेलिक्स को एम्बेड करने के उपयोग के मामले का उल्लेख नहीं किया गया है (करैफ जैसे कंटेनर का उपयोग किए बिना) - उदाहरण के लिए प्लगइन क्षमता प्रदान करने के लिए - जो मेरी व्याख्या है निम्नलिखित लिंक। क्या मै गलत हु? (मैं कोई विशेषज्ञ नहीं हूं।) लिंक: felix.apache.org/documentation/subprojects/…
जे

6

@Marcel Karaf एक जावा ईई सर्वर की तरह अखंड या विशाल नहीं है। यह बहुत पतला और न्यूनतम कार्यान्वयन है। यह एक मूल कंसोल, फ़ाइल लोडिंग के अलावा बहुत अधिक कार्यक्षमता के बिना एक मुख्य उत्पाद है ताकि आप वास्तव में कॉन्फ़िगरेशन फ़ाइलों को पढ़ सकें, आदि। इसकी नवीनतम ज़िप फ़ाइल 19.1 एमबी है। हाँ। छोटे। यह छोटे उपकरणों पर आसानी से चल सकता है और एम्बेडेड में काम कर सकता है।

आप जो सोच रहे हैं वह कुछ और है जैसे ServiceMix जो Karaf को कोर / कर्नेल के रूप में उपयोग करता है। लेकिन इसके पूर्ण विन्यास में सीएक्सएफ, एक्टिवएमक्यू, कैमल और अन्य पुस्तकालय शामिल हैं। तब भी उनके पास न्यूनतम, मध्यम और पूर्ण आकार हैं।

वास्तव में, 99% परियोजनाओं के लिए यह सीधे फेलिक्स के साथ शुरू करने और बदले में करफ का उपयोग न करने का कोई मतलब नहीं होगा।


-1

वर्तमान में, तीन लोकप्रिय खुले स्रोत OSGi कंटेनर हैं:

  - Equinox. It is the modular Java runtime at the heart of the Eclipse IDE,
  - Knopflerfish, Is an open source implementation of the OSGi R3 and OSGi R4 specifications. 
  - Apache Felix. Is the open source OSGi container from the Apache Software Foundation.

http://www.javaworld.com/article/2077837/java-se/java-se-hello-osgi-part-1-bundles-for-beginners.html

अपाचे परियोजना एक सामान्य-उद्देश्य वाले OSGi कंटेनर का रखरखाव करती है जिसे फेलिक्स कहा जाता है। यहाँ इसका उपयोग ServiceMix और के रूप में किया जाता है

ServiceMix और Karaf के बीच मुख्य अंतर यह है कि ServiceMix अन्य एकीकरण घटकों का एक गुच्छा बनाता है - ActiveMQ संदेश दलाल, ऊंट मार्ग इंजन, और कुछ अन्य चीजें

के अनुसार: http://kevinboone.net/osgitest.html

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.