2009-10-23 31 views

Trả lời

194

Nhãn 'Thùng chứa OSGi nhẹ' tương phản Karaf với nhiều thùng chứa OSGi phong phú hơn, không với Felix.

Để báo Guillaume Nodet (tác giả Karaf của) from here:

Felix chỉ là thời gian chạy OSGi lõi. Karaf cung cấp "phân phối" dựa trên Felix bằng cách thêm các tính năng khác như bàn điều khiển, cơ chế truy cập từ xa SSH, trình triển khai tệp và hơn thế nữa.

Trong sơ đồ này của kiến ​​trúc Karaf, Felix (hoặc khác thực hiện OSGi - hiện Equinox cũng được hỗ trợ) là OSGi hộp, hộp khác là những tính năng bổ sung bởi Karaf:

Karaf Architecture Do đó, trừ khi bạn có nhu cầu cụ thể mà không được đáp ứng bởi Karaf (yêu cầu quyền truy cập vào triển khai cơ bản), việc sử dụng nó thường có ý nghĩa vì nó cung cấp nhiều hơn 'ra khỏi hộp'.

+2

Cảm ơn. Điều đó làm rõ sự nhầm lẫn :) – GabiMe

+0

Cảm ơn, lời giải thích tuyệt vời và rõ ràng. – eduardohl

+4

Một tính năng thú vị của bất kỳ vùng chứa OSGi nào là bạn có thể chọn chỉ các gói bạn cần và triển khai chúng vào vùng chứa của bạn. Vì vậy, lời khuyên của tôi sẽ là kiến ​​trúc sư đầu tiên ứng dụng của bạn, và sau đó chọn những gì bạn cần. Lời khuyên "chỉ cần cài đặt toàn bộ nền tảng bởi vì nó có tính năng phong phú" có vẻ hơi giống với việc quay lại các máy chủ ứng dụng Java EE rất lớn. Bây giờ tôi không nói rằng Apache Karaf là bất cứ nơi nào gần như lớn như những người, tôi chỉ làm cho một điểm mà bạn có thể và nên chỉ triển khai những gì bạn thực sự cần. –

3

@Marcel Karaf không phải là nguyên khối hoặc lớn như máy chủ Java EE. Nó là một thực hiện rất mỏng và nhỏ gọn. Nó là một sản phẩm cốt lõi mà không có nhiều chức năng khác hơn là một giao diện điều khiển cơ bản, tải tập tin để bạn thực sự có thể đọc các tập tin cấu hình, vv Các tập tin zip mới nhất của nó là 19,1 MB. Ừ. Nhỏ bé. Nó có thể dễ dàng chạy trên các thiết bị nhỏ và làm việc trong nhúng.

Những gì bạn có thể nghĩ đến là một cái gì đó giống như ServiceMix sử dụng Karaf làm lõi/hạt nhân. Nhưng nó bao gồm CXF, ActiveMQ, Camel và các thư viện khác trong cấu hình đầy đủ của nó. Thậm chí sau đó họ có kích thước tối thiểu, trung bình và đầy đủ.

Thực sự, đối với 99% dự án ở đó, sẽ không có ý nghĩa để bắt đầu trực tiếp với Felix và không sử dụng Karaf thay thế.

-1

Hiện nay, có ba nguồn mở container OSGi phổ biến:

- 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

Dự án Apache duy trì một container OSGi có mục đích chung được gọi là Felix. đây được sử dụng như ServiceMix và

Sự khác biệt chính giữa ServiceMix và Karaf là ServiceMix bó một loạt các thành phần tích hợp khác - môi giới ActiveMQ nhắn, động cơ định tuyến Camel, và một số thứ khác

Theo: http://kevinboone.net/osgitest.html

Các vấn đề liên quan