Super Complex, Pan Dimensional Distributed Computing – It’s Not Just For Breakfast Anymore

As you may know, the OSGi Enterprise Expert Group is currently in the process of defining the interaction with “external” systems and formalizing the idea of what it means to have a “distributed” registry in OSGi. Having been through what seems like the same process now for the third time (EJB, SCA and now this effort), the overriding issue seems to be that distributed systems “are not like local systems”. One would have thought that this nugget of wisdom would be deeply lodged in the DNA of anyone who’s done anything with distributed systems for more than – say – a bit of example code found on The Server Side, but sometimes we do have to bring what should be obvious facts to the fore and illuminate them with Klieg lights so that the current, next and last generation who hasn’t figured this out yet will.
Amongst the things that are often brought up in these discussions are things like asynchronous messaging, marker interfaces, and – of course – the holiest of holies: METADATA. Now, naturally, I do agree with all of this. Asynchronous message patterns are darn important in not just distributed computing, but in “local” computing as well – so important to me are these patterns that I actually wrote a framework called Anubis for doing this and it’s something that literally provides a great deal of the foundation of the work that I do on a daily basis. Ditto for METADATA and all that jazz…
But what I believe should be obvious to people and for some reason seems to be not so obvious, is that all these things have absolutely nothing to do with OSGi. None. Natta. Zip. Zero. And what’s really odd to me is that when I say things like that, people believe that I’m saying “things like asynchronous messaging, marker interfaces, METADATA, etc, are not important”. Naturally, because of this misunderstanding, I spend 99% of my time trying to point out the fact that – yes – I actually do believe these things are of crucial importance and that – yes – these issues are necessary to resolve and come up with good solutions.
The point that never seems to get across is that I believe these issues are orthogonal to OSGi.

Continue reading