I’m sure I’ll understand the difference as I start doing more stuff related to OSGi, but I thought it was a good question to ask since it’s unclear to me from a couple quick Google searches. If anyone has a clear, concise answer…
Share
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
An imprecise analogy: Equinox is the engine, Virgo is the car.
Equinox is the runtime from the Eclipse project (alternatives implementations include Felix (from Apache) and Knopflerfish).
Virgo uses Equinox at its core but provides many of the things one would require if using it in production. Virgo is basically the SpringSource dm Server project donated to the Eclipse Foundation, so it obviously has strong support for all things Spring. Many similar products exist (Karaf (ServiceMix) as well as numerous Java EE app servers).
An OSGi runtime is typically a very small (runtime) environment, just enough to launch/provide the OSGi framework. Products like Virgo offer the common production/enterprise functionality in a consistent, tested manner, and often include remote shell access, web-app support, security, etc.
You can work with a runtime directly, adding each feature as required, but while this may be useful for resource constrained systems, it’s typically a lot of effort for little reward (apart from educational of course).