Friday, January 2, 2009

Are Javaspaces recognized?

After some long discussions with my partner about the JavaSpaces topic I still have no clue why JavaSpaces or at least the Space Based Architecture (SBA) is not adopted by the developers and/or the "architects".

Personally, when it comes only to Java, I think that JavaSpaces could offer a complete stack from the event driven approach to rule engines, with including transactions (local and XA). My question is, am I under/over seeing something or the JavaSpaces and JINI are not being enough marketed by SUN, or the technology is too complicated for us the "developers". For the integration with other technologies or programming languages I for sure do opt for REST or for an ESB.

I see the JavaSpaces as an Object-oriented DataBase and also that some other technologies could almost perfectly fit in, like JMS and maybe even a workflow engine. What is surprising to me is that JavaSpaces are not a new technology and that today when most people are talking about grid or cloud computing, nobody is mentioning JavaSpaces. For sure it is much easier to distribute an existing application with Teracotta than writing a highly scalable application with a good architecture behind.

I also wrote about JAIN SLEE in a previous post and such a "soft real time" technology could also fit in JavaSpaces, at least in my opinion. JavaSpaces seem to be used only in highly scalable environments like Banks need, but what is the difference with Document Management, there we also do need a highly scalable environment.

There is an open source project Blitz and a commercial vendor GigaSpaces providing a community edition, personally I would chose GigaSpaces as it is a company with a big knowledge on the matter and their engine offers a lot of interfaces and features than the JavaSpaces specification describes.

Well, I just wanted to put my thoughts in this post and to make a relation between those kind of possibilities, maybe I am totally wrong but I would like to hear or find a good reason for that.