• Aucun résultat trouvé

Processus d’Identification des Service Dirigé par les Modèles

Chapitre 5 Identification des services à base d’algorithmes génétiques

2. Processus d’Identification des Service Dirigé par les Modèles

La principale idée de l'architecture orientée services est la restructuration des systèmes d'information d'entreprise en un ensemble de services légèrement connectés et indépendants. Ces services devraient permettre la réutilisation des fonctionnalités implémentées auparavant afin de réduire le temps entre la conception et l'implémentation quand les exigences métiers changent. Les principaux défis pour développer les systèmes orientés services sont le mapping des modèles de processus métier vers des modèles de services. Les modèles de services jouent un rôle important pendant les phases d'analyse et de conception des services.

Selon [Arsanjani, 2004], le cycle de vie de modélisation orienté services est basé sur trois phases principales :

105

 Identification des services. Cette phase consiste à identifier les éléments structuralement significatifs de la solution cible. Le résultat de cette phase est un modèle de service au niveau d'analyse.

 Spécification des services. Cette phase consiste à décrire un service : ce qu'il offre, ce qu'il demande et comment il est exposé. Elle décrit également des dépendances avec d'autres services, composition des services, et messages des services. Le modèle principal lié à cette phase est un modèle de service au niveau conception.

 Réalisation des services. Cette phase consiste à fournir une solution pour un service particulier. Elle représente comment un service est réalisé. Le modèle connexe avec cette phase est un modèle de conception détaillé.

Dans ce chapitre, nous adressons en particulier la phase d'identification de service en fournissant un processus d'identification automatique de service. Le processus se compose de trois étapes pour identifier des services logiciel à partir un modèle de processus métier : L'annotation de processus métier, la transformation de processus métier, et l'identification de services de candidat [Soltani et al, 2012b] (cf. Figure 5.1).

Figure ‎5.1 Processus d’identification des services

2.1 Annotation des processus métier

Dans cette étape, des informations complémentaires sont ajoutées au modèle métier qui est représenté comme étant un modèle indépendant au calcul (Computation Independent Model). Des métadonnées sont ajoutées à ce modèle tel que la nature des activités (c.-à-d., manuel, semi-automatique, automatique), la composabilité des activités (c.-à-d., atomique,

106

composé), et le but des activités (commande enregistré, commande validée etc.) [Soltani et al, 2012a].

Toutes les connaissances sur le processus métier initial sont définies à l'avance dans l‟Ontologie de processus métier (BPO) par l'analyste métier et l'ingénieur de connaissance. BPO est considérée comme un méta-modèle générique du processus métier et elle est employée comme une base de connaissance pour dériver les services logiciels à partir un modèle de processus métier de haut niveau [Soltani et al, 2011]. BPO capture les concepts génériques liés aux processus métier et les relations entre eux au niveau métier. Cet Ontologie définit les concepts (Process, Activity, Event, Control Node, Message Flow, Sequence Flow, etc.) et les relations entre eux. La Figure 5.2 est un extrait qui illustre les relations du concept Activité dans BPO.

Figure ‎5.2 Les relations du concept Activity dans BPO.

BPO est basée sur deux principes : unifiant les différents Méta-modèles existants de processus métier et fournissant les propriétés nécessaires pour dériver des services logiciels à partir d‟un processus métier de haut niveau.

107

Pour faciliter l'extraction des multiples vus sur un modèle de processus, le BPO permet à l'analyste métier et à l'ingénieur de connaissance de marquer la visibilité des activités à différents rôles de collaboration. Ainsi, de diverses vues sur le modèle de processus d'affaires peuvent être extraites.

2.2 Transformation des processus métier

Nous ne pouvons pas directement transformer un modèle de processus métier de niveau élevé en une solution SOA puisque il est indépendant de n'importe quelles spécifications informatique et il comporte des activités manuelles, semi-automatiques et automatiques. Comme les activités de haut niveau ont une grande granularité, la même activité métier peut être transformée en plusieurs services SOA. Ainsi, afin d'identifier les services candidats, il est nécessaire de transformer à l'avance le processus métier de haut niveau en un processus intermédiaire appelé Processus exécutable [Soltani et al, 2012b]. Car les modèles de processus métier sont à un niveau d'abstraction plus élevé que les modèles de processus exécutables, la connaissance additionnelle de domaine devra être ajoutée pendant cette étape. BPO est interrogée pour transformer le modèle de processus métier annoté en un processus exécutable exprimé comme un modèle indépendant de plate-forme (PIM) [Soltani et al, 2010a ; Soltani et al, 2010b]. Pendant cette étape, cinq opérations de transformation sont effectuées :

 Renommer une activité métier,

 Décomposer une activité métier en plusieurs sous activités,

 Fusionner deux activités métier en une seule,

 Insérer une nouvelle activité dans le processus exécutable,

 Enlever une activité du processus métier initial.

2.3 Identification des services candidats

L'identification des services correspondants aux activités exécutables est réalisée en interrogeant l‟ontologie de processus métier pour rechercher et extraire les propriétés du concept Activité et ses relations avec les autres concepts de l'ontologie (c.-à-d. ressource, participant, et but). Les propriétés et les relations extraits sont employés pour calculer les différentes dépendances sémantiques comme (activité - Acteur), (activité - entité métier) et (activité - but métier).

Les différentes dépendances sémantiques sont modélisées comme un graphe de dépendance d'activités qui est considéré comme donnée d'entrée pour identifier un ensemble de services candidats implémentant le processus métier initial comme modèle spécifique de plate-forme (PSM).

Pendant le processus d'identification, un ensemble de métrique de conception telle que le couplage, la cohésion, et la qualité de modularisation sont calculés. Ces métriques de conception sont employées comme des paramètres de commande de l'algorithme de Clustering qui produise comme résultat un ensemble optimal de Clusters de services.

108

Nous formulons notre algorithme d'identification comme un problème d‟optimisation multi-objectif qui classifie les services candidats selon des valeurs optimales des métriques de conception.