Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>Your question is decidedly generic and it is not possible to provide a detailed answer in a reasonable space and time. I will try to cover some ideas and suggestions though.</p> <ol> <li><p>Updating distinct bundles on distinct clients is a non-issue. From the programmatic viewpoint, you have many choices (I would rather suggest you read <a href="http://rads.stackoverflow.com/amzn/click/1933988916" rel="nofollow">OSGi in Action</a> for a tour of the facilities that OSGi frameworks adhering to the specification provide). I don't know if you intend to use Remote OSGI (as of Chapter 13 of the <a href="http://www.osgi.org/download/r4v42/r4.enterprise.pdf" rel="nofollow">Enterprise specification</a>). Clearly, you want your client-server API bundles/services to be preserved. Other than that, an OSGi bundle can pick a bundle/service from whoever exposes it (more on that in OSGi in Action, again). Provisioning is another aspect: that depends on who (client or server) controls updating; on the simplest case, you just juggle bundles around manually and install/start/stop/uninstall them from the framework console.</p></li> <li><p>Unless I am missing something from your description, you cannot choose this path since you cannot have a bundle of bundles. This concept simply does not exist in the bare OSGi specification. The bundle hierarchy is perfectly flat, therefore you cannot perform "physical hiding". To instead <em>logically</em> hide bundles behind other bundles, you must operate on the services they expose, but the burden is completely on you. You could do the same through packages, but I would not recommend that. That being said, I am not perfectly up-to-date with bleeding-edge Service Component Architecture (SCA) implementations such as <a href="http://tuscany.apache.org/" rel="nofollow">Tuscany</a> release 2. That one <strong>could</strong> give you a hand since it promised to be OSGi aware. The <a href="http://rads.stackoverflow.com/amzn/click/1933988894" rel="nofollow">Tuscany SCA in Action</a> book, while recent, covers release 1 only. A worthy read, but probably not what you are looking for. Wrapping up, you cannot <em>monolithically</em> update an OSGI application in the strict sense: you would have to specify each bundle to be updated. This must be seen as an advantage: you have more control on your application. The downside is clearly on the effort of managing the update at such finer granularity.</p></li> </ol> <p>I hope this simplified discussion was of use to you.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload