Die Task Processing Unit geht von folgenden Annahmen aus:
- Es gibt innerhalb der D:SWARM-Plattform ein Projekt, welches "repräsentativ" ein Mapping für eine größere Menge von Quelldateien konfiguriert.
 - Die im Prozess erzeugten Resources und Data Models zu den Quellen werden nach - erfolgreicher aber auch nach nicht erfolgreicher - Transformation aus der Plattform gelöscht (verhindert "Aufblähen" der Listen im Bereich "Data" des WebUI).
 
Für die Konfiguration eines Prozesses müssen folgende Parameter in der config.properties angepasst werden:
project.name=CrossRef
# resources
resource.watchfolder=data/sources
resource.preprocessing=true
# preprocessing for xml files
preprocessing.xslt=xslt/cdata.xsl
preprocessing.folder=data/tmp
# prototype project
prototype.dataModelID=bbd368e8-b75c-0e64-b96a-ab812a700b4f
prototype.projectID=819f2f6e-98ed-90e2-372e-71a0a1eec786
prototype.outputDataModelID=DataModel-cf998267-392a-4d87-a33a-88dd1bffb016
# results
results.persistInDMP=false
results.persistInFolder=true
results.folder=data/results
$JAVA_HOME/jre/bin/java -cp TaskProcessingUnit-1.0-SNAPSHOT-onejar.jar de.tu_dortmund.ub.data.dswarm.TaskProcessingUnit -conf=conf/config.properties
- uuid des Datenmodells zum "Prototyp"-Projekts
 - uuid des "Prototyp"-Projekts
 - uuid des Zielschemas
 
Transformiere jede Datei aus einem definierten Quellverzeichnis mittels des Mappings eines ausgewählten "Prototyp"-Projekts in das ausgewählte Zielschema und speichere die Resultate in ein definiertes Zielverzeichnis
1. Schritt: Erzeuge für jede Quelldatei eine InputDataModell
- (a) Upload der Datei via 
POST {engine.dswarm.api}/resources/; ggf. vorher Preprocessing - (b) Ermitteln der ID zur Ressource zum Datenmodells zum "Prototyp"-Projekts via 
GET {engine.dswarm.api}/datamodels/{uuid des Datenmodels zum "Prototyp"-Projekt} - (c) Lese die Konfiguration der Ressource zum Datenmodells zum "Prototyp"-Projekts via 
GET {engine.dswarm.api}/resources/{uuid der "Prototyp"-Ressource}/configurations - (d) Konfiguration der Datei mit angepassten Daten via 
POST {engine.dswarm.api}/resources/{uuid der neuen Ressource}/configurations - (e) Definition des Datenmodells via 
POST {engine.dswarm.api}/datamodels 
2. Schritt: Erzeuge für jede Quelldatei ein Task
- (a) Hole aus dem ausgwählten "Prototyp"-Projekt die Informationen zum Mapping
 - (b) hole die Konfiguration zum InputDataModell mittels 
GET {engine.dswarm.api}/datamodels/{uuid} - (c) Hole die Konfiguration zum ausgewählten Zielschema mittels 
GET {engine.dswarm.api}/datamodels/{uuid} - (d) Baue den Task zusammen
 
Task JSON:
{
  "name" : "my task",
  "description" : "my task description",
  "job" : {
    "mappings" : [[[[INSERT HERE THE MAPPINGS ARRAY FROM YOUR PROJECT]]]],
    "uuid" : "[[[[INSERT HERE A UUID]]]]"
  },
  "input_data_model" : [[[[INSERT HERE THE INPUT DATA MODEL RETRIEVED FROM THE DATA MODELS ENDPOINT]]]],
  "output_data_model" : [[[[INSERT HERE THE OUTPUT DATA MODEL ((OPTIONALLY) RETRIEVED FROM THE DATA MODELS ENDPOINT)]]]]
}
3. Schritt: Führe den Task mittels POST {engine.dswarm.api}/tasks?persist={result.persistInDMP} aus
4. Schritt: Verarbeite ggf. das Ergebnis-JSON (falls result.persistInFolder=true)

