Among the benefits he details are:
- True Component Development - While simple in concept, componentized software can be difficult in practice. The structure of OSGi addresses issues such as dependency tracking, version tracking, and service binding.
- Secure Development Across Teams - The OSGi microkernel style inforces rules to keep components and extensions isolated and controlled.
- Standard Management of Company Projects - If all projects are broken down into OSGi components they are easily reused. The example of the the Eclipse repository is given.
- Version Tracking - OSGi provides versioning support to address the question of Can I integrate with this library? Does it conflict with this version of another library?
- Architect Designer Assistance - The rules in OSGi allow architects to easily determine if build dependencies are broken without having to run the entire build.
Community comments
Will OSGi help me?
by Markus Harnvi,
Re: Will OSGi help me?
by Olaf Bergner,
Will OSGi help me?
by Markus Harnvi,
Your message is awaiting moderation. Thank you for participating in the discussion.
Our software is a Java web application. Administrators can upload XML files containing descriptions of user interfaces and logic. The XML describes something like small applications executed in a runtime environment that is the web application.
When the XML files get executed (by a user selecting a certain ?sub application?) the runtime will instantiate the needed Java objects and load different kinds of templates and resources. They will mostly use code from the core runtime, but sometimes an XML file calls for custom code, that needs to be provided separately. Ideally the administrators should be able to supply additional jar files containing logic and resources, without the need to restart the web application.
We let users outside of our organization develop extension and reference those from their XML files. Sometimes extensions has dependencies on third party libraries. We sometimes end up with a situation where two extensions require different versions of a dependecy. ?Jar hell?.
An analogy would be a set of Excel workbooks requiring different DLL:s.
Will OSGi apply to our situation? Will we be able to add new classes and resources to a running application? Will we be able to handle conflicting dependencies?
Re: Will OSGi help me?
by Olaf Bergner,
Your message is awaiting moderation. Thank you for participating in the discussion.
Regarding your fears of being trapped in jar hell: yes, OSGi can definitely help you. Being able to deploy different versions of the same jar simultaneously is exactly one of the strongholds of OSGi.
HTH and cheers,
Olaf