50
Conception de systèmes d’information Conception de systèmes d’information : : une approche orientée service une approche orientée service Gwladys GUZELIAN Gwladys GUZELIAN Laboratoire des Sciences de l’Information et des Systèmes, UMR 6168, Marseille Directrice de thèse : Corine CAUVET

Conception de systèmes d’information : une approche orientée service

  • Upload
    fritzi

  • View
    30

  • Download
    2

Embed Size (px)

DESCRIPTION

Gwladys GUZELIAN. Conception de systèmes d’information : une approche orientée service. Directrice de thèse : Corine CAUVET. Laboratoire des Sciences de l’Information et des Systèmes, UMR 6168, Marseille. Système réel. Système logiciel. Schéma conceptuel. - PowerPoint PPT Presentation

Citation preview

Page 1: Conception de systèmes d’information :  une approche orientée service

Conception de systèmes d’information : Conception de systèmes d’information : une approche orientée serviceune approche orientée service

Gwladys GUZELIANGwladys GUZELIAN

Laboratoire des Sciences de l’Information et des Systèmes, UMR 6168, Marseille

Directrice de thèse : Corine CAUVET

Page 2: Conception de systèmes d’information :  une approche orientée service

Contexte : Ingénierie des Contexte : Ingénierie des SSystèmes d’ystèmes d’IInformation (nformation (SISI))

Valid

ationvérifi

cation

Analyse d

es

besoin

s et

mod

élisation

Con

ceptio

n et

prod

uctio

n

IB (Ingénierie des Besoins)

IL (Ingénierie du Logiciel)

Système réel

Système logiciel

Schéma conceptuel

Page 3: Conception de systèmes d’information :  une approche orientée service

Contexte : Les méthodes Contexte : Les méthodes d’ingénierie des SId’ingénierie des SI

Méthode d’ingénierie des SI :Méthode d’ingénierie des SI :

Des modèles et des langagesDes modèles et des langages pour décrire un SI à différents niveaux d’abstractionpour décrire un SI à différents niveaux d’abstraction

Une démarcheUne démarche pour conduire le travail de conceptionpour conduire le travail de conception

Des outils logicielsDes outils logiciels pour la mise en œuvre des modèles, des langages et de la pour la mise en œuvre des modèles, des langages et de la

démarchedémarche

Toutes les méthodes des années 80-90 ont été Toutes les méthodes des années 80-90 ont été définies sur ce modèle.définies sur ce modèle.

Page 4: Conception de systèmes d’information :  une approche orientée service

La problématiqueLa problématique

Limites des méthodes :

-Monolithiques-Manquent de guidage

Nouveaux besoins des concepteurs :

-Besoin de flexibilité/adaptation-Besoin de réutilisation-Besoin d’intégration

SO2MSO2M ((SService-ervice-OOriented riented MMeta-eta-MMethod)ethod)

une nouvelle approche de la notion de méthode d’ingénierie des SI

Page 5: Conception de systèmes d’information :  une approche orientée service

Principes de la solutionPrincipes de la solution

SO2MSO2M (Service-Oriented Meta-Method)(Service-Oriented Meta-Method) offre offre un ensemble de servicesun ensemble de services

Services Services " " méthode méthode "" = unités réutilisables = unités réutilisables offrant des fragments de méthodeoffrant des fragments de méthode

Peuvent être composés dynamiquement Peuvent être composés dynamiquement

pour construire des méthodes adaptées pour construire des méthodes adaptées

aux besoins des concepteursaux besoins des concepteurs

Page 6: Conception de systèmes d’information :  une approche orientée service

PLANPLAN

Etat de l’artEtat de l’art Approches composants Approches composants Méthodes de développement de SIMéthodes de développement de SI

La méta-méthode SO2MLa méta-méthode SO2M Le modèle de services Le modèle de services " méthode "" méthode " Les ontologies de l’ingénierie des SILes ontologies de l’ingénierie des SI Le processus de compositionLe processus de composition

Conception et mise en œuvre de SO2MConception et mise en œuvre de SO2M

Conclusion/perspectivesConclusion/perspectives

Page 7: Conception de systèmes d’information :  une approche orientée service

Etude dans 2 domainesEtude dans 2 domaines ::

- - Méthodes de développement de SIMéthodes de développement de SIEtude des points faibles de ces méthodes du Etude des points faibles de ces méthodes du

point de point de vue de la flexibilitévue de la flexibilité

- - Approches composantsApproches composantsL’étude a abouti à un modèle de domaine L’étude a abouti à un modèle de domaine

montrant leurs montrant leurs ressemblances et leurs différencesressemblances et leurs différences

Etat de l’artEtat de l’art Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception

dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives

Page 8: Conception de systèmes d’information :  une approche orientée service

Méthodes de développement de SI étudiéesMéthodes de développement de SI étudiées monolithiquesmonolithiques (Merise, Remora…) (Merise, Remora…) basées sur UML et UPbasées sur UML et UP (EUP, 2TUP…) (EUP, 2TUP…) agilesagiles (XP, ASD…) (XP, ASD…) modulairesmodulaires (MMC, Ralyté…) (MMC, Ralyté…)

