Terracotta Project Ideas
This is a list of ideas for Terracotta-related projects. Please feel free to add to or edit this page. If you want to work on a particular idea, send mail to tc-dev@lists.terracotta.org
.
If you want to start experimenting with some of this stuff, feel free to use the Terracotta Forge Labs infrastructure. This is a good way to get started on the path to being a Terracotta contributor.
Patterns
Terracotta Patterns and Anti-Patterns
Messaging
Build a messaging bus that uses Terracotta as a transport layer.
Eventing
Listeners
Frameworks
JCS
As Of: 09/20/08
Status: first pass. sample app puts an item into the cache, restart the jvm, pull it out.
Contributors: Taylor Gautier
Project Page: labs:JCS
JSF
Struts2 (a.k.a. Webworks)
Develop a configuration module that encapsulates the roots, locks, and include config for Struts 2.x
Cached Portal
Jofti
Lift
Lift
is a web framework built on Scala
MyFaces
Echo
Tapestry
Google-Guice
JCR
SOLR
Database
Cluster-aware JDBC Pool
This is from a suggestion by Fernando Padilla. While Terracotta wouldn't be useful to cluster the actual database resources, it would be very easy to keep track of cluster-wide info about the cross-cluster usage of database resources. As Fernando suggests, Terracotta would be very useful for handling "the management of connection pools, load-balancing the size of each pool per server", etc. This is a pattern of use where Terracotta can easily keep track of metadata about the resources used across an entire cluster.
HsqlDB
H2 Database
Derby
prevayler
Non-Java Languages
Groovy
Grails
JRuby
PHP
This is based on Geert Bevin's work clustering Drupal: http://rifers.org/blogs/gbevin/2007/8/1/clustered_drupal_terracotta
Scala
http://www.scala-lang.org/
Containers/Products
Glassfish
IntelliJ Plugin
As Jim Bethancourt suggests, perhaps this could be done as an entry to the IntelliJ plugin contest
.
Mule
Resin
Misc.
Web-based Terracotta administration console
Method Memoization with TC
Tek271 Memoizer
is a Java method memoizer. (Memoize
= Cache the result of method call for later use instead of recalculateing). Consider using TC as the caching mechanizm.