2011-12-06 34 views
15

Tôi muốn biết lý do tại sao khung OSGI được sử dụng trong việc xây dựng các ứng dụng java. Tôi đang tìm kiếm trên web cho điều này nhưng câu trả lời trông phức tạp với tôi. Bất cứ ai có thể vui lòng giải thích vài điểm về lý do tại sao chúng ta cần phải áp dụng osgi.Tại sao osgi được sử dụng?

Rất tiếc nếu câu hỏi không phù hợp với lưu lượng truy cập Tôi đánh giá cao sự kiên nhẫn của người đọc. Cảm ơn.

+1

Did trợ giúp này -> http://stackoverflow.com/questions/1818778/what-is-the-underline-theme-in-osgi – Jayan

+0

xin vui lòng đọc này cho một sự hấp dẫn rất tốt đẹp: http: //blog.springsource.com/2008/05/15/why-should-i-care-about-osgi-anyway/ – Cris

+2

bản sao có thể có của [What doe s OSGi giải quyết?] (http://stackoverflow.com/questions/106222/what-does-osgi-solve) – Martin

Trả lời

15

OSGi cung cấp hệ thống mô-đun với phiên bản mô-đun và quản lý vòng đời thêm một chút. Điều này quản lý sự phụ thuộc giữa các mô-đun, khởi động/khởi động/bỏ cài đặt năng động/lười biếng của các mô-đun, tra cứu/khám phá và như vậy.

Một phần của điều này sẽ trở thành một phần của ngôn ngữ java. Nó cho phép một sự phức tạp thấp hơn một dây spaghetti của các lớp học.

1

Đi qua với điều này tutorial kỹ lưỡng. Bạn có thể nhận được câu trả lời của bạn.

7

IMHO OSGI đòi hỏi rất nhiều mã đĩa nồi hơi cho những gì nó làm. Tuy nhiên nếu bạn sử dụng một thư viện như Karaf & iPOJO hầu hết các chi phí trên đều bị ẩn và bạn sẽ nhận được hầu hết các lợi ích.

Lợi ích chính là có thể kiểm soát phiên bản nào được sử dụng và cách ly mô-đun thích hợp. Ví dụ: bạn có thể

  • có vùng chứa tải xuống phiên bản phù hợp từ kho lưu trữ maven như nexus.
  • sử dụng nhiều phiên bản của cùng một thư viện và có các mô-đun cần sử dụng những phiên bản phù hợp.
  • dừng, nâng cấp và bắt đầu các mô-đun trong khi ứng dụng đang chạy.
  • một bảng điều khiển web để xem trạng thái của tất cả các mô-đun của bạn và quản lý chúng một cách chung hoặc riêng lẻ.
0

Đối với tôi phần tốt nhất của OSGi là nó quảng bá một chế độ xem hướng dịch vụ của hệ thống của bạn, giúp tách, thử nghiệm và làm việc nhóm.

Tôi không nghĩ rằng nó phải rất phức tạp, như tôi đã cố gắng để chứng minh với tôi "OSGi cho chỉ mortals" ví dụ ứng dụng [1] và slide [2] (cả phích cắm không biết xấu hổ ;-)

[ 1] https://github.com/bdelacretaz/OSGi-for-mere-mortals

[2] http://www.slideshare.net/bdelacretaz/osgi-for-mere-mortals

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