CloudTran is an infrastructure layer for developing scalable data-oriented (OLTP) applications in Java,
combined with a design & development environment based on Eclipse. There are three layers you can use:
Cloud Transaction Management
This is a new style of transaction management that works on the cloud -
or a distributed grid.
This is necessary because "distributed transactions" are slow and unreliable in practice.
-
CloudTran can commit to backed-up memory, making it extremely fast
(many thousand TPS per coordinator node).
-
It also coordinates data in the the processing nodes with data in storage services;
the process has strong ACID properties over both tiers.
-
This transaction approach covers relational data, non-relational data
and other non-persistent actions, like messages - they can all be
included in a cloud transaction.
Data Mapping
There are three different representations of data in CloudTran:
-
The entity/object view. This is the ORM view - a tree of objects in memory,
with related objects referenced by get() methods.
-
The in-grid view. This is a single 'row' view,
with related objects indirectly referenced by foreign key values.
Related rows may be on different nodes in the grid.
-
The storage view.
For databases, this is the row view.
JDBC transforms to map between grid and storage are built-in.
Non-SQL persistent views can be addressed by plug-ins.
CloudTran automates the transformation between these representations;
the infrastructure manages the data movement.
-
Architecture, Development and Deployment
CloudTran provides an out-of-the-box application architecture
for mid-tier processing and data backends.
A simple Eclipse plugin provides
application modelling and framework generation, application code development and unit testing.
Typically each application will be deployed to a number of environments
with a range of configurations, for testing and production.
Deployments can be defined alongside the application definition and CloudTran
will generate the deployment scripts.
Links:
Manual
Download instructions |