Processo jbpm per un ordine (1)

Slides:



Advertisements
Presentazioni simili
Funzionalità di ricerca avanzata guidata EBSCOhost
Advertisements

LABIS Antonio Cuomo393/121 Clelio Quattrocchi393/127 Emanuele Zuzolo393/136 Fabio Melillo393/141 Stefano Mastrocinque393/135 Valerio Vincenzo Guarino393/155.
if (condizione.) { blocco_istruzioni } else
Sicurezza e concorrenza nelle basi di dati
Unit à E3 Eventi. Obiettivi Conoscere il concetto di evento e gestore di evento Conoscere i pulsanti in Swing e la gestione dellevento clic Saper gestire.
Unità D2 Database nel web. Obiettivi Comprendere il concetto di interfaccia utente Comprendere la struttura e i livelli che compongono unapplicazione.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità D3 Sicurezza e concorrenza nelle basi di dati.
PHP.
LIP: 4 Aprile 2008 ECCEZIONI. Eccezioni Come si definiscono eccezioni Come si lanciano Come si gestiscono (gestione esplicita o di default)
MultiSet, Liste Ordinate
Liste Ordinate 3 Maggio Ultima Lezione Abbiamo visto i tipi di dato astratti IntList e StringList Realizzano liste di interi e di stringhe Realizzati.
LIP: 1 Marzo 2005 Classe Object e Vettori. Partiamo da Lesercizio dellultima esercitazione realizzato tramite array Vedremo come si puo fare in modo piu.
Università degli Studi di Modena e Reggio Emilia
LABIS | SD Antonio Cuomo393/121 Clelio Quattrocchi393/127 Emanuele Zuzolo393/136 Fabio Melillo393/141 Stefano Mastrocinque393/135 Valerio Vincenzo Guarino393/155.
Argomenti dalla linea dei comandi Gli argomenti possono essere passati a qualsiasi funzione di un programma, compresa la main(), direttamente dalla linea.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Introduzione a JAVA Anno Accademico 2009/2010.
Algoritmi e Strutture Dati IV. Heap e Code di Priorità
Corso di Informatica A.A Corso di Informatica Laurea Triennale - Comunicazione&Dams Dott.ssa Adriana Pietramala Laurea.
Corso di Informatica A.A Corso di Informatica Laurea Triennale - Comunicazione&Dams Dott.ssa Adriana Pietramala Laurea.
Oggetti e dati primitivi
Selezione (=scelta) con “if-else”
Pubblicare il sito di joomla sviluppato in locale Attraverso un software di FTP (WS FTP, Filezilla, ecc ) trasferire la cartella di joomla nel sito di.
1 Titolo Presentazione / Data / Confidenziale / Elaborazione di... ASP. Net Web Part e controlli di login Elaborazione di Franco Grivet Chin.
GESTIONE DEGLI ERRORI Spesso vi sono istruzioni critiche, che in certi casi possono produrre errori. Lapproccio classico consiste nellinse- rire controlli.
Corso di PHP.
Portale Capacità STOGIT
Elementi di programmazione ad oggetti a. a. 2009/2010 Corso di Laurea Magistrale in Ingegneria Elettronica Docente: Mauro Mazzieri, Dipartimento di Ingegneria.
Sistema di Approvvigionamento Elettronico. 2 Descrizione Area pubblica ed area privata Profilazione Richiesta di Acquisto Gara telematica Agenda.
Java Contardi Carlo A.S. 2008/09.
CASO DI SUCCESSO SM : SUPPLIERS MANAGEMENT : Facilita linterfaccia tra fornitore e azienda Due applicazioni in ambiente grafico utilizzando data base e.
Inserite il Vostro Nome Utente e la Vostra Password … e fate un click per continuare.
Programma di fedeltà ADR con consegna automatica
La banca dati Arianna – I nuovi strumenti Torino, 10 marzo 2003 Un nuovo Editor di testo per la redazione dei testi di legge Laura Zambotto.
La ricerca di un prodotto nella nuova piattaforma e-Proc Aprile 2011.
Miglioramento della ricerca trasmissioni Ricerca.
1 Lucidi delle esercitazioni di Sistemi di Elaborazione in Rete Università degli Studi della Calabria Corso di Laurea in Ingegneria Gestionale A.A. 2003/2004.
Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012.
Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012.
Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012.
Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012 V. Costamagna, F. Dotta, F. Barbano, L. Violanti, Oltikuka.
Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012.
LOrdine Diretto in Convenzione Aprile Per procedere con la predisposizione di un Ordine Diretto di Acqusito in Convenzione è necessario inserire.
LABIS | SD Antonio Cuomo393/121 Clelio Quattrocchi393/127 Emanuele Zuzolo393/136 Fabio Melillo393/141 Stefano Mastrocinque393/135 Valerio Vincenzo Guarino393/155.
Gli Amici del G.A.S. LABIS | SD
Le eccezioni F. Bombi 01/11/ Errori e situazioni impreviste situazioni eccezionali In un programma situazioni eccezionali possono.
IV D Mercurio DB Lezione 1
1 Un esempio con iteratore: le liste ordinate di interi.
Riferimento rapido per Lync 2013 per Office 365 © 2012 Microsoft Corporation. Tutti i diritti sono riservati. Grazie a Lync è possibile iniziare a collaborare.
Heap concetti ed applicazioni. maggio 2002ASD - Heap2 heap heap = catasta condizione di heap 1.albero binario perfettamente bilanciato 2.tutte le foglie.
Eprogram informatica V anno. ASP.NET Introduzione ASP.NET (Active Server Page) è il linguaggio che, sfruttando la tecnologia.NET, permette di: -scrivere.
Ajax.ptt 1 Asynchronous JavaScript and XML cross-browser XMLHttpRequest()standard w3c firefox,opera,gchrome ActiveXObject("Microsoft.XMLHTTP") ActiveXObject("Msxml2.XMLHTTP")
Capitolo 6 Iterazione Lucidi relativi al volume: Java – Guida alla programmazione James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies.
Eccezioni Metodi parziali Eccezioni: Usi e Metodi parziali Eccezioni: rimuovere i requires Eccezioni: rimuovere i requires Eccezioni: definizione, sollevamento,
Capitolo 12 Thread Lucidi relativi al volume: Java – Guida alla programmazione James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies.
Sistemi di elaborazione dell’informazione Modulo 3 -Protocolli applicativi Unità didattica 4 -Protocolli del Web Ernesto Damiani Lezione 1 – World Wide.
LIP: 22 Marzo 2005 Eccezioni. Eccezioni-Richiami Come si definiscono eccezioni Come si lanciano Come si gestiscono (gestione esplicita o di default)
1 Le s-espressioni. 2  Sexpr 4 alberi binari (possibilmente “vuoti”) che hanno sulle foglie atomi (stringhe) 4 sono la struttura dati base del linguaggio.
Esercitazione. Problema Vogliamo definire in modo gerachico un tipo di dato che definisce Tabelle multi-dimensionali con un numero di righe variabili.
1 Un esempio con iteratore: le liste ordinate di interi.
LIP: 4 Maggio 2007 Interfacce. Cos’e’ una Interfaccia una interfaccia e’ un particolare tipo di classe contiene solo la specifica non ha implementazione.
Hattrick Stadium Corso di Reti di Calcolatori LS Anno Accademico 2005/2006 Dolif Emilano matr
Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012 V. Costamagna, F. Dotta, F. Barbano, L. Violanti, Oltikuka.
LABIS | SD Antonio Cuomo393/121 Clelio Quattrocchi393/127 Emanuele Zuzolo393/136 Fabio Melillo393/141 Stefano Mastrocinque393/135 Valerio Vincenzo Guarino393/155.
1 Metodo I metodi sono uno strumento che i programmatori usano per strutturare i programmi, sia per renderli più facili da capire che per permettere il.
Microsoft Access è uno strumento di gestione di database. E 'un grande vantaggio per le piccole, medie imprese e anche per le imprese individuali per.
Condizioni decisionali e costrutto if. 2 Operatori relazionali e logici = Maggiore, maggiore uguale ==, != Uguale a, diverso.
Gestire i dati: download e salvataggio. L’importanza dei dati La quasi totalità delle applicazioni hala necessità di gestire varie funzionalità relative.
SQLite. Introduzione a SQLite Oltre alla possibilità di memorizzare informazioni persistenti attraverso Preferences e files, Android mette a disposizione.
Android Intent, AlertDialog, SharedPreferences. Intents.
Transcript della presentazione:

