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
Scarica

WebRatio - L`altra strada per il BPM