From NAMIC Wiki
Revision as of 17:56, 12 January 2007 by Andy (talk | contribs) (→‎Source code)
Jump to: navigation, search
Home < Dart2Summary


DART2 is a ground up re-write of the DART server. Some very different design critera are being used for DART2, some of which are described in this document. DART2 is currently being designed and implemented as part of NAMIC's Core 2 Engineering activities. A progress report was given at the 2006 NAMIC All Hands Meeting in Salt Lake City.

Documentation, Resources & Plans

This page serves as the main Dart home page. Most questions can be answered in the Dart manual, if not, please see the Dart mailing list.

Currently, Dart is being used for the Slicer3 dashboard. Over the upcoming months, Dart will be adapted and "hardened" for the enterprise environment. This mainly consists of using MySQL rather than Derby. MySQL is highly scalable with mature management tools, mitigating a point of failure for Dart (though Derby performs wonderfully for most applications).


Release 1.0.7 (June 20, 2006)

Dart1.0.7.zip or Dart1.0.7.tar.gz

For JDK 1.4

Dart1.0.7-jdk1.4.zip or Dart1.0.7-jdk1.4.tar.gz

This release fixes several resource exhaustion bugs, and includes an (untested) HTTP PUT method for submission. Please download and update any existing Dart servers.

Previous Releases

Source code

The Source code for Dart2 is current under the Subversion revision control system (homepage), and may be browsed or checked out:

 svn co http://svn.na-mic.org/svn/Dart/trunk Dart


The current plan is that DART2 will be written in the single language Java. Besides its simplicity and portability, Java provides many different packages dedicated to particular programming tasks. Some of the packages used in DART2 are described here including accompaning descriptions and licenses.

Package Name Description License


Enterprise scheduler, has features similar to cron BSD-like

Apache XML-RPC

XMLRPC implementation, integrates with servlet engines Apache


Part of the Apache Jakarta Commons project. Converts XML to Java objects Apache

Command Line Interface

Command line processing Apache


Template engine, provides HTML generation from Java objects BSD-like


Object-Relational bridge. Generates objects that are dynamically mapped to RDBMS BSD


Very flexible logging system Apache


Embedded RDBMS donated to Apache by IBM. Formely known as Cloudscape Apache


Excellent unit testing framework. All Dart2 Server tests use JUnit Common Public License

DB Connection Pooling

DB Connection pooling library, helps manage server resources. Apache

Virtual File System

Manipulate files in the file system, JAR files, FTP, etc... uniformly and transparently. Apache


An embeddable servlet and web server engine Apache


Where would we be without Ant? Ant is a Java version of Make. Apache


Charting tools accessible via a servlet GNU Lesser General Public License
Dart 2 architecture