Critères pour mesurer le degré de flexibilitéCritères pour mesurer le degré de flexibilité StructureStructure de la méthode de la méthode OrganisationOrganisation du processus du processus NatureNature du processus du processus ProduitProduit de la méthode de la méthode

Vers des méthodes de Vers des méthodes de développement de SI développement de SI

flexiblesflexibles

Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception

dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives

Page 9: Conception de systèmes d’information :  une approche orientée service

Vers des méthodes de Vers des méthodes de développement de SI développement de SI

flexiblesflexibles

StructureStructure de la méthodede la méthode ((figée, adaptable, évolutivefigée, adaptable, évolutive)) OrganisationOrganisation du processus du processus ((prescriptive, rationnelle, dynamiqueprescriptive, rationnelle, dynamique)) NatureNature du processus du processus ((libre, opératoire, décisionnel, exploratoirelibre, opératoire, décisionnel, exploratoire)) ProduitProduit de la méta-méthode de la méta-méthode ((spécifique, générique, méta-produitspécifique, générique, méta-produit))

Nature duNature duprocessusprocessus

Produit de Produit de la méthodela méthode

Organisation Organisation du processusdu processus

Structure deStructure de la méthodela méthode

Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception

dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives

Page 10: Conception de systèmes d’information :  une approche orientée service

Vers des méthodes de Vers des méthodes de développement de SI développement de SI

flexiblesflexibles

StructureStructure de la méthodede la méthode ((figéefigée, , adaptableadaptable, , évolutiveévolutive)) OrganisationOrganisation du processus du processus ((prescriptive, rationnelle, dynamiqueprescriptive, rationnelle, dynamique)) NatureNature du processus du processus ((libre, opératoire, décisionnel, exploratoirelibre, opératoire, décisionnel, exploratoire)) ProduitProduit de la méta-méthode de la méta-méthode ((spécifique, générique, méta-produitspécifique, générique, méta-produit))

Nature duNature duprocessusprocessus

Produit de Produit de la méthodela méthode

Organisation Organisation du processusdu processus

Structure deStructure de la méthodela méthode

Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception

dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives

Page 11: Conception de systèmes d’information :  une approche orientée service

Les plus rigides : monolithiquesLes plus rigides : monolithiques Les plus Les plus flexiblesflexibles : modulaires : modulaires (ie. approches composants)(ie. approches composants)

Points faibles : organisation et nature du processusPoints faibles : organisation et nature du processus

Vers des méthodes de Vers des méthodes de développement de SI développement de SI

flexiblesflexibles

Méthodes monolithiquesMéthodes monolithiques

Méthodes UML/UPMéthodes UML/UP

Méthodes agilesMéthodes agiles

Méthodes modulairesMéthodes modulaires

Nature duNature duprocessusprocessus

Produit de Produit de la méthodela méthode

Organisation Organisation du processusdu processus

Structure deStructure de la méthodela méthode

Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception

dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives

Page 12: Conception de systèmes d’information :  une approche orientée service

Utilisation d’un modèle de domaine pour Utilisation d’un modèle de domaine pour comparercomparer ces ces approchesapproches en montrant les ressemblances et les différencesen montrant les ressemblances et les différences

La modélisation de domaine est utilisée en ingénierie du La modélisation de domaine est utilisée en ingénierie du logiciellogiciel

Formalisme de la méthode Formalisme de la méthode FODAFODA (Feature-Oriented Domaine (Feature-Oriented Domaine Analysis)Analysis)

DéfinitionDéfinition : :Un Un modèle de domainemodèle de domaine est un arbre dans lequel les est un arbre dans lequel les nœudsnœuds sont appelés sont appelés caractéristiquescaractéristiques et les arcs permettent d’affiner et les arcs permettent d’affiner une caractéristique en sous-caractéristiquesune caractéristique en sous-caractéristiques

Une Une caractéristiquecaractéristique : optionnelle, obligatoire, ou variable : optionnelle, obligatoire, ou variable

Les approches composantsLes approches composants Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception

dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives

Page 13: Conception de systèmes d’information :  une approche orientée service

statiquestatique

Usage de composantsUsage de composants

Technique de manipulationTechnique de manipulation

NiveauNiveau ObjectifObjectif

1..21..2

IntégrationIntégrationFlexibilitéFlexibilité

RéutilisationRéutilisationIngénierie Ingénierie des SIdes SI

RechercheRechercheCompositionComposition Méta-Méta-

ingénierieingénierie

EnvironnementEnvironnement

dynamiquedynamique

Développement de composantsDéveloppement de composants

MéthodeMéthode ProcessusProcessus CouplageCouplage

11

IntégréIntégré

InverséInverséProducteur/Producteur/consommateurconsommateur

AnalyseAnalyse

AscendanteAscendante DescendanteDescendante MixteMixteConceptionConception

Spécification de composantsSpécification de composants

ModèleModèle LangageLangage TechniqueTechnique

ProduitProduit ProcessusProcessus1..21..2

