ProcessMaker è una soluzione Open Source per la gestione dei flussi di lavoro aziendali nelle piccole e medie imprese e nelle organizzazioni di varia natura. ProcessMaker consente a qualsiasi utente, anche con pochissima esperienza, di automatizzare e gestire i processi aziendali.
Il Business Process Management è l’insieme di attività necessarie per definire, ottimizzare, monitorare ed integrare i processi aziendali al fine di modellare un sistema orientato a massimizzare efficienza ed efficacia del business aziendale. ProcessMaker è un Sistema, web based, di Business Process Management System (BPMS), utilizzabile con il browser preferito, che consente la modellazione, l’automazione e la gestione dei processi aziendali. Non è richiesta alcuna installazione locale.
La semplicità d’uso rende conveniente anche il disegno di quei processi che vengono utilizzati solo di rado.
La successiva analisi dei processi può comportare una revisione degli stessi ed eventualmente ridurne i costi.
Con ProcessMaker si possono disegnare i propri forms, creare documenti, definire utenti ed assegnare ruoli, definire le regole di processo, connettersi ad altre applicazioni e DBMS.
ProcessMaker si rivolge quindi:
- a chi, in azienda, deve disegnare il processo ed assegnare i compiti;
- agli utenti del processo, per lo svolgimento dei compiti assegnati;
- ai supervisori per la verifica del corretto svolgimento;
- ai manager per l’analisi dei risultati ed ottimizzazione dei processi.
Quali sono le motivazioni che stanno dietro l’adozione di ProcessMaker?
Le PMI (Piccole e Medie Imprese) non hanno tempo e risorse per utilizzare costose suite BPM (Business Process Management) concepite per grosse organizzazioni; le PMI hanno la necessità di:
- un prodotto che consenta, in maniera semplice, di automatizzare i flussi di lavoro per avere più tempo da dedicare al business;
- un prodotto che possa essere utilizzato senza dover assumere nuovo personale;
- un prodotto che sia flessibile e si integri con i sistemi ed i database esistenti;
- un prodotto facile da usare che avvicini gli utenti al sistema.
Requisiti di sistema
Per un uso personale, ProcessMaker può essere usato su qualsiasi computer con una CPU moderna, connessione a Internet e 2 GB di RAM, mentre per l’uso in produzione, i requisiti hardware possono variare in base a diversi fattori (numero di utenti collegati contemporaneamente, dimensioni del repository , configurazione del sistema). Per l’uso in produzione, si consiglia di installare ProcessMaker su un server dedicato o su una macchina virtuale con una connessione Internet dedicata.
Per la nostra versione di ProcessMaker, disponibile a questo indirizzo , consigliamo l’installazione di docker.
Guida all’installazione
Prima di tutto, se non l’avete ancora fatto, scaricare l’immagine da github
docker build -t rossonet/processmaker-apache:latest https://github.com/rossonet/ProcessMaker-apache.git
ed attivare il daemon docker
sudo dockerd
- creare la bridge network
docker network create --driver bridge pmos-net
- Creare il database MySQL
mkdir mysql-data
docker run -d --rm --name mysql-db -v $(pwd)/mysql-data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw --network pmos-net mysql:5
- creare l’istanza Processmaker
mkdir processmaker-data
export PMOS_URL=localhost
docker run -d --rm --name pmos -p 8080:8080 -v $(pwd)/processmaker-data:/opt -e URL=$PMOS_URL --network pmos-net rossonet/processmaker-apache:latest
- configurare ProcessMaker: aprire il link http://localhost:8080 nel browser. Dovrebbe apparire una pagina col dependencies check.
- Cliccare su “Next”
- Cliccare ancora “Next”
- Selezionare “I Agree”, poi ancora “Next”
- A questo punto inserire host name e password scelti durante la creazione del database; cliccare su “Test Connection” e, se è andato a buon fine, cliccare “Next”
- Inserire una password per l’admin, cliccare “Check Workspace Configuration” e, se va a buon fine, cliccare “Finish”. Dovrebbe apparirvi un popup di conferma
- Cliccare “OK”.
A questo punto, all’indirizzo http://localhost:8080/sysworkflow/en/neoclassic/login/login dovrebbe apparirvi la form per il login di Processmaker
- Inserite la password scelta per Admin, e benvenuti su ProcessMaker!
Esempio/ caso d’uso
Supponiamo che nella nostra azienda un dipendente abbia necessità di materiale (cancelleria, attrezzature). In questo caso, chiederà al magazzino che, se il materiale è presente, lo consegnerà al richiedente; in caso contrario farà a sua volta una richiesta di acquisto all’ufficio preposto, e provvederà a consegnare il materiale al dipendente una volta che sarà arrivato.
Tutto ciò in ProcessMaker può essere rappresentato con un diagramma di flusso
Varie fasi, però, possono essere automatizzate in modo da far risparmiare tempo alle persone coinvolte: il richiedente, per esempio, anziché recarsi personalmente in magazzino, ed aspettare mentre il magazziniere verifica la disponibilità e reperisce il materiale, potrà compilare una form di richiesta materiale; ProcessMaker si occuperà di inviare una mail interna con la richiesta al magazziniere; solo quando il materiale sarà disponibile, il richiedente si recherà a ritirarlo al magazzino, oppure il magazziniere glielo consegnerà in ufficio.
Ovviamente, anche il processo di richiesta di acquisto può essere automatizzato:
in tal caso, una volta che il magazziniere avrà compilato la form di richiesta di acquisto, ProcessMaker invierà al manager dell’ufficio acquisti una mail interna con la richiesta
A questo punto, se il manager approva, si provvederà all’acquisto del materiale; in caso contrario, verrà inviato al magazziniere l’avviso che l’ordine è stato rifiutato, con la richiesta di riformulare la richiesta d’acquisto.
Problem Solving
Verifica dell’installazione
verificare la rete docker utilizzata tra i containers
$ docker network ls
NAME VERSION PLUGINS
pmos-net 0.4.0 bridge,portmap,firewall,tuning,dnsname
controllare i containers
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d4b50ff138e4 localhost/rossonet/processmaker-apache:latest /bin/bash 24 hours ago Up 24 hours ago 0.0.0.0:8080->8080/tcp pmos
0d8e8100be08 docker.io/library/mysql:5 mysqld 24 hours ago Up 24 hours ago mysql-db
controllare la connessione tra il container di ProcessMaker ed il database:
prima di tutto, installare il pacchetto MySQL client
$ docker exec -it pmos yum install -y mysql
Loaded plugins: ovl, priorities
amzn-main | 2.1 kB 00:00:00
amzn-updates | 3.8 kB 00:00:00
Resolving Dependencies
--> Running transaction check
---> Package mysql.noarch 0:5.5-1.6.amzn1 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
========================================================================================================================================================================
Package Arch Version Repository Size
========================================================================================================================================================================
Installing:
mysql noarch 5.5-1.6.amzn1 amzn-main 2.7 k
Transaction Summary
========================================================================================================================================================================
Install 1 Package
Total download size: 2.7 k
Installed size: 0
Downloading packages:
mysql-5.5-1.6.amzn1.noarch.rpm | 2.7 kB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : mysql-5.5-1.6.amzn1.noarch 1/1
Verifying : mysql-5.5-1.6.amzn1.noarch 1/1
Installed:
mysql.noarch 0:5.5-1.6.amzn1
Complete!
poi provare la connessione tra il container di ProcessMaker ed il database (la password è la stessa che abbiamo messo durante l’installazione, nel nostro esempio è my-secret-pw)
$ docker exec -it pmos mysql -h mysql-db -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 18
Server version: 5.7.40 MySQL Community Server (GPL)
Copyright (c) 2000, 2021, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
| wf_workflow |
+--------------------+
5 rows in set (0.02 sec)
Pulizia dell’ambiente di lavoro
Fermare i containers
$ docker stop pmos mysql-db
d4b50ff138e48e4274e0b13c08d89c517a9f2ecdc9ce6b0bcc8af6350782c6cf
0d8e8100be08d4bbaa6add4f0120ab0acb6716bee1358a07f2f54a990cfe5d98
Cancellare la network bridge
$ docker network rm pmos-net
pmos-net
Rimuovere le directory di archiviazione (come user root)
$ sudo rm -rf processmaker-data mysql-data