VII. LES WORKFLOW DANS ALFRESCO▲
Dans Alfresco nous distinguons deux catégories de Workflow :
- Workflow de simple processus d'approbation: workflows simples
- et Workflow de management de processus métier complexe: workflows avancés
VII-A. Workflows simples▲
Le Workflow simple d'Alfresco est le mouvement des documents à travers les espaces (dossiers) : il est possible d'attacher un workflow simple à un document et de notifier les collaborateurs qui peuvent traiter le document. Ces collaborateurs peuvent effectuer des opérations Approval et Reject. À partir de règles de gestion, il est possible de réaliser le déplacement des documents entre espaces en fonction de l'état du document et de l'action effectuée sur le document.
L'implémentation de cette catégorie basique de workflows ne nécessite de pas de code. Il s'agit ici d'implémenter le business process à partir de la plateforme directement dans le Client Web.
VII-B. Workflows avancés▲
Une autre catégorie plus importante est les workflows complexes (Advanced Workflows).
Alfresco utilise le moteur jBPM (JBoss Business Process Management) dans son noyau.
Alfresco a extrêmement rendu ce moteur extensible pour le développement de workflows complexes basés sur des processus orientés tâche (délégation de tâches à des collaborateurs et des groupes de collaborateurs, avec un timing, des délais, des notifications email, etc.). Alfresco utilise le langage de workflow jPDL pour l'expression de processus métier de façon graphique ou manuel (XML) en terme de tâches, d'état d'attente, de synchronisation de la communication, de timers et d'actions automatisées.
Pour développer une extension en implémentant un workflow avancé grâce à Alfresco, il est indispensable :
- De maîtriser ce que c'est qu'un workflow Ad-hoc et tous les concepts autour du management de processus avec jBPM ;
- De savoir utiliser jBPM {JBoss jBPM from labs.jboss.com (http://labs.jboss.com/jbossjbpm/downloads/)} ;
- De savoir comment utiliser Jboss jBPM Process Designer Plugin from labs.jboss.com (http://labs.jboss.com/jbossjbpm/downloads/) ;
- De savoir écrire les définitions de processus avec jBPM et coder ;
- De savoir déployer la définition des processus depuis jBPM Process Designer directement dans un serveur (Server Deployer = /alfresco/jbpm/deployprocess) ;
- De savoir comment utiliser le modèle de base de workflow d'Alfresco pour écrire le modèle du workflow de son extension ;
- De savoir comment utiliser les packages d'Actions des workflows Alfresco, afin de développer son extension ;
- De savoir comment ajouter du comportement à la définition des processus de son extension avec Alfresco ;
- De maîtriser le process des données (Process Data) ;
- De maîtriser les jPDL Actions et Scripts pour l'invocation des business logique lors des workflows ;
- De maîtriser l'utilisation des Timers dans la définition des workflows et dans la business logique ;
- De maîtriser l'utilisation de la Workflow Console Alfresco.
Afin d'être à l'aise dans l'implémentation des workflows avancés, il est indispensable de masteriser la technologie jBPM avant de s'aventurer vers l'implémentation des Workflows dans Alfresco.
Le master jBPM consiste en deux syllabus, un syllabus introductif et un syllabus avancé.
VII-B-1. jBPM : syllabus simple▲
Pour avoir une première vue sur jBPM, le Centre de Compétences AlfrescojBPM de Koossery Technology recommande la documentation ci-dessous :
VII-B-2. jBPM : syllabus avancé▲
À ce stade, vous disposez des armes pour entrer dans le vif du sujet. le Centre de Compétences AlfrescojBPM de Koossery Technology vous invite à présent à lire le document utilisateur officiel de jBPM ci-dessous :
VII-C. Le Framework des Workflows Alfresco▲
Alfresco intègre le moteur de BPM jBPM (JBoss BPM). Il réalise une couche superficielle permettant la gestion des instances de processus, des tâches, de l'historique et des acteurs. L'implémentation de l'API Workflows d'Alfresco est bâtie sur le modèle de contenu bpmModel.xml.
Le développeur Alfresco doit :
- Maîtriser jBPM et les concepts du BPM ;
- Maîtriser les différents types de Workflows d'Alfresco ;
- Maîtriser l'outil Eclipse Design ;
- Maîtriser l'utilisation de la console Workflow d'Alfresco ;
- Maîtriser le développement et l'intégration des Workflows avancés.
Le Centre de Compétences AlfrescojBPM de Koossery Technology recommande de lire ci-dessous :