Skip navigation

Release: 2.6.2 Previous Releases
Publish Date: July, 2008

Article Rating?


Developer Checklist


Developers - Use this 8 step check-list to guide your Terracotta Deployment to success:

1. Terracotta Download:

Choose appropriate kit (Terracotta - DSO/Sessions/Spring) to use based on the project / Operating System.

2. Installation:

  • Install Terracotta on Dev SandBox (for all project developers)
  • Install Eclipse Plugin (assuming Eclipse is your preferred IDE)
  • Choose JDK (Terracotta supports - Sun JDK 1.4.x, 1.5.x, 1.6.x). Create the appropriate "boot-jar" for the major/minor version of your JDK.
  • Terracotta is part of the development process. So install early and test during development, not at a later stage.

3. Training:

  • Terracotta Training Recommended (½-1 day session on architecture, best practices etc.)
  • Check http://www.terracotta.org for online content (Documentation, FAQ etc.). Sign up for Forums, Mailing List, Wiki and Community JIRA to get access to free support (if subscription purchased, you also get access to direct support channels from Terracotta).

4. Terracotta Enabled Java:

Be aware of the few behavioral differences (no programmatic differences) between natural Java and Terracotta Enabled Java. Specifically:

  • Avoid Unsupported classes: Transparency is a goal for Terracotta, but we are not yet all the way there, in certain use-cases. These "unsupported" classes are what you should avoid using.
  • Be aware of cluster-wide behaviors for:
    • Transients, Static variables and initializers, Inner Classes, Singletons and other patterns/anti-patterns.

5. Iterate on Tc-Config.xml:

  • Root: What to share - Top of object graph that represents application state.
  • Transients: What in the clustered object graph should be excluded from replication? How to rehydrate them on other nodes (on-load scripts)?
  • Lock: What to lock on - keep it as granular as possible. Decide on lock types: Write/Read/Concurrent?
  • Instrumentation: What to instrument? Instrument everything to start off with and add exclude specifications, as you get more visibility into the object graph being clustered.
  • Other Variables: Location of log files, Servers, Ports etc.

6. Address Exceptions:

On exception, tune tc-config.xml (or add a class to the boot-jar or refactor app). Exceptions typically encountered include:

  • Non Portable Exceptions (TCNonPortableObjectException)
  • Lock Related Exceptions (UnlockedSharedObjectException)

7. Perfomance/Scalability Tuning:

If Stress testing results need improvement, fine-tune the implementation:

  • Re-examine Roots and Transients
  • Re-examine scope and type of Locks
  • Cache Policy Tuning
  • Re-examine scope of Instrumentation - can more excludes be specified.
  • Garbage Collection tuning.

8. Deployment:

Collaborate with Operations Team on [operational tasks] (Deployment Architecture, Sticky Load Balancing and Production Monitoring), through the course of the project.

Appendix

Contacting Terracotta


Contact Terracotta at the following:

Web site:  http://www.terracotta.org
Online forums:  http://forums.terracottatech.com/forums/
Information:  info@terracottatech.com

Platform Support

See Platform Support for information on which platforms are supported by Terracotta.
See the Integrations space to see the status of integrations with third-party technologies.




Copyright Information

Copyright © 2005-2007
Terracotta, Inc.
All Rights Reserved

This publication (the "Documentation") and the Terracotta software which it describes (the "Software") are protected to the maximum extent permitted under applicable law, including but not limited to, the regulations set forth in Title 17 of the United States Code, and California law. This Documentation, or any parts thereof, may not be reproduced in any form, by any method, for any purpose, without the express written consent of Terracotta. Terracotta makes no warranty, either express or implied, including but not limited to any implied warranties of merchantability or fitness for a particular purpose, with respect to the Software discussed in this Documentation, and the Documentation itself (collectively, "the Materials"). The Materials are made available solely on an "as-is" basis. In no event shall Terracotta be liable to anyone for special, collateral, incidental, indirect, punitive, exemplary, or consequential damages in connection with, or arising from the purchase or use of, the Materials. Under no circumstances and regardless of the cause of action alleged, shall Terracotta's liability exceed the purchase price of the Software described herein. Terracotta reserves the right to revise and improve its Software and Documentation as it deems fit. The Documentation describes the state of the Software at the time of publication.

Trademarks
"Terracotta," the stylized "T" logo, and "Open Terracotta" are trademarks of Terracotta. All other brand names, product names, or trademarks belong to their respective holders. Java and all Java-based trademarks and logos are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. All other brand names, product names, or trademarks belong to their respective holders.

Government Use
Use, duplication, or disclosure by the U.S. Government is subject to restrictions as set forth in FAR 12.212 (Commercial Computer Software-Restricted Rights) and DFAR 267.7202 (Rights in Technical Data and Computer Software), as applicable.

Adaptavist Theme Builder Powered by Atlassian Confluence