Project name
Open Data Grid
Overview (one or two sentences)
The Open Data Grid is a POJO-based Data Grid implementation that allows you to utilize the Data Grid with nothing but plain POJO-based Java (JDK 1.5).
Description (detailed)
The Open Data Grid basically implements the Master/Worker pattern wrapped up in the CommonJ WorkManager interfaces. But it adds much more functionality in terms of reliability and stability. For example there are implementations that handles routing, work or a worker failure, high volumes of data, ordering etc.
The implementation is completely based on JDK 1.5 and POJOs. This allows the user to utilize the Data Grid with nothing but plain POJO-based Java (JDK 1.5) and also has the benefits of keeping the core implementation open and simple, e.g. easily customizable. It is implemented as a single-JVM, multithreaded implementation (that is usable as is) that optimized for turning into a distributed multi-JVM implementation using Terracotta.
The implementation is based on the java.util.concurrent abstractions (ExecutorService, LinkedBlockingQueue etc.) and the user API mainly consists of the CommonJ WorkManager. Here is an example of what the user would have to do in order to use the data grid:
WorkQueueManager workQueueManager = new DefaultWorkQueueManager();
Router router = new Router.LoadBalancingRouter(workQueueManager);
WorkManager workManager = new RoutingAwareWorkManager(router);
WorkListener workListener = null;
Set workSet = ...
for (Work work: workSet) {
RoutableWorkItem workItem; try {
workItem = workManager.schedule(work, workListener);
} catch (WorkException e) {
}
}
The project will also implement to some common use cases, such as for example a distributed web spider.
License
Project license: BSD
Committers (name and email)
Project Lead:
Jonas Bonér - jonas@terracottatech.com
Team members:
Taylor Gautier - tgautier@terracottatech.com
Infrastructure requirements
- SVN Repository: yes
- Wiki space: yes
- Mailing lists
- User: yes
- Dev: yes
- SCM: yes
- FishEye: yes
- Issue Tracking: yes
- Downloads: yes
- Backup/recovery: yes