sascha@53: 2009-10-07 RELEASE 0.1 sascha@53: sascha@53: New: sascha@53: sascha@53: * Two sub projects: 'artifacts' and 'artifact-database' sascha@53: sascha@53: - 'artifacts' is a set of generic interfaces modelling sascha@53: the workflow to parameterize a process and producing sascha@53: outputs. sascha@53: sascha@53: An artifact is created via factories. It describes sascha@53: itself via 'describe', it is parameterized via sascha@53: 'feed' and brought to new states with 'advance'. sascha@53: Once able to produce output 'out' returns the sascha@53: requested product. sascha@53: sascha@53: - 'artifact-database' is the default implemention sascha@53: of the workflow described with 'artifact'. sascha@53: sascha@53: * artifact-database persists artifacts with a H2-database sascha@53: [http://www.h2database.com] (default) or a sascha@53: PostgeSQL 8.3+ database [http://www.postgresql.org/] (optional) sascha@53: sascha@53: * artifacts may spawn background threads to copy with long running sascha@53: processes. After finishing work they are able to re-synchronize sascha@53: themselves to the artifact database. sascha@53: sascha@53: * artifact-database is accessible via an HTTP REST server sascha@53: implemented on top of the Restlet API http://www.restlet.org/ sascha@53: It has to be started as a service. Default TCP port: 8181 sascha@53: sascha@53: HTTP GET '/factories' returns list of available factories. sascha@53: HTTP GET '/create' creates new artifact. sascha@53: HTTP GET '/artifact/{uuid}' returns a description of an artifact. sascha@53: HTTP POST '/artifact/{uuid}' modifies an artifact ('feed', 'advance') sascha@53: HTTP POST '/artifact/{uuid}/{out}' delivers output for an artifact. sascha@53: sascha@53: * artifact-database is configured with as XML file named conf.xml sascha@53: (default placement in directory $HOME/.artitactdb, directory sascha@53: may be changed with system property "artifact.database.dir")