Skip to the content.

🏠 Home

⬅️ Back


ACMEat Agency (Italian only)

L’agenzia è stata implementata tramite BPMN eseguibile sul process engine messo a disposizione da camunda platform oltre che ad uno strato backend (acmeat-ws) e uno frontend dedicato a ristoranti e clienti.

L’intera agezia è un progetto Maven che comprende i sottoprogetti esposti di seguito.

BPMS (sources)

Per il BPMS è stato utilizzato Camunda che grazie al process engine è in grado di eseguire BPM scritti in BPMN 2.0. All’interno del progetto sono presenti i package contenenti le classi JavaDelegate con le implementaizoni delle logiche dei relativi task:

WebServices (sources)

Il progetto acmeat-ws tramite CDI accede al process engine ed espone la seguente interfaccia al frontend:

Frontend (sources)

Il progetto frontend definisce le interfaccie web per utenti e ristoratori. Questo chiama le API esposte da acmeat-ws

Frontoffice

In questa sezione sono presenti due controller in java, ClientHome e ClientAfterPayment, responsabili di gestire le viste dedicate all’utente finale. La prima vista, client.jsp, è una single-page che gestisce le seguenti richieste dell’utente: ottenere i ristoranti presenti in una città specifica e mandare un ordine. La seconda vista, client-confirm.jsp, contiene l’esito del pagamento del cliente e gli permette di cancellare l’ordine.

Backoffice

In questa sezione sono presenti tre controller in java: Home, ChangeMenu e ChangeAvailability. Il primo è responsabile di gestire la vista dedicata al ristorante: restaurant.jsp, mentre gli altri due si occupano di fare le chiamate alle API di acmeat-ws. La vista permette al ristorante di comunicare le modifiche e, in caso di accesso fuori orario informa dell’impossibilità dell’operazione.

Common (sources)

Il progetto common contiene tutte le classi comuni ai tre progetti, in particolare i modelli, il repository e le costanti utilizzate nei messaggi e nelle variabili dal process engine.