• Aucun résultat trouvé

Les couches d‟abstraction d‟un SOS Adaptable

II. VSoaML : Un profil UML de modélisation des systèmes orientés

II.4. Les couches d‟abstraction d‟un SOS Adaptable

Un système orienté service se compose généralement de plusieurs couches. Chaque couche se base sur les fonctionnalités de la couche sous-jacente pour mener à bien sa mission. Concrètement, six couches ont été définies (Papazoglou, 2007) comme nous illustrons dans la figure 41 :

La Couche Domaine métier: Cette couche permet la segmentation de l‟activité d‟une organisation donnée, en un ensemble de domaines fonctionnels. Chaque domaine fonctionnel définit un ensemble de processus métier qui partagent des ressources et des fonctionnalités et peuvent collaborer pour atteindre les objectifs de haut de niveau de l‟entreprise. Un exemple de domaines métier dans le cadre d‟une entreprise donnée, peut être le domaine fonctionnel finance, assurance, comptabilité, etc.

La couche processus métier : La couche processus métier se compose d‟une multitude de processus métier associés aux différents domaines métier. Chaque processus métier définit une séquence d‟activités en vue de répondre pertinemment aux événements métier adressés à une entreprise.

La couche Services métier : un processus métier se définit en termes d‟un ensemble d‟activités. Chaque activité est automatisée par l‟exécution d‟un service donné. La couche service métier qui constitue la troisième couche d‟un système orienté service se compose ainsi des différents services constituant le système et permettant de supporter les différents processus métiers de l‟entreprise. La couche services métier est la couche principale d‟un système orienté service. En effet, le service est l‟élément fondamental permettant de réaliser et d‟automatiser les différentes activités de l‟entreprise. Chaque entreprise peut être vue comme une interconnexion de services qui s‟exécutent pour atteindre les objectifs métiers de haut niveau de l‟entreprise tout en facilitant son évolution et son agilité.

La couche service d’infrastructure : la couche service d‟infrastructure assure des fonctionnalités d‟infrastructure en se basant sur des services techniques de grosse granularité et réutilisable dans le cadre de plusieurs processus métiers. Elle est responsable de la provision d‟une infrastructure technique permettant le développement, la provision et la maintenance des services et des processus métier tout en facilitant leur intégration. Elle est aussi responsable de la qualité de services, de la messagerie fiable, du routage intelligent ainsi que de la supervision et la gestion

de services. Pour assurer de telles fonctions, la couche service d‟infrastructure définit plusieurs types de services : les services utilitaires, les services d‟accès, les services de management et de monitoring ainsi que les services d‟interaction. D‟un point de vue technique, les fonctionnalités de cette couche sont assurées généralement par un logiciel spécifique à savoir le bus de service

de l‟entreprise. En pratique, plusieurs ESB ont émergé récemment tels que Mule ESB, etc.

La couche implémentation : Chaque service possède une implémentation de service. Un service fait une séparation entre la spécification de service et l‟implémentation de service. Une implémentation de service est créée selon deux scénarios. Le premier scénario consiste à développer un service en utilisant un langage de programmation donné tels que Java, C#, etc. Le deuxième scénario est l‟adaptation des applications existantes.

La couche systèmes opératoires : Cette couche est utilisée par la couche « Implémentation des

services à base de composant» pour l‟implémentation des processus et des services. La couche contient les systèmes existants et les applications tels que les systèmes de CRM, d‟ERP, les SGBD et les applications existantes, etc.

Dans l‟objectif de maitriser la complexité du développement des systèmes orientés services adaptables aux différents types d‟utilisateurs, il est nécessaire de définir des couches d‟abstractions permettant de décrire les différents aspects (i.e., structurels ou comportementaux)

de tels systèmes. Dans cette optique, nous avons défini plusieurs couches pour la représentation des différentes perspectives adaptées aux différents stakeholders(e.g., Analyste métier, Architecte, Développeur, Utilisateur final, etc.) d‟un SOS adaptable. Chaque couche se compose d‟un ensemble de modèles qui correspondent aux besoins des différents stakeholders. Globalement, nous identifions les couches suivantes :

La couche métier (Business Layer) : la couche métier est définie en se basant sur un ensemble de modèles permettant de décrire les exigences métiers. L‟objectif de cette couche est la spécification des exigences métiers. Principalement, cette couche se compose des modèles des cas d‟utilisation et des modèles BPMN. Les modèles des cas d‟utilisation permettent la formalisation des besoins des utilisateurs associés aux différents acteurs interagissant avec le système. Les modèles BPMN permettent la description des différents scénarios de réalisation des cas d‟utilisations.

La couche logique : La couche logique se compose de différents modèles. Principalement, nous avons défini les modèles suivants :

(1) Les modèles de services multivues (multiview services models) : Ces modèles permettent de représenter les différents services multivues composant le système. Ils constituent l‟élément central d‟un système orienté service adaptables aux différents types d‟utilisateurs. De tels modèles ont pour objectif la représentation des différents services multivues, de leurs interfaces, des entrés/sorties en termes de messages de chaque opération constituant l‟interface de services indépendamment des plateformes technologiques et des standards. Ce modèle permet aux différents stakeholders d‟un SOS adaptable aux différents types d‟utilisateurs, de comprendre sa structure.

(2) Les modèles d’information : les modèles d‟informations permettent la définition des différentes structures de données échangées entre les différents services et leurs clients. En effet, chaque service possède un ou plusieurs interfaces se composant d‟un ensemble d‟opérations qui manipulent en entrée/ sorties des messages. Ces messages sont définis principalement à partir des modèles d‟informations associés à chaque système.

(3) Les modèles de composition de services multivues : En SOC, un service est indépendant et autonome, mais il est composable pour la réalisation d‟un ou de plusieurs processus métiers. Les modèles de composition de services multivues visent la modélisation de la collaboration de

plusieurs services pour accomplir des objectifs métiers qu‟un seul service atomique ne peut pas atteindre. Les modèles de composition de services multivues sont définis principalement en utilisant différents diagrammes tels que les diagrammes BPMN, ou les diagrammes d‟activités UML ainsi que les diagrammes d‟états.

La couche physique : La couche physique se compose des différents artefacts d‟un système orienté service adaptable selon une plateforme donnée. Il s‟agit principalement de la représentation des descriptions de services multivues, de leurs implémentations, de leurs compositions ainsi que des différents aspects non-fonctionnels tels que les politiques de contrôle des droits d‟accès XACML.

La figure 42 illustre les différentes couches d‟abstraction définies ainsi que les modèles y associées.

Figure 42–SOS adaptable : Couches d’abstraction La couche physique

Description

Composant Service 1 XSD Composition de services BPEL

Modèles de composition de services multivues BPMN Modèles d‟information

Modèles des services multivues La couche métier

Modèles BPMN

Modèles des cas d‟utilisation

Pour l‟élaboration de ces différentes couches, nous nous appuyons sur un langage de haut niveau permettant de faciliter la communication entre les différents acteurs s‟intéressant à la construction des SOS adaptables. Ce langage permet d‟exprimer les différents modèles composant chaque couche reflétant les perspectives des différents acteurs.

L‟objectif des sections suivantes est de présenter notre langage pour l‟élaboration des différents modèles composant chaque couche.