🏠Home
⬅️ Back
Agenzia ACME
L’agenzia è stata implementata tramite un file BPMN eseguibile e due web service usati come interfaccia per i client.
Model (sources)
Le classi condivise utilizzate come modello per i dati sono state aggregate in un file .jar ed incluse come dipendenze Maven di entrambi i progetti.
Web services (sources)
I web services sono stati realizzati utilizzando JAX-WS ed espongono le interfacce utilizzate dai client di acquirente e venditore per scambiare informazioni con il BPMS. Di seguito sono descritti gli enpoint per ciascuno:
Acquirente (sources)
-
requestHousesavvia una istanza di processo per l’acquirente e restituisce una lista di case disponibili in linea con i criteri di ricerca -
houseProposalReplypermette di accettare una casa, richiederne altre o terminare la ricerca -
getSellerMeetingDateListrestituisce l’elenco delle date in cui il venditore è disponibile per mostrare la casa -
replyToMeetingProposalpermette di accettare o rifiutare le date di incontro proposte dal venditore -
makeOfferpermette di avanzare un’offerta di acquisto per una casa -
getChosenHouserestituisce i dati della casa scelta dall’acquirente
Venditore (sources)
-
proposeHousepermette di mettere in vendita una casa ed avvia un’istanza di processo per il venditore -
sendAvailabilitypermette di comunicare ad ACME in quali date il venditore è disponibile per mostrare la casa -
getBuyerMeetingDateListrestituisce l’elenco delle date di incontro proposte dall’acquirente -
confirmMeetingpermette di confermare o rifiutare le date di incontro proposte dall’acquirente -
getOfferpermette di visionare un’offerta di acquisto -
offerReplypermette di accettare o rifiutare un’offerta di acquisto
BPMS (sources)
Il BPMS è semplicemente un progetto Maven che implementa i task specificati dal BPM ed è organizzato come segue:
- Services, contiene le classi Java che implementano la logica dei diversi task
- Utils, contiene le interfacce per i servizi REST ed i database delle case e dei notai
- Forms, contiene i form utilizzati per gli user task in camunda
Per semplicitĂ i database sono stati implementati come classi java statiche.