2009-05-28 36 views
14

Ứng dụng OSGi bao gồm các mô-đun được gọi là gói. Vấn đề là bất kỳ ứng dụng có kích thước hợp lý nào sẽ có một số lượng lớn các gói (có thể dễ dàng là hàng trăm, chỉ cần nhìn vào thư mục plugins của IDE Eclipse), để bạn muốn có độ chi tiết thô hơn các gói riêng lẻ khi quản lý hoặc triển khai ứng dụng. Thông số OSGi Service Compendium Spec chứa một dịch vụ quản trị triển khai, xác định các gói triển khai như một tập hợp các bó và các tạo tác khác (như cấu hình) có thể được triển khai, nâng cấp, gỡ cài đặt và cứ như một đơn vị duy nhất.Trạng thái của Dịch vụ quản trị triển khai OSGi

Thật không may, tôi không thể tìm thấy nhiều thông tin về triển khai, công cụ hoặc người dùng triển khai Quản trị viên.

Trạng thái của dịch vụ này là gì? Có ai có kinh nghiệm, ý kiến ​​hoặc đề xuất nào về quản trị triển khai không?

Ngoài ra, Spring dm-server có khái niệm về bộ sưu tập phạm vi ứng dụng các gói (tệp PAR) và Eclipse Equinox đang làm việc trên các khung lồng nhau để giải quyết vấn đề, tôi nghĩ. Các cách tiếp cận này liên quan đến quản trị triển khai như thế nào?

Trả lời

10

Quản trị triển khai là một trong những dịch vụ tóm tắt OSGi dường như đã thu hút sự chú ý tương đối ít. Rõ ràng có một đặc điểm kỹ thuật và do đó có lẽ là một sự thực hiện tham chiếu và các thử nghiệm tuân thủ. Một thực hiện đã được đóng góp cho dự án Apache Felix, nhưng dường như đã bị đánh chìm khá nhiều mà không có dấu vết.

Tôi đã xem xét Quản trị triển khai khi thiết kế hỗ trợ tệp PAR trong SpringSource dm Server, nhưng mô hình không phù hợp với các trường hợp sử dụng của chúng tôi. Cụ thể, một gói có tên biểu tượng đã cho (và bất kỳ phiên bản nào) có thể không nằm trong hai Gói Triển khai riêng biệt được cài đặt trong cùng một khung công tác OSGi.

Ngược lại, hai tệp PAR được cài đặt trong cùng một phiên bản của dm Server có thể chứa cả một gói có tên biểu tượng bó nhất định (và cùng một phiên bản gói hoặc khác nhau). Chúng ta thấy điều này như một yêu cầu mở rộng quy mô ứng dụng: chúng tôi không muốn các ứng dụng lớn "va chạm" đơn giản chỉ vì các nhà phát triển của họ đã xảy ra gói cùng một gói. Các dịch vụ cũng bị ảnh hưởng bởi các tệp PAR.

Trong dm Server 2.0, chúng tôi đã khái quát khái niệm PAR thành "kế hoạch" là các tệp tham chiếu, theo tên và phiên bản loại, cho các tạo phẩm được cài đặt. Một kế hoạch có thể là phạm vi (như một cải cách hành chính) hoặc không được điều chỉnh và có thể là nguyên tử (có nghĩa là vòng đời của các nội dung của nó được gắn nguyên tử với vòng đời của kế hoạch, như PAR) hoặc phi nguyên tử.

Khung công tác lồng nhau cũng đang được điều tra như một tiêu chuẩn OSGi tương lai có thể có để giải quyết các yêu cầu phạm vi ứng dụng nhưng với một điểm thiết kế khác với dm Phạm vi máy chủ. Một khung công tác lồng nhau không thể tự động thấy các gói và các dịch vụ trong khung công tác cha mẹ của nó. Vì vậy, mô hình là một trong những cách ly theo mặc định, cho dù đó là sự cô lập của các khuôn khổ con từ mỗi khác hoặc cô lập khuôn khổ trẻ em và phụ huynh. dm Máy chủ phạm vi cố ý cách ly trẻ em với nhau nhưng chỉ cách ly một đứa trẻ khỏi cha mẹ theo một hướng: một đứa trẻ có thể thấy tất cả các gói và dịch vụ của cha mẹ nó.

6

Bạn có thể quan tâm để biết rằng Apache Ace (hiện đang trong quá trình ủ và tăng tốc) có thể tự động tạo gói triển khai cho quản trị triển khai và sử dụng (theo mặc định, khi cấp phép cho mục tiêu OSGi) Quản trị triển khai của Felix.

Vì trang web đang phát triển rất nhiều: Apache Ace là một khung phân phối phần mềm cho phép bạn quản lý tập trung và phân phối các thành phần phần mềm, dữ liệu cấu hình và các hiện vật khác cho các hệ thống đích. Nó được xây dựng bằng cách sử dụng OSGi và có thể được triển khai trong các cấu trúc liên kết khác nhau. Các hệ thống đích cũng thường dựa trên OSGi, nhưng không nhất thiết phải như vậy.

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