CloudTran Home

 
  
 

Chapters

1 Introduction 
2 Getting Started 
3 Tutorials 
4 Concepts 
5 Defining Applications In Eclipse 
6 Developers Guide 
7 Deployment 
8 Transaction Logging 
9 Management and Performance Tuning 
10 Software As A Service 
11 CloudTran Profile Reference 
12 JavaDocs 


   Table Of Contents

1 Introduction
1.1 Background
1.1.1 Transactionality
1.1.1.1 Less time, higher throughput, more data and more business logic
1.1.1.2 The IMDG Tier
1.1.1.3 CloudTran Transactionality
1.1.2 High Productivity Development and Deployment
1.1.3 Benefits
1.1.4 Applications
1.2 Prerequisites
1.3 Known Issues
1.4 Change History
1.4.1 CloudTran Version 1.4.1, June 2011
1.4.2 CloudTran Version 1.4.0, May 2011
1.4.3 CloudTran Version 1.3.0, February 2011
1.4.4 CloudTran Version 1.22, November 2010
1.4.5 CloudTran Version 1.21, October 2010
1.4.6 CloudTran Version 1.20, October 2010
1.4.7 CloudTran Version 1.1, July 2010
1.4.8 CloudTran Version 1.0, January 2010
1.4.9 GigaSystemBuilder Version 2.1.x, May 2009
1.4.10 GigaSystemBuilder Version 2.1.0, April 2009
1.4.11 GigaSystemBuilder Version 2.0, March 2009

2 Getting Started
2.1 Installing the Plugin
2.2 Uninstalling, or Installing Out-of-sequence Plugins
2.3 Setting the Cloudtran Preferences
2.3.1 The Cloudtran Preferences
2.3.2 Generate-Time Preferences
2.4 Installing on Unix
2.5 MySQL set up
2.5.1 MySQL Environment
2.5.2 Using an Existing Installation
2.5.3 Creating the CloudTran User
2.5.4 Creating the CloudTran Databases
2.5.5 To Load the Schema
2.5.6 To Load the Data Files

3 Tutorials
3.1 Creating CloudTran Projects
3.1.1 CloudTran Examples
3.1.2 Import a new Project
3.1.3 Create a new Project
3.2 HelloCloud - PUs, Services and Business Logic
3.2.1 Modelling Properties
3.2.2 The Mysteries of Model Editing
3.2.3 Adding A Processing Unit
3.2.4 Adding Another Processing Unit
3.2.5 Building the Application
3.2.6 Adding Implementation Code
3.2.7 Running The Application
3.3 Entity Tutorial - Entity/Relation Modelling
3.3.1 Introduction
3.3.2 Modelling Entities and Relations
3.3.3 Running the Entity Tutorial
3.4 Warehouse - ORM Modelling and Coding
3.4.1 The Scenario
3.4.2 Data Design
3.4.3 Process Design
3.4.4 Basic CRUD Processes
3.4.5 Explicit Transactions
3.4.6 Scalable Processing
3.4.7 Deployment
3.5 Congestion Charge - Messaging
3.5.1 The Scenario
3.5.2 Message Queues and Endpoints
3.5.3 Detailed Message flow
3.5.4 Receivers
3.5.5 Senders
3.5.5.1 Sending Failure Indications
3.5.6 Mule Configuration Files
3.5.7 Mule Configuration Properties
3.6 MultiTenancy Example
3.6.1 The Model
3.6.2 Running The Example
3.6.3 DataSource Configuration
3.6.4 Security
3.6.5 Further Information
3.6.6 Database Schema

4 Concepts
4.1 Application Architecture
4.1.1 The Client Application
4.1.2 The Grid
4.1.3 Transaction Management
4.1.4 Persistent Stores and the Plug-in Architecture
4.2 Loading and Saving Data
4.2.1 Class Names
4.2.2 Use Cases for Data
4.2.3 Controlling The Loading Process and Plugins
4.3 Entities and Data Structures
4.3.1 Partitioning
4.3.2 Entity Groups
4.3.3 Master Entities
4.3.4 Routing Entities
4.3.5 Primary Key
4.3.6 Relationships
4.4 Concepts - The CloudTran ORM
4.4.1 Client View
4.4.2 Space Object View
4.4.3 Implicit Transactionality
4.4.4 Explicit Transactionality
4.4.5 Internal ORM
4.5 Concepts - Messaging
4.5.1 Mule
4.5.2 Modelling Concepts
4.6 Concepts - Security
4.6.1 Service Boundaries
4.6.2 Software as a Service
4.7 Entity DataSource mapping
4.8 How to use Amazon Simple Queue Service with Mule and with GigaSpaces
4.9 RESTful Web services in CloudTran
4.9.1 Modelling RESTful Web services
4.9.2 Implementing RESTful Web services
4.9.3 Using RESTful Web services
4.9.4 RESTful Web services
4.9.5 Generated Artifacts
4.9.6 Deployment