Processo jbpm per un ordine (1)

Processo jbpm per un ordine (2)

Processo jbpm per un ordine (3) Pagina JSF Visualizzazione del catalogo del contadino attraverso l’invocazione del wsdl relativo al contadino selezionato. Memorizzazione temporanea dei prodotti scelti attraverso un componente Seam. Avvio processo Ordine. Prima del processo vengono fatti i seguenti controlli: Fondo economico utente sufficiente per l’acquisto; Data di consegna massima desiderata quantomeno futura alla data attuale di acquisto.

Processo jbpm per un ordine (4) L’ordine effettuato viene memorizzato della memoria del processo appena avviato. Viene fatto un controllo per constatare se il contadino fa da driver oppure i due ruoli differiscono. Un ordine può essere preso dal contadino solo se tutti i prodotti scelti sono del contadino stesso. Una volta che il driver/contadino prende in consegna un ordine, viene fatto un controllo sul database del contadino/i per l’effettiva disponibilità dei prodotti, rendere effettivo l’ordine e ordinare la merce, in caso contrario viene fatto un rollback della merce temporaneamente bloccata durante la transizione. L’utente viene avvisato dell’accaduto tramite una notifica.

Processo jbpm per un ordine (5) Finché l’ordine non è evaso da un driver/contadino, l’utente può in qualsiasi momento eliminarlo. Se la data massima di richiesta consegna scade, il processo termina con una notifica all’utente. Se l’ordine va a buon fine, il processo attende la data di consegna della merce, dopodiché vengono generati i task relativi ai feedback da assegnare tra i vari ruoli. Anche questi task hanno una data massima di scadenza, dopo la quale il processo termina attribuendo feedback di default e salvando le ultime informazioni sull’ordine.

