Simula l'esecuzione di un processo con Activiti Cloud
Il BPMN d'esempio è relativo al processo di recruitment di una software house.
- Ufficio HR (gruppo "hr"); rappresenta l'ufficio per le risorse umane; si compone dei seguenti utenti:
- hr_user_1
- hr_user_2
- hr_user_3
- Ufficio Tecnico (gruppo "tech"); rappresenta l'insieme delle persone con un profilo tecnico; si compone dei seguenti utenti:
- tech_user_1
- tech_user_2
- Responsabile delle risorse umane (utente "hr_manager").
Tutti gli utenti coinvolti nella simulazione hanno la stessa passowrd: "password".
Nella simulazione sono presenti due versioni di processo.
L'architettura del simulatore è la seguente:
La procedura di configurazione ed esecuzione del simulatore è strutturata per un ambiente Linux ma può essere facilmente replicata anche su macOS e Windows (quest'ultimo ad esempio mediante WSL).
Per configurare ed eseguire il simulatore è necessario avere installato e configurato i seguenti software:
- docker
- docker-compose
- maven
- openjdk v11
- browser web (es. Firefox)
- Clonare il presente repository git.
- Identificare un IP da usare per la configurazione del simulatore; per permettere la corretta comunicazione tra i container definiti nella simulazione è necessario definire un IP (non localhost o 127.0.0.1); questo IP potrebbe ad esempio essere quello dell'interfaccia di rete LAN o wireless. Negli successivi step di configurazione configurare questo IP ad ogni occorrenza della stringa CLUSTER_IP_CHANGEME.
Compilare e generare l'immagine docker del runtime bundle mediante i seguenti comandi:
cd activiti-cloud-process-simulator
cd runtime-bundle
mvn clean package
cd activiti-cloud-process-simulator
cd docker-compose
# Modificare il file .env sostituendo l'IP del cluster al posto della stringa CLUSTER_IP_CHANGEME
vi .env
# Avvio della configurazione docker-compose
docker compose up -d
Avviare la simulazione jmeter. Lo script "run_jmeter.sh" permette l'avvio della simulazione e la configurazione dei seguenti parametri:
- "-i": imposta l'IP del cluster di servivi docker
- "-h": imposta il numero di utenti da usare per l'ufficio HR (da 0 a 3)
- "-t": imposta il numero di utenti da usare per l'ufficio tecnico (da 0 a 2); l'impostazione di un valore > 0 istruisce lo script jmeter ad usare la versione BPMN "complex".
cd activiti-cloud-process-simulator
cd jmeter
./run_jmeter.sh -i CLUSTER_IP_CHANGEME -h 1 -t 0
- Accesso alla UI di grafana: da browser web, accedere al link
- Login con le credenziali di default (admin:admin)
- Aggiungere un nuovo datasource:
- Navigare su: http://CLUSTER_IP_CHANGEME/grafana/datasources
- Click "Add data source"
- Selezionare il tipo di datasource "PostgreSQL"
- Impostare i parametri:
- Host: activiti-postgres:5432
- Database: activitidb
- User: activiti
- Password: mypassword
- TLS/SSL Mode: disable
- Click su "Save & test" verificando il messaggio di conferma "Database Connection OK"
- Aggiugnere la dashboard del simulatore:
- Navigare su: http://CLUSTER_IP_CHANGEME/grafana/dashboards
- Click "New -> Import"
- Click "Upload JSON file"
- Selezionare il file "dashboard.json" contenuto alla path "./activiti-cloud-process-simulator/grafana"
- Click "Import"