tag:blogger.com,1999:blog-5135517.post116613881031374291..comments2023-11-05T03:54:44.710-08:00Comments on Making it stick.: Singly CellularPatrick Loganhttp://www.blogger.com/profile/02088461489050417591noreply@blogger.comBlogger5125tag:blogger.com,1999:blog-5135517.post-1166726755133021222006-12-21T10:45:00.000-08:002006-12-21T10:45:00.000-08:00Hi all, I’m a bit dismayed at the “my toy is shini...Hi all,<BR/> <BR/>I’m a bit dismayed at the “my toy is shinier then your toy” angle that this discussion is taking. While Tangosol Coherence is the most successful Clustered Caching solution in the market (fact), Coherence continues to innovate, expand and define new segments of the market, including Data Grids and grid-based Complex Event Processing (CEP) and Event Driven Architectures (EDA).<BR/> <BR/>Further, Tangosol Coherence has never been marketed as a replacement for Jini. Jini/JavaSpaces are clearly targeted as a means of coordinating processing across a distributed environment (oversimplifying a bit). Coherence is clearly positioned as a data management solution that builds on distributed technology to provide reliable and scalable data management, notably in the areas of transactions, analytics and event processing.<BR/> <BR/>Tangosol Coherence, as competing vendors should know and reasonably acknowledge, provides many extensions to the Clustered Caching and Data Grid concepts (just as Gigaspaces provides many extensions to the concept of JavaSpaces and the Spaces paradigm itself - like “Space Workers” as I understand them). Coherence also provides many facilities to support the SOA paradigm, and while not generally marketed as such, many engineers still choose to use it as their sole SOA platform. I guess the frustrating thing for some vendors purely pushing the Enterprise SOA message is that Coherence has the inherent flexibility to do so and does - just as some solutions also 'do caching' to some extent.<BR/> <BR/>For example: Coherence provides Parallel EntryProcessors, Parallel Aggregation, Parallel Indexing, Parallel Filtering, Parallel Queries, Parallel Event Processing Synchronous and Asynchronous Storage and so on that are all available out-of-the-box and have been for years. It also provides grid-based agents and distributed workflow management that includes guarantees for service execution. It also provides a very clean .NET integration without the need for code-bridges, JNI, additional wrappers, third-party libraries etc. In reality, I would say that the majority of Coherence implementations use these features more often than say the 'standard caching' stuff. And I'm not talking about 'you could build this stuff on top of coherence', I'm saying 'this stuff already exists and can be used out-of-the-box'. I should know, since before working for Tangosol, I used Coherence as the basis for the algorithmic futures trading system and algorithmic direct-market execution system that my previous employer uses.<BR/> <BR/>Other vendors’ failure to acknowledge such features in Coherence could be due to poor knowledge of the domain, or possibly a lack of confidence in their own solutions forcing them to resort to FUD and confusion. In any case, it is unfortunate for all involved, and casts those vendors in a very bad light.<BR/> <BR/>Jini and Javaspaces clearly have their uses. I am involved with projects using Jini, Javaspaces and the space paradigm itself, and will continue to push these technologies within Tangosol. I can tell you that within Tangosol, there is no objection to the use of Jini, and there are a number of fans of Dan Creswell’s open source Blitz Javaspaces. We believe that Jini has compelling features for compute and service grids, which is where we will use and leverage it. We view Jini as just another possible way for our customers to get to their data and services hosted by Coherence grids, which are now deployed in so many of the major banks, insurance companies, ecommerce sites and so on I can't keep count. As the market leader, we have even volunteered to work directly with our competitors if our customers request it. We already work closely with IBM’s grid efforts, for example, but it would also include smaller vendors such as Gigaspaces.<BR/> <BR/>-- Brian<BR/><BR/>-----------------------------<BR/>Brian Oliver<BR/>Data Grid Solutions Architect<BR/>Tangosol Inc.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-5135517.post-1166181940282532202006-12-15T03:25:00.000-08:002006-12-15T03:25:00.000-08:00I could certainly build a distributed data grid wi...I could certainly build a distributed data grid with javaspaces, and jini is how we get at the javaspace service. I think, as others have commented, that seeing JINI as traditional means you are just trying to do the same old things with a different technology.<BR/><BR/>I took part in a grid computing vendor selection project back in 2005, it was interesting to compare the underlying philosophy behind the approaches. There was the 'database centric' design, the grid as a data cache but the basic design of the software running in the grid remaining 'traditional'. So the data remains seperate from the tasks, and we only really solve part of the problem: we try to avoid making the database a bottleneck by having a cache, but distributing the tasks around the grid and providing access to the the services the tasks provide is not really addressed.<BR/><BR/>With javaspaces things are different, its not about building a cache around a database. Spaces give us distributed associative memory, if we have a database at all it's as offline storage - a backup of the data, not the centrallized repository. We can put our data and tasks into the space, we can use jini to expose the compute services our grid provides. We can start to think in new ways about how to build distributed systems where tasks collaberate by putting and taking data and tasks in the space.<BR/><BR/>btw - couple of interesting open source efforts:<BR/><BR/>http://www.dancres.org/blitz/<BR/>http://newton.codecauldron.org/Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-5135517.post-1166147868341945122006-12-14T17:57:00.000-08:002006-12-14T17:57:00.000-08:00Okay, got a better picture of where you're coming ...Okay, got a better picture of where you're coming from now - onwards:<BR/><BR/>"What interests me in this post is Tangosol's equating Coherence with Jini/Javaspaces. Or at least they are saying you don't need Jini if you have Coherence."<BR/><BR/>Right, so if you are under the impression that all you do with Jini/JS is build compute servers/farms, then you might assume this equivalence.<BR/><BR/>"Well, why should I believe this? On the surface the feature sets don't line up, so there must be something deeper."<BR/><BR/>Indeed - basically, if all you want to do is build stuff with Jini in a traditional enterprise style following all the old patterns, you're missing the point and making your life more complex. But there is another way.....PetrolHeadhttps://www.blogger.com/profile/06404572533828179184noreply@blogger.comtag:blogger.com,1999:blog-5135517.post-1166145380858158232006-12-14T17:16:00.000-08:002006-12-14T17:16:00.000-08:00Thanks Dan.I am not concerned about the CORBA/RMI ...Thanks Dan.<BR/><BR/>I am not concerned about the CORBA/RMI statement.<BR/><BR/>What interests me in this post is Tangosol's equating Coherence with Jini/Javaspaces. Or at least they are saying you don't need Jini if you have Coherence.<BR/><BR/>Well, why should I believe this? On the surface the feature sets don't line up, so there must be something deeper.Patrick Loganhttps://www.blogger.com/profile/02088461489050417591noreply@blogger.comtag:blogger.com,1999:blog-5135517.post-1166142163336890202006-12-14T16:22:00.000-08:002006-12-14T16:22:00.000-08:00Hi Patrick,So I have some other things to do this ...Hi Patrick,<BR/><BR/>So I have some other things to do this week but maybe you'd like to do a skype discussion (or a phone call or IM) next week?<BR/><BR/>In the meantime, one thing that Jini has at it's core that the (red herrings) likes of CORBA and RMI don't is that Jini services don't rely on stubs (dynamically or statically generated). And further, if there is code that needs to be placed on the client-side, it is downloaded at service discovery/bind time.<BR/><BR/>These differences appear trivial to start with but lead to some very neat abilities. There are a number of other nice benefits to building services the Jini way which I'll leave for later.<BR/><BR/>I'll finish by saying that many a techie has the impression that JavaSpaces are just for compute farms and Jini is just another CORBA. They're wrong though that's forgivable as even some "Jini experts" unwittingly present things that way.<BR/><BR/>Best,<BR/><BR/>Dan Creswell<BR/>http://www.dancres.org<BR/>dan_no_spam_dot_creswell_at_nospam_lonecrusader.co.ukPetrolHeadhttps://www.blogger.com/profile/06404572533828179184noreply@blogger.com