Please disable Adblockers and enable JavaScript for domain CEWebS.cs.univie.ac.at! We have NO ADS, but they may interfere with some of our course material.
[Info]
Workflow Execution
Verwenden Sie die Workflow Engine:
- «http://cpee.org:9298/» (Backend)
Stellen Sie alle geschriebenen application services auf
- almighty.cs.univie.ac.at
- Protokoll: ssh/sftp
- Login: aMatrikelnummer
- Pass: Unet Passwort
Zu verwenden Technologien – Sie haben die Wahl:
- JAVA, bitte standalone web services, z.b.
- jetty (JAR)
- …
- PHP im Unterverzeichnis public_html
- Perl
- Ruby
- C# (mono)
- Javascript (nodejs)
Für UI’s ist HTML/JS Pflicht (Unterverzeichnis public_html).
- Zugriff unter «http://wwwlab.cs.univie.ac.at/~userid»
Aufgabe 1 - Modell (2 Punkte)
Portieren Sie Ihren Main Prozess, unter Verwendung des Endpunkt Timeout in der CPEE.
Loesungsansatz 1 (ca. 2 Minuten):
- Modeltype auf Signavio stellen
- "Load Model" signavio.bpmn
- Wenn was kommt war der import erfolgreich, sonst hat das Signavio File Probleme
- Ueberall den endpoint timeout und den parameter timeout eintragen wie z.b. beim Testset Linear
Loesungsansatz 2 (ca. 10 Minuten):
- Von hand Modellieren
- Schritt 4 von Loesungsansatz 1 durchfuehren
Abzugebende Dateien:
- Signavio Modell als PDF
- CPEE Template
Aufgabe 2 - Lauffähigkeit
Schreiben Sie fuer jeden Task ein Web-Service wie am «Donnerstag (Stream)» besprochen.
Wichtig:
- Tasks haben Input ($_REQUEST im PHP)
- Tasks haben Output der im finalize verarbeitet wird
- Nach jedem Task soll der Output in relevanten Datenelementen aufscheinen
- Wie oft Schleifen durchlaufen werden wird durch die Daten aus den Tasks gesteuert
- verwenden sie rand() bei der Rueckgabe von Daten aus den Tasks damit die Instanzen nicht immer alle gleich sind.
Abzugebende Dateien:
- CPEE Template
- Source Code als ZIP
Aufgabe 3 - Worklist
Eine Worklist ist ein Programm das Prozess-Akteuren erlaubt mit der Workflow Engine zu interagieren (die Person die das CPEE Cockpit bedient ist KEIN Prozess-Akteur).
Um eine Worklist zu realisieren, braucht eine Aktivitaet folgende ZUSAETZLICHE Parameter:
- Rolle, die die Aktivitaet wahrnehmen soll
- Formular, das der User ausfuellen soll
Zusaetzlich zu den normalen Parametern fuer diese Aktivitaet muessen dies Informationen in einer DB oder (am besten) in einem File gespeichert werden.
Die Benutzer gehen dann auf unabhaengig vom CPEE Cockpit auf eine URL am Almighty, und sehen (nach einem LOGIN) ihre zugeordneten Tasks.
Es sind also folgende Files zu schreiben:
- activity.php - wird von der CPEE aufgerufen, speichert Rolle, Formular und Parameter. Weist eventuell die Tasks zu Benutzer zu.
- worklist.php - wird von einem Benutzer aufgerufen, zeigt nach login alle zugeordneten Tasks
- work.php - wenn der Benutzer im worklist.php auf einen Task klickt, soll das mitgelieferte Formular angezeigt werden
- final.php - wenn der Benutzer im work.php auf submit drueckt, soll final.php die formulardaten engegennehmen und an die CPEE zurueckgeben. Danach soll final.php auf worklist.php weiterleiten.
Interaktion mit der CPEE: um einen einen Aufruf asynchron zu beantworten:
<?
$headers = apache_request_headers() ;
# save $headers['CPEE_CALLBACK'], plus all $_REQUEST parameters
header('CPEE_CALLBACK: true');
exit;
?>
If you want to later answer from a different PHP, PUT the parameters to the url in $headers['CPEE_CALLBACK']:
<?
$opts = array('http' =>
array(
'method' => 'PUT',
'header' => 'Content-type: application/json',
'content' => JSON_DATA
)
);
$context = stream_context_create($opts);
$result = file_get_contents('http://...', false, $context);
exit;
?>
Letzte Änderung: 12.01.2016, 12:53 | 477 Worte