1.1 Product Overview
CloudTran is a product family for Java developers who need to build high-performance, scalable applications with strong ACID guarantees.
This manual describes CloudTran-Coherence - the CloudTran product layered on Oracle Coherence.
CloudTran provides a scalable data tier in support of in-memory data grids.
See Product Concepts and Architecture for details on the common transaction features.
- CloudTran-Coherence for TopLink Grid helps Java application programmers write scalable JPA applications using
and TopLink Grid.
- The Low-level API provides a transactional and persistence support for developers using Coherence NamedCache features.
It supports both Pessimistic-Locking and MVCC (Multi-Version Concurrency Control).
It is relatively easy to provide, in a data grid, operations providing any three of these four attributes: distributed; durable; fast; isolated.
For example, database "write-behind" is distributed, durable and fast but not isolated at the database.
Or, database "write-through" is distributed, durable and isolated at the database but not as fast as write-behind (as it has to wait for the database transaction).
CloudTran provides all these features simultaneously, while also reflecting the key features of a grid:
1.1.1 Distributed, Durable Transactions at Speed|
This is possible because CloudTran runs in the grid, which means it can leverage the grid's scalability and HA features,
at the same time optimising transaction performance.
- scalability - including scaling the transaction management services;
- automatic failover for failed instances;
- management of the primary transaction in the grid and onward shipment as secondary transactions to databases and other data stores
- buffering secondary transactions in the grid if it gets ahead of the data stores.
CloudTran uses a new style of transaction management that manages transactions distributed in a grid and persisted to databases.
Here are some comparisons with other transaction managers to help understand CloudTran:
XA Distributed Transaction Managers
XA distributed transactions can encompass legacy systems (e.g via JCA), messaging and datastore transactions.
In contrast, you can think of CloudTran as a resource manager handling the Coherence grid and the databases beyond it as a single resource;
this involves distributed transaction management (multiple nodes in the grid and multiple databases) ... just not in the XA style.
CloudTran-Coherence can then interwork with XA transactions via EclipseLink's integration to external transaction managers such as WebLogic.
Coherence Transaction Framework API
Coherence's Transaction Framework provides a distributed transactions for programming at the Coherence API and extending the scope of transactions
outside the grid with XA and JCA integration; integration with databases is a future feature, as of Coherence 3.7.1.
In contrast, the goal of CloudTran-Coherence for TopLink Grid is to help programmers to develop high performance, fully ACID, scalable JPA applications
with little or no knowledge of the Coherence API.
Single-service/node Transactions It is possible
to do multi-entry atomic operations on one cache service in one node using the Coherence API.
This is completely different in API level and interactions from CloudTran-Coherence.