AXOPEN

Tour d’horizon des solutions SOA

Tour d’horizon des solutions SOA

Il existe un nombre important de solution dite SOA, il peut s’agir dans certain cas de règles d’architecture, de technologies et/ou standard ou bien d’outils dédié.

Nous allons donc dans cer article faire un tour d’horizon de ces différentes solutions ainsi que présenter les avantages et inconvénients relatifs à l’implémentation d’une solution éditeur.

 

1. Les différents types de service SOA

Dans un système d’information plusieurs types de traitements et/ou données peuvent être exposées sous la forme de services SOA grâce à l’utilisation de normes (Web Services, BPEL…) et/ou d’outils étant estampillés SOA.

 

1.1.   SOA pour l’orchestration de services

Solution BPELL’approche SOA propose un langage d’exécution des processus (BPEL pour Business Process Execution Language) permettant la constitution puis l’exécution de processus métiers étant basés sur l’orchestration de services. Les outils permettant de décrire un processus grâce au langage BPEL sont qualifiés d’outils BPM (Business Process Management).

 

 

Les outils de type BPM permettent de répondre aux difficultés suivantes :

 – Mon système informatique n’est pas aligné sur mes processus métiers : le BPM permet l’implémentation informatique des processus métiers de l’entreprise.

 – Tout développement combinant l’appel à plusieurs applications est couteux, complexe et pas réutilisable : le BPM facilite grandement la création de processus métiers basés sur l’orchestration de services, le processus nouvellement créé est alors lui-même un service réutilisable.

 – Je n’arrive pas à avoir une vision centralisée de l’avancement d’un processus faisant appel à plusieurs applications : le BPM offre une vision centralisée de l’état d’avancement d’un processus métier.

 

 

1.2.   SOA pour la composition de présentations

Solution portal L’approche SOA propose des normes de créations et d’implémentation de modules de présentation réutilisables à travers les portails d’entreprise estampillés SOA. Ces composants graphiques réutilisables sont appelés portlets.

 

 

 

La mise en œuvre de portlets à travers un portail SOA répond aux difficultés suivantes :

 – Mes interfaces sont identiques quelque soit le profil de l’utilisateur : les portails permettent une personnalisation dans l’assemblage des portlets en fonction du profil de l’utilisateur.

 – L’exposition d’une fonctionnalité sur un nouveau canal de diffusion (Web, téléphone portable, SMS…) équivaut à un nouveau développement complet de la fonctionnalité : l’approche SOA facilite la réutilisation de fonctionnalités et composants graphiques sur un nouveau canal de diffusion.

 – Mon système d’information ne dispose pas d’un point d’accès centralisé à toutes les fonctionnalités qu’il propose : les portails SOA offrent un point d’accès unique aux contenus et fonctionnalités du SI d’une entreprise en se basant sur l’appel de services SOA.

 

1.3.   SOA pour l’intégration d’applications

Solution EAI ESBL’approche SOA propose des outils (EAI et ESB) mais aussi des normes et moyens techniques (Web Services, JMS, JCA…) pour l’intégration d’applications. Un EAI (Enterprise Application Integration) est un outil permettant le développement rapide d’interfaces de communication entre plusieurs applications tandis qu’un ESB (Enterprise Service Bus) offre des services de routage, médiation et transcodification de messages entre applications.

 

La mise en d’un outil de type EAI ou ESB répond aux difficultés suivantes :

 – Les applications de mon système d’information ne communique pas ou peu entre-elles : les EAI et ESB permettent d’implémenter rapidement des flux de communication entre applications.

 – L’appel à un traitement dans une application impact le reste du système d’information quelques jours plus tard par l’intermédiaire de batch de synchronisation nocturne des bases de données : les EAI et ESB permettent de remplacer les traitements de synchronisation journaliers par des flux temps réels.

 – Certaines fonctionnalités sont dupliquées à plusieurs reprises dans mon SI : les EAI et ESB permettent de facilité la réutilisation de traitements existants.

 

