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


131

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

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

답변:


209

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

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

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

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

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


5
OSGi 컨테이너의 유용한 기능 중 하나는 필요한 번들 만 선택하여 컨테이너에 배포 할 수 있다는 것입니다. 따라서 제 조언은 먼저 응용 프로그램을 설계 한 다음 필요한 것을 선택하는 것입니다. "기능이 풍부하기 때문에 전체 플랫폼을 설치하는 것"에 대한 조언은 거대한 Java EE 응용 프로그램 서버로 돌아가는 것과 비슷합니다. 아파치 카라 프 (Apache Karaf)가 그만큼 큰 곳에 있다고 말하는 것이 아니라, 실제로 필요한 것을 배포 할 수 있고 배포해야한다는 점을 지적하고 있습니다.
Marcel Offermans

1
필자는 플러그인 기능을 제공하는 것과 같이 응용 프로그램에 Felix를 포함시키는 유스 케이스 (Karaf와 같은 컨테이너를 사용할 필요가 없음)를 언급하지 않았기 때문에이 답변이 불완전한 것으로 보입니다. 다음 링크. 내가 잘못? (나는 전문가가 아니다.) 링크 : felix.apache.org/documentation/subprojects/…
J Woodchuck

6

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

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

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


-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

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

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

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

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.