Voici donc la suite de la précédente note sur BPM et SOA qui s’attachait plus particulièrement à décrire l’intérêt du BPM.
Dans cette note-ci, je me focaliserai sur SOA pour compléter le sujet.
Les processus métiers gérés par le système BPM font donc appel aux applications existantes et aux systèmes composant l’infrastructure de l’organisation concernée. Ces processus nécessitent la plupart du temps de faire appel à des fonctions métiers, composants fondamentaux que l’on va trouver dans les différents silos de données (ERP, CRM, autres progiciels, bases de données, etc.).
Précédemment, la solution passait par l’intégration point-à-point, à l’aide des APIs respectives des systèmes concernés, ce type d’intégration présentant tous les défauts bien connus de rigidité, manque d’évolutivité, et manque de réactivité face aux besoins d’évolution des applications. Les processus s’appuyant sur les intégrations point-à-point étaient très rigides, ce qui va quand même à l’encontre d’une gestion moderne de processus métiers. De même, toute modification du processus pouvant « casser » l’intégration, il fallait être très prudent le cas échéant.
SOA et XML Web Services sont donc arrivés à point nommé pour répondre aux besoins d’agilité et de facilité d’intégration entre les processus et les silos de données. Grâce à SOA, il est désormais simple d’indentifier des fonctions métiers unitaires, de les packager sans contrainte d’adhérence forte pour les rendre autonomes, de les répertorier, et de les mettre à la disposition des applications métiers sous forme de Web Services. Un Web Service possède une interface publiques et publiée qui spécifie comment ce service doit être utilisé. Ainsi le système qui doit faire appel à une fonction particulière fait donc appel à un Web Service et ne doit se soucier que de son interface au format standard, sans avoir besoin de connaître son fonctionnement interne. L’intégration en est nettement simplifiée.
Afin d’être connus, identifiés et utilisables, les services ainsi construits sont répertoriés dans un annuaire qui les expose à destination de tous les utilisateurs potentiels. Chacun de ces services, et donc des fonctions métiers recherchées peut donc ainsi être invoqué par un ou plusieurs processus en toute commodité.
A suivre … BPM et SOA utilisés ensembles