1.4.   SOA pour l’intégration de données

Solution ETL MDML’approche SOA propose des outils (ETL et MDM) facilitant la consolidation et la diffusion des données transactionnelles et référentielles (MDM) dans le SI.

Un ETL (Extract Tranform & Load) permet l’extraction puis le chargement de données d’une base à une autre tandis que le MDM (Master Data Management) permet le stockage et la gestion du cycle de vie des données de type référentiel (clients, paramétrage des produits…).

 

La mise en place d’un outil de type ETL ou MDM répond aux difficultés suivantes :

 – Le contrôle de cohérence des données entre les applications est réalisé manuellement : les ETL et MDM peuvent incorporer des modules de contrôle de la qualité des données (Data Quality).

 – Les processus de validation des données sont manuels et aléatoires : les MDM proposent des workflows de validation des modifications de données de type référentielles (clients, paramétrage produit…).

 – Les modifications de données sont reportées manuellement entre les applications : les ETL permettent de répliquer de façon automatique les modifications des données d’une application.

 

1.5.   SOA pour la gestion des règles métiers

Solution BRMSL’approche SOA propose des outils permettant la modélisation ainsi que l’exécution de règles métiers en langage naturel (BRMS).

Un outil de type BRMS (Business Rules Management System) permet le stockage et l’exécution de règles métiers décrite en langage naturel sous la forme de services réutilisables.

 

La mise en d’un outil de type BRMS répond aux difficultés suivantes :

 – J’ai des règles métiers diffusent dans mon système d’information (diffusion et redondance) : le BRMS permet la centralisation de la gestion des règles métiers.

 – Les règles métiers sont parfois incohérentes entre les applications : le BRMS permet une traçabilité et une auditabilité des règles métiers pour contrôler leur cohérence.

 – Personne n’est capable de me prédire l’impact dû au changement d’une règle métier de mon SI : le BRMS permet l’analyse d’impacts et la simulation d’un changement dans une règle métier.

 

1.6.   SOA pour la gestion des évènements

Solution CEPL’approche SOA propose des outils permettant l’analyse ainsi que la corrélation d’évènements métiers et techniques afin d’automatiser les réactions de mon SI.

L’EDA (Event Driven Architecture) est une approche SOA basée sur la construction d’un SI étant capable de déclencher des actions automatiques à la suite d’événements métiers et/ou techniques (rupture de stocks, retard d’un train…).

Lorsque le déclenchement des actions fait suite à une corrélation de plusieurs événements on parle alors de CEP (Complex Event Processing).

Ce type d’architecture SOA est mise à place dans les domaines où le besoin de traitement de l’information est temps réel mais où surtout le nombre d’événements remonté au système est important et la prise de décision rapide (transports, chaînes de distribution…).

 

La mise en place d’une architecture de type EDA ou CEP répond aux difficultés suivantes :

 – Mon SI n’arrive pas à réagir à une multitude d’évènements métiers et/ou techniques : l’EDA permet de construire un SI capable de réagir à une multitude d’événements.

 – Je n’arrive pas à corréler les événements survenus sur des applications hétérogènes : le CEP permet la corrélation d’événements issus d’applications hétérogènes.

 – Mon SI ne réagit pas assez vite aux événements métiers et/ou techniques : l’EDA permet de construire un SI capable de réagir instantanément à un événement.

 

1.7.   SOA pour la supervision métier en temps réel

Solution BAML’approche SOA propose des outils permettant la collecte de données et la restitution d’indicateurs (KPI) en temps réel. Ces solutions s’appuyant sur des sondes de collectes intégrées au sein du SI ou bien directement au sein d’une solution BPM.

 

 

 

La mise en place d’une solution de type BAM répond aux difficultés suivantes :

 – Mon système de pilotage existant est peu évolutif et ne fournit pas assez d’éléments.

 – Je souhaite obtenir une visibilité temps réel sur certaines activités opérationnelles clés.

 – Je veux pouvoir piloter en temps réel le respect de mes contrats de service internes ou fournisseurs.