WebRatio L’altra strada per il BPM Web Models s.r.l. www.webratio.com [email protected] 1/8 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. Web Models s.r.l. www.webratio.com [email protected] 2/8 L’approccio di WebRatio al applicazioni BPM personalizzate BPM: creare 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 standalone che può essere facilmente rilasciata in qualsiasi Application Server Java standard. L’applicazione BPM non ha bisogno di alcun motore di workflow proprietario ed è open source (il codice sorgente dell’applicazione è disponibile e ‚leggibile dall’uomo‛). BPM Suite Ambiente di sviluppo WebRatio Applicazione BPM personalizzata (generata da WebRatio) Modellazione Esecuzione Modellazione Esecuzione Ottimizzazione Monitoraggio Ottimizzazione Monitoraggio Fig. 1: Dove è eseguito il ciclo BPI Il processo di sviluppo di un progetto BPM con WebRatio è molto 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 hai un feedback immediato di quel che hai fatto e comportarti di conseguenza. Questa tipologia di processo di sviluppo ti permette di coinvolgere (se lo vuoi) i tuoi business user o i tuoi stakeholder nella valutazione dello stato di avanzamento. Web Models s.r.l. www.webratio.com [email protected] 3/8 Possiamo evidenziare 4 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’. Immagina di implementare un’applicazione BPMN avente una sezione che viene eseguita direttamente sul tuo sito web (per esempio un processo o una quotazione online che coinvolge i tuoi clienti). La tua applicazione deve essere perfettamente coerente con la tua visual identity e dare all’utente la stessa user experience che ha nel resto del sito. Il tuo cliente deve sentirsi dentro la tua applicazione, non in un’applicazione che ha il gusto del venditore della BPMS! 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à, gateways, eventi e workflow. 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. Web Models s.r.l. www.webratio.com [email protected] 4/8 WebRatio invece vanta un secondo livello di modellazione, chiamato WebML. Tu (o il tuo esperto di business) puoi definire un’attività in BPMN e aggiungere il comportamento funzionale dell’attività usando un secondo linguaggio di modellazione, senza addentrarti 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. WebRatio BPM Suite BPMN model + Configuration files Hand-written code Process execution BPM application BPMN model + WebML model + Custom components + Custom layout templates Fig. 2: Input necessari per implementare l’esecuzione dei processi 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. 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. Web Models s.r.l. www.webratio.com [email protected] 5/8 Fig.3: Approccio lineare Vs. Ciclico Evolutivo 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. Web Models s.r.l. www.webratio.com [email protected] 6/8 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 semplice e user-friendly editor BPMN. 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). 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. Una volta modellata, l’applicazione Web generata conterrà tali funzionalità. Interoperazione 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 comportamenti funzionali per ogni versione. In questo modo l’applicazione Web generata conterrà e supporterà tutte le differenti versioni e gestirà automaticamente il workflow. 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. Web Models s.r.l. www.webratio.com [email protected] 7/8 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. 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. Qualità della soluzione realizzata Al termine dello sviluppo con WebRatio ottieni un’applicazione perfettamente su misura in termini di funzionalità offerte, user experience, visual identity, integrazione con altre applicazioni Web della tua WOA (Web Oriented Architecture) e con tutti i servizi disponibili nella tua SOA (Service Oriented Architecture). Inoltre il codice prodotto automaticamente è di altissima qualità, ed è privo di errori ‚umani‛. Ambiente di esecuzione standard Se la tua azienda ha policy IT severe che regolano l’esecuzione, la manutenzione e la gestione del ciclo di vita delle applicazioni, non 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‛. Web Models s.r.l. www.webratio.com [email protected] 8/8