Page 14: Conception de systèmes d’information :  une approche orientée service

Usage de composantsUsage de composants

Technique de manipulationTechnique de manipulationNiveauNiveau ObjectifObjectif

1..21..2

FlexibilitéFlexibilitéIntégrationIntégration

Ingénierie Ingénierie des SIdes SI

RechercheRecherche

CompositionComposition Méta-Méta-ingénierieingénierie

EnvironnementEnvironnement

statiquestatique dynamiquedynamique

Développement de composantsDéveloppement de composants

MéthodeMéthode ProcessusProcessus CouplageCouplage

11

IntégréIntégré

InverséInverséProducteur/Producteur/consommateurconsommateur

AnalyseAnalyse

AscendanteAscendante DescendanteDescendante MixteMixteConceptionConception

Spécification de composantsSpécification de composants

ModèleModèle LangageLangage TechniqueTechnique

ProduitProduit ProcessusProcessus1..21..2

RéutilisationRéutilisation

ContextualisationContextualisation

APPROCHE WSMOAPPROCHE WSMO

impliqueimplique

Page 15: Conception de systèmes d’information :  une approche orientée service

L’orientation service comble le L’orientation service comble le besoin de flexibilitébesoin de flexibilité

Service méthodeService méthode : composant de type processus. : composant de type processus.

Ils définissent des fragments de processus que l’on Ils définissent des fragments de processus que l’on

peut assembler de différentes manières peut assembler de différentes manières

Définition d’un cadre flexible : Définition d’un cadre flexible : SO2MSO2M

Des composantsDes composants méthode méthode aux services méthodeaux services méthode

Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception

dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives

Page 16: Conception de systèmes d’information :  une approche orientée service

Description des servicesDescription des services guidée par la finalitéguidée par la finalité Un problème de développement = un but à atteindreUn problème de développement = un but à atteindre

Buts adaptés à l’expression de la variabilitéButs adaptés à l’expression de la variabilité Buts utilisés dans la recherche de servicesButs utilisés dans la recherche de services

Description des servicesDescription des services centrée sur les processuscentrée sur les processus Un service fournit un Un service fournit un fragment de processus pour réaliser un fragment de processus pour réaliser un

butbutexempleexemple : : démarche pour construire un diagramme de classesdémarche pour construire un diagramme de classes

Activité d’identification des classes, Activité d’identification des classes, Activité d’identification des attributs, des méthodes…Activité d’identification des attributs, des méthodes…

Description sémantique des servicesDescription sémantique des services Connaissances relatives au Connaissances relatives au contexte d’utilisation…contexte d’utilisation… Utilisation des Utilisation des ontologiesontologies

SO2M : principes du modèle SO2M : principes du modèle de servicesde services

Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception

dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives

Page 17: Conception de systèmes d’information :  une approche orientée service

Concepts du modèle de services décrits par des Concepts du modèle de services décrits par des diagrammes de classes UMLdiagrammes de classes UML

Certains concepts décrits à l’aide d’une ontologie Certains concepts décrits à l’aide d’une ontologie

SéparationSéparation Modèle de services/Ontologies Modèle de services/Ontologies Modèle de services : concepts pour spécifier les servicesModèle de services : concepts pour spécifier les services Ontologies pour définir la valeur d’un conceptOntologies pour définir la valeur d’un concept Modèle de services Modèle de services utilisé parutilisé par le concepteur de services le concepteur de services Ontologies Ontologies partagéespartagées entre entre

Le concepteur de services méthode (fournisseur de Le concepteur de services méthode (fournisseur de services )services )

Le concepteur de SI (consommateur de services)Le concepteur de SI (consommateur de services)

Modèle de services et Modèle de services et ontologiesontologies

Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception

dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives

Page 18: Conception de systèmes d’information :  une approche orientée service

3 niveaux 3 niveaux complémentaires :complémentaires : Partie Partie identifiantidentifiant : décrit : décrit

l’usage du servicel’usage du service

Partie Partie processusprocessus : décrit ce : décrit ce que le service offreque le service offre

Partie Partie ressourceressource : décrit une : décrit une démarche exécutable par le démarche exécutable par le concepteurconcepteur

Niveaux de description d’un Niveaux de description d’un service méthodeservice méthode

Service méthodeService méthodePartie Partie identifiant identifiant

(pourquoi ?)(pourquoi ?)Partie Partie processus processus

(quoi ?)(quoi ?)Partie Partie ressource ressource

(Comment ?)(Comment ?)

Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception

dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives

Page 19: Conception de systèmes d’information :  une approche orientée service

Partie identifiant : précise Partie identifiant : précise ce que fait le servicece que fait le service en en indiquant le but qu’il permet d’atteindre.indiquant le but qu’il permet d’atteindre.

Partie identifiantPartie identifiant

Partie identifiantPartie identifiant

FinalitéFinalité

(Lbut)(Lbut)ButBut

ManièreManière ContexteContexte

ArgumentArgument

PourPour ContreContre

(Lact)(Lact)ActeurActeur

(Lproc)(Lproc)Unité de processusUnité de processus

