Intersting analysis about GigaSpaces and Space Based Architecture
As a CTO I often find myself about positioning and technology direction for GigaSpaces. I must admit that with the rapid changes in middleware and technology it is a growing challenge, which requires continuous adjustments and re-alignment. Unlike many of the alternative solutions, we chose to take a relatively controversial direction on several fronts. For example, the "End of N-Tier" approach in which we argue that the separation to physical tiers is artificial and leads to many inefficiencies, complexity and lack of scalability; or the "putting your database where it belongs" argument in which we assert that the role of the database should be diminished to a background persistemt layer, and instead you should use an in-memory data-grid as the system-of-record. At the same time we worked hard to make these different approaches as seamless as possible to developers, especially those with JEE or Spring experience.
As someone who has been advocating these concepts for some time, I find it encouraging to see that the message is slowly but surely getting across. The most recent indication is an analysis To scale out or not using Gigaspaces written by Anand Ganesan. I particularly liked the following paragraph that I thought provide a good description of our XAP value proposition.
"The product XAP is an infrastructure software platform providing full scale out capability to applications. XAP is compatible with JEE. With JEE support, Gigaspaces wants a share in the Java application server market. For example, XAP can execute a Java application instead of executing it in a traditional application server such as Weblogic. The motivation to this rationale (from a technical viewpoint) is that, performance and scalability bottlenecks are not always limited to database, it may be due to communication mechanisms such as, for example, messaging between applications or in the application server tier itself. Thus end to end latency issues can be addressed, by using XAP. Some vendors (Appistry, IBM Websphere XD, GridGain, and Data Synapse) use a grid computing approach to overcome scalability issues for high performance computing applications. However XAP uses a Space Based Architecture (SBA) approach borrowing from the Java Spaces Specification. The challenge to adopting SBA architectural style is the change in the mindset from using the traditional tiered based architectural patterns. However, arguably, the benefits of using SBA are in availing linear scalability, high availability, and simplified infrastructure among other things, which outweigh the benefits of traditional tiered based architectural styles."
Enjoy!