Tuesday, November 20, 2007

Some of the reasons why components are not dead...

As far as I know the concept of component has been defined for a while now, but I become more and more annoyed by these new buzz words that appear everyday and claim to be the next best approach for developing software. These approaches are service-oriented, or composite-oriented, and they claim to be radically different. But, they always refer to the same principles that have been introduced by components a few years ago...

In particular, a component:
  1. Identifies functionalities of a system as a set of provided interfaces, and dependencies as a set of required interfaces,
  2. Required interfaces are bound to provided ones to resolve a dependency,
  3. Can be implemented as a monolithic entity (aka atomic/primitive) or as a composition of components,
  4. Can be reused and deployed independently.
And that's it!

A lot of clever guys have been working on the description of what component are or are not. Thus, when I read the description of these new approaches, I am so disappointed to read the same story again and again. I mean a cat is a cat and a dog is a dog, so why do they ignore these principles and just try to reinvent the wheel? I definitely have nothing against implementing yet another component model that supports some interesting features, but I am very uncertain about presenting it as a radically different approach, because most of the time I find it misleading for the reader.

However, I do believe in extending these lightweight component models (e.g., Spring, Fractal, OpenCom) that have been successfully applied to develop systems made of different component granularities, from operating systems to application servers and applications. In particular, Fractal and OpenCom are now applied to build protocol stacks and network routers that exhibit advanced features, such as self-configuration, self-healing, self-adaptation, self-optimisation.

So, why people prefer to develop their own limited framework rather than collaborating with existing approaches to make more interesting things happen?

Wednesday, November 14, 2007

Oops... I did it...

You should never say never...
It took me time to figure out how useful it could be to maintain my own blog to report my thoughts/experiences/frustrations and others, but I guess that I am somehow mature enough to give it a try now. So let's see what is going to happen :)... I cannot promise to post every day, but I can try to do it as soon as I think about sharing something!