Dans cette deuxième note sur le BPM et SOA, je m’attacherai à présenter les grandes différences entre BPM et SOA, dans quel cadre et pour répondre à quels besoins il vaut mieux s’orienter vers l’une ou l’autre de ces deux technologies.
Dans les grandes lignes, on peut dire que le BPM s’attache à la Gestion des Processus Métiers tandis que les architectures SOA s’intéressent à l’Orchestration de Services Métiers.
Le BPM, pour l’efficacité et l’amélioration des processus métiers
Le BPM permet aux entreprises de fluidifier et d’automatiser leurs processus métiers, et donc d’accroître leur productivité tout en réduisant le coût de fonctionnement lié à ces processus. De plus, la Gestion des Processus permet généralement d’améliorer la satisfaction clients et le taux de fidélité de ces derniers à l’Entreprise et à ses services.
Le BPM offre ainsi à l’entreprise la possibilité de modéliser et d’optimiser ses processus en faisant appel à des acteurs humains (i.e. employés, clients, partenaires) comme à des systèmes informatiques. Vu sous cet angle, un processus peut donc être défini comme une macro-activité à plusieurs étapes faisant appel à toutes sortes d’acteurs, de telle façon que chacune des tâches soit accomplie par un utilisateur du système ou par un sous-ensemble logiciel (par exemple un Web Service). Selon les cas, un processu s métier peut être très orienté système et inclure peu de tâches humaines, ou à l’inverse être très collaboratif avec peu ou pas du tout de tâches automatisées. Pour chacune des tâches humaines considérées par contre, il convient de disposer d’une interface utilisateur qui peut être accédée via un client léger (navigateur web), par email ou encore par un terminal mobile (PDA). En règle générale, les activités propres à un processus métier sont liées à un ensemble de règles métiers propres à l’entreprise.
Un système BPM (BPMS) génère des applications métiers. Du fait que ce système permet de modéliser et de concevoir de façon graphique les applications métiers, les coûts de développement associés à ces applications sont en général inférieurs à ceux engendrés par une application spécifique construite de toutes pièces. Le BPM permet également aux différents acteurs d’avoir toute la visibilité et le contrôle requis sur leurs applications, en leur offrant la possibilité de monitorer et de mesurer la performance de ces processus et des acteurs qui y sont associés. Les changements sont plus faciles à instaurer, les utilisateurs métiers restent maîtres de leurs applications, l’activité de l’entreprise est plus souple et agile, plus apte à répondre aux besoins de changement.
La façon qu’a une entreprise de gérer son métier et ses activités est entièrement modélisable dans un système BPM et c’est entre autre grâce à ce système que l’entreprise va pouvoir faire la différence avec ses concurrents en étant capable d’apporter toute la souplesse et la latitude requises face aux différentes situations rencontrées. A la différence des applications verticales prépackagées, qui incluent de façon assez rigide (mais néanmoins efficace) des concepts et processus métiers types, le BPM va rendre aux utilisateurs métiers (LOB) le contrôle de leurs applications en leur offrant la possibilité de les faire évoluer sans nécessairement faire appel à leur service informatique et à ses développeurs. Tandis que les services IT seront impliqués dans la mise en oeuvre du BPM, les gens du métier seront au plus près de la modélisation et du déroulement de leurs processus. Le BPM est également un excellent moyen d’assurer le transfert de l’information au sein de l’entreprise grâce à ses excellentes capacités de mise en oeuvre d’environnements de formation, identiques en tous points aux environnements de production.
A suivre … SOA pour la réutilisation et l’agilité