Gestione feedback per un ordine 1) Feedback nel caso di driver diverso dal contadino: 2) Feedback dove il contadino è anche il driver: Feedback Feedback Driver Contadino Customer Feedback qualità Feedback Contadino Customer Feedback qualità

Particolari implementativi Particolare del file processdefinition.xml <event type="timer-create"> <action name="timerDataMassimaScaduta" class="org.domain.SeamAmiciDelGas.processes.ChangeDueDateTimerOrdine"> <timerName>dataMassimaTimer</timerName> <nomeData>dataMassimaShoppingCart</nomeData> </action> </event> Ecco come vengono passati i valori alla classe corrispondente: public class ChangeDueDateTimerOrdine implements ActionHandler { String timerName; String nomeData; public void execute(ExecutionContext executionContext) throws Exception { try { Timer timer = executionContext.getTimer(); if (timer != null && timerName.equals(timer.getName())) { Date dataMassima = (Date) executionContext.getVariable(nomeData); timer.setDueDate(dataMassima); } else { log.debug("Doesn't match: " + timer); } } catch (Exception ex) { ex.printStackTrace(); } } I timer non “comprendono” la sintassi EL di Seam…

Particolari implementativi Altro particolare del file processdefinition.xml : <task-node name="Fb from responsabile cosegna to customer"> <task name="fbResponsabileConsegnaToCustomer"> <assignment name="AssegnamentoTaskResponsabileConsegnaToCustomer" class="org.domain.SeamAmiciDelGas.processes.DestinatarioHandlerOrdineDataMassimaScaduta"> <nameTask>fbResponsabileConsegnaToCustomer</nameTask> <nomeDestinatario>responsabileConsegna</nomeDestinatario> </assignment> </task> <timer duedate="60 seconds" name="timer_fb_responsabile_consegna_to_customer" transition="fb_responsabile_to_customer"> <action name="perstistAllInfo" class="org.domain.SeamAmiciDelGas.processes.PersistHandler"> <taskNameOrdine>fbResponsabileConsegnaToCustomer</taskNameOrdine> <usernameFrom>responsabileConsegna</usernameFrom> <usernameTo>customer</usernameTo> <idCase>3</idCase> </action> </timer> <transition to="join2" name="fb_responsabile_to_customer"></transition> </task-node>