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.