Project 6

Project Name: 
biolytix
Process Model
Modeling Tool: 
Camunda
BPMN 2.0 Model (.bpmn): 
BPMN 2.0 Model (.pdf): 
Workflow Implementation
Execution Tool: 
Camunda BPM
Test Report: 
The service to submit an order from customers was set up using angularjs and html with bootstrap. The service can be accessed via following link: http://www.disaster-apps.com/wfm06/#/ After an order is submitted, the backend starts working on it and the other processes within our workflow are initialized to simulate the laboratory part including the technician and secretary. The backend was developed in java with restful apis in mind, so that every process can communicate with the underlying database, which is a postgresql database sitting on the same server as frontend and backend as well as the camunda bpmn engine. Implementing the simulated lab-worker was tricky since the lab work takes some days to finish. We have reduced this time to few hours for testing reasons. The "blocking" of the application during lab analysis activity was also tricky. We have tried to connect camunda with python standalone lab-worker service which takes multiple days to finish. Camunda used to throw exceptions and to halt the whole workflow during this waiting time. At the end, we have decided to implement this feature with pool of threads with futures, each being single order. Furthermore, if multiple orders came in at the same time, each with its own blocking time during lab analysis process would cause the camunda engine to break. Testing took very long time in order to find out the best possibility for camunda and multi-threading for labanalysis. Another issue was that the email service provider, in our case a personal .gmx account, failed at some points during testing when a lot of emails were sent at once. We hope this inconvenience won't be happening during evaluation by our colleagues.