开发者

An OSGi use case - am I right or not?

开发者 https://www.devze.com 2023-03-09 05:11 出处:网络
I am just familiar with OSGi technology - never used but heard of it so many times. I\'ve read several articles \"for dummies\" but I think I still fail to understand its use case completely. Maybe so

I am just familiar with OSGi technology - never used but heard of it so many times. I've read several articles "for dummies" but I think I still fail to understand its use case completely. Maybe some of you could confirm if I understood it correctly.

Here is an example of what I might want to do. Let us assume that I want to build a Java web application. Simple war. But, organized in such way that it contains different modules. Each module would contain different functionalities. Maybe each module would be packed as a separate jar, I am not sure.

Now, what I would like to have is UI part of the app capable 开发者_StackOverflowof checking which of the modules are deployed too in order to show (or not) related menus, items, parts of pages, etc...

So, is the OSGi technology solution for this kind of problems or not? Is this what it is intended to be used for or am I off the track?

Thank you in advance for your answers.


Yes, OSGi technology is a solution for the kind of problem you mentioned in your question.

Eclipse is one solution that uses OSGi technology. In Eclipse, the UI would be an Eclipse Rich Client Platform (RCP), while the other modules would be Eclipse plug-ins. Each module would be a separate package that includes more components than a JAR.

You can use other solution platforms, or write all of the OSGi code yourself. The idea behind OSGi is to make your application more modular, so that you can update pieces of your application without having to update the entire application.


So, is the OSGi technology solution for this kind of problems or not? Is this what it is intended to be used for or am I of the track?

I would say this is exactly the kind of scenario OSGi caters for.

Look into the Eclipse RAP project, which runs on top of the Equinox OSGI container, and does the kind of thing you describe.

Some excellent tutorials are available on vogella.de.


Vaadin is an osgi based web framework in which you can accomplish this. Alternatively you could have a look at the OSGI and Equinox book, it should contain enough info to help you roll your own solution.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号