A new version of Oracle's data grid software will allow Microsoft .NET applications to scale to the same large multi-server environments long enjoyed by Java enterprise applications, according to Oracle.
With version 3.6 of Coherence, released earlier this week, "We can support all the major business platforms," said Cameron Purdy, Oracle vice president of development. The updated software also features a new query language and an improved set of management tools, among other enhancements.
Coherence, a component of the Oracle Fusion Middleware 11g suite, is software that can tie together the working memory from multiple servers and have them act as one large virtual pool of memory, called a data grid, on which large programs can be run.
When it comes to in-memory software, Oracle's TimesTen most readily comes to mind when thinking about Oracle. But while TimesTen was designed to maintain a large, frequently updated database within shared memory, Coherence can hold objects in memory, such as program code.
"If I have a series of Java objects that provides the application with an object-oriented representation of information it uses, then Coherence is ideal. It manages the domain model in that manner, without any need for mapping that information from a relational database," Purdy said.
This approach allows organizations to run programs that would be larger than any one server could handle, such as an online travel system or a trading system for a bank.
Coherence also allows for redundancy; if one server fails, another can take its place with no downtime. "It is an extremely simple way of using commodity hardware to construct very large-scale and resilient systems for managing massive amounts of live information," Purdy said.
The new version of the software, the first major upgrade in a year, has 848 changes from the previous edition, according to Purdy.
One new feature is a session framework to include the ability to work with applications running on Microsoft .NET. While Oracle has long offered plug-ins that would allow Java application servers to run on Coherence, the new version includes a plug-in for .NET session data as well.
Typically, large .NET applications have to store session states in a database -- which can be slow in transactional environments -- or hold all the state sessions in the working memory of a single server, which limits scaling and introduces a single point of failure.
"We've moved a highly available and highly scalable performance-refined Java application model to .NET, " Purdy said. "You can now run hundreds of servers. You can keep adding servers and managing more sessions."
Another new feature is an SQL-like query language called the Coherence Query Language (CohQL).
By closely resembling SQL, CohQL will allow database-centric developers to work on Coherence in a language they would more easily understand, rather than having to wrangle with complex domain models using a procedural language such as Java, with which they may be less familiar.
With CohQL, for instance, an operator of an e-commerce site could "select all the shopping carts that accidentally added an item at the wrong price because someone uploaded the catalogue incorrectly," Purdy said.
The new version has a set of management tools called Coherence Quorum, which allows administrators to more easily manage capacity and resources. To enhance security, the software also can do end-to-end SSL (Secure Sockets Layer) connectivity, protecting messages from outside snooping.