[osgi] OSGi : Apache Felix와 Apache Karaf의 차이점은 무엇입니까?

Apache KarafApache Felix 의 하위 프로젝트입니다 . “경량 OSGi 컨테이너”로 정의됩니다.

언제 헤비급을 사용해야하는지, 언제 경량을 사용해야하는지 모르겠습니다. 그들의 사이트는 이것을 너무 많이 설명하지 않습니다.



답변

‘경량 OSGi 컨테이너’레이블은 KarafFelix가 아니라 더 많은 기능이 풍부한 OSGi 컨테이너와 대조 됩니다.

Guillaume Nodet (Karaf의 저자) 를 여기에서 인용 하십시오 :

Felix는 OSGi 핵심 런타임입니다. Karaf는 콘솔, SSH 원격 메커니즘, 파일 배포자 등과 같은 다른 기능을 추가하여 Felix를 기반으로 한 “배포”를 제공합니다.

Karaf 아키텍처의이 다이어그램에서 Felix (또는 다른 OSGi 구현-현재 Equinox 도 지원됨)는 OSGi 상자이고 다른 상자는 Karaf가 추가 한 기능입니다.

카라 프 건축
따라서 Karaf가 충족하지 않는 특정 요구 사항이 없으면 (기본 구현에 액세스해야 함) 일반적으로 더 많은 ‘제외’를 제공하므로 이것을 사용하는 것이 좋습니다.


답변

@Marcel Karaf는 Java EE 서버처럼 모 놀리식이거나 거대하지 않습니다. 매우 슬림하고 미니멀 한 구현입니다. 구성 파일 등을 실제로 읽을 수 있도록 기본 콘솔, 파일 로딩 이외의 많은 기능이없는 핵심 제품입니다. 최신 zip 파일은 19.1MB입니다. 네. 작은. 소형 장치에서 쉽게 실행하고 내장 된 상태로 작업 할 수 있습니다.

당신이 생각하는 것은 Karaf를 코어 / 커널로 사용하는 ServiceMix와 같은 것입니다. 그러나 CXF, ActiveMQ, Camel 및 기타 라이브러리는 전체 구성으로 포함됩니다. 그럼에도 불구하고 그들은 최소, 중간 및 전체 크기를 가지고 있습니다.

실제로 99 %의 프로젝트에서 Felix로 직접 시작하고 Karaf를 대신 사용하는 것은 이치에 맞지 않습니다.


답변

현재 널리 사용되는 세 가지 오픈 소스 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

Apache 프로젝트는 Felix라는 범용 OSGi 컨테이너를 유지 관리합니다. 여기는 ServiceMix로 사용되며

ServiceMix와 Karaf의 주요 차이점은 ServiceMix는 ActiveMQ 메시지 브로커, Camel 라우팅 엔진 및 기타 여러 가지 다른 통합 구성 요소를 번들로 제공한다는 것입니다.

에 따르면 : http://kevinboone.net/osgitest.html


답변