(Lprod)(Lprod)Elément de produitElément de produit

ProjetProjet

11

1111

0..*0..*0..*0..*110..10..111

11

11

0..*0..*0..*0..*11 1..*1..*

Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception

dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives

11

Page 20: Conception de systèmes d’information :  une approche orientée service

Partie identifiant : exemplePartie identifiant : exemple

Service méthodeService méthode-Finalité : -Finalité :

--ButBut : : Construire un diagramme de classesConstruire un diagramme de classes -Manière : -Manière : manuellementmanuellement -Contexte :-Contexte : -projet:-projet:

-nature : -nature : développementdéveloppement - domaine : -- domaine : -

--acteuracteur : : concepteur, ingénieur méthodeconcepteur, ingénieur méthode --unité de processusunité de processus : : expression des besoins, conceptionexpression des besoins, conception --élément de produitélément de produit : : diagramme de classesdiagramme de classes-Argument :-Argument : -pour : -pour : Le processus proposé guide la construction d’un diagramme de classesLe processus proposé guide la construction d’un diagramme de classes -contre : -contre : Nécessite des compétences en UMLNécessite des compétences en UML

Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception

dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives

Page 21: Conception de systèmes d’information :  une approche orientée service

Partie processus : Partie processus : décrit le processus fournidécrit le processus fourni par le service par le service comporte une situation initiale, une situation finale et comporte une situation initiale, une situation finale et un un

processusprocessus

Processus = décomposition du but du serviceProcessus = décomposition du but du service

4 types de processus :4 types de processus :1)1) Atomique Atomique

2)2) CompositeComposite

3)3) SimpleSimple

4)4) DécisionnelDécisionnel

Partie processusPartie processus Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception

dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives

Page 22: Conception de systèmes d’information :  une approche orientée service

4 types de processus :4 types de processus :

1)1) AtomiqueAtomique : but non décomposable en sous-buts : but non décomposable en sous-buts

Partie processusPartie processus Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception

dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives

AtomiqueAtomique« Définir des attributs »« Définir des attributs »

Page 23: Conception de systèmes d’information :  une approche orientée service

4 types de processus :4 types de processus :

1)1) AtomiqueAtomique

2)2) CompositeComposite : but décomposable en sous-buts : but décomposable en sous-buts

processus constituants organisés avec processus constituants organisés avec des des constructions de contrôleconstructions de contrôle (séquence ou parallèle) (séquence ou parallèle)

Partie processusPartie processus Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception

dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives

Page 24: Conception de systèmes d’information :  une approche orientée service

Partie processus : exemple Partie processus : exemple de processus compositede processus composite

Service méthodeService méthode

-Situation initiale : --Situation initiale : --Situation finale : -Situation finale : Diagramme de classesDiagramme de classes

--ProcessusProcessus : :

Composite Composite SéquenceSéquence « Construire un diagramme de classes manuellement »« Construire un diagramme de classes manuellement »

SimpleSimple« Identifier les « Identifier les

classes conceptuelles »classes conceptuelles »

AtomiqueAtomique« Identifier des relations « Identifier des relations

entre les classes »entre les classes »

AtomiqueAtomique« Définir des attributs »« Définir des attributs »

AtomiqueAtomique« Définir des méthodes »« Définir des méthodes »

Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception

dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives

Page 25: Conception de systèmes d’information :  une approche orientée service

4 types de processus :4 types de processus :1)1) AtomiqueAtomique 2)2) CompositeComposite

3)3) SimpleSimple : : but pour lequel on ne connaît pas (ou ne but pour lequel on ne connaît pas (ou ne souhaite pas préciser) leur décompositionsouhaite pas préciser) leur décomposition

--Diffère le choix d’un processus au moment de l’utilisation des Diffère le choix d’un processus au moment de l’utilisation des servicesservices

-Peut représenter un processus composite -Peut représenter un processus composite

Favorise la flexibilité de SO2MFavorise la flexibilité de SO2M - évite de prédéfinir un processus- évite de prédéfinir un processus - adapte des parties de processus- adapte des parties de processus

Partie processusPartie processus Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception

dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives

Page 26: Conception de systèmes d’information :  une approche orientée service

4 types de processus :4 types de processus :1)1) AtomiqueAtomique 2)2) CompositeComposite 3)3) SimpleSimple

4)4) DécisionnelDécisionnel : propose : propose plusieursplusieurs décompositions en décompositions en sous-buts sous-buts

Processus constituants organisés avec une Processus constituants organisés avec une construction de contrôle de type « choix »construction de contrôle de type « choix »

engendre de la variabilitéengendre de la variabilité

permet de choisir un processus parmi plusieurs permet de choisir un processus parmi plusieurs alternatives prédéfinies alternatives prédéfinies

Partie processusPartie processus Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception

dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives

Page 27: Conception de systèmes d’information :  une approche orientée service

Partie processus : exemple Partie processus : exemple de processus décisionnelde processus décisionnel

Service méthodeService méthode

--ProcessusProcessus : :

