21.11.07

RBA (Rules Based Automation) - concetti base



In un post precedente, accennavo alla versatilità implementata nel flusso di lavoro Prinergy 4. Questa capacità e' data dall'uso delle RBA (Rules Based Automation).


Le RBA sono degli automatismi programmabili, guidati dal concetto di Evento/Controllo/Azione, ossia:

EVENTO - e' una qualsiasi cosa che può accadere od essere percepita dal flusso di lavoro. Ad es. avete processato delle pagine? bene, questo e' un EVENTO; Avete approvato una segnatura? anche questo e' un evento... etc.

CONTROLLO - e' solitamente una comando che serve per assicurarsi che il corretto EVENTO scateni l'AZIONE correlata, oppure per effettuare un controllo temporale fra EVENTO ed AZIONE.

AZIONE - e' qualsiasi processo attuabile dal flusso di lavoro, dall'uscita su un dispositivo, alla gestione delle segnature, all'archiviazione.. per arrivare fino all'invio di e-mail.

La creazione delle RBA avviene tramite un comodo editor grafico implementato nel flusso di lavoro, questo rappresenta EVENTI, CONTROLLI ed AZIONI con delle icone, collegate fra loro da un flusso dati configurabile. E' compito del creatore delle regole, la decisione di come far interagire fra loro queste icone.
Una volta create, le RBA lavorano costantemente in background, in base alla loro configurazione, a livello di singolo job oppure a livello globale di sistema.

Due esempi chiarificatori, li trovate nella figura di testa.

1o esempio: molto semplice, è composto solo da due icone. EVENTO - Avete approvato delle pagine? (ossia chi di dovere ne ha preso visione e quindi ne conferma la correttezza?) AZIONE - fai una stampa di queste pagine sulla stampante di bozza.

2o esempio: già più articolato. EVENTO - Il lavoro e' stato completato? (ossia tutte le lastre sono state stampate senza errori) CONTROLLO - attendi XX giorni (nel caso in cui si debba fare un rifacimento). AZIONE - Archivia il lavoro su cassetta ed; in caso di successo libera lo spazio su disco, in caso di errore inviami una e-mail per avvisarmi dell'accaduto.

E' facile intuire come queste RBA siano facilmente programmabili e straordinariamente versatili; considerando anche il fatto che qualsiasi AZIONE può scatenare un nuovo EVENTO, permettendo cosi' delle regole di controllo altamente sofisticate.

E non finisce qui. Le regole programmate usando la sola interfaccia grafica, in alcune implementazioni critiche, possono risultare limitative, in questo caso la programmazione delle RBA, può avvenire a livello di codice VisualBasic, dando un controllo totale sulla loro programmabilità.

Buona programmazione.

Nessun commento: