In an attempt to summarize the new .NET product release, as part of Gigaspaces XAP 6.5, the only phrase that gets into my head is quantum leap. Being the .NET team leader I don’t expect anyone to trust my objectivity, though looking at the list of achievements I guess there will be no doubt about it.
The new version shows significant improvement in almost every important product aspect; usability, performance, ease-of-use and completeness.
The main improvements of the latest .NET release are:
External Data Source Integration: new, easy-to-use, and fully configurable entry point to any external data system. Working over a database is now extremely straightforward with an out-of-the-box nHibernate implementation. It comes with the product as fully open source implementation (a Practice).
Performance boost: a major enhancement to XAP’s internal .NET layer has improved the performance significantly. The serialization mechanism and invocation layers were rewritten for the sake of greater efficiency, achieving up to 50% improvement for single space operations and up to 200% improvement for multiple operations (see throughput graph).
The power of Processing Unit: a Processing Unit (as we define it at GigaSpaces) is the core unit of work that encapsulates the data together with the business logic in a single unit of scaling and failover (read more). It allows simple development, packaging and deployment of application services together with middleware services. Even though in previous versions you could also bind the middleware with the business logic, the PU gives you much more bucks for your money as it introduces lifecycle management, SLA driven containers and reliability (a PU on a failed machine will be automatically redeployed to another machine to continue its execution). Getting started with this facility is very easy as when downloading the product you get a detailed example, including a polling container implementation, a debugging tool, and more.
Explicit interoperability for .NET, C++ and Java: since our first .NET release, interoperability between .NET and java over the GigaSpaces space was a key capability. It gives a great solution for many heterogeneous environments by allowing those to share the same middleware and easily exchange data. However, previous versions did have one main downside (regarding interoperability) which was a lot of complexities. In the latest release we’ve eliminated many of these complexities which were previously exposed to the developer. Today, version 6.5 makes it much easier to map .NET to java types, as well as giving much better control of the serialization process of objects to the space. In addition, nullable types and most of the .NET collections now have default mappings to java types (see the interop WIKI page). The interoperability offered in XAP is not only for .NET – the new C++ API is also a member of the interop game. With the latest version, three-way interop can be achieved by using xml to define the data types and generating class definition for these three languages automatically.
64-bit support: 64-bit support was added to the product, so now enterprise systems can use it to overcome the 4 GB per process memory limitation.
Http Session-State Store Provider implementation: IIS-based websites suffering from Session-Store scalability issues can now use an out-of-the-box open sourced implementation (practice) over the space. It gives a reliable store with great performance advantage over database.
Other usability and management capabilities: we’ve enhanced the product’s Admin API with functionalities like GetClusterMeberNames, SpaceCopy and SpaceModeChanged event. An improved “getting-started” set of examples is available when downloading the product. Finally, it is now easier to use API’s generics with our enhanced API inheritance hierarchy.
There are many other improvements, but the bottom-line is that the XAP.NET 6.5 version is a better and easier to use product. All that’s left for you to do is to use it and send your feedbacks to guyt at gigaspaces dot com or post them on our forum.
Guy Tzur
.Net Team Leader