DécisionnelDécisionnelChoisirChoisir 11 processus pour processus pour

« Configurer un processus de développement »« Configurer un processus de développement »

SimpleSimple« Configurer un processus de « Configurer un processus de

développement en utilisant SO2M »développement en utilisant SO2M »

SimpleSimple« Configurer un processus de « Configurer un processus de

développement en utilisant le RUP »développement en utilisant le RUP »

Compétences en UML 2Compétences en UML 2Documentation 3Documentation 3

Guidage 1Guidage 1Temps de réalisation 5Temps de réalisation 5 Temps de réalisation 1Temps de réalisation 1

Guidage 5Guidage 5

Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception

dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives

Page 28: Conception de systèmes d’information :  une approche orientée service

Partie ressource : Partie ressource : détaille le détaille le déroulement de l’exécution du processusdéroulement de l’exécution du processus

avec ses ressourcesavec ses ressources comporte des ressources et un comporte des ressources et un graphe d’exécutiongraphe d’exécution

Graphe d’exécution :Graphe d’exécution : Nœuds : Nœuds :

activitésactivités (opérations élémentaires) (opérations élémentaires) servicesservices (proposent une aide au concepteur) (proposent une aide au concepteur) points de variationpoints de variation (partie variable du graphe d’exécution) (partie variable du graphe d’exécution) points de décisionpoints de décision (décision que doit prendre le concepteur) (décision que doit prendre le concepteur)

Arcs : liens entre les nœuds (séquence, parallèle…)Arcs : liens entre les nœuds (séquence, parallèle…)

Partie ressourcePartie ressource

+ flexibilité+ flexibilité

Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception

dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives

Page 29: Conception de systèmes d’information :  une approche orientée service

Partie ressource : exemplePartie ressource : exemple

Service méthodeService méthode

« point de variation »« point de variation »Identifier des Identifier des

classes conceptuellesclasses conceptuelles

« activité »« activité »Identifier des Identifier des

relations entre classesrelations entre classes

« activité »« activité »Définir Définir

des attributsdes attributs

« activité »« activité »Définir des Définir des méthodesméthodes

« sortie » Diagramme de

classes[complet]

« sortie » Diagramme de

classes[partiel]

…… …… ……

……

SimpleSimple« Identifier des classes conceptuelles »« Identifier des classes conceptuelles »

- Graphe d’exécution :

- Processus :

Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception

dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives

Page 30: Conception de systèmes d’information :  une approche orientée service

Elles correspondent à des Elles correspondent à des ontologies de tâchesontologies de tâches vocabulaire pour décrire la résolution des problèmes associés à une vocabulaire pour décrire la résolution des problèmes associés à une

tâchetâche

Relatives aux Relatives aux problèmes de l’ingénierie problèmes de l’ingénierie des SIdes SI

LiensLiens entre ontologies (une ontologie peut utiliser les concepts et les entre ontologies (une ontologie peut utiliser les concepts et les instances d’une autre ontologie)instances d’une autre ontologie)

Les ontologies dans SO2MLes ontologies dans SO2M

(Lbut)(Lbut)ButBut

(Lproc)(Lproc)processusprocessus

(Lact)(Lact)ActeurActeur

est mis en est mis en œuvre parœuvre par

(Lprod)(Lprod)ProduitProduit

porte surporte sur

réaliseréalise utilise/génèreutilise/génère

Rôles des personnes impliquées dans les projets SI

Objets manipulés lors de la résolution de problèmes

Problèmes d’ingénierie des SI

Processus offerts par les services

Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception

dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives

Page 31: Conception de systèmes d’information :  une approche orientée service

VerbeVerbe = action = action plus ou moins plus ou moins complexe de complexe de développementdéveloppement

ObjetObjet = = élément de élément de produit sur produit sur lequel porte le lequel porte le verbeverbe

L’ontologie des buts L’ontologie des buts LLbut but

(simplifiée) (simplifiée)

ButBut

VerbeVerbe ObjetObjet

CréerCréer ConstruireConstruire

ConfigurerConfigurerUn diagramme Un diagramme de classesde classes

UnUnMCDMCD

ComporteComporte ComporteComporte

est similaire àest similaire à

ButBut = verbe + objet = verbe + objet

Exemple de butExemple de but : :

Construire Construire un diagramme de classesun diagramme de classes

Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception

dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives

Page 32: Conception de systèmes d’information :  une approche orientée service

1.1. Enrichir la description des servicesEnrichir la description des services

2.2. Réduire la distance entre les concepteurs Réduire la distance entre les concepteurs et les utilisateurs des services et les utilisateurs des services

3.3. Guider et automatiser la recherche/composition de Guider et automatiser la recherche/composition de services (services (exex : lien « est similaire à ») : lien « est similaire à »)

Apports des ontologies dans Apports des ontologies dans SO2MSO2M

Service méthodeService méthode

But :But : Construire Construire un diagramme de classesun diagramme de classes......

LLbutbut

ConstruireConstruire

CréerCréer

LLprodprod

un Diagramme un Diagramme de classesde classes

un MCDun MCD

Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception

dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives

Page 33: Conception de systèmes d’information :  une approche orientée service

ObjectifObjectif : créer de nouvelles méthodes en composant : créer de nouvelles méthodes en composant les processus offerts par les services existantsles processus offerts par les services existants

RequêteRequête = problème de développement = problème de développement = 1 but (verbe + objet) = 1 but (verbe + objet)

RechercheRecherche des services dont le but correspond des services dont le but correspond au but de la requêteau but de la requête

Le processus de composition Le processus de composition de servicesde services

RequêteRequête du concepteur du concepteur

CompositionComposition de services de services

ProcessusProcessus de développement de développement

Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception

dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives

Page 34: Conception de systèmes d’information :  une approche orientée service

Le processus de composition Le processus de composition de servicesde services

EntréeEntrée : but initial : but initial RequêteRequête Processus simples (issus Processus simples (issus d’un même service)d’un même service)

Processus itératif = Processus itératif = 3 activités3 activités RechercheRecherche Composition Composition ExploitationExploitation

SortieSortie : : graphe de composition de services graphe de composition de services

GcGc graphe de processus Gpgraphe de processus Gp

But initial But initial (ie. requête ou processus simples)(ie. requête ou processus simples)

Graphes Graphes Gc et GpGc et Gp

RechercheRecherche

CompositionComposition

ExploitationExploitation

Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception

dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives

Page 35: Conception de systèmes d’information :  une approche orientée service

Activités du processus de Activités du processus de compositioncomposition

But initialBut initial(ie. requête ou processus simples)(ie. requête ou processus simples)

Graphes Graphes Gc et GpGc et Gp

RechercheRecherche

CompositionComposition

ExploitationExploitation

-Sélection de services-Mise à jour de Gc

-Formulation de la requête-Formulation de la requête-Découverte de services

-Mise à jour de Gp-Mise à jour de Gp-Initialisation des itérations suivantes

au cours du processus au cours du processus Gc s’enrichitGc s’enrichit de de nouveaux services et nouveaux services et Gp se raffineGp se raffine

Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception

dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives

Page 36: Conception de systèmes d’information :  une approche orientée service

noeudsnoeuds = services = services sélectionnéssélectionnés

ArcsArcs = liens entre services = liens entre services

Racine = requête initialeRacine = requête initiale Feuilles = services Feuilles = services

atomiques atomiques

Graphe de processus / Graphe de processus / Graphe de compositionGraphe de composition

C1C1=Sequ(S1,S2)=Sequ(S1,S2)

Graphe de processus:Graphe de processus: assemblage des graphes assemblage des graphes d’exécution des services sélectionnés au cours du d’exécution des services sélectionnés au cours du processus de compositionprocessus de composition

Graphe de composition de servicesGraphe de composition de services (arbre):(arbre): services services trouvés et sélectionnés au cours du processus de trouvés et sélectionnés au cours du processus de compositioncomposition

S1S1 service service atomiqueatomique

S2S2 service service compositecomposite

S3S3 service service atomiqueatomique

SEQUENCESEQUENCE

Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception

dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives

Page 37: Conception de systèmes d’information :  une approche orientée service

Définition de processus Définition de processus flexibles avec SO2Mflexibles avec SO2M

Les processus simples/décisionnels jouent un rôle Les processus simples/décisionnels jouent un rôle essentiel dans la définition de processus flexiblesessentiel dans la définition de processus flexibles

Les processus simples/décisionnels expriment de la variabilitéLes processus simples/décisionnels expriment de la variabilité Processus décisionnels impliquent un choix parmi plusieurs processusProcessus décisionnels impliquent un choix parmi plusieurs processus Processus simples définis par des servicesProcessus simples définis par des services

Service méthodeService méthode

Processus décisionnel P0Processus décisionnel P0

P1P1 P2P2 P3P3

Processus simple P3Processus simple P3

PPii

PPii

Processus décisionnelProcessus décisionnel

Processus simpleProcessus simple

SSii ServiceService

S4S4 S5S5 S9S9

Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception

dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives

Page 38: Conception de systèmes d’information :  une approche orientée service

Itération 1Itération 1 : : RequêteRequête : « : « construire un diagramme de cas construire un diagramme de cas

d’utilisation »d’utilisation » Services sélectionnés Services sélectionnés : S1, S2: S1, S2 Graphe de composition GcGraphe de composition Gc : :

Graphe de processus GpGraphe de processus Gp : 1 point de variation : 1 point de variation

Exemple d’exécution du Exemple d’exécution du processus de compositionprocessus de composition

C1C1=Sequ(S1,S2)=Sequ(S1,S2)

S1S1 service atomiqueservice atomique« Consulter la notation UML d’un « Consulter la notation UML d’un diagramme de cas d’utilisation »diagramme de cas d’utilisation »

SEQUENCESEQUENCES2S2 service compositeservice composite

« Construire un diagramme « Construire un diagramme de cas d’utilisation »de cas d’utilisation »

Graphe Graphe d’exécution d’exécution

de S1de S1

Graphe Graphe d’exécution d’exécution

