BenchFlow - A Benchmark for Workflow Management Systems
Persone
(Responsabile)
Ferme V.
(Collaboratore)
Abstract
Il progetto BenchFlow si occupa di definire uno dei primi benchmark per studiare le prestazioni di sistemi di esecuzione di processi e flussi di lavoro aziendali (BPM). Questi sistemi si trovano alla base di ogni moderna architettura orientata ai servizi (SOA) ed e' quindi fondamentale poterne analizzare e confrontare le prestazioni.
Considerando il grande numero e la grande variabilita' dei linguaggi che sono stati proposti per modellare processi aziendali, il progetto si concentra su sistemi di composizione di servizi Web che usano lo standard chiamato WS-BPEL (Business Process Execution Language). Questi sistemi sono caratterizzati da una enorme complessita' architetturale e da un grande numero di parametri di configurazione che potenzialmente influiscono sulle loro prestazioni. Definire un benchmark per questa classe di sistemi richiede dunque di sviluppare nuove tecniche per misurare le loro prestazioni e per metterli sotto pressione. Ci aspettiamo che il risultato del progetto permetta di ottenere un riferimento che possa servire a provocare un significativo passo in avanti per lo sviluppo di sistemi sempre piu' efficienti, affidabili e scalabili. La performance di queste applicazioni dipende principalmente dalla performance del middleware (che si occupa di eseguire i processi e di scambiare messaggi con i servizi che partecipano al compimento dei processi) e dalla performance dei servizi stessi (che sono normalmente fuori dal controllo del sistema di workflow). Per gestire questo aspetto abbiamo in programma un approccio ricorsivo al design del benchmark per sostituire i servizi esterni con altrettanti processi in modo da ridurre il loro impatto sulle prestazioni. Inoltre costruiremo dei processi rappresentativi e realistici basandoci su casi di studio presi dall'industria. Ci proponiamo infine di studiare quali metriche siano le piu' utili per misurare, osservare e confrontare le prestazioni in modo da poter ricondurre il risultato del benchmark ad un solo valore che riassuma in modo equo le varie caratteristiche in cui e' possibile decomporre le prestazioni di sistemi complessi come quelli per eseguire i workflow. Questo permettera sia un confronto obiettivo fra sistemi diversi che si trovano in competizione sul mercato che un confronto di configurazioni diverse dello stesso sistema.