Please disable Adblockers and enable JavaScript for domain! We have NO ADS, but they may interfere with some of our course material.

Workflow Execution (up)

Use the following workflow engine: 
Make sure all software you write runs on: 
Use one (or many) of the following technologies – your choice:  
For UI’s, HTML/JS is obligatory (subdirectory public_html on 

Assignment 4a - Modell (5 points) (up)

Port your process to CPEE (including data flow) and use the predefined timeout servive as endpoint.  
Include the data flow from Aristaflow 3a.  
If scripttasks are necessary, use them: 
data.someValue = 12
data.anotherValue + 1
data.str = "aaaaa"
data.randomBool = [true, false].sample
data.randomStr = ["red", "blue", "green", "yellow", "violet", "orange"].sample
Solution approach 1 (~ 2 minutes) - might not work but worth a try: 
Solution approach 2 (~ 10 minutes): 
Submit the following two files: 

Assignment 4b - Runtime (10 points) (up)

Write a set of REST web-services that replace the "timeout" services from a. REALLY. Replace EVERY occurrence of timeout with your own services. 
p.s. it is still allowed to change the Signavio model (changing labels is NOT allowed, change manual/automatic is allowed within 
the boundaries of reason). 
Hand in three files: 

Assignment 4c - Worklist (12 points) (up)

A worklist is a program that allows process actors (i.e. humans) to interact with a process (the person that clicks execute in the CPEE Cockpit is not a process actor). 
To realize a worklist, every human task (at least 4 tasks with a hand or a human in your Signavio model!) is REQUIRED to have EXACTLY the following additional parameters: 
Of course there are MOST POSSIBLY additional input parameters. Each task should be realized as asynchronous task: 
  1. When the task is called, save all parameters and tell the CPEE that you will answer later. 
  2. Show the Task List for the users (assigned to the role). Each line in the list should contain the name of the task from the process, to be easily identified. 
  3. When a user takes the task (including its name), show him or her the form (with the additional parameters so that he/she has context information). 
  4. Gather the users input and send it back to the CPEE. 
Write the following files (only these files): 
Head (task name)
form open
  contents of link (read from parameter, replaced values in template)
  submit button to final.php
form close
Alternatively, pure javascript implementations may combine worklist.php, work.php and final.php into worklist.html. The server side may be split up to multiple different files in this case (depending on framework usage). But please put the controller into a file called worklist.php so that we can find it. 
Additional rules: 
How to tell CPEE that you want to answer later? 
  $headers = apache_request_headers() ;
  # save $headers['CPEE-CALLBACK'], plus all $_REQUEST parameters
  header('CPEE-CALLBACK: true');
How to send data back to CPEE (by PUT'ing it to the url in $headers['CPEE_CALLBACK'])? 
  $opts = array('http' =>
      'method'  => 'PUT',
      'header'  => 'Content-type: application/json',
      'content' => JSON_DATA
  $context = stream_context_create($opts);
  $result = file_get_contents('http://...', false, $context);
Submit the following 4 files: 
WARNING 1: 0 POINTS if matnr is not included in Attribute info. 
WARNING 2: 0 POINTS if it is not runable (for at least until the end of semester). 
WARNING 3: Assume that you need several days, including interaction with others (e.g. Forum) to do this. 

Assignment 4d - Logging (8 Points) (up)

Write a logging facility, which saves all information as «XES 2.x.» file. 
Add the follwing aspect to your testset file (just copy it in below handlerwrapper): 
  <handler url="">
    <events topic='activity'>calling,failed,manipulating,done</events>
http:// has to point to your logging service in your account (use EXACTLY the format given above, just change XXXXXX to your username). 
Pro TIP: Save all incoming information as you did for the worklist (headers and $_REQUEST) in a random file. Then you can check what data you get. 
Tailor the list of <events> so that it suits your needs. Possible events can be found under «» 
Use your testset from Assignment 4c. The result should be a valid XES File. 
Add event dispersing (hardcoded location) to the worklist so that it contributes to the events in the XES File. The worklist should send the following events: 
The events from the worklist should also show up in the XES File. 
Additional rules: 
Submit the following 3 files: 
Letzte Änderung: 19.11.2018, 12:44 | 1604 Worte