de S2de S2

Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception

dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives

Page 39: Conception de systèmes d’information :  une approche orientée service

Itération 1 : (graphe de Itération 1 : (graphe de processus partiel)processus partiel)

Service méthode S2Service méthode S2

-Processus :-Processus :

CompositeComposite SéquenceSéquence « Construire un diagramme de cas d’utilisation » « Construire un diagramme de cas d’utilisation »

SimpleSimple«« Identifier les cas d’utilisation Identifier les cas d’utilisation »»

AtomiqueAtomique« Représenter les cas d’utilisation par « Représenter les cas d’utilisation par

un diagramme de cas d’utilisation »un diagramme de cas d’utilisation »

Graphe d’exécution de S2Graphe d’exécution de S2

« point de variation »« point de variation »Identifier les cas Identifier les cas

d’utilisationd’utilisation

« activité »« activité »Représenter les Représenter les cas d’utilisationcas d’utilisation

Graphe Graphe d’exécution d’exécution

de S1de S1

Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception

dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives

Page 40: Conception de systèmes d’information :  une approche orientée service

Itération 2Itération 2 : : But initialBut initial : « : « identifier les cas d’utilisation »identifier les cas d’utilisation » Services sélectionnés Services sélectionnés : S3: S3 Graphe de composition GcGraphe de composition Gc : :

Exemple d’exécution du Exemple d’exécution du processus de compositionprocessus de composition

C1C1=Sequ(S1,S2)=Sequ(S1,S2)

S1S1 service atomiqueservice atomique« Consulter la notation UML d’un « Consulter la notation UML d’un diagramme de cas d’utilisation »diagramme de cas d’utilisation »

SEQUENCESEQUENCE S2S2 service compositeservice composite« Construire un diagramme « Construire un diagramme

de cas d’utilisation »de cas d’utilisation »

S3S3 service atomiqueservice atomique« Identifier les cas d’utilisation« Identifier les cas d’utilisation

en formulant les fonctions en formulant les fonctions de chaque acteur »de chaque acteur »

Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception

dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives

Page 41: Conception de systèmes d’information :  une approche orientée service

Itération 2Itération 2 : : Graphe de processus GpGraphe de processus Gp : :

Point de variation du graphe d’exécution de S2 substitué par Point de variation du graphe d’exécution de S2 substitué par le graphe d’exécution de S3le graphe d’exécution de S3

Le graphe d’exécution de S3 ne comporte pas de point de Le graphe d’exécution de S3 ne comporte pas de point de

variabilité variabilité pas d’itération suivantepas d’itération suivante

Processus de composition terminé Processus de composition terminé : Gp ne comporte ni : Gp ne comporte ni point de variation ni de point de décisionpoint de variation ni de point de décision

Exemple d’exécution du Exemple d’exécution du processus de compositionprocessus de composition

Graphe Graphe d’exécution d’exécution

de S1de S1Graphe d’exécution de S2Graphe d’exécution de S2

Graphe Graphe d’exécution de S3d’exécution de S3

Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception

dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives

Page 42: Conception de systèmes d’information :  une approche orientée service

L’objectif de flexibilité de SO2M est satisfait par:L’objectif de flexibilité de SO2M est satisfait par: L’orientation butL’orientation but: suggère des alternatives (chaque : suggère des alternatives (chaque

alternative est une solution adaptée à un contexte précis)alternative est une solution adaptée à un contexte précis) Les processus décisionnels/simplesLes processus décisionnels/simples: expriment des : expriment des

points de variabilité dans la spécification des processuspoints de variabilité dans la spécification des processus La composition dynamiqueLa composition dynamique: liens entre services non : liens entre services non

prédéfinisprédéfinis

SO2M : un cadre flexibleSO2M : un cadre flexible

Temps TTemps T Temps T ’Temps T ’

S1S1 S2S2Base de servicesBase de services

Composition de Composition de servicesservices

S1S1 S2S2

S1S1 S2S2

Requête R1Requête R1 Requête R1Requête R1

S1S1 S3S3

S3S3

Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception

dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives

Page 43: Conception de systèmes d’information :  une approche orientée service

Conception de services à partir du processus de compositionConception de services à partir du processus de composition

RèglesRègles de conception de services à partir de Gc de conception de services à partir de Gc

RécursivitéRécursivité : composition de services considérée comme un : composition de services considérée comme un nouveau service pouvant entrer à son tour dans une composition nouveau service pouvant entrer à son tour dans une composition de servicesde services

La propriété de récursivité de La propriété de récursivité de SO2MSO2M

Composition de services

Service entrant dans une composition de services

Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception

dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives

Page 44: Conception de systèmes d’information :  une approche orientée service

La récursivité permet :La récursivité permet : D’enrichir automatiquementD’enrichir automatiquement la base de services la base de services De rendreDe rendre réutilisableréutilisable des méthodes construites par le des méthodes construites par le

processus de compositionprocessus de composition

La propriété de récursivité de La propriété de récursivité de SO2MSO2M

Composition / Composition / réutilisation réutilisation de servicesde services

