10 signs you’re doing OSGi wrong at EclipseCon 2011

Jeff Mc Affer and Paul VanderLei , in a relaxed chat, presented the audience some funny slides  to emphasize on things we’re doing wrong when using OSGi.

  1. distracted by infrastructure : the time you spend on it is a time you could have used focusing on your business
  2. It’s bad mojo to pollute the POJO (Austin Powers anyone ?) : why are those developers always obsessed at getting their BundleContext ? to register services ? did you read the declarative services spec ?
  3. Using Services in a risky way : Jeff gave an example with previous P2 code, using helper method to getService (find the registry, get the reference, and the service from that reference) why risky ? to use the serviceTracker safely, you need a fat amount of lines of code, there are 5 synchronized blocks, etc.. The solution ? use Declarative Services
  4. Being too fine-grained : just because you can declare a lot of services, does not mean you should; think twice about your use case;
  5. Putting too much in your bundle : does this class needs to be duplicated or should I create a huge bundle to contain all my utility classes ? classes have to be together for a good reason
  6. Low packages cohesion : do finer grained package, to be able to evolute easily
  7. Failure to refactor : don’t forget to refactor ! It’s  agile development !
  8. Failure to define (good) API : with good fences and good gate it protects you from having people using this private method you clearly do not want to support, as a producer you have to make clear how to consume your API.
  9. Failure to follow API : related to point 9. , follow the restrictions, if you do not, migrating to the next version will become an head ache.
  10. Clinging to old ideas : it will cost you time, modularity, money if you stick on old ideas that do not take into account OSGi at all.

Stop trying to guess your start levels, think dynamic !

In a nutshell :

  • Get your granularity right
  • plan for refactoring
  • don’t pollute your POJOs, for that,
  • Use declarative services
  • Manage your APIs
  • Respect other people’s API

There’s a last sign you do OSGi wrong : you did not read the book OSGi and Equinox , Creating Modular Java Systems ;-)

Very interesting and entertaining presentation !

Une réflexion sur « 10 signs you’re doing OSGi wrong at EclipseCon 2011 »

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.

Le temps imparti est dépassé. Merci de saisir de nouveau le CAPTCHA.

Ce site utilise Akismet pour réduire les indésirables. Apprenez comment vos données de commentaires sont traitées.