|
Sponsored Links
Resources
.NET Research Library
Get .NET related white papers, case studies and webcasts
|
Blogs
Blogs
Blogs
|
Messages: 5
Messages: 5
Messages: 5
Printer friendly
Printer friendly
Printer friendly
Post reply
Post reply
Post reply
XML
XML
XML
|
 |
.NET Blog View: GemStone spans .NET-Java-C++; creates 'Data Fabric'
By Jack Vaughan GemStone Systems has been in the business of middle-tier caching since at least the early Java days. Like other players [for example, Azul, GigaSpaces, Tangosol] that have found success selling into low-latency financial and related systems markets, GemStone is looking to support mixed C# .NET and Java development.
For some of these firms, the interoperability journey includes C++ as well. In GemStone’s case, heterogeneous language support now means Java, C++ and .NET. Earlier this year, the company added native support for C++ and .NET clients to its GemFire Enterprise 5.0.1 “Enterprise Data Fabric.” The company said this eliminates the need to deploy a Java Virtual Machine (JVM) on an application client or to use wrappers when sharing data between C#, C++ and Java applications.
One of the reasons to forgo the JVM, no doubt, is to meet the higher performance and scalability requirements some companies have.
GemStone has been in these types of business for some years, and originally fashioned its technology around the notion of the Object-Oriented Data Base[OODB]. We talked recently with Jags Ramnarayan, chief architect. GemStone.
“In the 1990s, we did an early J2EE application server,” Ramnarayan said. “We took our object database and data binding technology and did it as a middle-tier caching solution.”
After reviewing various customer engagements in some high-performance settings, GemStone began to focus on eliminating data sharing latencies between processes – by that time it was a mix of Java and C processes.
This occurred after the advent of the Jcache standard, one that proved somewhat lacking. “Jcache as a standard never went anywhere,” said Ramnarayan. “Users had to build a lot of the functionality on their own.” The term that GemStone settled on to describe what was needed was the “Enterprise Data Fabric.”
This fabric, said Ramnarayan offers distributed caching and the ability to manage objects using a highly concurrent [in-memory] structure. Furthermore, it selectively offers RDBM semantics. [“Things like the ability to do asset transactions, synchronous or asynchronous persistence through ‘shared-nothing’ architecture, and the ability to do querying.”] As well, the fabric is event driven, comprising publish-and-subscribe notifications. As such, it may be in the vanguard of an increasingly popular middleware architecture. Finally, continuous querying – after all, the data in the systems GemStone is focused on is continually changing - is part of this ‘fabric’ approach
“If you look at messaging, it is about letting the application construct piece-meal messages, sent to an end point where they get distributed to a bunch of consumers.” Said Ramnarayan. “But if you look at real-time applications today, you learn you have to support a feed that I gives you raw messages – say, for example, a raw financial data feed that must go through a whole workflow. It is almost always not sufficient to take it and just act on it. Instead you have to go to, say, a database for contextual data – reference data, if you will.”
He said, “at the end of the day you can only go as fast as your weakest link.” In many cases that is a database call. Thus the emphasis on low-latency memory architecture.
“Now you can build complex apps that [handle] complex views,” said Ramnarayan. “The key is caching and ‘pub-sub’ to gain throughput and lower latency.”
“Now,” he said, “we offer a set of APIs that is exposed to C# developers, who can import that into the tool they are using. The native implementation gives you quite a few benefits. The cache is local; the model is intuitive. You are not exposed to Java collection issues in local processes.”
Gemstone’s software is finding use in broader settings. Just this week, the company announced a deal with Rogue Wave Software to combine use of the GemFire Enterprise Data Fabric with the Rogue Wave Hydra Suite of tools and related service grid.
|
|
Message #233066
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
Re: .NET Blog View: GemStone spans .NET-Java-C++; creates 'Data
Gemfire for .NET is built on top of the Gemfire for C++ layer and exposed as a managed C++ layer which has full-on support for all .NET languages. By deliberately keeping performance critical portions(networking and byte packing and unpacking of the payload) of the code in native code, the product gives the end user the determinism and predictability that native code provides while allowing them to deal in familiar .NET constructs for building their applications. By having the data managed outside the CLR, we avoid most of the overhead associated with garbage collection, run time type checking and reference checking. By providing full caching support in the .NET offering and by using a language neutral wire protocol, it allows end user applications to share data in the Enterprise Data Fabric in their language of choice, be it Java, cross platform C++ or any .NET language and build best of breed applications that use the enterprise data fabric to provide seamless data management.
Support for ASP.NET caching (an implementation of System.Web.caching) is available as a download from our developer site for our users.
Cheers Sudhir Menon Gemstone Systems
|
|
Message #233616
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
beyond fabric
Like other players [for example, .. Tangosol] that have found success selling into low-latency financial and related systems markets, GemStone is looking to support mixed C# .NET and Java development.
Tangosol Coherence (soon to be Oracle Coherence) is not just low-latency. It goes far beyond the "fabric" concept by providing support for eXtreme Transaction Processing (XTP), including applications that sustain loads of hundreds of thousands of transactions per second.
While low-latency always sounds sexy, the real value is in the ability to provide linear scale for many types of work loads, and to simultaneously provide continuous availability even if servers die or the data center is being re-configured, and to simultaneously provide low latency. That, as a whole, is the fundamental reason why Coherence has been such an amazing success.
The pure Coherence .NET implementation is being rev'd for our 3.3 release (due on June 1), with even more capability, performance and test coverage. We have yet to lose a bake-off with our .NET implementation, based on its quality, its ability to work out-of-the-box, and its market-leading performance.
Peace,
Cameron Purdy Tangosol Coherence: Data Grid for Java and .NET
|
|
Message #233652
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
Re: beyond fabric
Extreme Transaction processing is the one of the more prominent reasons why products like Gemfire EDF and Coherence are even relevant in the market space (Otherwise all we are talking about is a super fast car that can run only 5 miles at a stretch) . Gemfire supports both optimistic and pessimistic transaction processing at a scale that allows TPS rates mentioned in here (We are talking about thousands of concurrent transactions that have little or no interaction with each other in a scaled up environment).
Dynamic load balancing, resource management, transparent failover are all part of the Gemfire EDF today and features like auto re-balancing, ability to add capacity on the fly are features that will make it in the upcoming release.
That said, architectural and technology choices that give you the lowest latency, the lowest overhead for data management and the ability to write applications in your language of choice (covered in my earlier post) are key differentiators because everything else is built on top of that.
Cheers Sudhir Menon Gemstone Systems
|
|
Message #233689
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
Ok, audience, what do you think?
Our vendor participants have provided an elucidative discussion. What does TheServerSide.NET community think of Fabrics and Extreme Transaction Processing and Low-Latency comuputing and the like? What are your requirements, present and emerging, and how does this type of software fit meet your needs or fit with your plans?
|
|
 |
Featured SectionFeatured SectionFeatured Section |
 |
 |
|
|
Weekly Blogs UpdateWeekly Blogs UpdateWeekly Blogs Update |
 |
 |
|
|
Extra ContentExtra ContentExtra Content |
 |
 |
TheServerSide.NET Site Editor Jack Vaughan reviews highlights and sidelights from the world of Microsoft software development.
Windows Presentation Foundation (WPF) is a new client user interface technology that ships as part of .NET 3.0.
(November 2, Article)
Opening up the SDLC to non-engineers requires re-examination of processes and clarification of roles, according to Burton Group's Chris Howard.
(November 20, Article)
These chapters explain the quirks behind the user interface design of Windows and the complexity of GetWindowText.
(November 9, Book Excerpt)
When it is time for a keynote, the crew at Redmond is ready. But words don't always flow. Today we take you behind the scenes for a look at great speeches in the making. Come with us now to Microsoft Speechwriters' Headquarters. Cool!
(December 18, Cartoon)
|
|