Cos’è il BPM? Il BPM (Business Process Management) non è solo una tecnologia, ma più a grandi linee una disciplina di gestione aziendale che si occupa dei processi che contribuiscono direttamente alle performance dell’azienda. Il BPM usa metodi, policy, metriche, pratiche di gestione e software con lo scopo di ottimizzare continuamente i processi organizzativi e migliorare le performance del business verso il raggiungimento dei propri obiettivi (questo è chiamato BPI: Business Process Improvement). Software che supportano il BPM Sono diversi i software che supportano la disciplina del BPM all’interno di un’azienda. I più comuni sono le cosiddette BPMS (Business Process Management Suites). Una BPMS è una suite integrata di tecnologie che contribuiscono per supportare tutto il ciclo di BPI. Generalmente, una BPMS è una piattaforma completa che offre le seguenti funzionalità: Modellazione dei processi di business – i processi di business sono descritti esplicitamente attraverso modelli astratti, spesso basati sulla notazione BPMN (business process modelling notation) o una notazione proprietaria; Esecuzione/automazione dei processi di business – i processi di business sono interpretati da un motore di runtime che implementa e coordina ogni tipo d’interazione tra utenti, task di sistema e risorse informative; Gestione di dati e informazioni all’interno del processo – tutti i dati e le informazioni correlate a un’istanza del processo (o ‘token’) sono mantenute allineate e coerenti; Interoperazione con asset di software esterni – i processi di business possono utilizzare e interagire con task, dati e servizi disponibili in qualsiasi sistema esterno; il motore di esecuzione comunica con i sistemi esterni mediante un layer d’integrazione, spesso basato su Web Service in architettura SOA; Gestione dei cambiamenti – i processi di business possono essere costantemente aggiornati, sia nella definizione sia nel modo in cui il motore li esegue; Monitoraggio delle attività di business – i dati riguardo alle transazioni complete e in corso sono usati per monitorare, analizzare, notificare e creare report riguardo attività ed eventi del processo. WebRatio s.r.l. ©2012 www.webratio.com - [email protected] 2 / 11 L’approccio di WebRatio al BPM Crea un’applicazione BPM perfettamente su misura L’approccio di WebRatio al BPM è differente. Invece di offrire una piattaforma completa contenente tutte le funzionalità tipiche di una BPMS, WebRatio distingue chiaramente tra le funzionalità di progettazione e quelle di esecuzione. In fase di progettazione, grazie al potente ambiente di modellazione e sviluppo offerto da WebRatio puoi definire i requisiti dei tuoi progetti BPM catturandoli in modelli astratti e componenti custom. In fase di esecuzione, partendo dal modello, puoi generare un’applicazione BPM personalizzata stand-alone che può essere facilmente rilasciata in qualsiasi Application Server Java standard. L’applicazione BPM non ha bisogno di alcun motore di work flow proprietario ed è open source (il codice sorgente dell’applicazione è disponibile e ‚leggibile dall’uomo‛). BPMS Tradizionali WebRatio BPM Integrated Suite Development Environment Tailored BPM Application Generation Modeling Execution Modeling Execution Optimization Monitoring Optimization Monitoring Fig. 1: Dove è eseguito il Ciclo BPM WebRatio s.r.l. ©2012 www.webratio.com - [email protected] 3 / 11 Cosa significa ‘Su misura’? User Interface Personalizzata Avere un’applicazione BPM su misura significa innanzitutto avere una User Interface personalizzata. Puoi progettare e realizzare la User Interface come desideri e senza limitazioni. I tuoi processi non saranno eseguiti su una piattaforma predefinita, ma in un’applicazione creata da zero. WebRatio usa qualsiasi layout come input per generare pagine Web e Mobile per gli utenti della tua applicazione BPM. Applicazioni Ibride Nella maggior parte dei casi, un progetto BPM non è un’applicazione stand-alone. E’ necessaria un’integrazione non solo a livello di dati e servizi, ma anche a livello di front-end. WebRatio ti permette di creare applicazioni integrabili senza sforzi con: il tuo portale Web il tuo sistema di CRM il tuo social network aziendale la tua intranet qualsiasi altro sistema Gli utenti finali della tua applicazione BPM non si accorgeranno di essersi spostati in un’applicazione BPM ma avranno la sensazione di essere rimasti ‘a casa tua’. WebRatio s.r.l. ©2012 www.webratio.com - [email protected] 4 / 11 WebRatio in confronto alle BPMS tradizionali Possiamo evidenziare 5 differenze fondamentali tra WebRatio e le BPMS tradizionali: 1. Crei una soluzione veramente su misura, invece di personalizzare una piattaforma predefinita Le BPMS tradizionali permettono di modellare i processi di business e di aggiungere al modello le informazioni utili al motore di runtime per eseguire l’applicazione. Tali informazioni possono essere: dati che devono essere letti o gestiti, moduli e operazioni che devono essere mostrate all’utente, servizi da richiamare, ecc. Una volta che i modelli e le informazioni addizionali sono definiti, allora il processo può eseguire l’operazione. Comunque, la maggior parte delle funzionalità di queste applicazioni, specialmente quelle concernenti il layout e la user experience, sono predefinite. Ti rimane solo la possibilità di cambiare il tema (spesso mediante un file CSS) o scegliere attraverso un set predefinito di opzioni di visualizzazione. In ogni caso l’utente dell’applicazione avrà sempre la sensazione di usare una piattaforma esterna. D’altro canto, con WebRatio costruisci da zero un’applicazione BPM perfettamente su misura. Qualsiasi funzionalità, a qualsiasi livello (presentazione, integrazione o dati) può essere generata esattamente come vuoi tu. L’utente finale dell’applicazione BPMN non si accorgerà di usare una piattaforma BPM, ma avrà la sensazione di usare ‘la propria applicazione’. 2. Due livelli di modellazione anziché uno Nelle BPMS tradizionali si usa una notazione per modelli astratti per definire processi di business (in molti casi la notazione è la BPMN). La notazione ti permette di definire ruoli, attività, gateway, eventi e work flow. L’approccio è chiamato ‘model-driven’ ed è molto potente perché disaccoppia le risorse fisiche usate al momento dell’esecuzione con il disegno del processo. In questo modo puoi velocemente applicare un cambiamento al modello, o aggiungerne una parte, e immediatamente avere l’applicazione BPM con il nuovo comportamento. Purtroppo il modello BPMN è molto astratto e non fornisce la possibilità di definire nel dettaglio quali operazioni devono essere eseguite durante un’attività. Facciamo un esempio. Se devi definire un’attività come ‘Richiesta di quotazione da modulo’ in un diagramma BPMN dovresti avere anche un luogo, dove definire: quali sono i campi della form da mostrare; in quante pagine i campi sono distribuiti e come l’utente può navigare attraverso queste pagine; quali sono le regole usate per validare i dati inseriti; quali sono i web service (supponendo di essere in un ambiente SOA) da usare per collezionare i dati precaricati o per fare calcoli in tempo reale. La notazione BPMN non permette di modellare questi dettagli. Usando BPMS tradizionali è possibile definire questi comportamenti solo aggiungendo alcune proprietà all’attività e scrivendo nuovi pezzi di codice da eseguire. Generalmente questo lavoro non può essere fatto dagli analisti di business, ma serve un programmatore, che tipicamente non è una figura esperta in processi di business. WebRatio s.r.l. ©2012 www.webratio.com - [email protected] 5 / 11 WebRatio invece vanta un secondo livello di modellazione, chiamato WebML che è complementare al BPMN. L’esperto di business può definire un’attività in BPMN e aggiungere il comportamento funzionale dell’attività usando un secondo linguaggio di modellazione, senza addentrarsi nei dettagli della programmazione di codice. Il linguaggio di modellazione è dedicato a specificare il comportamento dell’applicazione: il contenuto da visualizzare, le regole di validazione da invocare, i servizi da eseguire, la navigazione tra le pagine, le interazioni dell’utente, ecc. Fig. 2: Confronto tra Esecuzione di un processo e Applicazione BPM su misura L’approccio Model-Driven, con tutti i suoi benefici, è esteso anche ai requisiti funzionali dell’applicazione, e non solo alla definizione del processo di business. WebRatio s.r.l. ©2012 www.webratio.com - [email protected] 6 / 11 3. Rapida prototipazione evolutiva, invece di uno sviluppo a cascata Usando molte BPMS, una volta definiti i processi di business, c’è ancora molto lavoro da fare per ottenere un’applicazione funzionante. Devi aggiungere un comportamento a ogni elemento del diagramma del processo: devi definire i componenti dell’interfaccia utente (le form per raccogliere dati, le pagine per visualizzare dati, ecc.), i componenti d’integrazione (chiamate ai servizi disponibili nei tuoi sistemi informativi, connessione ai database aziendali, ecc.), le policy di diritti d’accesso e così via. Con WebRatio invece puoi mettere le mani su un prototipo realistico in qualsiasi momento e quante volte vuoi. In ogni fase del processo di sviluppo puoi generare senza costi aggiuntivi un’applicazione funzionante che rispecchia lo stato corrente del modello. Più ricco è il modello, più ricca sarà l’applicazione generata. In questo modo, partendo da un primo prototipo basato da un wireframe, l’applicazione può evolvere naturalmente in un’applicazione completa e funzionale, pronta per essere rilasciata online. Fig 3: Confronto tra Sviluppo a cascata e approccio a Prototipazione evolutiva Il processo di sviluppo di un progetto BPKM con WebRatio è altamente iterativo. Lo chiamiamo ‘ciclo di sviluppo a prototipazione evolutiva’. In qualsiasi fase del tuo progetto, anche dopo pochi minuti, puoi generare l’Applicazione BPM e testarla immediatamente. In questo modo, puoi avere un feedback immediato di quello che hai fatto e reagire di conseguenza. Questo particolare processo di sviluppo ti permettere di coinvolgere (se lo desideri) i tuoi utenti di business ed i tuoi clienti nella valutazione del lavoro in corso. WebRatio s.r.l. ©2012 www.webratio.com - [email protected] 7 / 11 4. Esegui l’applicazione in un ambiente Java standard, anziché avere un motore di runtime proprietario Ogni BPMS ha il proprio motore di runtime, necessario per eseguire i processi di business. Spesso il motore di runtime ha bisogno di una particolare configurazione hardware/software. Ciò può causare qualche difficoltà. In particolare devi: configurare il motore di runtime ottimizzare le prestazioni permettere al motore di runtime di comunicare con gli altri sistemi adattare il motore di runtime alle policy IT interne standard per la sicurezza, configurazione di sviluppo, gestione del ciclo di vita dell’applicazione WebRatio invece non ha alcun motore di runtime proprietario. L’applicazione BPM generata da WebRatio può essere rilasciata in qualsiasi Application Server Java standard (come JBoss, Tomcat, WebSphere, Oracle AS, ecc.). Qualsiasi compito di configurazione, integrazione o performance può essere affrontato con un approccio standard, conforme alle regole JEE. 5. User Interface e motore BPM separati, invece di avere una piattaforma monolitica Il motore BPM di un’applicazione BPM generate da WebRatio è intercambiabile. Di default, WebRatio fornisce un motore di processi leggero ed economico che gestisce il work flow ed immagazzina i dati in un database. Se sei interessato a WebRatio solo per creare l’applicazione di front-end del tuo progetto BPM, comunque, puoi sempre utilizzare un altro motore BPM per tracciare i processi e salvare i dati. Ad esempio puoi scegliere di utilizzare TIBCO® Active Matrix. In questo caso WebRatio: Importerà e sincronizzerà le definizioni dei processi di business da TIBCO Business Studio® Generare un’applicazione di front-end su misura che lavora sul motore BPM TIBCO ActiveMatrix® L’applicazione Web (o Mobile) gestirà tutte le funzionalità della user interface e sarà strettamente connessa al motore BPM per controllare il flusso. WebRatio s.r.l. ©2012 www.webratio.com - [email protected] 8 / 11 Le funzionalità di BPM offerte da WebRatio WebRatio non è una BPMS in senso stretto, ma offre comunque le 6 tipiche funzionalità di una BPMS: Modellazione del processo di business WebRatio offre un editor di processi e diagrammi potente, intuitivo e facile da usare, basato sulla BPMN standard. Esecuzione e automazione del processo di business WebRatio genera applicazioni Web che eseguono e automatizzano i processi di business (le applicazioni generate sono poi eseguite all’esterno di WebRatio, su un Application Server Java standard). Puoi anche scegliere di usare WebRatio solo per creare il front-end del tuo progetto BPM e usare un altro motore BPM (come TIBCO ActiveMatrix®) per gestire il work flow e salvare i dati BPM. Gestione di dati e informazioni all’interno del processo Mediante un secondo linguaggio di modellazione (WebML) WebRatio ti permette di aggiungere al diagramma BPMN qualsiasi comportamento funzionale utile a gestire dati ed informazioni interni al processo. Inoltre WebRatio ti permette di definire, gestire ed integrare le tue sorgenti di dati nell’applicazione BPM. Puoi progettare il modello astratto con l’aiuto di diagrammi ER e poi linkarli a qualsiasi RDBMS. Integrazione con software esterni Come per dati e informazioni, il secondo linguaggio di modellazione (WebML) ti permette di definire anche comportamenti funzionali che richiedono integrazione con altri software (disponibili come Web Service, API custom, o mediante un protocollo internet). Gestione dei cambiamenti L’ambiente di modellazione di WebRatio ti permette di definire diverse versioni del processo e differenti WebRatio s.r.l. ©2012 www.webratio.com - [email protected] 9 / 11 comportamenti funzionali per ogni versione. In questo modo l’applicazione Web generata conterrà e supporterà tutte le differenti versioni e gestirà automaticamente il work flow. Monitoraggio delle attività di business WebRatio fornisce un progetto predefinito che permette ti generare un’applicazione Web dedicata al monitoraggio delle attività di business (BAM – Business Activity Monitoring). Come ogni applicazione può essere estesa e personalizzata a piacimento, semplicemente modificando il modello e generando la nuova applicazione. I Benefici di questo approccio Queste differenze tra WebRatio e le BPMS tradizionali portano molti benefici, tra cui: Rapidità nella costruzione della soluzione Grazie ai due livelli di modellazione e alle regole di generazione automatica, puoi ottenere la soluzione desiderata in tempi molto più rapidi. E’ sufficiente impegnare il tuo tempo e le risorse migliori della tua azienda nella definizione dei modelli, a tutto il resto pensa WebRatio, in un istante. Un’applicazione BPM veramente su misura WebRatio crea applicazioni perfettamente su misura in termini di UI, user experience, visual identity e si integra con le altre applicazioni Web della tua architettura SOA. Soddisfazione del cliente finale Usando estensivamente la prototipazione puoi coinvolgere (se lo desideri) i tuoi clienti finali nel processo di sviluppo; puoi mostrare loro fin da subito e con la frequenza che vuoi lo stato di avanzamento del lavoro e raccogliere immediatamente i loro feedback. Così facendo i clienti finali non saranno mai insoddisfatti. Compatibilità con le Policy Se la tua azienda ha policy IT severe che regolano l’esecuzione, la manutenzione e la gestione del ciclo di vita delle applicazioni, non del tuo IT preoccuparti. L’applicazione che ottieni è perfettamente conforme allo standard JEE, il codice sorgente dell’applicazione è aperto e puoi scegliere il tuo ambiente di esecuzione tra qualsiasi Application Server Java. Nessuna sindrome di ‘vendor lock-in’. WebRatio s.r.l. ©2012 www.webratio.com - [email protected] 10 / 11 Testimonianza – Bruce Silver “Con la maggior parte dei Tool BPM ad un certo punto sei costretto ad abbandonare l'attività di definizione dei processi perchè devi occuparti di tutto quello che 'sta dietro' all'applicazione; questa è la parte in cui WebRatio è veramente grandioso, perchè si occupa lui di queste attività! E' la parte che mi piace di più e che lo rende molto più semplice rispetto agli altri tool che ho utilizzato in passato" Bruce Silver Silver associated WebRatio s.r.l. ©2012 www.webratio.com - [email protected] 11 / 11