5 Defining Applications In Eclipse
5.1 Creating the Project
5.1.1 Directory Structure
5.1.2 Creating the Project
5.2 How To Model
5.2.1 Opening A Model
5.2.2 Adding Model Objects
5.2.3 Setting Properties
5.2.3.1 Property Values
5.3 Modelling Concepts
5.3.1 The Application
5.3.2 The Processing Unit
5.3.3 The Jar
5.3.4 The Space
5.3.5 Space Proxies
5.3.6 The Lifecycle Event
5.3.7 Message Passing
5.3.8 Receivers
5.3.9 The Action
5.3.10 The Service
5.3.11 Service Invocation Routing
5.3.12 Space-Based Collections
5.3.13 Developing Client Applications
5.3.14 Deployment Options
5.4 Configuration
5.4.1 Configuration Timing and Priority
5.4.2 The configuration file 'config.properties'
5.4.3 Creating 'config.properties'
5.4.4 Using 'config.properties
5.5 Default 'config.properties' File
5.5.1 'config.overrides' Property
5.5.2 'config.propertiesReaderClass' Property
5.5.3 'ct.cohort.distCommitThreadPoolSize' Property
5.5.4 'ct.cohort.enrolBackoffMS' Property
5.5.5 'ct.cohort.maxSubtransactions' Property
5.5.6 'ct.cohort.subTxStatusLingerTimeMS' Property
5.5.7 'ct.logger.directory' Property
5.5.8 'ct.logger.diskBlockSize' Property
5.5.9 'ct.logger.diskSpaceLowBusyCount' Property
5.5.10 'ct.logger.diskSpaceLowWarningCount' Property
5.5.11 'ct.logger.disposer' Property
5.5.12 'ct.logger.fileBaseName' Property
5.5.13 'ct.logger.fileDatePattern' Property
5.5.14 'ct.logger.fileExtension' Property
5.5.15 'ct.logger.fileSizeMB' Property
5.5.16 'ct.logger.logAfterCommit' Property
5.5.17 'ct.logger.logBeforeCommit' Property
5.5.18 'ct.logger.maxWriteSize' Property
5.5.19 'ct.logger.threadCount' Property
5.5.20 'ct.logger.zapLogFiles' Property
5.5.21 'ct.persist.driverClassLoaderClass' Property
5.5.22 'ct.persist.loadAtStartOfDay' Property
5.5.23 'ct.persist.maxRowsForDataSourceTransaction' Property
5.5.24 'ct.persist.overallLoaderClass' Property
5.5.25 'ct.persist.threadsPerDatasource' Property
5.5.26 'ct.replayer.continueAfterError' Property
5.5.27 'ct.replayer.retryCount' Property
5.5.28 'ct.txb.commitToCohortDelay' Property
5.5.29 'ct.txb.commitToCohortsBeforeTxManagerCommitReturns' Property
5.5.30 'ct.txb.defaultTimeoutSeconds' Property
5.5.31 'ct.txb.leaveDistributedTxAttributes_bizTxId_Null' Property
5.5.32 'ct.txb.logwriteBufferTime' Property
5.5.33 'ct.txb.maxTransactions' Property
5.5.34 'ct.txb.microsPerLogWrite' Property
5.5.35 'ct.txb.numberTxsToTransmitToCohort' Property
5.5.36 'ct.txb.primaryKeyAllocationChunkSize' Property
5.5.37 'ct.txb.startBackoffMS' Property
5.5.38 'ct.txb.txStatusLingerTimeMinutes' Property
5.5.39 'ct.txb.writeAggregationThreads' Property
5.5.40 'datasource.[dataSource_name].property' Property
5.5.41 'trace.*' Property
5.5.42 'trace.adjustNanoTimer' Property
5.5.43 'trace.assert' Property
5.5.44 'trace.file' Property
5.5.45 'trace.fileSizeInMegaBytes' Property
5.5.46 'trace.formatForDiff' Property
5.5.47 'trace.operation.timer' Property
5.6 Types

