Có (kéo dài một số) quá tải về thuật ngữ "ứng dụng".
OSGi là môi trường thời gian chạy (và mô hình phát triển) cho mô-đun ứng dụng Java. Thuật ngữ "ứng dụng" trong trường hợp này có thể thực sự, mức độ thực sự thấp. Ví dụ, một máy chủ ứng dụng có thể được coi là một "ứng dụng" như vậy.
Máy chủ ứng dụng cũng là môi trường thời gian chạy (và mô hình phát triển) cho các ứng dụng Java. Tuy nhiên, thuật ngữ "ứng dụng" trong trường hợp này thường đề cập đến một loại ứng dụng cấp cao hơn (ví dụ: các ứng dụng web). Máy chủ ứng dụng thường bao gồm một tập hợp các chức năng và API lập trình cao hơn để xây dựng các ứng dụng web (Servlets), lưu trữ dữ liệu vào cơ sở dữ liệu (JPA) và khả năng phân cụm. Hầu hết các máy chủ ứng dụng những ngày này bao gồm các mô-đun (ví dụ, lõi, servlet engine, EJB container, vv). Một số máy chủ ứng dụng sử dụng OSGi bên dưới trang bìa. Những người khác có môi trường thời gian chạy mô đun của riêng họ cũng cung cấp khả năng OSGi.
Nhưng cũng có thể phát triển các ứng dụng cấp cao hơn (chẳng hạn như các ứng dụng web) trực tiếp chỉ sử dụng môi trường thời gian chạy OSGi. Tuy nhiên, một khung công tác OSGi không bao gồm bất kỳ chức năng bổ sung nào. Nó phải được lắp ráp chính mình. Có một số "bản phân phối" bao gồm một khung công tác và một số mô-đun.
Nói cách khác, OSGi là kim loại trần (thép cao cấp) và các máy chủ ứng dụng là các công cụ kim loại (đôi khi được làm bằng thép cao cấp). ;) – Gunnar
Trong trường hợp tìm kiếm môi trường vùng chứa kiểu "máy chủ ứng dụng" cho OSGi, hãy xem Apache Karaf hoặc Eclipse Virgo –