OSGi: Apache Felix ve Apache Karaf arasındaki farklar nelerdir?


Yanıtlar:


210

'Hafif OSGi kabı' etiketi, Karaf'ı Felix ile değil , daha zengin özelliklere sahip OSGi kaplarıyla karşılaştırıyor .

Guillaume Nodet'ten (Karaf'ın yazarı) buradan alıntı yapmak gerekirse :

Felix sadece OSGi çekirdek çalışma zamanıdır. Karaf, konsol, SSH uzaktan kumanda mekanizması, dosya dağıtıcısı ve daha fazlası gibi diğer özellikleri ekleyerek Felix'e dayalı bir "dağıtım" sağlar.

Karaf mimarisinin bu şemasında, Felix (veya diğer OSGi uygulaması - şu anda Equinox da desteklenmektedir) OSGi kutusudur, diğer kutular Karaf tarafından eklenen özelliklerdir:

Karaf Mimarlık Bu nedenle, Karaf tarafından karşılanmayan (temel uygulamaya erişim gerektiren) özel ihtiyaçlarınız olmadıkça, daha fazla 'kullanıma hazır' sağladığı için bunu kullanmak genellikle mantıklıdır.


5
Herhangi bir OSGi konteynerinin güzel bir özelliği, sadece ihtiyacınız olan paketleri seçip bunları konteynerinize dağıtabilmenizdir. Bu yüzden tavsiyem, önce uygulamanızı tasarlamanız ve ardından ihtiyacınız olanı seçmeniz olacaktır. "Zengin özelliklere sahip olduğu için tüm platformu kurun" tavsiyesi, biraz büyük Java EE uygulama sunucularına geri dönmeye benziyor. Şimdi, Apache Karaf'ın onlar kadar büyük olduğunu söylemiyorum, sadece gerçekten ihtiyacınız olan şeyi yerleştirebileceğiniz ve kullanmanız gerektiğine dair bir noktaya değindim.
Marcel Offermans

1
Bana öyle geliyor ki bu cevap, Felix'in bir uygulamaya (Karaf gibi bir konteyner kullanmaya gerek kalmadan) gömülmesinin kullanım durumundan bahsetmediği için - örneğin eklenti yeteneği sağlamak için - benim yorumum budur. aşağıdaki bağlantı. Yanlış mıyım? (Uzman değilim.) Bağlantı: felix.apache.org/documentation/subprojects/…
J Woodchuck

6

@Marcel Karaf, bir Java EE sunucusu gibi monolitik veya devasa değildir. Oldukça ince ve minimalist bir uygulamadır. Temel bir konsoldan başka çok fazla işlevselliği olmayan çekirdek bir üründür, yapılandırma dosyalarını okuyabilmeniz için dosya yükleme, vb. En son zip dosyası 19.1 MB'dir. Evet. Küçük. Küçük cihazlarda kolayca çalışabilir ve gömülü olarak çalışabilir.

Düşündüğünüz şey daha çok Karaf'ı çekirdek / çekirdek olarak kullanan ServiceMix'e benzer. Ancak tam konfigürasyonunda CXF, ActiveMQ, Camel ve diğer kitaplıkları içerir. O zaman bile minimum, orta ve tam boyutlara sahipler.

Gerçekten, oradaki projelerin% 99'u için doğrudan Felix ile başlamak ve bunun yerine Karaf'ı kullanmamak mantıklı değil.


-1

Şu anda, üç popüler açık kaynaklı OSGi kapsayıcısı vardır:

  - 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

Apache projesi, Felix adında genel amaçlı bir OSGi kapsayıcısına sahiptir. Burada ServiceMix olarak kullanılır ve

ServiceMix ve Karaf arasındaki temel fark, ServiceMix'in bir dizi başka entegrasyon bileşenini bir araya getirmesidir - ActiveMQ mesaj aracısı, Camel yönlendirme motoru ve diğer bazı şeyler

Göre: http://kevinboone.net/osgitest.html

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.