6 Developers Guide
6.1 Generating the System
6.1.1 How To Generate
6.1.2 Fixing Errors
6.1.3 What is Generated
6.1.4 Regenerating
6.2 Adding Business Logic
6.3 Start-of-Day Sequence
6.3.1 Clients
6.3.2 Compile-Time Dependencies
6.3.3 Run-time Dependencies - Spaces and Services
6.3.4 Distributed Application Initialisation
6.3.4.1 Init Methods
6.3.4.2 Registering PUs
6.3.4.3 Non-client Initialisation
6.3.4.4 Identifying Service Methods in 'appinit.xml'
6.3.4.5 Controlling Data Load
6.3.5 Client Initialisation
6.4 Running An Application
6.5 Generating From Outside Eclipse
6.6 Beyond Modelling
6.6.1 The Pieces
6.6.2 Diagnosing Build Errors
6.6.3 Diagnosing Runtime Errors

7 Deployment
7.1 What is a Deployment?
7.2 Deployment Option Modelling
7.2.1 Concepts
7.2.2 Machine Estates
7.2.3 Machine Allocation
7.2.4 How To
7.3 Configuration
7.4 Generating Deployment Files
7.4.1 Concepts
7.4.2 ChangingTheDeployment
7.4.3 How To
7.5 Command-Line Deployment
7.6 Amazon EC2 Deployment
7.6.1 Amazon EC2 Files
7.7 Eclipse Deployment
7.8 GoGrid Deployment
7.8.1 Modelling GoGrid Deployments
7.8.2 Configuration Properties
7.8.3 Deploying
7.9 Rackspace Deployment
7.9.1 Modelling Rackspace Deployments
7.9.2 Configuration Properties
7.9.3 Deploying
7.10 GS-UI Lookup Groups In Eclipse
7.11 Spring context loading

8 Transaction Logging
8.1 Overview
8.1.1 Use a Separate Disk
8.1.2 Transaction Logging Operation Overview
8.1.3 Configuring Logging
8.2 Development
8.2.1 Log files
8.2.2 The Assumption Behind CloudTran Logging
8.2.3 Disposing of log files
8.2.4 Transaction Logging Speed and Configuration
8.2.5 Structure of the Log File
8.3 Log File Replay
8.3.1 What's Replay for?
8.3.2 Running replay
8.3.3 Backup
8.3.4 How Replay Finds Transactions To Persist
8.3.5 Committing Transactions During Replay
8.3.6 Disposing of Log Files
8.3.7 How to clear the log directory manually?

9 Management and Performance Tuning
9.1 How to launch and use JConsole
9.2 Management bean overview
9.3 The most significant attributes
9.3.1 Tunable attributes
9.3.2 Read only attributes
9.4 The Application life cycle bean
9.4.1 Read only attributes
9.4.2 Operations
9.5 The Coordinator bean
9.5.1 Tunable attributes
9.5.2 Read only attributes
9.6 The Datasource bean
9.6.1 Tunable attributes
9.6.2 Read only attributes
9.7 The Resolve transactions to cohorts bean
9.7.1 Tunable attributes
9.7.2 Read only attributes
9.8 The Cohort bean
9.8.1 Tunable attributes
9.8.2 Read only attributes
9.9 The Coordinator crash test bean
9.9.1 Operations
9.10 The Cohort crash test bean
9.10.1 Operations

10 Software As A Service
10.1 Building SaaS applications
10.1.1 DataObjects
10.1.2 ORM
10.1.3 SecurityUtils
10.2 Persistence
10.2.1 DataSources
10.2.2 Additional Data
10.3 Security

11 CloudTran Profile Reference
11.1 Action Object
11.2 Application Object
11.3 Attribute Object
11.4 Browser Object
11.5 BusinessMethod Object
11.6 BusinessMethodParameter Object
11.7 Class Object
11.8 Constraint Object
11.9 Coordinator Object
11.10 DataSource Object
11.11 DeploymentOption Object
11.12 Entity Object
11.13 Field Object
11.14 IntEnum Object
11.15 Interface Object
11.16 InterfaceField Object
11.17 InterfaceMethod Object
11.18 Jar Object
11.19 JavaBean Object
11.20 KeyMap Object
11.21 LifecycleEvent Object
11.22 Machine Object
11.23 MachineEstate Object
11.24 Method Object
11.25 Parameter Object
11.26 ProcessingUnit Object
11.27 Property Object
11.28 PuDeploymentOption Object
11.29 Pulse Object
11.30 Receiver Object
11.31 Relation Object
11.32 Sender Object
11.33 Service Object
11.34 Space Object
11.35 SpaceDelayQueue Object
11.36 SpaceHashMap Object
11.37 StartClient Object
11.38 Subscriber Object
11.39 TypeParameter Object

12 JavaDocs


Copyright (c) 2001-2011 CloudTran Inc.