mardi 16 juin 2009

Un peu de monitoring Métier (BAM) avec JBPM et SeeWhy (event-driven business intelligence )

Objectif

Le Business Process Management (BPM) a pour but de maîtriser l'orchestration des processus métier de l'entrerpise.

Une de ses conséquences, d'une orientation BPM d'un SI, est la capacité de mettre en place un mécanisme de suivi de l'activité en temps réel. Le concept se dit de BAM (Business Activity Monitoring ou BI opérationnelle, par abus de langage). Cest la capacité à analyser des informations directement sur des données opérationnelles (des transactions, des messages …) en temps réel, dans interférences avec la base de données de stockage.

Dans la suite nous allons monter comment, mettre en place un système BAM simple en se basant sur JBPM (open source) et SeeWhy (version free).

JBPM

nous allons partir d'un exemple de processus déjà rencontré sur ce blog : voir Comment modéliser un processus métier avec JBPM : exemple “gestion des entretiens”)

Voir aussi, les liens suivants

Quelle est la différence entre JBPM et Intalio ?

Graph Oriented Programming (GOP) avec JBPM

L’outil SeeWhy

SeeWhy http://www.seewhy.com est une start-up (fondée en 2002) qui se décrit comme fournisseur de renseignements commerciaux pour un BI opérationnelle.

image001

En 2008, SeeWhy a travaillé avec JBoss pour construire une intégration étroite avec JBPM, en particulier il a fournit une visualisation en temps réel et une détection des exceptions lors de l'exécution de processus jBPM.

Le point intéressant avec seeWhy, est sa capacité d’intégration sans couplage fort avec le SI : il suffit d'envoyer des données dans une file d’attente.

SeeWhy se charge alors de transformer les données en information, par leurs mises dans un contexte métier.

En adoptant JSM, cela devient un jeu d’enfant.

Aucune interaction, de SyeeWhy, n’est nécessaire avec le processus.

L’objectif est d’obtenir des processus "auto-piloté" grâce à la gestion intelligente des événements.

En bref, les processus deviennent plus intelligibles et des mécanismes d'optimisation pourront être mis en place afin d'accroitre la capacité de réaction et même d'anticpation.

image002

Préparation du modèle de processus à l’utilisation de SeeWhy

Partons d'un processus déjà mise en ouvre (voir Comment modéliser un processus métier avec JBPM : exemple “gestion des entretiens”)

image003

Le lien entre le processus métier et le serveur SeeWhy sera réalisé en ajoutant un Nœud spécifique. D’autres solutions peuvent être utilisées (Action, onEntry, onExit …).

(L’usage du Nœud dans notre cas est simplement pédagogique pour matérialiser l’action sur diagramme de processus, réalisé avec l’IDE JBPM).

Le nœud de type « Node » (il s’exécute sans s’arrêter) qui porte le nom « Call SeeWhy » permet de savoir qu’on est sortie de l’état « Selection du candidat » vers le task « Candidat contacte ? ».

L’action exécutée sera basée sur une classe Java nommée com.seewhy.jbpm.MessageSender, par exemple .

Cette classe utilise l’API JMS pour envoyer des informations sur le processus vers une file d’attente exploitée par SeeWhy.c'est le seul lien entre SeeWhy et le processus.

Il suffit de sélectionner les champs à envoyer vers le serveur SeeWhy :

image004

Pour activer l’environnement, Il suffit ensuite de redéployer comme d’habitude le processus..

Interprétation des informations en utilisant SeeWhy

Dans la console du serveur SeeWhy, http:/localhot:8080/Desktop

Sélectionner Metric Configuration – Remplir les champs necessaire:

image005

–COUNT (), Aggregation.

On obtient un résultat comme suit:

image006

Choisir la valeur du champ Aggregation Period ( 1 mn)


image007

On obtient une courbe dans le navigateur SeeWhy qui ( une le processus jBPM déployé et après quelques exécutions du processus) qui ressemble à:

image008

Ce graphe nous renseigne sur l’évolution d’une activité du processus en fonction du temps. Par un simple clic-droit, en choisissant « zoom-in », « horizontal-axe » on peut suivre cette évolution du processus au cours des différentes instances :

Conclusion :

Cette présentation montre les notions de base de la mise en ouvre système de BAM à l’aide du moteur de workflow JBPM et SeeWhy.

Grace à SeeWhy, et sans couplage avec JBPM, il a été possible de mettre en place un outil de monitoring des activités métiers(BAM).

en conclusion: nous pouvons aller chercher les causes …(“See Why”) avec SeeWhy, mais ceci est un autre sujet

Voir les liens suivants

1. Un peu de monitoring Métier (BAM) avec JBPM et SeeWhy (event-driven business intelligence )

2. Comment modéliser un processus métier avec JBPM : exemple “gestion des entretiens”

3. Quelle est la différence entre JBPM et Intalio ?

4. Graph Oriented Programming (GOP) avec JBPM

5. La version 4 de JBPM prend le virage de BPMN

6. BPM & Moteur de workflow : l’offre open source

1 commentaires :

pe a dit…

Le site de seewhy ne permet pas de downloader le produit. Est-il toujorus disponible ?

Enregistrer un commentaire

Architecte SOA & Professionnel Open Source Headline Animator

 
Khaled BEN DRISS
Cloud Computing, SOA et Web 2.0 : Des sujets techniques sur SOA et l'Open Source : de Java & .Net, PHP5, Symfony, à SaaS / PaaS en passant par Azure, google appengine, le BPM, la Modélisation et d'autres sujets du coté du serveur et cloud computing.