annotate Changes @ 55:9a29899b31e5

describe() in REST interface is also handled as POST to pass optional parameters. artifacts/trunk@283 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Wed, 04 Nov 2009 14:38:37 +0000
parents fecd142b6856
children cf9848c85755
rev   line source
53
fecd142b6856 RELEASE 0.1
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 0
diff changeset
1 2009-10-07 RELEASE 0.1
fecd142b6856 RELEASE 0.1
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 0
diff changeset
2
fecd142b6856 RELEASE 0.1
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 0
diff changeset
3 New:
fecd142b6856 RELEASE 0.1
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 0
diff changeset
4
fecd142b6856 RELEASE 0.1
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 0
diff changeset
5 * Two sub projects: 'artifacts' and 'artifact-database'
fecd142b6856 RELEASE 0.1
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 0
diff changeset
6
fecd142b6856 RELEASE 0.1
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 0
diff changeset
7 - 'artifacts' is a set of generic interfaces modelling
fecd142b6856 RELEASE 0.1
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 0
diff changeset
8 the workflow to parameterize a process and producing
fecd142b6856 RELEASE 0.1
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 0
diff changeset
9 outputs.
fecd142b6856 RELEASE 0.1
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 0
diff changeset
10
fecd142b6856 RELEASE 0.1
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 0
diff changeset
11 An artifact is created via factories. It describes
fecd142b6856 RELEASE 0.1
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 0
diff changeset
12 itself via 'describe', it is parameterized via
fecd142b6856 RELEASE 0.1
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 0
diff changeset
13 'feed' and brought to new states with 'advance'.
fecd142b6856 RELEASE 0.1
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 0
diff changeset
14 Once able to produce output 'out' returns the
fecd142b6856 RELEASE 0.1
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 0
diff changeset
15 requested product.
fecd142b6856 RELEASE 0.1
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 0
diff changeset
16
fecd142b6856 RELEASE 0.1
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 0
diff changeset
17 - 'artifact-database' is the default implemention
fecd142b6856 RELEASE 0.1
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 0
diff changeset
18 of the workflow described with 'artifact'.
fecd142b6856 RELEASE 0.1
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 0
diff changeset
19
fecd142b6856 RELEASE 0.1
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 0
diff changeset
20 * artifact-database persists artifacts with a H2-database
fecd142b6856 RELEASE 0.1
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 0
diff changeset
21 [http://www.h2database.com] (default) or a
fecd142b6856 RELEASE 0.1
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 0
diff changeset
22 PostgeSQL 8.3+ database [http://www.postgresql.org/] (optional)
fecd142b6856 RELEASE 0.1
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 0
diff changeset
23
fecd142b6856 RELEASE 0.1
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 0
diff changeset
24 * artifacts may spawn background threads to copy with long running
fecd142b6856 RELEASE 0.1
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 0
diff changeset
25 processes. After finishing work they are able to re-synchronize
fecd142b6856 RELEASE 0.1
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 0
diff changeset
26 themselves to the artifact database.
fecd142b6856 RELEASE 0.1
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 0
diff changeset
27
fecd142b6856 RELEASE 0.1
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 0
diff changeset
28 * artifact-database is accessible via an HTTP REST server
fecd142b6856 RELEASE 0.1
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 0
diff changeset
29 implemented on top of the Restlet API http://www.restlet.org/
fecd142b6856 RELEASE 0.1
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 0
diff changeset
30 It has to be started as a service. Default TCP port: 8181
fecd142b6856 RELEASE 0.1
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 0
diff changeset
31
fecd142b6856 RELEASE 0.1
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 0
diff changeset
32 HTTP GET '/factories' returns list of available factories.
fecd142b6856 RELEASE 0.1
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 0
diff changeset
33 HTTP GET '/create' creates new artifact.
fecd142b6856 RELEASE 0.1
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 0
diff changeset
34 HTTP GET '/artifact/{uuid}' returns a description of an artifact.
fecd142b6856 RELEASE 0.1
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 0
diff changeset
35 HTTP POST '/artifact/{uuid}' modifies an artifact ('feed', 'advance')
fecd142b6856 RELEASE 0.1
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 0
diff changeset
36 HTTP POST '/artifact/{uuid}/{out}' delivers output for an artifact.
fecd142b6856 RELEASE 0.1
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 0
diff changeset
37
fecd142b6856 RELEASE 0.1
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 0
diff changeset
38 * artifact-database is configured with as XML file named conf.xml
fecd142b6856 RELEASE 0.1
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 0
diff changeset
39 (default placement in directory $HOME/.artitactdb, directory
fecd142b6856 RELEASE 0.1
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 0
diff changeset
40 may be changed with system property "artifact.database.dir")

http://dive4elements.wald.intevation.org