ExécutionExécution

Base de services

conceptionconceptionde servicesde services

Graphe de compositionGraphe de composition

Nouveau serviceNouveau service

requêterequête

Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception

dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives

Page 45: Conception de systèmes d’information :  une approche orientée service

Fragment réutilisableFragment réutilisable: sous-arbre de Gc qui a pour racine une : sous-arbre de Gc qui a pour racine une composition de servicescomposition de services Fragments maximauxFragments maximaux: toutes les feuilles sont des services : toutes les feuilles sont des services

atomiquesatomiques Fragments minimauxFragments minimaux: profondeur = 1 et au moins une feuille : profondeur = 1 et au moins une feuille

correspondant à un service composite ou décisionnel correspondant à un service composite ou décisionnel

Conception de services à Conception de services à partir d’un graphe Gcpartir d’un graphe Gc

C1C1=Sequ(S1,S2)=Sequ(S1,S2)

S1S1 service atomiqueservice atomique« Consulter la notation « Consulter la notation UML d’un diagramme UML d’un diagramme de cas d’utilisation »de cas d’utilisation »

SEQUENCESEQUENCE S2S2 service compositeservice composite« Construire un diagramme « Construire un diagramme

de cas d’utilisation »de cas d’utilisation »

S3S3 service atomiqueservice atomique« Identifier les cas d’utilisation« Identifier les cas d’utilisation

en formulant les fonctions en formulant les fonctions de chaque acteur »de chaque acteur »

engendre un nouveau serviceengendre un nouveau service

Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception

dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives

Page 46: Conception de systèmes d’information :  une approche orientée service

Le prototype SO2MX Le prototype SO2MX ((S02MS02M e eXXecution)ecution)

Prototype SO2MXPrototype SO2MX Conception des servicesConception des servicesRecherche de services Recherche de services Mise en œuvre du processus de compositionMise en œuvre du processus de composition

Le développement de ce prototype utilise :Le développement de ce prototype utilise :XMLXML pour la description des services (conforme à la pour la description des services (conforme à la DTDDTD))OWLOWL pour la description des ontologies pour la description des ontologiesAPI DOMAPI DOM pour la manipulation des documents au format XML pour la manipulation des documents au format XMLPHPPHP pour l’implémentation des fonctionnalités du prototype pour l’implémentation des fonctionnalités du prototypeLa librairie La librairie JpGraphJpGraph pour la représentation des graphes (Gc et pour la représentation des graphes (Gc et Gp)Gp)

Le prototype a été élaboré à l’aide d’une architecture Le prototype a été élaboré à l’aide d’une architecture client/serveurclient/serveur

Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception

dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives

Page 47: Conception de systèmes d’information :  une approche orientée service

Concepteur de SIConcepteur de SI Mise en œuvre du processus Mise en œuvre du processus

de compositionde composition

Outil de type workflowOutil de type workflow Gère et exécute des processus Gère et exécute des processus

entièrement définisentièrement définisRecherche de services

Concepteur de SI

<< include >>

Concepteur de services

Conception de services

Conception de méthodes

Formulation de la requête

Exécution d’une méthode

<< include >><< include >>

SO2M

But initial But initial

Gc et GpGc et Gp

RechercheRecherche CompositionComposition

ExploitationExploitationOutil de type workflow

<< système >>

Page 48: Conception de systèmes d’information :  une approche orientée service

Résultats majeurs :Résultats majeurs :

Modèle de servicesModèle de services méthode (description des services méthode (description des services méthode)méthode)

Ontologies de tâchesOntologies de tâches (spécification des services et des (spécification des services et des requêtes)requêtes)

Processus de compositionProcessus de composition de services (assemblage dynamique) de services (assemblage dynamique)

RèglesRègles (nouvelle forme de conception de services) (nouvelle forme de conception de services)

Prototype SO2MXPrototype SO2MX

ConclusionConclusion Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception

dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives

Page 49: Conception de systèmes d’information :  une approche orientée service

Prise en compte du contexte dans l’expression de la Prise en compte du contexte dans l’expression de la requêterequête Affine la mise en correspondance entre les services et la Affine la mise en correspondance entre les services et la

requêterequête Pour augmenter le degré d’automatisationPour augmenter le degré d’automatisation

Assemblage des services pendant l’exécution de la Assemblage des services pendant l’exécution de la méthodeméthode Prend en compte l’état du déroulement du projet pour Prend en compte l’état du déroulement du projet pour

sélectionner sélectionner les servicesles services Pour augmenter le degré d’adaptabilité/flexibilitéPour augmenter le degré d’adaptabilité/flexibilité

Enrichissement dynamique des ontologiesEnrichissement dynamique des ontologies Ajout de nouveaux termes pendant Ajout de nouveaux termes pendant l’expression des l’expression des

requêtes…requêtes… Pour augmenter le degré d’automatisation du processusPour augmenter le degré d’automatisation du processus

PerspectivesPerspectives Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception

dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives

Page 50: Conception de systèmes d’information :  une approche orientée service

MERCIMERCI