2006 These S Izza
2006 These S Izza
2006 These S Izza
THESE
présentée par
Saïd IZZA
Spécialité : Informatique
Membres du jury
● Enseignants-chercheurs et chercheurs autorisés à diriger des thèses de doctorat (titulaires d’un doctorat d’Etat ou d’une HDR)
Glossaire : Centres :
ii
iii
iv
N° d’ordre : 418 I
THESE
présentée par
Saïd IZZA
Spécialité : Informatique
Membres du jury
v
● Spécialités doctorales : Responsables :
● Enseignants-chercheurs et chercheurs autorisés à diriger des thèses de doctorat (titulaires d’un doctorat d’Etat ou d’une HDR)
Glossaire : Centres :
vi
Remerciements
Il me serait impossible de citer nommément toutes les personnes qui m'ont aidé,
encouragé et soutenu afin que ce travail puisse voir le jour. Que toutes ces personnes
trouvent ici l'expression de ma sincère reconnaissance.
Je tiens tout d'abord à remercier vivement Monsieur Hervé PINGAUD, Professeur à
l'Ecole des Mines d'Albi, pour m'avoir fait l'honneur d'accepter d'examiner mes travaux
et de présider le jury de ma soutenance de thèse.
Je tiens aussi à remercier particulièrement Monsieur François VERNADAT, professeur à
l'université de Metz, et Monsieur Michel SCHNEIDER, professeur à l'université de
Clermont-Ferrand, pour avoir accepté d’être rapporteurs de cette thèse. Je leur suis
reconnaissant pour leur lecture attentive ainsi que pour les critiques et suggestions
constructives qu’ils ont faites sur ce travail.
Je suis très reconnaissant envers Monsieur Pierre LEBRUN, responsable de l'équipe
Architecture et Industrialisation du site Rousset de la société STMicroelectronics, et
Monsieur Hugues SOLIGNAC, architecte IT au sein de STMicroelectronics, d'avoir été
mes tuteurs industriels. Je les remercie pour leurs conseils, leur aide, leur disponibilité et
leur soutien tout au long de cette thèse.
Je remercie bien entendu mes tuteurs scientifiques, Monsieur Patrick BURLAT,
professeur à l'Ecole des Mines de Saint-Etienne, et Monsieur Lucien VINCENT, maître
de recherche à l'Ecole des Mines de Saint Etienne, pour avoir accepté de diriger mes
travaux de recherche. Leur aide, leur disponibilité, leurs conseils, et leur soutien durant
toute cette période, m'ont toujours redonné confiance et volonté. Qu'ils trouvent ici
l'expression de ma sincère reconnaissance et de ma profonde gratitude.
J'adresse un grand merci à Ali ZAIDAT, sans qui cette thèse n'aurait jamais lieu. Je
remercie aussi Hocine IHABCHIENNE et Rabah HARBANE qui n'ont toujours soutenu.
Je tiens aussi à remercier tous les membres du laboratoire G2I et du CMP de Gardanne.
Je remercie vivement Monsieur Philippe COLLOT, directeur du CMP qui m'a accueilli
chaleureusement au sein de son centre tout au long de la durée de ma thèse. Je remercie
particulièrement Monsieur Stéphane DAUZERE-PERES responsable du département
SFL du CMP, où j'ai élu domicile. Je le remercie pour sa disponibilité et toute l'aide qu'il
m'a apportée. Je remercie aussi tous les membres de SFL avec qui j'ai partagé de beaux
moments de bonheur. Un grand merci à Hassan ETTALEB, avec qui j'ai surmonté, avec
bonheur, les longs bouchons de l'autoroute A7 et A51. Merci aussi à tous les doctorants
du CMP.
J'adresse également tous mes remerciements à tous les membres de l'équipe "Architecture
& Industrialisation" de ST Rousset. Un grand merci à Julie Chapron qui a initié le projet
d'intégration et d'urbanisation du système d'information au sein de STMicroelectronics,
grâce à ses travaux sur l'urbanisme organisationnel.
Je n'omettrais pas de remercier tous mes amis de Marseille avec qui j'ai partagé de très
beaux moments de bonheur. Je cite entre autres: Philomène DOURMIAN, Anais
ARZOUMANIAN, Abderrahmane MALEK, Djamel BERKANE. Enfin je remercie ma
famille qui me manque tant. Il s'agit en particulier de ma femme Malika, de mon fils
Sifaks, et de ma mère Fetta. Je remercie aussi tous mes frères et sœurs, mes beaux
parents (Amar et Fathma BENZABA), mes beaux frères, mes belles sœurs et mes
neveux, et aussi tous mes amis et cousins de Tizi-Ouzou qui m'ont soutenu en toutes
circonstances.
vii
À ma mère Fetta
À ma femme Maly et mon fils Sifaks
À tous ceux qui me sont chers
ix
Résumé
Le domaine des systèmes d'information industriels s'est profondément transformé ces dernières
années sous l'influence de l'évolution des technologies logicielles (objets, composants, service
web, …), de l'évolution des technologies matérielles (loi de Moore), et aussi de l'évolution des
organisations (fusions, acquisitions, mondialisation). Conséquence de tous ces facteurs, les
systèmes d'information deviennent de plus en plus complexes et hétérogènes qu'il convient alors
d'intégrer afin de les faire communiquer et les faire coopérer. Il s'agit du problème d'intégration
des systèmes d'information. Notre travail s'inscrit dans cette problématique, et plus précisément
dans le cadre de l'intégration sémantique de systèmes d'information de grandes entreprises
industrielles. Il propose une approche flexible basée sur les services sémantiques, en combinant
à la fois les ontologies et les Services Web.
Après avoir exposé la problématique, nous avons présenté les différentes techniques
d'intégration des systèmes d'information industriels. L'analyse de l'état de l'art nous a permis de
retenir deux niveaux d'intégration: l'intégration syntaxique et l'intégration sémantique. Cette
dernière constitue un problème crucial de l’intégration des systèmes d'information. Jusqu'à
présent, ce problème n’est toujours pas correctement traité. Les solutions actuelles se focalisent
plutôt sur les techniques d’intégration syntaxique. La prise en compte de l’aspect sémantique
peut promouvoir l'intégration en lui apportant plus de consistance et de flexibilité.
En nous focalisant sur les services sémantiques, nous avons constaté un certain nombre de
lacunes dont l'inadéquation des architectures actuelles des ontologies à capturer de façon
flexible et efficace la sémantique des applications industrielles, le manque de méthodologie à
mettre en œuvre pour définir les ontologies et aussi les services sémantiques, le manque
d'approches de découverte et de médiation de services dans le contexte intra-entreprise, et la
complexité inhérente à l'utilisation des technologies associées à l'exploitation de la sémantique.
Partant de ce constat, nous avons alors proposé une approche flexible d'intégration des
applications industrielles qui s'intitule ODSOI (Ontology-Driven Service-Oriented Integration).
Cette approche se focalise principalement sur trois sous-problématiques complémentaires qui
sont respectivement la construction d'une architecture de services (PSyn) permettant de définir et
de structurer les services d'entreprise, la construction d'une architecture sémantique (PSem)
permettant de définir et de structurer les ontologies d'entreprise servant à enrichir
sémantiquement les services d'entreprise, et la construction d'une architecture d'intégration (PInt)
permettant d'offrir des mécanismes d'intégration basés sur la sémantique. Notre approche repose
sur trois principes majeurs qui sont l'ouverture, l'unification et l'urbanisation. Le principe
d'ouverture impose de s'inscrire dans le cadre d'utilisation de standards industriels tels que
WSDL et OWL. Le principe d'unification permet d'uniformiser les composants du système
d'information. Et en dernier lieu, le principe d'urbanisation permet de mieux structurer
l'architecture des services, l'architecture sémantique et aussi l'architecture d'intégration.
Nous basant sur ces trois architectures, nous avons implémenté un prototype permettant de
créer, de gérer, et de mettre en œuvre des projets d'intégration. Nous avons enfin réalisé diverses
expérimentations portant sur le domaine de la maintenance préventive en milieu industriel.
xi
Abstract
Over the last decade, the field of industrial information systems was deeply transformed under
the influence of the evolution of software technologies (objects, components, web services,…),
the evolution of hardware technologies (Moore law), and also the evolution of organisations
(fusions, acquisitions, globalisation). Consequently, the information systems became more and
more complex and heterogeneous. Those need to be integrated in order to make them
communicate and cooperate. It is the problem of information system integration. This work
treats this latter problem and precisely the semantic integration one. It proposes a flexible
approach that is based on semantic services and that combines both ontologies and web services
in order to overcome some issues related to the semantic integration problem.
After having exposed our research problematic, we reviewed the most important related works
that concern the integration of industrial information systems. The analysis of the state of the art
let us to consider mainly two integration levels: syntactic and semantic integration. This latter
constitutes a crucial problem that is not is not correctly addressed by today's integration
solutions that focus mainly on the syntactical integration. Addressing the semantic aspect will
promote the integration by providing it more consistency and robustness.
Focalising our work on semantic services, that constitute the most efficient and flexible
approaches that deal with semantic integration, allowed us to note some important limitations
that are mainly: the discrepancy of current ontology architectures to correctly capture the
semantics of industrial applications, the lack of methodologies in order to build ontologies and
also semantic services, the lack of pertinent discovery and mediation approaches for intra-
entreprise integration issues, and the complexity of the technologies related to the exploitation
of the enterprise semantics.
Thus, we have proposed a flexible approach for integrating industrial applications that is named
ODSOI (Ontology-Driven Service-Oriented Integration). This approach focuses on three
complementary problematics that are respectively: the building of the architecture of enterprise
services (PSyn) that defines and structures enterprise services, the building of the semantic
architecture (PSem) that semantically describes enterprise services, and the building of the
integration architecture (PInt) that defines integration mechanism based on enterprise semantics.
Our approach is based on three major principles that are openness, unification and urbanisation.
First, the openness principle imposes us to use and to conform to industrial standards such as
WSDL and OWL. Second, the unification principle allows to make information system
components uniform. Third, the urbanisation principle allows to correctly structuring the service
architecture, the semantic architecture and also the integration architecture.
Basing on these three complementary architectures, we implement a prototype that creates,
manages and exploits integration projects. Finally, we led various experimentations of the
prototype that concern the domain of preventive maintenance within an industrial enterprise.
xiii
Sommaire
xv
Chapitre III. Intégration Syntaxique des Systèmes d'Information
Industriels...............................................................................................- 35 -
III.1. INTRODUCTION ........................................................................................................................... - 35 -
III.2. TYPOLOGIE DES TECHNIQUES D'INTEGRATION SYNTAXIQUE ....................................................... - 35 -
III.3. TECHNIQUES AD HOC DE CONVERSION ........................................................................................ - 37 -
III.4. TECHNIQUES DE STANDARDISATION DES REPRESENTATIONS ...................................................... - 37 -
III.4.1. Modèles standardisés.........................................................................................................- 37 -
III.4.2. Echanges standardisés.......................................................................................................- 42 -
III.5. INTERGICIELS ............................................................................................................................. - 44 -
III.5.1. Définition ...........................................................................................................................- 44 -
III.5.2. Typologie des principaux intergiciels ................................................................................- 46 -
III.5.3. Intergiciels d'accès aux bases de données .........................................................................- 46 -
III.5.4. Intergiciels d'appels de procédures à distance ..................................................................- 49 -
III.5.5. Intergiciels orientés composants........................................................................................- 51 -
III.5.6. Intergiciels orientés messages ...........................................................................................- 54 -
III.5.7. Intergiciels orientés transactions.......................................................................................- 57 -
III.5.8. Serveurs d'applications ......................................................................................................- 58 -
III.6. INTEGRATION D'APPLICATIONS D'ENTREPRISE (EAI) .................................................................. - 59 -
III.7. GESTION DES PROCESSUS (BPM)................................................................................................ - 60 -
III.8. ARCHITECTURES DE SERVICES (SOA)......................................................................................... - 62 -
III.8.1. Notion de service................................................................................................................- 62 -
III.8.2. Architecture Orientée services...........................................................................................- 62 -
III.8.3. Services Web ......................................................................................................................- 63 -
III.8.4. Principaux standards des services Web .............................................................................- 64 -
III.8.5. Bus de services d'entreprise (ESB) ....................................................................................- 69 -
III.9. INGENIERIE A BASE DE MODELES (MDA).................................................................................... - 70 -
III.9.1. Définition ...........................................................................................................................- 70 -
III.9.2. Principe..............................................................................................................................- 71 -
III.9.3. Intégration à base de modèles............................................................................................- 71 -
III.10. DISCUSSIONS ............................................................................................................................ - 72 -
III.11. CONCLUSION ............................................................................................................................ - 74 -
xvi
IV.3.6. Discussions ...................................................................................................................... - 103 -
IV.4. ARCHITECTURES DES ONTOLOGIES POUR L'INTEGRATION ........................................................ - 103 -
IV.4.1. Approche mono-ontologie................................................................................................ - 103 -
IV.4.2. Approche multi-ontologies............................................................................................... - 104 -
IV.4.3. Approche hybride............................................................................................................. - 104 -
IV.4.4. Discussions ...................................................................................................................... - 105 -
IV.5. INTEGRATION DES ONTOLOGIES ............................................................................................... - 106 -
IV.5.1. Hétérogénéité des ontologies ........................................................................................... - 106 -
IV.5.2. Processus d'intégration des ontologies ............................................................................ - 108 -
IV.5.3. Approches d'intégration des ontologies ........................................................................... - 109 -
IV.5.4. Mapping d'ontologies....................................................................................................... - 110 -
IV.5.5. Discussions ...................................................................................................................... - 121 -
IV.6. INTEGRATION SEMANTIQUE DES APPLICATIONS ....................................................................... - 121 -
IV.6.1. Intégration sémantique par les données .......................................................................... - 122 -
IV.6.2. Intégration par les traitements......................................................................................... - 123 -
IV.6.3. Intégration par les processus........................................................................................... - 124 -
IV.6.4. Discussions ...................................................................................................................... - 125 -
IV.7. INTEGRATION SEMANTIQUE DES SERVICES ............................................................................... - 125 -
IV.7.1. OWL-S.............................................................................................................................. - 126 -
IV.7.2. WSMF .............................................................................................................................. - 127 -
IV.7.3. WSMO.............................................................................................................................. - 128 -
IV.7.4. METEOR-S ...................................................................................................................... - 129 -
IV.7.5. IRS-II................................................................................................................................ - 131 -
IV.7.6. Discussions ...................................................................................................................... - 132 -
IV.8. CONCLUSION ............................................................................................................................ - 135 -
xvii
Chapitre VI. Construction de l'Architecture de Services d'Entreprise
.. ............................................................................................................ - 153 -
VI.1. INTRODUCTION ......................................................................................................................... - 153 -
VI.2. PRINCIPES MAJEURS ................................................................................................................. - 154 -
VI.3. MODELISATION DES SERVICES D'ENTREPRISE ........................................................................... - 155 -
VI.3.1. Spécialisation du modèle SOA de base ............................................................................- 156 -
VI.3.2. Notion de service et de service d'entreprise .....................................................................- 157 -
VI.3.3. Typologie de services d'entreprise ...................................................................................- 158 -
VI.4. DEMARCHE DE CONSTRUCTION DE LA SOA.............................................................................. - 162 -
VI.4.1. Approche de construction de la SOA métier ....................................................................- 163 -
VI.4.2. Démarche globale de construction de la SOA métier ......................................................- 163 -
VI.4.3. Exposer les composants en services informatiques..........................................................- 164 -
VI.4.4. Définir les services métier................................................................................................- 165 -
VI.4.5. Urbaniser les services métier ...........................................................................................- 167 -
VI.4.6. Publier les services fondamentaux ...................................................................................- 168 -
VI.5. URBANISATION ORIENTEE SERVICE DES SII.............................................................................. - 169 -
VI.5.1. Nature du problème d'urbanisation orientée services......................................................- 169 -
VI.5.2. Similarité des services......................................................................................................- 171 -
VI.5.3. Détermination des clusters de services ............................................................................- 174 -
VI.5.4. Exemple simplifié d'urbanisation .....................................................................................- 178 -
VI.6. CONCLUSION ............................................................................................................................ - 182 -
xviii
Chapitre VIII. Construction de l'Architecture d'Intégration
d'Entreprise .........................................................................................- 225 -
VIII.1. INTRODUCTION ...................................................................................................................... - 225 -
VIII.2. PRINCIPES MAJEURS............................................................................................................... - 226 -
VIII.3. DESCRIPTION GENERALE DE L'AIE ........................................................................................ - 227 -
VIII.3.1. Architecture globale de l'AIE ........................................................................................ - 227 -
VIII.3.2. Processus générique d'intégration ................................................................................ - 228 -
VIII.4. DESCRIPTION DETAILLEE DE L'AIE........................................................................................ - 231 -
VIII.4.1. Intermédiation et gestion du processus d'intégration.................................................... - 231 -
VIII.4.2. Publication de services d'entreprise.............................................................................. - 237 -
VIII.4.3. Découverte de services d'entreprise .............................................................................. - 239 -
VIII.4.4. Médiation de services d'entreprise ................................................................................ - 251 -
VIII.5. CONCLUSION ......................................................................................................................... - 268 -
PARTIE 3 - PROTOTYPAGE
Chapitre IX. Implémentation et Expérimentation ..........................- 273 -
IX.1. INTRODUCTION......................................................................................................................... - 273 -
IX.2. OBJECTIFS PRINCIPAUX DU PROTOTYPE .................................................................................... - 273 -
IX.3. IMPLEMENTATION DU PROTOTYPE ............................................................................................ - 274 -
IX.3.1. Fonctionnalités du prototype ........................................................................................... - 274 -
IX.3.2. Architecture générale du prototype ................................................................................. - 275 -
IX.3.3. Module de conception (design-time)................................................................................ - 279 -
IX.3.4. Module d'exécution (run-time)......................................................................................... - 293 -
IX.4. EXPERIMENTATION .................................................................................................................. - 297 -
IX.4.1. Etude de cas - STMicroelectronics .................................................................................. - 298 -
IX.4.2. Construction de l'architecture de services d'entreprise ................................................... - 301 -
IX.4.3. Construction de la couche d'ontologies ........................................................................... - 310 -
IX.4.4. Utilisation de la couche d'intégration.............................................................................. - 317 -
IX.5. CONCLUSION ............................................................................................................................ - 323 -
xix
LISTE DES FIGURES
xxi
Figure III.30. Principe de l'EAI (adapté de [Chevassus 2005])................................................................ - 59 -
Figure III.31. Architecture des outils EAI (adapté de [Chevassus 2005])................................................ - 60 -
Figure III.32. Principe d'intégration par le BPM [Johannesson et Perjons 2001] .................................... - 61 -
Figure III.33. Principe des SOA (adapté de [Kadima et Monfort 2003])................................................. - 63 -
Figure III.34. Principaux standards des Services Web............................................................................. - 64 -
Figure III.35. Structure d'un message SOAP [W3C 2001] ...................................................................... - 64 -
Figure III.36. Extrait du méta-modèle WSDL ......................................................................................... - 65 -
Figure III.37. Extrait du méta-modèle UDDI........................................................................................... - 67 -
Figure III.38. Extrait du méta-modèle BPEL4WS ................................................................................... - 68 -
Figure III.39. Principaux standards des Services Web (Adapté de [Erl 2004]) ....................................... - 69 -
Figure III.40. Architecture d'un ESB [Lublinsky 2003]........................................................................... - 70 -
Figure III.41. Le Model-Driven Architecture .......................................................................................... - 71 -
Figure III.42. Processus MDA ................................................................................................................. - 71 -
Figure III.43. Principe de l'intégration à base de modèles ....................................................................... - 72 -
Figure IV.1. Typologie des conflits sémantiques (adapté de [Kavouras 2003]) ...................................... - 77 -
Figure IV.2. L'ontologie de l’être selon Aristote [Psyché et al. 2003] ..................................................... - 79 -
Figure IV.3. Spectre couvert par les ontologies [Smith et Welty 2001] .................................................. - 80 -
Figure IV.4. L'exemple des cubes [Gandon 2002]................................................................................... - 81 -
Figure IV.5. Classification des ontologies selon le niveau de granularité................................................ - 85 -
Figure IV.6. Classification des ontologies selon le niveau de formalité .................................................. - 86 -
Figure IV.7. Cycle de vie ontologique de EU-NSF [EU-NSF 2002] ....................................................... - 87 -
Figure IV.8. Cycle de vie global d'une ontologie [Dieng et al. 2001]...................................................... - 88 -
Figure IV.9. Cycle de vie de Fernandez & al [Fernandez et al. 1997] ..................................................... - 88 -
Figure IV.10. Cycle de vie fusionné [Gandon 2002] ............................................................................... - 88 -
Figure IV.11. La méthode d'Uschold et King [OntoWeb 2002] .............................................................. - 91 -
Figure IV.12. La méthodologie de Grüninger et Fox [OntoWeb 2002]................................................... - 91 -
Figure IV.13. Les composantes de Methontology [OntoWeb 2002] ....................................................... - 92 -
Figure IV.14. Langages, et outils (adapté de [Corcho et al. 2003]) ......................................................... - 93 -
Figure IV.15. L'outil open source Protégé 2000 ...................................................................................... - 95 -
Figure IV.16. Exemple de représentation avec les graphes conceptuels.................................................. - 97 -
Figure IV.17. Extrait du méta-modèle DL ............................................................................................... - 97 -
Figure IV.18. Exemple de représentation en KIF .................................................................................... - 98 -
Figure IV.19. Pile des langages d'annotation d'ontologies....................................................................... - 99 -
Figure IV.20. Extrait du méta-modèle RDF [W3C-RDFS 2002]........................................................... - 100 -
Figure IV.21. Extrait du méta modèle OWL.......................................................................................... - 102 -
Figure IV.22. Approche mono-ontologie (adapté de [Wache et al. 2001])............................................ - 104 -
Figure IV.23. Approche multi-ontologies (adapté de [Wache et al. 2001]) ........................................... - 104 -
Figure IV.24. Approche hybride (adapté de [Wache et al. 2001]) ......................................................... - 105 -
Figure IV.25. Trois dimensions d’hétérogénéités conceptuelles [KnowledgeWeb 2004] ..................... - 107 -
Figure IV.26. Méthodologie d'intégration d'ontologies (adapté de [Kavouras 2003]) ........................... - 108 -
Figure IV.27. Principe du mapping d'ontologies [Interop 2005]............................................................ - 109 -
Figure IV.28. Principe de l'alignement d'ontologies [Interop 2005] ...................................................... - 109 -
Figure IV.29. Principe de la transformation d'ontologies [Interop 2005] .............................................. - 110 -
Figure IV.30. Principe de la fusion d'ontologies [Interop 2005]............................................................ - 110 -
Figure IV.31. Processus générique de mapping (adapté de [KnowledgeWeb 2004])............................ - 112 -
Figure IV.32. Processus de mapping d'ontologies [Bruijn et al. 2005] .................................................. - 113 -
Figure IV.33. Taxonomie des principales méthodes de mapping d'ontologies [KnowledgeWeb 2004] - 117 -
Figure IV.34. La nature des services web sémantiques [Cardoso 2006]................................................ - 126 -
xxii
Figure IV.35. Ontologie OWL-S [OWLSC 2004]..................................................................................- 126 -
Figure IV.36. Exemple de ServiceProfile [Cordoso 2006] .....................................................................- 127 -
Figure IV.37. Architecture WSMF [Fensel et Bussler 2002] .................................................................- 127 -
Figure IV.38. Architecture WSMO [WSMO 2005]................................................................................- 128 -
Figure IV.39. Un exemple de description avec WSML [Cardoso 2006] ................................................- 129 -
Figure IV.40. Architecture de METEOR-S [Meteor-s 2005] .................................................................- 130 -
Figure IV.41. Exemple de description WSDL-S [Meteor-s 2005]..........................................................- 131 -
Figure IV.42. Architecture IRS-II [Motta et al. 2003] ............................................................................- 132 -
Figure IV.43. Représentation d'une PSM dans IRS-II [Motta et al. 2003] .............................................- 132 -
Figure V.1. Les quatre sous-problématiques traitées ..............................................................................- 140 -
Figure V.2. Natures de flexibilité (Adapté de [Chelli 2003]) .................................................................- 143 -
Figure V.3. Modèle d'intégration (ODSOIM) en couches des applications industrielles .......................- 147 -
Figure V.4. Modèle d'intégration étendu des applications industrielles..................................................- 148 -
Figure V.5. Méta-modèle simplifié (ODSOIM2) pour l'intégration des applications industrielles ........- 148 -
Figure V.6. Vision générale du cadre d'intégration ODSOI ...................................................................- 149 -
Figure V.7. Vue globale de l'architecture ODSOIA ...............................................................................- 150 -
Figure V.8. Coupe transversale du bus ODESB .....................................................................................- 151 -
Figure V.9. Démarche méthodologique globale .....................................................................................- 152 -
Figure VI.1. La problématique PSyn ........................................................................................................- 153 -
Figure VI.2. L'architecture de services d'entreprise (ASE).....................................................................- 154 -
Figure VI.3. Principes majeurs de construction de l'architecture de services .........................................- 154 -
Figure VI.4. Le modèle de maturité associé aux SOA [Sonic el al. 2005] .............................................- 155 -
Figure VI.5.Méta-modèle SOA de base..................................................................................................- 156 -
Figure VI.6. Typologie des services d'entreprise selon la nature............................................................- 159 -
Figure VI.7.Principe de classification des services d'entreprise selon la granularité ..............................- 160 -
Figure VI.8. Visibilité des services d'entreprise .....................................................................................- 161 -
Figure VI.9. Dichotomie SOA métier – SOA IT ....................................................................................- 162 -
Figure VI.10. Démarche globale de construction de la SOA métier.......................................................- 164 -
Figure VI.11. Principe d'exposition en services informatiques...............................................................- 165 -
Figure VI.12. Principe de définition des services métier ........................................................................- 166 -
Figure VI.13. Clustérisation des services fonctionnels ...........................................................................- 167 -
Figure VI.14. Scénario d'intégration inter-clusters .................................................................................- 167 -
Figure VI.15. Principe de définition des référentiels logiques et physiques ...........................................- 168 -
Figure VI.16. Principe de fonctionnement du service de publication .....................................................- 169 -
Figure VI.17. Démarche de clustérisation ..............................................................................................- 170 -
Figure VI.18. Similarité des services ......................................................................................................- 171 -
Figure VI.19. Courbes de la fonction xi,j.................................................................................................- 174 -
Figure VI.20. Principe de la classification ascendante hiérarchique.......................................................- 176 -
Figure VI.21. Dendrogramme.................................................................................................................- 181 -
Figure VI.22. Exemple de cartographie des services d'entreprise...........................................................- 182 -
Figure VII.1. La problématique PSem.......................................................................................................- 183 -
Figure VII.2. Positionnement de la couche sémantique (AOE) ..............................................................- 184 -
Figure VII.3. Principes majeurs de construction de l'architecture d'ontologies ......................................- 185 -
Figure VII.4. Méta-ontologie générique de sémantification des services d'entreprise............................- 187 -
Figure VII.5. Description générale du modèle sémantique d'entreprise .................................................- 188 -
Figure VII.6. Les différents niveaux d'utilisation des ontologies ...........................................................- 190 -
Figure VII.7. Principe d'utilisation de l'ontologie de service d'entreprise...............................................- 191 -
Figure VII.8. Ontologie de description de service d'entreprise...............................................................- 191 -
xxiii
Figure VII.9.Ontologie OWL-S ............................................................................................................. - 192 -
Figure VII.10. Ontologie de profil de service ........................................................................................ - 193 -
Figure VII.11. Ontologie de modèle de service ..................................................................................... - 194 -
Figure VII.12. Ontologie de grounding de service................................................................................. - 196 -
Figure VII.13. Ontologie de ressource de service .................................................................................. - 196 -
Figure VII.14. Ontologie de service d'entreprise (OWL-S+) ................................................................. - 197 -
Figure VII.15. Ontologie de service fondamental d'entreprise............................................................... - 198 -
Figure VII.16. Ontologie de cluster de service ...................................................................................... - 199 -
Figure VII.17. Ontologie de visibilité des services d'entreprise............................................................. - 200 -
Figure VII.18. Ontologie de service brokering ...................................................................................... - 201 -
Figure VII.19. Ontologie de profil de service fondamental ................................................................... - 202 -
Figure VII.20. Ontologie fondamentale de l'entreprise (OBE) .............................................................. - 203 -
Figure VII.21. Ontologie métier d'entreprise (OME)............................................................................. - 204 -
Figure VII.22. Ontologie organisationnelle d'entreprise (OOE) ............................................................ - 204 -
Figure VII.23. Ontologie fonctionnelle d'entreprise (OFE) ................................................................... - 205 -
Figure VII.24. Ontologie informatique d'entreprise (OIE)..................................................................... - 206 -
Figure VII.25. Ontologie d'application d'entreprise (OAE) ................................................................... - 207 -
Figure VII.26. Ontologie logicielle d'entreprise (OLE) ......................................................................... - 207 -
Figure VII.27. Ontologie de données d'entreprise (ODE)...................................................................... - 208 -
Figure VII.28. Ontologie technique d'entreprise (OTE)......................................................................... - 209 -
Figure VII.29. Méta-ontologie d'entreprise (MOE) ............................................................................... - 210 -
Figure VII.30. Principe d'urbanisation des ontologies ........................................................................... - 212 -
Figure VII.31. Principe de Structuration des ontologies ........................................................................ - 213 -
Figure VII.32. Urbanisation sémantique typique ................................................................................... - 214 -
Figure VII.33. Démarche globale de construction du modèle sémantique............................................. - 216 -
Figure VII.34. Approche de construction des ontologies fondamentales............................................... - 218 -
Figure VII.35. Ontologie de mappings syntaxiques............................................................................... - 220 -
Figure VII.36. Ontologie de mappings sémantiques .............................................................................. - 221 -
Figure VII.37. Liaisons entre l'ontologie de service OWL-S+ et les ontologies d'entreprise................. - 222 -
Figure VII.38. Mapping OWL-S+/WSDL ............................................................................................. - 223 -
Figure VIII.1. La problématique PInt ...................................................................................................... - 225 -
Figure VIII.2. Positionnement de la couche d'intégration (AIE)............................................................ - 226 -
Figure VIII.3. Principes majeurs de construction de l'architecture d'intégration ................................... - 227 -
Figure VIII.4. Architecture globale d'intégration................................................................................... - 228 -
Figure VIII.5. Vision globale du processus d'intégration....................................................................... - 229 -
Figure VIII.6. Les trois types d'utilisations typiques du cadre ODSOI.................................................. - 230 -
Figure VIII.7. Approches traditionnelles d'intégration de services ........................................................ - 232 -
Figure VIII.8. Architecture des services brokering................................................................................ - 233 -
Figure VIII.9. Structure d'un service brokering ..................................................................................... - 233 -
Figure VIII.10. Taxonomie des principales requêtes ............................................................................. - 236 -
Figure VIII.11. Logique de fonctionnement du service brokering......................................................... - 237 -
Figure VIII.12. Référentiels logiques et référentiels physiques ............................................................. - 238 -
Figure VIII.13. Principe de fonctionnement du service de publication.................................................. - 239 -
Figure VIII.14. Principe de l'algorithme de comparaison ...................................................................... - 242 -
Figure VIII.15. Logique générale de fonctionnement de l'algorithme de comparaison ......................... - 243 -
Figure VIII.16. Tracé de la courbe de la fonction de similarité (vue 1) ................................................. - 247 -
Figure VIII.17.Tracé de la courbe de la fonction de similarité (vue 2) .................................................. - 248 -
Figure VIII.18. Tracé de la courbe de la fonction de similarité (vue 3) ................................................. - 248 -
xxiv
Figure VIII.19. Un fragment d'ontologie [Srinivasan et al. 2006] ..........................................................- 249 -
Figure VIII.20. Principe général de fonctionnement du service de découverte ......................................- 250 -
Figure VIII.21. Principe de médiation traditionnelle de données ...........................................................- 252 -
Figure VIII.22. Formalisation des entités sémantiques...........................................................................- 254 -
Figure VIII.23. Principe de la médiation de données..............................................................................- 257 -
Figure VIII.24. Approche Stratifiée du Processus de Médiation de Données.........................................- 258 -
Figure VIII.25. Principe du service de médiation de données ................................................................- 260 -
Figure VIII.26. Processus global du service de médiation de données...................................................- 261 -
Figure VIII.27. Principe de la médiation fonctionnelle ..........................................................................- 266 -
Figure VIII.28. Principe du service de médiation fonctionnelle .............................................................- 266 -
Figure VIII.29. Processus global de la médiation fonctionnelle .............................................................- 267 -
Figure IX.1. Objectifs du prototype ........................................................................................................- 274 -
Figure IX.2. Diagramme des cas d'utilisation .........................................................................................- 276 -
Figure IX.3. Architecture générale du prototype ...................................................................................- 278 -
Figure IX.4. Arborescence du projet d'intégration..................................................................................- 280 -
Figure IX.5. Structure du référentiel ODSOIF .......................................................................................- 281 -
Figure IX.6. Fragment du fichier OWL du référentiel ODSOIF.............................................................- 281 -
Figure IX.7. Interface de gestion des services d'entreprise .....................................................................- 282 -
Figure IX.8. Interface de gestion des référentiels de services.................................................................- 282 -
Figure IX.9. Extrait de code pour l'implémentation de la publication syntaxique ..................................- 283 -
Figure IX.10. Interface de gestion des composants de base....................................................................- 284 -
Figure IX.11. Interface pour le calcul de similarité de services..............................................................- 284 -
Figure IX.12. Interface du module de construction d'ontologies fondamentales ....................................- 285 -
Figure IX.13. Exemple d'éditeur externe pour la construction de l'ontologie fondamentale ..................- 286 -
Figure IX.14. Interface de gestion des mappings syntaxe-sémantique ...................................................- 287 -
Figure IX.15. Interface de gestion des mappings sémantiques ...............................................................- 287 -
Figure IX.16. Construction de OWL-S+.................................................................................................- 288 -
Figure IX.17. Visualisation et création manuelle de descriptions sémantiques ......................................- 289 -
Figure IX.18. Interface du service de description sémantique des services fondamentaux ....................- 290 -
Figure IX.19. Interface pour la publication sémantique..........................................................................- 291 -
Figure IX.20. Fragment de code des Java Beans pour la gestion du référentiel d'ontologies .................- 291 -
Figure IX.21. Extrait du code de publication d'une ontologie de service ...............................................- 292 -
Figure IX.22. Extrait du code de récupération de l'ontologie de service ................................................- 292 -
Figure IX.23. Interface du service brokering ..........................................................................................- 293 -
Figure IX.24. Module de découverte sémantique de services.................................................................- 294 -
Figure IX.25. Calcul de l'indice de similarité entre deux concepts.........................................................- 295 -
Figure IX.26. Extrait de code du module de médiation de données .......................................................- 296 -
Figure IX.27. Extrait du code du module de médiation fonctionnelle ....................................................- 297 -
Figure IX.28. Architecture applicative du système ciblé ........................................................................- 298 -
Figure IX.29. Environnement technique utilisé pour la construction des services .................................- 302 -
Figure IX.30. Extrait du référentiel correspondant à la SOA-métier ......................................................- 307 -
Figure IX.31. Matrice des degrés de similarité de services ....................................................................- 308 -
Figure IX.32. Dendrogramme obtenu .....................................................................................................- 308 -
Figure IX.33. Cartographie des services d'entreprise..............................................................................- 309 -
Figure IX.34. Extrait du référentiel UDDI (API find_service) ...............................................................- 309 -
Figure IX.35. Extrait de l'ontologie de données locale (MaintenanceTaskDistrict) ...............................- 310 -
Figure IX.36. Extrait de l'ontologie de données locale (MaintenanceOperatorDistrict) .........................- 311 -
Figure IX.37. Extrait de l'ontologie de données de domaine (MaintenanceArea) ..................................- 311 -
xxv
Figure IX.38. Extrait de l'ontologie fonctionnelle locale (MaintenanceTaskDistrict) ........................... - 312 -
Figure IX.39. Extrait de l'ontologie fonctionnelle locale (MaintenanceOperatorDistrict) ..................... - 312 -
Figure IX.40. Extrait de l'ontologie fonctionnelle de domaine (MaintenanceArea) .............................. - 313 -
Figure IX.41. Un extrait de l'ontologie de mapping syntaxique............................................................. - 313 -
Figure IX.42. Extrait de l'ontologie de mapping sémantique................................................................. - 314 -
Figure IX.43. Extrait de l'ontologie de profil de service fondamental complétée .................................. - 315 -
Figure IX.44. Extraits de profils d'ontologies d'entreprise..................................................................... - 316 -
Figure IX.45. Scénario typique d'utilisation du module run-time d'intégration ..................................... - 318 -
Figure IX.46. Découverte de services d'entreprise................................................................................. - 319 -
Figure IX.47. Expérimentation de la médiation de services .................................................................. - 322 -
xxvi
LISTE DES TABLEAUX
Tableau II.1. Principaux progiciels en fonction du niveau de l'entreprise [Toublant et al. 2002].............- 19 -
Tableau III.1. Les différents types d'utilisation d'un UDDI ......................................................................- 66 -
Tableau III.2. Principales technologies d'interopérabilité syntaxique.......................................................- 73 -
Tableau IV.1. Évaluation des approches ontologiques [Wache et al. 2001]...........................................- 105 -
Tableau IV.2. Panorama des principaux outils de mapping (adapté de [KnowledgeWeb 2004])...........- 119 -
Tableau IV.3. Récapitulatif des principales approches de services sémantiques....................................- 133 -
Tableau VI.1. Exemple de collection de services d'entreprise................................................................- 178 -
Tableau VI.2. Calcul des coefficients nij et nj .........................................................................................- 179 -
Tableau VI.3. Calcul des coefficients xij.................................................................................................- 179 -
Tableau VI.4. Calcul de xkT xl ................................................................................................................- 180 -
Tableau VI.5. Calcul de cos( x k , xl ) ....................................................................................................- 180 -
Tableau VI.6. Matrice de similarité de services.....................................................................................- 181 -
Tableau VII.1. Correspondance ontologies et vues d'entreprise .............................................................- 189 -
Tableau VIII.1. Articulation entre les niveaux d'intégration et les couches de notre approche ..............- 230 -
Tableau VIII.2. Exemple d'évaluation de l'indice global de similarité (simglobal)....................................- 249 -
Tableau IX.1. Définition des services applicatifs ...................................................................................- 303 -
Tableau IX.2. Services fonctionnels issus de TpmCenter.......................................................................- 304 -
Tableau IX.3. Services fonctionnels issus de TracerTrack .....................................................................- 306 -
xxvii
INTRODUCTION
Chapitre I
INTRODUCTION
à la définition de l'entité "client". Pour certains, un "client" est quelqu'un qui a déjà
acheté des produits à l'entreprise. Pour d'autres, un "client" est une personne ayant
manifesté des intérêts quelconques pour les produits de l'entreprise. L'existence de
problèmes liés à la sémantique est une évidence dès lors que l'on dispose de plusieurs
systèmes hétérogènes. Il devient vital que l'identification de ces conflits, puis leur
résolution se fasse le plutôt possible, de préférence dès les phases amont du projet
d'intégration.
La difficulté liée à la sémantique des données, des fonctions voire des processus tient du
fait qu'elle peut différer d'un système à un autre, en fonction du contexte d'utilisation. La
sémantique constitue un aspect fondamental de l'intégration. Pour que cette intégration
puisse être menée avec succès, il est nécessaire que les différentes applications utilisées
puissent interpréter de la même manière les données échangées et les fonctions
réutilisées. Les conflits sémantiques surviennent lorsque, par exemple, l'information
change de sens en fonction du contexte. La résolution des hétérogénéités sémantiques
nécessite la mise en place de mécanismes de découverte et de médiation basées sur la
sémantique. Le même raisonnement tient pour l'interopérabilité des systèmes, qui est
actuellement au cœur des solutions dites faiblement couplées pour l'intégration
d'entreprise.
Bien qu’il existe à l'heure actuelle certains efforts dans le domaine de l'intégration ou de
l'interopérabilité sémantique (par exemple OWL-S, METEOR-S et WSMO), il n'en
demeure pas moins que la plupart de ces initiatives sont en cours de développement
et/ou manquent de maturité. Par conséquent, l’intégration sémantique constitue une
problématique toujours ouverte, aussi bien dans le contexte de l’intégration intra-
entreprise que dans le contexte de grandes entreprises caractérisées par un
environnement dynamique. En particulier, l'intégration sémantique apparaît comme un
réel besoin dans le contexte spécifique de notre projet industriel qui concerne une
grande entreprise (STMicroelectronics) du secteur de la microélectronique, secteur par
ailleurs caractérisé par de fréquentes évolutions liées en grande partie aux changements
fréquents de la technologie et de la stratégie déployée.
Cette thèse est réalisée dans le cadre d'une collaboration industrielle entre l'Ecole des
Mines de Saint-Étienne et la société STMicroelectronics. Elle s'inscrit dans la démarche
d’intégration initiée par cette société pour répondre à une situation complexe, liée à la
fois à la complexité des processus technologiques, à l'hétérogénéité des applications
déployées et à la volonté de rendre le système d’information plus flexible et plus
cohérent. Elle complète la thèse qui vient de s'achever de Julie Chapron [Chapron 2006]
qui porte sur le management de l'évolution des systèmes d'information dans un
environnement réactif, et elle est complétée par la thèse en cours de Rahee Ghurbhurn
[Ghurbhurn et al. 2006] qui porte sur l'intégration sémantique des données.
Pour notre thèse, la collaboration portait sur le projet MiMISI (Microelectronics
Manufacturing Information System Integration) qui concerne la problématique
d'intégration d'applications industrielles dans le secteur de la microélectronique. Plus
précisément, le projet portait sur l'élaboration d'un cadre méthodologique global qui va
permettre de guider et d'aider les utilisateurs dans leur processus d'intégration
sémantique d'applications industrielles.
-4-
Chapitre I INTRODUCTION
Le projet MiMISI peut être considéré comme un projet pilote pour l'intégration
d'applications industrielles au sein de la société STMicroelectronics. Cette société est
une compagnie multinationale franco-italienne spécialisée dans la fabrication de
composants microélectroniques. Elle constitue l'un des leaders mondiaux dans la
fabrication des semi-conducteurs. Elle dispose de plus de 17 sites et environ 40 000
employés répartis dans près de 30 pays dans le monde et elle produit une panoplie de
3000 types de produits qu'elle livre à plus de 1500 clients. En plus de cette complexité
quantitative, l'entreprise est aussi dynamique et multidisciplinaire dans le sens où elle
comporte plusieurs domaines métiers hétérogènes et évolutifs, chacun d'eux comportant
une multitude d'applications hétérogènes. En outre, STMicroelectronics nécessite de la
flexibilité dans le but de mieux gérer les multiples changements qui sont fréquents dans
le domaine de la microélectronique et qui sont la conséquence de la loi de Moore1 qui
conduit ainsi à changer souvent de technologie de fabrication et donc souvent
d'applications servant de support à ces technologies.
Cette thèse est réalisée en collaboration avec le site de Rousset de la société
STMicroelectronics. Ce dernier est un site qui comprend deux usines de production ST6
et ST8 (et qui produisent respectivement des plaquettes de dimensions 6 et 8 mm) et des
ateliers de tests. Plus précisément, la collaboration s'est effectuée avec l'équipe
"Architecture et Industrialisation" qui est localisée au sein du département
"Manufacturing Application Systems". L'objectif de cette équipe est le développement
et le suivi des projets d'architecture et d'industrialisation des applications informatiques
supportant le manufacturing.
1
Rappelons que la loi de Moore (de l'ingénieur Gordon E. Moore) postule le doublement tous les dix huit mois des performances
des semi-conducteurs.
-5-
Chapitre I INTRODUCTION
Dans ses grandes lignes, la démarche adoptée pour notre travail est guidée par les
nombreuses questions issues des préoccupations de notre collaborateur industriel. Etant
donné que la problématique d'intégration est complexe, nous nous sommes efforcés tout
au long de cette thèse de prendre suffisamment de recul afin de proposer un cadre
méthodologique relativement global et suffisamment complet afin de mieux aider et
mieux guider les utilisateurs dans leur processus d'intégration.
Notre démarche de travail est essentiellement itérative et incrémentale du fait que nous
nous sommes basés sur un cycle spiral permettant de répondre progressivement à
chacun des sous-objectifs précédemment cités. Plus précisément, notre démarche repose
principalement sur les étapes suivantes :
- (i) étape de 'servicisation'2 ou de construction des services d'entreprise : qui définit
le modèle ainsi que la trajectoire de migration vers un système orienté services;
- (ii) étape de 'sémantification'3 ou d'enrichissement sémantique: qui permet de
définir un modèle sémantique et la trajectoire de migration du système orienté
services vers un système 'sémantifié';
- (iii) étape d'intégration: qui définit des mécanismes d'intégration basés sur la
sémantique pour intégrer des services d'entreprise.
Bien entendu, la réalisation de chacune des étapes précédentes nécessite un processus
complexe qui comprend principalement les phases suivantes : une phase préliminaire
de recherche bibliographique, une phase de recherche et enfin une phase
d'implémentation et d'expérimentation. Ces différentes phases sont très souvent menées
de façon itérative et incrémentale.
Cette thèse est structurée en trois grandes parties. La première partie porte sur l'état de
l'art en matière de techniques et démarches d'intégration et/ou d'interopérabilité des
2
Nous empruntons les anglicismes 'serviciser' et 'servicisation' pour désigner respectivement l'action et le processus de migration
vers une architecture de services d'entreprise.
3
Nous empruntons les anglicismes 'sémantifier' et 'sémantification' pour désigner respectivement l'action et le processus
d'enrichissement sémantique des services d'entreprise.
-6-
Chapitre I INTRODUCTION
-7-
PARTIE 1
ETAT DE L'ART
Chapitre II
LA PROBLEMATIQUE DE
L'INTEGRATION ET DE
ENTREPRISES INDUSTRIELLES
II.1. Introduction
L'intégration des systèmes d'information constitue de nos jours l'un des problèmes
complexes auxquels l'entreprise est confrontée. Au cœur de cette problématique se pose
entre autres le problème de l'interopérabilité. Les problèmes d'intégration et de
l'interopérabilité sont devenus aujourd’hui cruciaux car les applications composant les
systèmes d’information d'entreprise ont besoin de plus en plus de travailler ensemble.
Cela peut être dans le cadre intra-entreprise où il s'agit principalement d'interconnecter
diverses applications hétérogènes d'une même entreprise, ou dans le cadre inter-
entreprise pour faire communiquer des applications de plusieurs partenaires, ou encore
dans cadre des logiques de fusion-acquisition d'entreprises pour unifier les systèmes
d'information impliqués.
Ce chapitre a pour objet de présenter la problématique générale de l'intégration et de
l'interopérabilité des systèmes d'information. Après avoir présenté les systèmes
d'information d'entreprise et leurs caractéristiques générales, nous allons présenter de
façon macroscopique le concept d'intégration à travers les principales dimensions qu'il
présente et le situer par rapport au concept d'interopérabilité.
Dans cette section nous allons présenter d’une façon générale la notion de système
d'information d’entreprise ainsi que les principales caractéristiques des applications qui
composent ce système.
Chapitre II LA PROBLEMATIQUE DE L'INTEGRATION ET DE L'INTEROPERABILITE DANS LES ENTREPRISES INDUSTRIELLES
Signalons d'emblée que la notion de système d'information est liée à celle d'organisation.
Rappelons brièvement qu'une organisation est le siège d'activités les plus diverses visant
à créer de la valeur et dans laquelle l'information est considérée comme une essence et
une ressource vitale pour son fonctionnement. Dans le cadre de nos travaux, nous nous
intéressons aux entreprises et aux systèmes d'information d'entreprise.
Diverses définitions ont été données pour cette notion de système d'information. Nous
pouvons, cependant, retenir qu'un système d'information est un ensemble organisé de
ressources:
- matériels (machines informatiques, supports, ...)
- personnel (utilisateurs, informaticiens, ...)
- données (connaissances, modèles, …)
- logiciels et procédures (programmes informatique, des méthodes de travail, …)
permettant
- d'acquérir
- de traiter
- de stocker
- et de communiquer
des informations sous des formes variées au sein d'une entreprise [Reix 1995] (figure
II.1).
Système
d'Information
Logiciels et
Procédures Stocker des
(Programmes, méthodes, informations
…)
Données Communiquer
(Connaissances, Modèles,
…) des informations
- 12 -
Chapitre II LA PROBLEMATIQUE DE L'INTEGRATION ET DE L'INTEROPERABILITE DANS LES ENTREPRISES INDUSTRIELLES
Légende:
Légende:
::Information-Décision
Information-Décision
::Information-Représentation
Information-Représentation
E Système
Systèmedede ::Information-Interaction
Information-Interaction
N Pilotage
Pilotage ::Flux
Fluxexterne
externe
V
I
R
O
Système
Système
N
d'Information
d'Information
N
E
M
E
N Système
Système
T Opérant
Opérant
Figure II.2. Vue systémique d'un système d'information [Tardieu et al. 2002]
Cette vue systémique du système d'information est à l'origine même de la typologie des
Systèmes d'Information qui distingue selon leur finalité principale: des systèmes
d'information supports d'opérations (traitement de transaction, contrôle de processus
industriels, etc.) et des systèmes d'information supports de gestion (aide à la production
de rapports, aide à la décision, etc.) [Tessier 1995].
Il est fondamental de noter que l’informatique joue un très grand rôle dans la réalisation
des Systèmes d'Information. Aussi, il nous arrive souvent de confondre système
d'information et système informatique, négligeant souvent ainsi l’existence de Systèmes
d'Information manuels. Le Système Informatique ne représente en fait qu'une partie du
système d'information, plus précisément la partie automatisée du système d'information,
également appelée la partie TIC pour Technologie d'Information et de Communication
ou la partie IT pour Information Technology dans les pays anglo-saxons. Du point de
vue informatique, nous considérons un système d'information d'entreprise
principalement comme un ensemble d'applications (logiciels, bases de données) qui
équipent le système informatique de l'entreprise.
- 13 -
Chapitre II LA PROBLEMATIQUE DE L'INTEGRATION ET DE L'INTEROPERABILITE DANS LES ENTREPRISES INDUSTRIELLES
Application d'Entreprise
* 1
Contexte
Ressource utilise concerne
* *
Composant Applicatif
Ressource Humaine se décompose
* *
Ressource Matérielle fournit manipule
Manipulation
* *
Ressource Logicielle
Fonctionnalité Donnée
Typiquement, dans une entreprise de production, on peut classifier les applications selon
leur nature : progiciel ou application spécifique. Les progiciels sont des applications
achetées clés en main et qui peuvent être éventuellement adaptées au contexte
spécifique de l'entreprise. Les applications spécifiques, qui font généralement l’objet de
conception et développement internes, sont développées à façon et qui permettent de
4 4
Signalons que nous nous basons tout au long de ce chapitre et des chapitres suivants sur le formalisme UML pour représenter nos
différents modèles et méta-modèles. Aussi, le sens des symboles graphiques utilisés dans ces modèles est celui préconisé dans UML
2.0. En particulier, les flèches désignent la relation de spécialisation/généralisation entre classes, les arcs possédant un losange à
l'extrémité désignent des relations d'agrégation entre classes, et les arcs simples désignent les autres types de relations entre classes.
- 14 -
Chapitre II LA PROBLEMATIQUE DE L'INTEGRATION ET DE L'INTEROPERABILITE DANS LES ENTREPRISES INDUSTRIELLES
répondre à des fonctionnalités qui ne sont pas couvertes par les standards ou les
progiciels du marché.
Généralement au sein des entreprises de production, on peut trouver différents types de
progiciels qui sont :
- un PGI - pour Progiciel de Gestion Intégré (en anglais : ERP- Enterprise Resource
Planning) – permettant d'offrir des fonctions de base pour la gestion des stocks et
de la comptabilité de l'entreprise, etc.;
- une application de GRC - Gestion de la Relation Client (en anglais : CRM -
Customer Relationship Management) – qui regroupe toutes les fonctions
permettant d'intégrer les clients dans le système d'information de l'entreprise;
- une application de GCL - Gestion de la Chaîne Logistique (en anglais : SCM -
Supply Chain Management) qui regroupe toutes les fonctions permettant d'intégrer
les fournisseurs et la logistique au système d'information de l'entreprise;
- une application de GRH - Gestion des Ressources Humaines (en anglais : HRM –
Human Resource Management) - qui permet d'offrir toutes les fonctions permettant
la gestion du personnel de l'entreprise;
- une application de GDT - Gestion de Données Techniques (ou PDM - Product Data
Management) – qui permet d'offrir des fonctions d'aide au stockage et à la gestion
des données techniques, surtout utilisé par les bureaux d'études;
L’état de l’art actuel des systèmes d’information montre une certaine convergence en
matière d'architecture vers la structuration des applications selon trois tiers dénommés le
front-end, le middle-end et le back-end. Le front-end comprend l’ensemble des
applications qui interagissent directement avec l'utilisateur. Le back-end comprend les
applications liées aux systèmes de production de l'entreprise dans lesquels se concentre
la valeur ajoutée de l'entreprise. Le middle-end comprend l’ensemble des applications et
des technologies nécessaires pour interconnecter le front-end et le back-end.
De plus, l'état de l'art en matière d'architecture applicative propose de classifier les
applications selon trois principaux styles architecturaux en fonction de la structuration
physique des couches logiques d'une application (couche présentation, couche
applicative et couche données). Les différents styles architecturaux sont : 1-tier (qui
correspond aux situations d'applications monolithiques construites sur le principe d'un
niveau physique qui englobe les trois couches logiques), 2-Tiers (qui correspond aux
applications construites selon le mode client/serveur) et 3-tiers (qui implique une
séparation physique des trois couches logiques au sein des applications).
Au delà de ces typologies, il est généralement admis de classifier les applications
d'entreprise selon le mode de traitement des événements : mode par lot (différé) et mode
unitaire (immédiat). Ceci permet de distinguer [Manouvrier 2001]:
- les applications batch (AB) : qui sont les applications les plus anciennes et qui sont
conçues avec une philosophie d'application monolithique lourde et qui permettent
de traiter en différé un ensemble d'événements groupés dans des fichiers ou
éventuellement dans des bases de données;
- les applications transactionnelles (AT) : qui sont des applications qui permettent
de traiter les événements les uns après les autres et dont la plupart peuvent assurer
des interfaces avec les utilisateurs;
- les applications client/serveur (AC) : qui sont une forme évoluée des applications
transactionnelles et qui reposent sur le modèle client-serveur où une application
cliente peut contacter le serveur et lui envoyer des requêtes que le serveur traite
pour retourner ses réponses à l'application appelante;
- 15 -
Chapitre II LA PROBLEMATIQUE DE L'INTEGRATION ET DE L'INTEROPERABILITE DANS LES ENTREPRISES INDUSTRIELLES
- les applications web (AW) : qui sont une forme particulière d'applications
transactionnelles qui tournent sur une technologie web;
- et les applications au fil de l'eau (AF) : qui sont des applications relativement
récentes et essentiellement asynchrones qui utilisent des technologies de
messagerie inter-applications (MOM - Message Oriented Middleware - cf. §
III.5.6) pour communiquer avec d'autres applications. Elles fonctionnent selon des
logiques qui peuvent relever à la fois des modes batch et transactionnel.
Intergiciels:
RPC, proxies,
MOM, …
Modèles communs,
standards, adaptateurs, …
Hétérogénéité
tio ts
s
el
s a en
nn
ni m
g a ge
ie
or han
m
no
C
to
Au
A ces trois dimensions, certains auteurs comme [Singh et Huhns 2005] rajoutent une
autre dimension appelée dynamisme due au fait que les applications peuvent évoluer
avec le temps en fonction des évolutions et des changements qui s'opèrent dans leur
environnement.
II.2.3.1. L'autonomie
Les applications d'entreprise sont autonomes dans la mesure où elles peuvent être
conçues et exécutées indépendamment les unes des autres. Dans le contexte des bases
de données, [Özsu et Valduriez 1999] propose une classification de la notion
d'autonomie en définissant plusieurs aspects de cette notion :
- 16 -
Chapitre II LA PROBLEMATIQUE DE L'INTEGRATION ET DE L'INTEROPERABILITE DANS LES ENTREPRISES INDUSTRIELLES
II.2.3.3. L'hétérogénéité
L'hétérogénéité est une dimension inhérente au fait que les applications d'entreprise
peuvent être développées et déployées de façons indépendantes et selon des approches
et des méthodologies différentes. L'hétérogénéité peut survenir à différents niveaux et
pour des raisons multiples et on distingue principalement [Wiederhold 1992] :
- l'hétérogénéité technique : qui correspond aux différences présentes dans les
matériels et logiciels de base utilisés. L'hétérogénéité au niveau matériel
(hétérogénéité matérielle) comprend les différences liées aux ordinateurs et les
réseaux utilisés. L'hétérogénéité au niveau des logiciels de base (hétérogénéité de
plateforme) comprend les différences associées aux systèmes d'exploitation, aux
systèmes de gestion de bases de données, aux plateformes d'exécution, etc.;
- l'hétérogénéité syntaxique : qui correspond aux différences présentes dans les
format des données et des interfaces des applications (signature des fonctions). Par
exemple, dans un schéma de données, il existe un type de donnée
"Matricule_Emp" de type chaîne de caractères et dans un autre schéma on a le type
"Numéro_Emp" de type entier. Si ces deux types désignent la même chose (par
exemple, le matricule d'un employé), nous pouvons alors dire qu'il existe une
différence d'ordre syntaxique et qui peut être résolue par une transformation
syntaxique du schéma de données;
- l'hétérogénéité sémantique : qui correspond aux différences liées à l'interprétation
et au sens associé aux données et aux fonctions d'une application. Cette
hétérogénéité exprime le fait que le nom symbolique d'un concept peut être
interprété de façon différente suivant les applications considérées. Ces conflits
sémantiques se produisent principalement lorsque (1) un même nom symbolique
recouvre différents concepts (on parle alors dans ce cas d'homonymie), ou alors (2)
que plusieurs noms symboliques recouvrent le même concept (et on parle dans ce
cas de synonymie). Un exemple classique de problèmes sémantiques qui peut
survenir entre deux applications ou deux personnes, est le problème lié à la
- 17 -
Chapitre II LA PROBLEMATIQUE DE L'INTEGRATION ET DE L'INTEROPERABILITE DANS LES ENTREPRISES INDUSTRIELLES
définition de l'entité "client". Un client est-il quelqu'un qui a déjà acheté quelque
chose à l'entreprise ? S'agit-il d'une personne ayant manifesté ses intérêts pour les
produits de l'entreprise ? S'agit-il d'une personne physique ou morale ? L'existence
de problèmes liés à la sémantique est une évidence au sein de toute entreprise. Et il
devient vital que l'identification de ces conflits, puis leur résolution se fasse le
plutôt possible, de préférence dès les phases amont du projet.
La plupart des auteurs [Hasselbring 2000][Bussler 2004][Dogac 2004] s'accordent sur le
fait que l'hétérogénéité des applications constitue la véritable difficulté dans le domaine
de l'intégration. Bien que toutes les autres dimensions soient importantes, nous nous
focalisons principalement dans le cadre de nos travaux sur la dimension d'hétérogénéité
des applications et plus particulièrement sur l'hétérogénéité sémantique qui constitue la
difficulté majeure de la problématique d'intégration des applications d'entreprise.
II.2.3.4. Dynamisme
Une autre caractéristique introduite dans [Singh et Huhns 2005] est le dynamisme des
applications d'entreprise. En effet, du fait que les systèmes d'information actuels sont
ouverts et soumis à de fréquents changements, en réponse à des changements d'ordre
stratégique, métier ou technologiques que subit l'entreprise, les applications de ces
systèmes doivent alors être capables d'évoluer de façon dynamique pour faire face à ces
changements.
Le dynamisme est une dimension qui peut se manifester généralement selon deux
aspects. Le premier aspect concerne le dynamisme dans le comportement qu'une
application peut afficher de façon autonome selon sa configuration interne. Le second
aspect concerne les changements qui peuvent s'opérer au sein des composants
applicatifs d'une application tels que la modification de certains composants, l'arrivée de
nouveaux composants, la suppression de certains composants jugés obsolètes, l'absence
temporaire de certains composants, et la substitution de certains composants.
Dans le cadre de nos travaux, nous nous intéressons aux systèmes d'information
d'entreprises industrielles, et en particulier aux systèmes d'information d'entreprise du
domaine de la fabrication de produits microélectroniques. Dans de telles entreprises, de
nombreux domaines de natures différentes peuvent collaborer en vue d’atteindre
l’objectif final qui est de satisfaire le client. Ceci sous-entend la réussite de l’activité
métier qui est, rappelons-le, la production de produits (dans notre cas de composants
microélectroniques) avec des contraintes de délai, de qualité, de coût, de performances
techniques et niveau de service toujours de plus en plus exigeantes.
- 18 -
Chapitre II LA PROBLEMATIQUE DE L'INTEGRATION ET DE L'INTEROPERABILITE DANS LES ENTREPRISES INDUSTRIELLES
Tableau II.1. Principaux progiciels en fonction du niveau de l'entreprise [Toublant et al. 2002]
5
Selon la loi de Moore, la technologie des semi-conducteurs évolue rapidement, d'où l'évolution rapide des systèmes d'information.
- 19 -
Chapitre II LA PROBLEMATIQUE DE L'INTEGRATION ET DE L'INTEROPERABILITE DANS LES ENTREPRISES INDUSTRIELLES
Dans de tels systèmes, on peut concevoir que la représentation des informations et des
fonctionnalités soit spécifique à chacun des systèmes. Il est par contre, impératif que ces
systèmes coopèrent de façon flexible afin de permettre les échanges, faciliter la
réutilisation de leurs services et favoriser leur modernisation. De plus, il est impératif
que la sémantique portée par les données et les fonctions échangés soit la même pour
pouvoir assurer une certaine cohérence entre les systèmes. Ainsi, en plus des problèmes
d’ingénierie technique que posent ces Systèmes d'Information industriels, vient se
greffer un problème crucial, celui de l’intégration des systèmes.
Outre l'intégration des applications qui constitue le besoin principal des SII, un autre
besoin non moins important des entreprises microélectroniques est la flexibilité. La
flexibilité constitue aujourd'hui une préoccupation majeure des entreprises de production
microélectronique qui cherchent plus d'agilité et de réactivité. En effet, les systèmes
d'information industriels ne sont généralement pas stables, au contraire ils évoluent
constamment. Derrière cette évolution constante se cache l'une des principales
- 20 -
Chapitre II LA PROBLEMATIQUE DE L'INTEGRATION ET DE L'INTEROPERABILITE DANS LES ENTREPRISES INDUSTRIELLES
- 21 -
Chapitre II LA PROBLEMATIQUE DE L'INTEGRATION ET DE L'INTEROPERABILITE DANS LES ENTREPRISES INDUSTRIELLES
II.4.1. Définitions
II.4.1.1. Intégration
- 22 -
Chapitre II LA PROBLEMATIQUE DE L'INTEGRATION ET DE L'INTEROPERABILITE DANS LES ENTREPRISES INDUSTRIELLES
CIM
Integration BUSINESS
INTEGRATION
Knowledge-Based
* Decision Support
Business Control
* Automated Business
Process Monitoring
Production and
* Process Simulation
APPLICATION
INTEGRATION
Portable Applications
* Distributed Processing
Common Services/
* Execution Environment
Common (Shared)
* Data Resources
PHYSICAL SYSTEM
INTEGRATION
Inter System Communication/
* Network Configuration & Management
Data Exchange Rules
*
and Conventions
Physical Systems
* CIM Evolution
Interconnection
II.4.1.2. Interopérabilité
- 23 -
Chapitre II LA PROBLEMATIQUE DE L'INTEGRATION ET DE L'INTEROPERABILITE DANS LES ENTREPRISES INDUSTRIELLES
II.4.1.3. Discussion
A travers les définitions précédentes, on peut remarquer qu'il existe une certaine
ambiguïté entre l'intégration et l'interopérabilité. Ces deux termes peuvent devenir
synonymes seulement dans le cas où l'on s'intéresse à l'intégration faiblement couplée,
c'est-à-dire que l'on cherche à préserver l'hétérogénéité et l'autonomie des systèmes
constituants. L'interopérabilité est alors considérée comme une forme intrinsèquement
plus souple dans la mesure où, contrairement à l'intégration, les systèmes composants
sont censés préserver leur identité [Lapassat 2003]. Ainsi, on utilise généralement dans
la littérature le vocable d'interopérabilité de systèmes quand les systèmes concernés sont
aptes à s'échanger des informations et à agir ensemble, et on réserve le vocable
d'intégration de systèmes pour le cas où les systèmes coopèrent au sein d'un système
unique et homogène [Meinadier 2002]. A ce titre, [Meinadier, 2002] précise que
l'interopérabilité de systèmes se place ainsi au niveau du partage d'informations et de
services et implique des adaptations, notamment sémantiques, entre les modèles de
données, tandis que l'intégration entre systèmes se place au niveau du comportement
global: elle implique, de plus, l'intégration fonctionnelle et l'enchaînement des
traitements entre systèmes d'information. Ceci rejoint [Vernadat 1996] qui considère
aussi le concept d'intégration comme un concept plus large que celui de l'interopérabilité
dans la mesure où il englobe selon lui des capacités liées à la communication, la
coopération et la coordination des composants du système.
D'autres auteurs, par contre, s'accordent plutôt sur le fait que les solutions
d'interopérabilité peuvent osciller entre deux types de couplage entre les systèmes
devant interopérer, selon que l'on privilégie l'indépendance des systèmes constituants,
on parle de fédération (ou d'interopérabilité), ou plutôt la cohérence globale d'ensemble,
on parle alors d'intégration. Dans ce même courant d'idées, [ISO 14258] et [Chen et
Doumeingts 2003] en reprenant la classification de [Petrie 1992] ont proposé trois
formes fondamentales d'interopérabilité qui peuvent exister entre deux entités et qui
sont: l'intégration, l'unification et la fédération.
En résumé, nous allons considérer, dans le cadre de nos travaux, que l'intégration est un
concept générique incluant le concept d'interopérabilité, tel qu'il a été défini dans
[Vernadat 1996]. De plus, nous allons nous focaliser, par la suite, sur le concept
d'intégration.
- 24 -
Chapitre II LA PROBLEMATIQUE DE L'INTEGRATION ET DE L'INTEROPERABILITE DANS LES ENTREPRISES INDUSTRIELLES
6
Best of breed : Littéralement, le meilleur de sa catégorie, se dit d'une solution logicielle prétendant offrir des fonctions avancées sur
un segment de marché bien délimité. Cette notion s'oppose à celle de "tout intégré", solution se démarquant par la polyvalence de sa
couverture fonctionnelle.
7
COTS (Commercial On The Shelf) : Littéralement des composants applicatifs disponibles sur le marché (sur étagère).
- 25 -
Chapitre II LA PROBLEMATIQUE DE L'INTEGRATION ET DE L'INTEROPERABILITE DANS LES ENTREPRISES INDUSTRIELLES
8
On trouve dans la littérature plusieurs classifications, cadres et modèles d'intégration et /ou d'interopérabilité qui définissent un
certain nombre de dimensions de l'intégration (et de l'interopérabilité) :
- le modèle de maturité d'AMS (Amercian Management Systems) [Schmidt 2000],
- le cadre AIF (Athena Interoperability Framework) [Athena 2005],
- le cadre IIF (Ideas Interoperability Framework) [Ideas 2004],
- le cadre EIF (European Interoperability Framework) [EIF 2004],
- le modèle LISI (Levels of Conceptual Interoperability Model) [C4ISR 1998],
- le modèle LCI (Layers of Coalition Interoperability) [Tolk 2003][Tolk et Muguira 2003],
- le modèle SOSI (System of Systems Interoperability Model) [Morris et al. 2004],
- le modèle NC3TA (NATO C3 Technical Architecture) [Hoffman 2003],
- le modèle OIMM (Organizational Interoperability Maturity Model) [Clark et Jones 1998],
- le modèle d'ECIMF (E-Commerce Integration Mata-Framework) [ECIMF 2001][Bialecki 2001],
- le modèle ECMA/NIST (European Computer Manufacturers Association/National Institute of Standards and
Technology) [NIST 2005],
- le modèle Double Toaster de ECMA/NIST [NIST 2005],
- le modèle ISO 19101 et 19119 ODP/IRM (ODP/Interoperability Reference Model) [Ideas 2004].
- le modèle 7LP (7 layer Protocol) [Herzum 1999].
- 26 -
Chapitre II LA PROBLEMATIQUE DE L'INTEGRATION ET DE L'INTEROPERABILITE DANS LES ENTREPRISES INDUSTRIELLES
Intégration
B2B
Intégration Intégration
B2C Interne
integration
- 27 -
Chapitre II LA PROBLEMATIQUE DE L'INTEGRATION ET DE L'INTEROPERABILITE DANS LES ENTREPRISES INDUSTRIELLES
Le point de vue utilisateur concerne les différentes vues que possèdent des experts de
domaine et les utilisateurs métier. Le point de vue concepteur concerne les différents
modèles utilisés lors de la conception des systèmes d'information ou des applications.
Le point de vue programmeur réfère à l'implémentation du système d'information ou des
applications.
Des conflits peuvent apparaître au niveau de chacun de ces points de vue, et l'intégration
doit être réalisée au niveau de tous les points de vue : les utilisateurs d'une application
doivent comprendre les informations qui parviennent d'autres applications, les
concepteurs d'une application doivent interpréter les données et les modèles des autres
applications, et les programmes doivent automatiser les échanges des données et le
partage des fonctionnalités. Bien entendu, la difficulté majeure de l'intégration se trouve
au niveau externe et conceptuel [Abiteboul et al. 2000].
II.4.3.3. Les couches de l'intégration
- 28 -
Chapitre II LA PROBLEMATIQUE DE L'INTEGRATION ET DE L'INTEROPERABILITE DANS LES ENTREPRISES INDUSTRIELLES
Signalons que des conflits peuvent apparaître au niveau de chacune de ces couches, et
idéalement l'intégration doit être réalisée au niveau de toutes les couches.
L'intégration par les données constitue la manière la plus répandue pour intégrer des
applications. Elle consiste généralement à déplacer les données entre les applications en
utilisant très souvent des outils de transfert, de réplication ou de fédération de données.
Bien que relativement élémentaire, cette approche présente tout de même l'avantage de
ne pas induire de changement ni au niveau de la couche présentation ni au niveau de la
couche traitement, ce qui permet d'économiser énormément sur le plan financier.
Cependant, l'inconvénient majeur réside parfois dans le fait que l'on peut facilement
introduire des incohérences au niveau des données en outrepassant les contraintes
d'intégrité [Schmidt 2000].
L'intégration par les traitements permet d'intégrer des applications en partageant des
services offerts par les composants applicatifs (méthodes, objets, etc.). Cette approche
repose le plus souvent sur la notion d'événements qui permet d'invoquer ces services. A
titre d'exemple, on peut citer des techniques basées sur le mécanisme traditionnel d'API
(Application Programming Interface) [Linthicum 2004], d'application composites
[Manouvrier 2001], ou encore les récents Web Services [Linthicum, 2004]. C'est ce type
d'approche qui se trouve généralement à la base de la mise en place d'une application
client sur le web ou sur l'intranet. Cette approche offre ainsi l'avantage du partage de la
logique applicative entre les applications et/ou les processus, ce qui permet une plus
grande réutilisation, distribution ainsi que le support des transactions [Linthicum 2001].
L'intégration par les présentations représente sans doute le type d'intégration le plus
léger dans la mesure où elle permet d'intégrer les applications au niveau de l'interface
utilisateur en fournissant le plus souvent une interface commune. Largement utilisée
pour les applications de l'Internet et d'Intranet à travers notamment les techniques de
screen-scrapping et de portails d'entreprise, cette approche ne se préoccupe cependant
pas de l'intégration ni des données ni des traitements et qui sont laissés très souvent ainsi
à l'initiative de l'utilisateur [Schmidt 2000].
L'intégration par le processus constitue sans doute une des formes les plus évoluées afin
d'interconnecter et de faire coopérer des applications. Cette approche se base très
souvent sur l'utilisation de la notion de gestion de processus (BPM – Business Process
Management) et/ou d'intégration de processus métier (BPI - Business Process
Integration) qui permettent respectivement de définir et d'intégrer des processus en
mettant en œuvre un moteur d'orchestration (BPM ou BPI engine) ou un moteur de
Workflow (WFMS - Workflow Management System). Ces moteurs qui constituent des
- 29 -
Chapitre II LA PROBLEMATIQUE DE L'INTEGRATION ET DE L'INTEROPERABILITE DANS LES ENTREPRISES INDUSTRIELLES
9
Le cadre EIF [EIF 2004] définit trois niveaux d'interopérabilité: niveau technique, niveau sémantique et niveau organisationnel.
L'interopérabilité technique couvre les aspects techniques d'interconnexion des systèmes et des services et inclut principalement les
techniques d'interfaces ouvertes, d'intégration, de présentation et des échanges de données. L'interopérabilité sémantique couvre les
aspects liés au sens des informations échangées. L'interopérabilité organisationnelle cocnerne les aspects liés à la définition des
objectifs métier, à la modélisation des processus, et la collaboration des administrations qui désirent échanger des informations.
10
Le cadre AIF [Athena 2005] qui est relativement similaire au cadre EIF définit, quant à lui, trois niveaux d'interopérabilité: niveau
technologique, niveau conceptuel et niveau organisationnel. Le niveau conceptuel inclut le niveau syntaxique et sémantique.
11
Le cadre d'interopérabilité d'ECIMF (E-Commerce Integration Mata-Framework) définit les niveaux suivants: le niveau contexte
métier, le niveau de médiation de processus, le niveau de translation sémantique, et le niveau de mapping syntaxique [ECIMF
2001][Bialecki 2001].
- 30 -
Chapitre II LA PROBLEMATIQUE DE L'INTEGRATION ET DE L'INTEROPERABILITE DANS LES ENTREPRISES INDUSTRIELLES
12
Il est fondamental de préciser que la frontière entre les scénarii intra et inter-entreprise est relativement floue. C'est l'exemple
typique d'une grande entreprise multinationale avec plusieurs filiales et dont les scénarios d'interopérabilité inter-filiales peuvent être
considérés à la fois comme des scénarios intra-entreprise et inter-entreprise.
13
Rappelons qu'un projet d'intégration d'applications est avant tout un projet informatique, et à ce titre ses délivrables (ou livrables)
sont multiples et incluent l'étude de faisabilité, les cahiers de charges, le logiciel (socle d'intégration), la recette, etc.
- 31 -
Chapitre II LA PROBLEMATIQUE DE L'INTEGRATION ET DE L'INTEROPERABILITE DANS LES ENTREPRISES INDUSTRIELLES
Infrastructure
d'Intégration
Globale
- 32 -
Chapitre II LA PROBLEMATIQUE DE L'INTEGRATION ET DE L'INTEROPERABILITE DANS LES ENTREPRISES INDUSTRIELLES
Spécification de l'architecture
Mise en oeuvre technique d'intégration et
réalisation.
Utilisation et exploitation et
Exploitation
maintenance du système
- 33 -
Chapitre II LA PROBLEMATIQUE DE L'INTEGRATION ET DE L'INTEROPERABILITE DANS LES ENTREPRISES INDUSTRIELLES
II.6. Conclusion
- 34 -
Chapitre III
III.1. Introduction
Comme nous l'avons souligné dans le chapitre précédent, les applications industrielles,
et en particulier les applications microélectroniques, doivent impérativement opérer
ensemble afin d'assurer l'atteinte de l'objectif global. Nous avons évoqué l'existence de
deux principaux niveaux d'intégration qui sont le niveau syntaxique et le niveau
sémantique. Nous allons, dans ce chapitre nous intéresser au niveau syntaxique, et nous
allons présenter les principales techniques utilisées pour intégrer syntaxiquement des
applications industrielles. En particulier, nous allons étudier les techniques basées sur
les formats standardisés, les intergiciels de communication et de distribution
(middlewares), les outils EAI (Enterprise Application Integration), les moteurs BPM
(Business Process Management), les architectures orientées services (SOA – Service-
Oriented Architecture) et les techniques d'ingénierie à base de modèles.
Ce chapitre présente donc un panorama des principales techniques d'intégration
syntaxique pouvant être mises en œuvre au sein des entreprises industrielles et
particulièrement dans les entreprises du secteur de la microélectronique. Après avoir
présenté une typologie des principales techniques d'intégration syntaxique, nous allons
brièvement décrire chacune d'elles et nous terminerons le chapitre par une synthèse des
principales caractéristiques de chacune des techniques étudiées.
Ad hoc
MDA
Standardisation
EAI SOA
Intergiciel BPM
Modèle Standard
Signalons qu'il existe de nombreux autres travaux plus ou moins proches du domaine
d'intégration syntaxique et de la flexibilité des systèmes d'information. Il s'agit en
particulier des travaux qui traitent de l'intégration de données [Schneider 2002][Dang
Ngoc 2003] [Baril 2003][Devogele 1997], des travaux sur la composition et de la
fédération de logiciels [Tuyet 2004][Villalobos 2003][Verjus 2001][Amiour
1999][Boyer 1994], des travaux portant sur la construction d'intergiciels spécifiques
[Quinot 2003][Huet 2002][Denis 2003] et aussi des travaux de modélisation d'entreprise
et de son système d'information qui peut être mise en œuvre dans le cadre d'intégration
syntaxique ou de recherche de flexibilité [Blanc 2004] [Mathieu 2004]. Vu l'ampleur de
l'état de l'art, nous avons préféré nous limiter aux approches évoquées en figure III.1.
14
Signalons que nous nous basons tout au long de ce chapitre et des chapitres suivants sur le formalisme UML pour représenter nos
différents modèles et méta-modèles. Aussi, le sens des symboles graphiques utilisés dans ces modèles est celui préconisé dans UML
2.0. En particulier, les flèches désignent la relation de spécialisation/généralisation entre classes, les arcs possédant un losange à
l'extrémité désignent des relations d'agrégation entre classes, et les arcs simples désignent les autres types de relations entre classes.
- 36 -
Chapitre III INTEGRATION SYNTAXIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
Figure III.2. Principe des techniques ad hoc de conversion (adapté de [Chevassus 2005])
Une des manières les plus intuitives de réaliser l’intégration entre applications
informatiques et aussi entre les utilisateurs est de définir un langage commun. Dans
l'industrie, on utilise une multitude de langages qui permettent de représenter les
modèles de données, les modèles de processus ou encore les échanges de données. Cette
section a pour objet de présenter brièvement les principaux standards utilisés dans
l'industrie et en particulier dans l'industrie microélectronique.
- 37 -
Chapitre III INTEGRATION SYNTAXIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
des processus très souvent utilisés en industrie. De plus, nous allons présenter
brièvement la norme industrielle CEN/ISO 19440 qui permet de définir les
constructions nécessaires dans le cadre de la modélisation et l'intégration d'entreprise.
Il existe plusieurs modèles pour la description des données. On peut principalement citer
dans le cadre industriel UML, STEP et XSD. UML (Unified Modeling Language) est un
standard utilisé pour la modélisation des données. STEP (Standard for the Exchange of
Product Model Data) [Sharon et Kemmerer 1999] constitue une norme en matière de
données techniques utilisées lors des échanges impliquant des outils de conception.
XSD (XML Schema Definition) constitue une norme en matière de modélisation des
flux de données quelconques. Dans ce qui suit, nous allons succinctement présenter les
deux modèles les plus représentatifs et les plus génériques qui sont UML et XSD.
III.4.1.1.1. UML
UML [Rumbaugh et al. 2005] qui est un standard de l'OMG, est à l'origine un langage
de modélisation de systèmes d’information à base d’objets distribués, visant à unifier les
concepts majeurs introduits par les méthodologies Booch [Booch 1992], OMT (Object
Modeling Technique) [Rumbaugh et al. 1991] et OOSE [Jacobson 1993]. Il permet de
modéliser les multiples aspects d'un système. En industrie, UML est généralement
utilisé pour décrire les schémas de données des bases de données.
La figure suivante est un extrait du méta-modèle UML. On y distingue quatre concepts
de base qui sont utilisés lors de la modélisation de données et qui sont : la classe, la
relation, l'objet, le lien. Les deux premiers éléments permettent de définir le diagramme
de classes, tandis que les deux derniers sont utilisés pour définir le diagramme d'objets.
III.4.1.1.2. XSD
XSD (XML Schema Definition) [W3C-XSD 2005] constitue un dialecte XML qui
permet de définir de façon très précise la structure et le contenu d’un document XML
(cf. § III.4.2.1). XSD, qui a été introduit en remplacement de la traditionnelle DTD15 qui
15
La DTD (Document Type Definition) est un modèle décrivant la structure d’un fichier XML et permettant de passer d’un
document bien formé (respectant la syntaxe du langage) à un document valide (respectant également la structure d’une DTD). Les
DTD peuvent être directement intégrées au sein des documents dont elles décrivent la structure (DTD internes) ou simplement
référencées comme entité externe.
- 38 -
Chapitre III INTEGRATION SYNTAXIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
est devenue obsolète, fournit un inventaire exhaustif des balises XML qui peuvent être
utilisées lors de la définition de classes de documents XML. Cette définition se fait via
des composants de modélisation qui permettent de définir les contraintes et documenter
la signification, l'utilisation et les relations de dépendances des constituants d'un
document XML : les types de données, les éléments et leurs contenus, les attributs et
leurs valeurs. Les schémas permettent également de spécifier des informations
complémentaires au document, comme par exemple la normalisation et la gestion des
valeurs par défaut des attributs et des éléments. Les schémas offrent des facilités pour
être auto-documentés.
La figure III.4 permet de représenter un extrait du méta-modèle XSD. Tout document
est défini à l'aide d'un ou plusieurs schémas XML. Chaque schéma est un ensemble
structuré d'un certain nombre de composants qui peuvent être de types simples ou de
types complexes. Des exemples de types simples peuvent être les types string, date, etc.,
tandis que les types complexes sont des types composés sur la base de types simples ou
d'autres types composés en utilisant des constructeurs comme la séquence, le groupe ou
le choix.
AnySimpleType ComplexType
type
1
1 type
AnyType Element Attribute
0..1
contains
* Schema SchemaComponent
imports 0..1 *
De même que pour les données, il existe plusieurs modèles pour la description des
processus. On peut principalement citer dans le cadre industriel le modèle IDEF3 et
BPML (d'autres modèles seront introduits en § III.8).
III.4.1.2.1. IDEF3
IDEF3 [Maye 1992] a été proposé en 1992 pour remédier aux limites d’IDEF0 (Ross
1977) en matière de modélisation du comportement de l’entreprise. Il permet de
représenter graphiquement les processus sous forme d’un enchaînement d’étapes,
appelées unités de comportement. Ces dernières sont connectées entre elles par des
boîtes de jonction (asynchrones ou synchrones). Les liens peuvent être de précédence,
relationnels ou de flux d’objets. Une unité de comportement est une activité du
processus, elle est représentée par une boîte rectangulaire et elle est le résultat de la
décomposition modulaire hiérarchique et descendante des activités du système étudié.
Les boîtes de jonction sont des connecteurs logiques entre les unités de comportement
servant à modéliser les processus. Elles peuvent être convergentes ou divergentes pour
représenter deux flux qui se rencontrent ou qui se séparent. Elles peuvent être utilisées
en mode synchrone ou asynchrone selon que les flux démarrent ou finissent au même
- 39 -
Chapitre III INTEGRATION SYNTAXIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
moment ou non. Il existe trois types de boîtes de jonction dans IDEF3 : les connecteurs
AND, OR et XOR.
La Figure II.5 présente le méta-modèle de IDEF3 [Maye 1995]. Comme on peut le
constater, IDEF3 permet d’exprimer aisément les relations causales et de précédence
rencontrées dans l’expression des processus d’entreprise. La description d’un processus
s’articule autour du constructeur d’unité de comportement (UOB - Unit Of Behavior)
qui définit une étape quelconque d’un processus. Pour former des scénarii, les UOB sont
connectées par l’intermédiaire de liens et de connecteurs logiques (Junction Process).
III.4.1.2.2. BPML
- 40 -
Chapitre III INTEGRATION SYNTAXIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
CEN/ISO DIS 19440 [CEN 2006] constitue une norme en matière de définition des
constructions pour la modélisation d'entreprise. Elle est basée sur la norme CEN ENV
12204 et elle permet d'articuler les constructions liées à l'automation. De plus, elle
permet d'élaborer la base de la modélisation CIMOSA. Elle repose sur la notion de vue
et on distingue quatre vues principales qui sont : la vue fonctionnelle, la vue
informationnelle, la vue de ressources et la vue organisationnelle. A chaque vue
correspond un certain nombre de constructions dont les principales sont: domaine,
processus métier, activité d'entreprise, événement, ressource, entité fonctionnelle,
capacité, objet d'entreprise, vue d'objet, produit, ordre, unité organisationnelle, rôle
organisationnel et centre de décision.
- 41 -
Chapitre III INTEGRATION SYNTAXIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
Dans le cadre des échanges informatisés dans les milieux industriels, on peut distinguer
principalement l'utilisation du langage XML pour des échanges intra- et inter-entreprises
et l'utilisation des langages dérivés de XML pour des échanges inter-entreprises. Parmi
les langages dérivés utilisés dans des scénarios B2B, on peut citer deux formats majeurs
qui sont ebXML et RosettaNet.
III.4.2.1. XML
XML (eXtensible Markup Language) a été développé, à l'origine, pour combler les
lacunes du langage HTML, initialement conçu pour décrire les pages Web, et qui s'est
très vite avéré limité dans la mesure où il ne distinguait pas les informations de
présentation et de contenu d'un document. Or, la multiplication des canaux et des
formats poussait à l’indépendance du contenu et de la présentation. D’autre part,
l’accroissement des échanges B2B et les besoins d’intégration convergeaient vers une
structuration plus explicite des documents et vers l'importance accrue de la sémantique.
XML, dérivé du langage normalisé SGML (Standard Generalized Markup Language -
ISO 8879), a été conçu comme un langage de structuration de données permettant de
distinguer les informations de présentation et de structure d'un document, est basé sur
l'utilisation de balises définissant un format universel de représentation des données.
De par son ouverture et sa flexibilité, XML est un langage aux possibilités d’évolution,
d’expression et d’adaptation exceptionnelles. La figure III.8 donne un extrait d'un
exemple de document (biblio.xml) qui permet de décrire une bibliothèque.
- 42 -
Chapitre III INTEGRATION SYNTAXIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
III.4.2.2. ebXML
ebXML (e-Business XML) [ebXML 2001] est un standard proposé en 1999 à la fois par
l’OASIS et par l’UN/EDIFACT pour les échanges dans le cadre du commerce
électronique. ebXML se focalise sur les processus métier et la gestion des transactions.
Les processus métiers, au sens ebXML, s’entendent comme l’enchaînement de tâches
donnant lieu à l’échange de messages conventionnels (documents commerciaux) entre
les protagonistes. Un point fort de ebXML est sa généralité, ce qui suppose qu'il peut
être utilisé dans différents secteurs industriels.
Les principales spécifications ebXML sont (figure III.9) [Chauvet 2002] :
- Core Component : qui définit les structures de données réutilisables de bas niveau
(ex : party, address, phone, date, devise…) qui peuvent être instanciées dans
plusieurs types d’échanges d’informations utilisés pour définir les processus métier
et les modèles d'information. Ce composant permet de faciliter l’intégration entre
différents systèmes;
- Business Process : qui permet de décrire les interfaces du processus métier (ex:
processus “Acheter un produit”);
- Trading Partner Profile : qui permet de définir deux types de contrats le CPP et le
CPA. Le CPA (Collaboration Protocol Profile) permet de décrire les capacités
d’affaire d’une compagnie dans un format standard et portable (Profile général, BP,
protocoles supportés…). Le CPA (Collaboration Protocol Agreement) permet de
décrit clairement les éléments et les mécanismes des transactions conduits entre
deux compagnies (Contrat);
- ebXML Registry & Repository : permet de définir les mécanismes de sauvegarde
et de recherche dans les registres et référentiels ebXML;
- Transport & Routing : permet de définir une méthode pour échanger des messages
électroniques.
III.4.2.3. RosettaNet
Créé en 1998, RosettaNet [RosettaNet 2002] est un standard similaire à ebXML proposé
par le consortium RosettaNet, consortium indépendant d’industriels des secteurs
- 43 -
Chapitre III INTEGRATION SYNTAXIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
III.5. Intergiciels
De même que pour les formats standardisés qui sont très souvent utilisés dans
l'industrie, les intergiciels, qui sont des logiciels principalement dédiés à la gestion des
communications inter-applications, sont également très présents dans les milieux
industriels.
III.5.1. Définition
- 44 -
Chapitre III INTEGRATION SYNTAXIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
Client Serveur
Application Application
Intergiciel
Présentation Présentation
Système d'Exploitation
Système d'Exploitation
Session Session
Transport Transport
Services
Réseau de Transport Réseau
de Données
Données Données
Physique Physique
Figure III.12. Positionnement de l'intergiciel par rapport au modèle OSI (adapté de [Serain 2003])
Nous devons souligner le fait que la notion d'intergiciel a suffisamment évolué, ces
dernières années, au point d'inclure d'autres services, dont certains de haut niveau, tels
que la transformation des données, la gestion des transactions, la gestion des processus,
la sécurité, le management des échanges (administration et exploitation), la qualité de
services (performances, disponibilité, etc.) [Alonso 2002][Linthicum 2004]. Toutefois,
dans le cadre de ce document, on réserve le terme intergiciel principalement aux outils
qui se chargent de la communication, du routage des messages entre les applications et
de la gestion des transactions, et nous préférons considérer les moteurs de workflow et
les outils EAI comme des systèmes sophistiqués qui incluent les intergiciels de base
présentés dans cette section.
- 45 -
Chapitre III INTEGRATION SYNTAXIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
Bien que les intergiciels qui peuvent être mis en œuvre dans les milieux industriels
soient fort nombreux, nous pouvons toutefois les regrouper principalement autour de
sept grandes familles qui sont (figure III.1) [Hohpe et Woolf 2003][Linthicum
2004][Linthicum 1999]:
- les accès aux bases de données;
- les appels de procédures à distance;
- les intergiciels orientés messages;
- les intergiciels orientés composants;
- les intergiciels orientés transactions;
- et les serveurs d'applications.
Les intergiciels d'accès aux données permettent aux applications d’accéder de manière
transparente et simultanée à des données, et ce quels que soient leur mode
d’organisation et leur type (DB2, Oracle, Sybase). Il existe principalement deux types
de middlewares de base spécialisés et normalisés pour l'accès aux données, ODBC
(Open DataBase Connectivity) et JDBC (Java DataBase Connectivity) et qui jouent un
rôle très important dans le cadre de l’intégration des applications dans le domaine
industriel. Mais au dessus de ces deux standards, on a construit d'autres middlewares
plus perfectionnés et dont on distingue principalement les middlewares de réplication et
celui de fédération de données.
La technique généralement utilisée par les middleware d’accès aux données consiste à
définir une interface logique utilisée par les applications pour accéder aux sources de
données et ce en :
- convertissant le langage de l’application source vers un langage compréhensible
par la base de données cible (généralement le langage SQL de cette base de
données);
- puis en envoyant cette requête à la base de données cible;
- et ensuite en exécutant cette requête sur cette base de données cible;
- et enfin en récupérant les réponses à travers le réseau et en les convertissant en un
format compréhensible par l’application source.
La norme ODBC [Microsoft 1992] est un standard qui a été développé par Microsoft
dans les années 1990 permettant la communication entre des clients bases de données
fonctionnant sous Windows et les SGBD (Système de Gestion de Bases de Données) du
marché. ODBC fournit une API indépendante de la base de données cible. Avec ce
standard, le client peut adresser sa requête dans un formalisme SQL classique sans se
préoccuper des spécificités du SGBD cible. En fonction du type de base de données à
accéder, la partie logicielle ODBC charge un pilote (driver) permettant la traduction au
format propriétaire du SGBD cible (figure III.13). Bien que ODBC permette un
interfaçage avec des bases de données indépendamment du SGBD, cette technologie
demeure une solution propriétaire de Microsoft. De par son ouverture, l'API JDBC que
nous allons présenter ci-dessous comble cette lacune.
- 46 -
Chapitre III INTEGRATION SYNTAXIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
ODBC
données
Application Cliente
(Oracle,
Réponse en Réponse en
Access,
SQL ODBC Langage Ingres…)
propriétaire
La norme JDBC [Sun-JDBC 2005] est développée par JavaSoft et elle est
fonctionnellement équivalente à ODBC mais est adaptée par contre aux environnements
Java. L'API standard JDBC définit un package (ensemble de classes Java) qui
permettent à un composant java quelconque (applet, servlet, Java Bean ou toute
application Java) de se connecter à une base de données cible. Notons qu'il existe deux
façons majeures pour utiliser le JDBC pour accéder à une base de données cible (figure
III.14): soit à travers un JDBC driver s’il est disponible, soit à travers un ODBC bridge
(pont vers le driver ODBC).
données
Application Cliente
(Oracle,
Réponse en Réponse en
Access,
SQL JDBC Langage Ingres…)
propriétaire
Pont JDBC-ODBC
Requête à la base
en langage
propriétaire
ODBC
Réponse en
Langage
propriétaire
- 47 -
Chapitre III INTEGRATION SYNTAXIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
Base de Base de
données données
Base de
données
DB2
Base de
données
Infomix
Base de
données
virtuelle
Base de
données
Oracle
Base de
données
Sybase
Une autre technologie qui est fortement utilisée dans les environnements industriels est
la technologie ETL (Extract-Transform-Load) [Chrisment et al. 2004][Schneider
2002][Hellerstein et al. 1999] ou parfois appelée datapumping. Cette technologie permet
de définir une catégorie de middleware orientée données se basant sur le déplacement
massif et physique des données en utilisant des entrepôts de données ou les Data Marts
(qui sont des entrepôts d'envergure assez limitée).
- 48 -
Chapitre III INTEGRATION SYNTAXIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
BD 1
EXTRACT
BD 2
Transform
• Epuration
Entrepôt
BD 3 de
• Réconciliation
données
• Agrégation
BD 4 • Sup. Doublons
• etc.
BD 5 LOAD
Le principe de fonctionnement de ces outils repose sur trois phases essentielles qui sont
(figure III.17):
- la phase d'extraction de données (Extract) des bases existantes est réalisée par un
moniteur qui détecte les mises à jour sur les bases de l'entreprise afin de les
envoyer vers l'entrepôt;
- la phase de transformation (Transform) qui permet d'épurer et de mettre en forme
les données extraites;
- et la phase de chargement (Load) qui effectue le chargement des données dans
l'entrepôt de l'entreprise.
- 49 -
Chapitre III INTEGRATION SYNTAXIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
- 50 -
Chapitre III INTEGRATION SYNTAXIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
III.5.5.1. CORBA
CORBA (Common Object Request Broker Architecture) est une architecture proposée
par l’OMG (Object Management Group), qui offre une solution au problème
d’intégration des applications hétérogènes distribuées [OMG-CORBA 1998]. Comme
toutes les autres solutions distribuées, elle exploite les objets distribués et le principe
d’appel à des méthodes distantes. La particularité de l'architecture CORBA réside dans
l’intégration de services implantés par des fournisseurs de logiciels en exploitant le
langage IDL (Interface Definition Language) et le protocole IIOP pour la
communication sur le réseau..
Dans cette architecture, les objets dialoguent par l'intermédiaire du bus CORBA qui se
charge de masquer les différences entre les langages d'implantation des objets, les
systèmes d'exploitation et les architectures matérielles (figure III.19). De plus, ce bus
rend totalement transparente la localisation des objets permettant ainsi de simplifier
l'utilisation des objets sur le réseau.
- 51 -
Chapitre III INTEGRATION SYNTAXIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
- 52 -
Chapitre III INTEGRATION SYNTAXIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
III.5.5.2. COM/DCOM
Figure III.21. Principe d'utilisation des composants COM (adapté de [Microsoft 1996])
16
Rappelons que technologie OLE est utilisé pour la construction d'objets liés et "embarqués" à l'intérieur de documents composites
de l'environnement Windows, alors que la technologie ActiveX étend la technologie OLE pour permettre aux composants d'être
inclus dans des sites Web.
- 53 -
Chapitre III INTEGRATION SYNTAXIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
- l'application cliente établit un lien direct avec une bibliothèque ou une librairie
(DLL) contenant le serveur. Le client et le serveur s'exécutent à l'intérieur d'un
même processus (in-process server). La communication entre le client et le serveur
se fait au travers d'appels de procédures;
- l'application cliente accède au serveur s'exécutant dans un processus différent mais
localisé sur la même machine au travers d'un mécanisme de communication inter-
processus réalisé par le proxy d'objets locaux (local object proxy). Ce mécanisme
est basé sur le protocole appel de procédure à distance (RPC - Remote Procedure
Call));
- l'application cliente accède au serveur distant s'exécutant sur une autre machine en
utilisant le mécanisme DCOM qui se base sur le protocole RPC/DCE.
Modèle événementiel
- 54 -
Chapitre III INTEGRATION SYNTAXIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
Application destinatrice
Application émettrice
}
SEND(message, BaL)
message | }
RECEIVE(messages)
}
}
}
}
File d'attente de messages
- 55 -
Chapitre III INTEGRATION SYNTAXIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
Le modèle par abonnement (ou modèle Publish/Subscribe) [Banavar et al. 1999], utilise
les fonctions du Message Passing ou du Message Queuing et ajoute la notion
d’anonymat et d’abonnement. Dans ce modèle, il y a deux types d'applications: des
applications clientes et des applications fournisseur. Les applications clientes
(consumers) s'abonnent à des sujets (types d'événements) tandis que les applications
fournisseurs (providers) produisent et publient des événements (messages). Ces derniers
sont alors envoyés au gestionnaire de communications qui se charge de le répartir aux
applications qui se sont abonnées à ce type d’événement (figure III.25). L’avantage de
ce modèle tient de sa flexibilité en comblant ainsi les lacunes du modèle du message
queuing.
Publish/Subscribe
1
type event
(Abonnement)
Le modèle événementiel [Oki et al. 1993] constitue le modèle le plus évolué des
middlewares orientés messages. Il permet de gérer les événements. De par son
perfectionnement, ce modèle est généralement considéré beaucoup plus comme un
modèle de programmation que comme un modèle de Communication. Il utilise
généralement les règles actives E-C-A (Evénement-Condition-Action) qui apportent une
nouvelle façon de programmer. Le schéma de programmation typique des règles du
modèle événementiel est le suivant (figure III.26) :
Le modèle se base alors sur un mécanisme dynamique qui permet de gérer les
événements de façon dynamique et à la volée. Pour cela, le modèle se base sur le
principe des écouteurs (listeners) et qui permettent à une application de s’enregistrer
comme écouteur d’un certain événement. Les applications peuvent alors émettre des
événements et ces derniers sont captés par le ou les écouteurs définis. La figure suivante
(figure III.27) illustre le principe de fonctionnement de ce type de modèle.
- 56 -
Chapitre III INTEGRATION SYNTAXIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
- 57 -
Chapitre III INTEGRATION SYNTAXIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
Les serveurs d'applications constituent une évolution des moniteurs transactionnels. Ils
sont des environnements de développement et d'exécution permettant de masquer la
complexité de réalisation d'applications distribuées, robustes, capables de monter en
charge. Un serveur d'applications est donc un intergiciel sophistiqué qui permet
généralement de combiner trois principaux types composants : des composants de
communication avec les systèmes back-end, les composants de communication avec les
clients front-end, et un framework qui permet d'exécuter la logique métier. Il existe
principalement deux catégories de serveurs: les serveurs J2EE et les serveurs
propriétaires, et parmi les serveurs d'application les plus populaires du marché, on peut
citer pour les serveurs J2EE : BEA Weblogic, IBM Websphere, Sun/Netscape iPlanet,
Jonass, Jboss, et pour les serveurs propriétaires : Microsoft .NET, Python Zope,
OpenACS.
La figure III.29 illustre le principe des serveurs d'applications basés sur l'architecture
J2EE [Cloux 2003]. Le serveur d'application héberge un certain nombre de composants
dont des containers (EJB servers) servant à stocker des composants métiers (EJB –
Enterprise Java Beans) et une panoplie de services et d'API permettant le nommage, , le
déploiement des application, l'accès aux données d'entreprise (JDBC – Java DataBase
Connectivity, JCA - J2EE Connector Architecture, Java CICS), la gestion des
communications interprocessus (RMI - Remote Method Invocation), la gestion des
messages (JMS - Java Message System), ou encore la gestion des transaction (JTS -
Java Transaction Service, JTA - Java Transaction API, RMI-IIOP - Internet Inter-ORB
Protocol).
Tous les intergiciels présentés dans la section III.5 sont des outils qui peuvent être mis
en œuvre en vue de l'intégration syntaxique des systèmes d'information industriels. Ces
- 58 -
Chapitre III INTEGRATION SYNTAXIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
Les outils EAI (Enterprise Application Integration) constituent un type d’outils récent
pour l'intégration.Ils sont apparus vers le milieur des années 90 dans le monde industriel
pour interconnecter des applications existantes [Linthicum 2000]. On peut définir un
EAI comme un outil intégré supportant trois grandes fonctions [Chevassus 2005] :
transport- connectivité, transformation-adaptation des flux de données, et
l'automatisation-orchestration des processus. Il s'agit en quelque sorte du mariage d'une
multitude d'intergiciels (pour le transport et la connectivité), des outils ETL (Extract,
Transform, Load) et des moteurs de workflow (cf. § III.7).
Le principe majeur des outils EAI se base sur la démultiplication des connexions entre
les applications d'entreprise ce qui réduit considérablement la complexification des
systèmes et donc leurs coûts d’intégration en développement et en maintenance. Le
nombre des connexions nécessaires pour intégrer n applications est donc de l'ordre de
o(n) (figure III.30). De plus, les outils EAI permettent généralement l'utilisation du
format Pivot comme clé de l'interfaçage des systèmes pour assurer la communication
entre les applications hétérogènes.
L'architecture générale d'un outil EAI comprend principalement quatre briques de base
qui sont : transport, connecteurs, transformation et routage (figure III.31). Ces briques
permettent au logiciel d’EAI de récupérer des données d’une application, puis les router
vers leurs applications destinatrices après les avoir converties dans le format approprié.
Les briques de transformation et routage sont souvent regroupés dans la littérature sous
l’expression de "moteur d’intégration". De plus, certains outils permettent de prendre en
charge l'orchestration des applications à travers une brique supplémentaire appelée BPM
(Business Process Management) ou Workflow.
- 59 -
Chapitre III INTEGRATION SYNTAXIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
Bien qu'ils soient souvent incorporés dans les outils EAI, les outils de gestion de
processus BPMS (Business Process Management System) [Dayal et al
2001][Johannesson et Perjons 2001][Linthicum 2004] peuvent être considérés comme
- 60 -
Chapitre III INTEGRATION SYNTAXIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
des outils à part entière. Le BPM est basé sur la notion de processus métier. Un
processus métier est un ensemble d'activités ou de procédures, qui implique
collectivement plusieurs domaines de l'entreprise pour satisfaire une demande externe
dans le contexte d'une organisation définissant des relations et des rôles fonctionnels
[WfMC 2000].
Le principe du BPM consiste à assouplir le fonctionnement des entreprises en
modélisant le fonctionnement de l’entreprise en termes d'activités et d'événements
métiers faisant intervenir aussi bien des humains que des applications et en exécutant
ces processus à l’aide d’un moteur approprié. La notion de processus métier est très
souvent confondue avec la notion de workflow. Ce dernier constitue une automatisation
totale ou partielle d'un processus business dans lequel les documents, les informations et
les tâches sont échangés entre les participants pour action, selon un ensemble de règles
permettant de mener à bien, ou de contribuer à, une finalité de gestion [Pontacq 2002].
La différence fondamentale entre un workflow et un processus métier tient donc du fait
que le workflow ne concerne que la coordination automatisée de tâches réalisées par des
intervenants humains, alors qu'un processus métier peut inclure en plus des tâches
automatisées qui peuvent être prises en charge par des applications informatiques. La
figure III.32 illustre le principe d'intégration et de l'intégration des applications
d'entreprise avec les moteurs BPM et/ou workflow. Comme on peut le remarquer, l'idée
majeure du BPM est d'offrir une vue simplifiée à un utilisateur métier à travers le BPMS
ou le courtier de processus (Process Broker) qui constitue un médiateur entre l'utilisateur
et l'ensemble des applications et/ou des personnes humaines à intégrer.
Il est important de noter que le BPM n’impose généralement aucune contrainte sur le
type de participant à utiliser dans les scénarios d'intégration. Toutes sortes d’élément
logiciel, existant ou à venir, peuvent être utilisés pour implémenter le processus métier
d’entreprise. En particulier, ceci rend la tâche relativement complexe. Une des
approches les plus pertinentes à l'heure actuelle, pour mettre en œuvre les techniques
basées sur le BPM est de s'inscrire dans le contexte des services Web et des
architectures orientées services (cf. § III.8). A cet effet, de nombreux standards de BPM
existent pour orchestrer les services Web tels que BPEL4WS (Business Process
Execution Language for Web Services) [IBM et al. 2005], BPML (Business Process
Modelling Language) [BPMI 2003], etc.
Remarquons qu'un processus métier peut être interne à une entreprise (gestion de la
production par exemple), ou mettre en jeu des entreprises partenaires – on parle alors de
- 61 -
Chapitre III INTEGRATION SYNTAXIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
Une autre technique relative à l'intégration qui a, ces dernières années, le vent en poupe
et qui commence à investir les milieux industriels est la technique basée sur les
architectures orientées services. L'architecture orientée services (SOA - Service-
Oriented Architecture) constitue un style architectural de développement et d'intégration
dynamique des applications d'entreprise. Il se base sur la notion de service qui est
considéré comme la brique de base de cette architecture.
- 62 -
Chapitre III INTEGRATION SYNTAXIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
Bind Fournisseur
Utilisateur
de services de services
Find
Descriptions
Publish de services
(WSDL,
(WSDL,
UDDI)
UDDI)
Services
Registre de
services
Descriptions
de services
Les Services Web sont considérés comme le résultat de convergence du Web et des
technologies objet distribuées [Acharya 2003]. Ils sont définis comme des services
logiciels déployés sur l'Internet [Kadima et Monfort 2003]. Les Services Web
constituent l'instanciation la plus importante du modèle SOA dans le domaine industriel.
Les principaux apports de la technologie des Services Web sont notamment
l'universalité, la standardisation, le couplage faible entre les services, et la virtualisation
qui permet de définir une indépendance vis à vis de la localisation et de
l'implémentation des services.
Les Services Web peuvent être déployés aussi bien à l'intérieur comme à l'extérieur
d'une entreprise. Dans tous les cas, les Services Web sont publiés avec des URLs
appropriées par les fournisseurs de services Web à travers l'Internet ou l'Intranet. Une
fois publiés, ces Services Web sont accessibles par des clients de Services Web. Ce qui
permet alors aux applications d'entreprise de dialoguer ensemble à distance via Internet,
indépendamment des environnements techniques et des langages sur lesquels tournent
ces applications.
Une caractéristique majeure déjà évoquée des Services Web est qu'ils se basent sur des
protocoles industriels standardisés. Ces derniers sont basés sur XML comme le standard
SOAP (Simple Object Access Protocol) utilisé comme middleware pour le transport des
messages, le standard WSDL (Web Service Description Language) utilisé comme
langage pour la description des services et le standard UDDI (Universal Description,
Discovery and Integration) utilisé pour le stockage et la découverte de services à travers
le Web [Amjad 2004] (figure III.34).
En outre, les Services Web peuvent être intégrés en utilisant des langages de
composition de services comme BPEL4WS (Business Process Execution Level For
Web Services), XLANG (XML business process LANGuage) ou WSFL (Web Service
Flow Language). Ces langages permettent de définir des implémentations, de manière
procédurale, de processus métier. Dans ce qui suit, nous avons choisi de présenter
brièvement quelques standards de base les plus représentatifs des services web et qui
sont SOAP, WSDL, UDDI et BPEL4WS.
- 63 -
Chapitre III INTEGRATION SYNTAXIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
Business Processes
( WSFL, XLANG, BPEL4WS)
(WS-Transaction, WS-Coordination)
Service Repository and Discovery
(WS-Manageability)
Management
(UDDI)
Transaction
(WS-Security)
Security
QoS
Service Description
(WSDL)
Service Messaging
(SOAP)
Transport
(HTTP, HTTPS, JMS, SMTP, MIME) Transversal Services
III.8.4.1. SOAP
SOAP (Simple Object Access Protocol) est un standard du consortium W3C définissant
un protocole qui assure des appels RPC en s'appuyant principalement sur le protocole
HTTP et sur XML. Il constitue un protocole léger d’échange de données dans un réseau
de pair à pair, c’est-à-dire décentralisé. Il existe deux modes de fonctionnement de
SOAP le mode RPC et le mode Messagerie. Le mode RPC (Remote Procedure Call) est
un mode de fonctionnement requête-réponse synchrone, tandis que le mode Messagerie
permet de fonctionner au choix, en mode synchrone ou asynchrone.
La structure des messages SOAP se divise en quatre parties (figure III.35):
- l’enveloppe SOAP, qui définit le contexte d’un message, son destinataire, son
contenu et différentes options;
- un en-tête qui permet d'ajouter à un message SOAP des attributs spécifiques qui ne
sont pas acceptés par toutes les parties et qui peuvent donc être « négociés » au cas
par cas;
- un corps qui contient le message SOAP proprement dit et qui permet généralement
de décrire le nom de la procédure et la valeur des paramètres d’appel dans le cas
- 64 -
Chapitre III INTEGRATION SYNTAXIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
III.8.4.2. WSDL
WSDL (Web Services Description Language) est un standard du W3C qui permet de
définir une syntaxe XML pour décrire les méthodes et paramètres des Web Services
invocables par le biais de messages au format SOAP. Il permet de définir qu’est-ce
qu’un Web Service est capable de faire, où est-ce qu’il réside et comment l’invoquer.
De même que SOAP, WSDL est un langage qui se veut indépendant des protocoles de
transport de message. Il spécifie, par défaut, comment employer directement HTTP,
SOAP ou MIME17 comme couche de transport de messages. Bien entendu, il reste
évidemment possible d’employer des middlewares traditionnels notamment ceux
déployés dans le cadre d'une EAI comme MQSeries d’IBM, MSMQ de Microsoft, voire
des couches de transport RPC comme IIOP de Corba ou RMI pour le langage Java.
Dans WSDL, les services communiquent par échange de messages entre des
terminaisons, constituées d’un ou de plusieurs ports, chacun doté d’un type – au sens
des langages de programmation. La spécification WSDL 1.0 définit les entités suivantes
(figure III.36):
WSDLElement 0..1 Documentation
undefined : boolean text : String
+eDocumentation
ExtensibleElement
Import
+eImports 0..*
Types
+eTypes
0..1
0..* Message
+eMessages
Definition
+ePortTypes PortType
0..*
+eBindings
Binding
0..*
+eServices
Service
0..*
17
MIME (Multipurpose Internet Mail Extensions) [NWG 1993] est le format d’extension du courrier électronique pour la prise en
compte de données non textuelles (son, image, vidéo…).
- 65 -
Chapitre III INTEGRATION SYNTAXIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
- types : un système de types applicable à des données, pour lequel WSDL emploie
XSD (XML Schema);
- message : l’abstraction décrivant les données échangées entre services Web;
- opération : l’abstraction décrivant une action implémentée par un service Web;
- type de port : un ensemble d’opérations implémenté par une terminaison donnée;
- liaison (binding) : un protocole concret d’accès à un port et un format de
spécification des messages et des données pour ce port;
- port : un point de terminaison identifié de manière unique par la combinaison d’une
adresse Internet et d’une liaison;
- service Web : une collection de ports.
III.8.4.3. UDDI
Information Utilité
Pages jaunes: Informations sur la classification de Permet de chercher et trouver un Web Service
l’entreprise au moyen de taxinomies standard. particulier.
Pages vertes: Description technique des différents Permet de comprendre comment une application
Web Services offerts par l'entreprise. peut se connecter et interagir avec le Web Service
trouvé.
- 66 -
Chapitre III INTEGRATION SYNTAXIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
Les données enregistrées au sein d'un UDDI sont organisées dans cinq structures de
données principales qui sont (figure III.37) : businessEntity, businessService,
bindingTemplate, tModel et publisherAssertion. Ces éléments sont décrits comme suit :
BusinessContact
0..*
0..1
IdentifierBag
0..1
TModel OverviewDocument
III.8.4.4. BPEL4WS
Né d’une fusion de deux anciens standards rivaux WSFL (Web Services Flow
Language) d'IBM, et XLANG (XML Business Process Language) de Microsoft,
BPEL4WS (Business Process Execution Language for Web Services) [Andrews et al.
2003] est un langage de programmation basé sur XML dont le but est de décrire très
précisément tous les paramètres techniques nécessaires à l'exécution d'un processus -
faisant appel à des services - au sein d'un moteur d'orchestration. BPEL4WS permet
plus précisément de spécifier les actions qui doivent s'effectuer au sein d'un processus
opérationnel et décrire les services Web offerts par ce processus grâce à WSDL. Ces
spécifications vont ensuite servir à la fois pour l'exécution du modèle de processus et
aussi pour les échanges dans la mesure où les descriptions BPEL4WS qui spécifient les
échanges entre partenaires sont assimilés à des protocoles d'échanges de messages.
Un document BPEL4WS utilise XML pour décrire les multiples aspects d'un processus
métier (process) et qui sont (figure III.38) :
- partners : les web services invoqués en tant que parties du processus.
- activities : qui permettent de décrire les activités d'un processus.
- containers : décrivent les conteneurs de données utilisés par le processus et qui
fournissent les définitions des données en termes de types de messages WSDL.
- 67 -
Chapitre III INTEGRATION SYNTAXIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
CorrelationSet
CompensationHandler
-name
-property
Process Activity
-name
Partner
Container
-myRole
-messageType
-serviceLinkType
-name
-name
FaultHandler
Reply
-faultContainer
-faultName
Il existe d'autres standards liés aux Services Web et qui sont habituellement utilisés dans
le domaine industriel pour fournir des mécanismes divers liées à la gestion et/ou
l'exécution des Services Web. Sans toutefois être exhaustif, on peut principalement citer
[W3C-WSA 2006] :
- WS-Coordination [IBM et al. 2005] : qui permet de prendre en charge la
coordination de services;
- WS-Transaction [Serviceoriented 2003] : qui permettent de gérer les transactions
distribuées;
- WS-Reliability [Evans 2003] : qui permet de prendre en charge la fiabilité des
échanges SOAP;
- WS-Security [Oasis 2004]: qui s'intéresse aux aspects de la sécurité des Services
Web.
La figure III.39 récapitule à travers un méta-modèle simplifié les principales interactions
qui peuvent exister entre les principaux standards lies aux Services et qui sont
actuellement utilisés dans l'industrie.
- 68 -
Chapitre III INTEGRATION SYNTAXIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
UDDI
uses
is accessed
uses using
enables
discovery of
SOAP
describes the binds to
BPEL4WS service for
WSDL
describes the enables provides
manages communication guaranteed
context for service for
describes between delivery for
orchestrates
WS-Coordination manages
context across Web
provides Services
protocols for provides enables improves
protocols for distributed reliability of
transactions for provides WS-Reliable
end-to-end governs Messaging
WS-Transaction security for
uses
uses
WS-Security uses WS-Policy
uses
Figure III.39. Principaux standards des Services Web (Adapté de [Erl 2004])
L’ESB (Enterprise Service Bus) ou Bus de Services d'Entreprise [Chappell 2005] est un
concept qui a été défini en 2003 par le Gartner Group. Il est considéré comme la
convergence des outils EAI et des Services Web mais en évitant l'aspect monolithique
des EAI. L'ESB est une solution d’intégration distribuée basée sur un message-oriented
middleware (MOM) et fournissant des services de transformation des données, de
routage et ce en s'appuyant sur l’utilisation systématique des standards des Services
Web (SOAP, WSDL, UDDI) et les normes WS-*.
Comme illustré par la Figure III.40, l'ESB est centré sur la notion de bus qui permet
d'implémenter une solution d'intégration distribuée. Le bus permet aux différents
services métiers (encapsulant des application d'entreprise) de communiquer et de
coopérer. Le bus se base sur certains de services de base comme [Lublinsky 2003]:
- le moteur d'orchestration qui joue le rôle de service d'orchestration permet
d'exécuter des processus basés sur BPEL4WS;
- le service de localisation qui permet de trouver de façon transparente les services;
- les services utilitaires qui sont des services techniques et qui sont sollicités par les
services métier (ex: services permettant le routage, la transformation, le support des
transaction, etc.);
- les services d'infrastructure qui sont des services qui permettent de fournir un
support système et d'infrastructure aux services métiers (ex: services liés à la
sécurité et au monitoring, etc.).
- 69 -
Chapitre III INTEGRATION SYNTAXIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
Cette section étudie la contribution à l'intégration de l'approche basée sur les modèles ou
approche MDA (Model-Driven Architecture), qui est une nouvelle orientation de
développement et d'intégration proposée par l’OMG (Object Management Group)
[Bézivin et Blanc 2002][Bezivin et al. 2003].
III.9.1. Définition
Le MDA [OMG-MDA 2006] est une approche proposée par l’OMG en 2000 comme
une réponse à l'hétérogénéité des technologies utilisées dans le cadre du génie logiciel.
En effet, pour faire face aux multiples technologies existantes et à venir il devient
nécessaire de conserver dans l’entreprise des compétences diverses et variées pour des
raisons de maintenance et d'intégration des applications. La solution que le MDA
propose pour surmonter ces problèmes consiste à utiliser des modèles dans toutes les
étapes du processus de développement et d'interaction des applications d'entreprise.
Précisément, le MDA propose de se concentrer sur l’élaboration de modèles. Elle
propose de séparer les spécifications fonctionnelles d’un système de spécifications de
son implémentation sur une plateforme donnée, permettant ainsi définir une architecture
indépendante pour pouvoir ensuite la projeter vers différents modèles de plateformes
utilisables dans le multiples secteurs de l'industrie.
La figure III.41 représente les différentes couches de spécification du MDA. Au coeur
se trouvent les techniques de base (qui sont notamment UML, MOF18 et CWM19),
autour quelques-unes des plates-formes supportées (CORBA, Web Services, Java,
XML, etc.), en surface les services systèmes offerts (gestion des événements, des
transactions, de la sécurité, etc.) et enfin à l’extérieur les domaines (manufacturing,
finance, e-commerce, etc.) pour lesquels des composants métiers doivent être définis
(Domain Facilities).
18
MOF (Meta Object Facilities) [OMG-MOF] fournit le standard de méta-modélisation et d’échange de constructions utilisées par
MDA. Le MOF est un exemple typique de méta-méta-modèle. Il définit les éléments essentiels, la syntaxe et la structure des méta-
modèles utilisés pour construire des modèles orientés objet.
19
CWM (Common Warehouse Metamodel) [OMG-CWM] est le standard de l’OMG pour les techniques liées aux entrepôts de
données. Il définit un méta-modèle qui représente les méta-données aussi bien métiers que techniques qui sont le plus souvent
trouvées dans les entrepôts de données.
- 70 -
Chapitre III INTEGRATION SYNTAXIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
III.9.2. Principe
- 71 -
Chapitre III INTEGRATION SYNTAXIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
Intégration au niveau
des modèles
L’idée proposée par le MDA est simple, intuitive et séduisante. Cependant, pour que
cela devienne réaliste, il devient indispensable de créer des moyens permettant de
supporter le processus MDA dont notamment des outils pour :
- Représenter des modèles PIM avec suffisamment de détails pour être implantés
dans une plate-forme particulière;
- Représenter des modèles PSM;
- et surtout de transformer automatiquement des modèles PIM vers PSM et des
modèles PSM vers le code.
De nombreux travaux importants dans le domaine MDA existent. Ce sont notamment
les travaux portant sur les transformations de modèles, dont XSLT (Extensible
Stylesheet Language Transformation) [W3C-XSLT 1999], MTRANS [Peltier et al.
2001] et les transformations relationnelles [Akehurst et Kent 2002]. Cependant, à l'heure
actuelle, ces approches ne sont pas totalement opérationnelles pour qu'elles puissent être
intégrées dans les milieux industriels.
III.10. Discussions
Nous avons voulu résumer, dans le tableau III.2, les principales caractéristiques des
principales technologies permettant l'intégration syntaxique présentées précédemment.
Les caractéristiques de ces techniques sont synthétisées à l'aide de neuf critères que nous
avons choisis de retenir qui sont, à notre sens, les plus pertinents. Il s'agit
essentiellement des critères étudiés au chapitre II, qui correspondent soit aux
caractéristiques des applications, soit aux dimensions des approches d'intégration et qui
sont :
- le critère périmètre typique qui précise le champ de mise en œuvre principale de la
technique (A2A : intra-entreprise, B2B : inter-entreprise ou B2C : intégration du
client);
- 72 -
Chapitre III INTEGRATION SYNTAXIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
A2A A2A
Périmètre A2A A2A A2A A2A A2A
B2B B2B
- 73 -
Chapitre III INTEGRATION SYNTAXIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
III.11. Conclusion
Dans ce chapitre, nous avons présenté les principales techniques permettant l'intégration
syntaxique qui peuvent être mises en œuvre dans le cadre de l'intégration des systèmes
d'information industriels, et en particulier dans le cadre de systèmes d'information
microélectroniques. Nous avons choisi de classifier ces techniques en six grandes
catégories qui sont : les techniques ad hoc basées sur la conversion câblée de syntaxes,
les techniques basées sur la standardisation des modèles et des formats d'échange, les
techniques basées sur l'utilisation des intergiciels, les techniques basées sur les outils
EAI, les techniques basées sur la gestion des processus, les techniques basées sur les
architectures orientées services et enfin les techniques basées sur l'ingénierie des
modèles.
L'analyse de ces techniques révèle deux points essentiels. Le premier point porte sur le
fait que les architectures orientées services et les techniques basées sur l'ingénierie des
modèles constituent les meilleurs paradigmes qui peuvent apporter le maximum de
flexibilité aux systèmes d'information industriels. Le second point concerne un certain
nombre de limites qui peuvent freiner considérablement la capacité d'intégration des
applications dans les milieux industriels. Nous avons, en particulier, retenu le manque
de prise en charge de l'aspect sémantique comme étant un des éléments critiques qui
caractérisent les techniques syntaxiques actuelles.
Pour remédier aux limites des techniques syntaxiques, et dans le but également de
favoriser la flexibilité des systèmes d'information, des solutions basées sur la
sémantique ont été introduites dans certains milieux industriels. Le chapitre suivant a
pour objet de présenter un panorama de ces techniques, tout en se focalisant
principalement sur celles qui prônent l'orientation services, qui est à notre sens, l'un des
meilleurs paradigmes pouvant offrir le maximum de flexibilité aux systèmes
d'information industriels.
- 74 -
Chapitre IV
IV.1. Introduction
Dans le chapitre précédent, nous avons présenté un panorama des principales techniques
qui peuvent être mises en œuvre pour l'intégration syntaxique des systèmes
d'information industriels. Nous avons en particulier insisté sur l'intérêt de l'approche
orientée services (SOA) et l'approche basée sur les modèles (MDA) qui peuvent
considérablement favoriser la flexibilité des systèmes. De plus, nous avons retenu le fait
que ces approches présentent de sérieuses limites en ce qui concerne la prise en charge
de l'aspect sémantique des systèmes d'information.
Dans ce chapitre, on étudiera le niveau sémantique de l'intégration des systèmes
d'information. L'intégration sémantique consiste à faire interopérer et a coopérer des
systèmes au niveau conceptuel en fournissant des mécanismes permettant de comparer,
reconnaître les similitudes et les différences entre les différents concepts manipulés. On
analysera les principales techniques utilisées pour intégrer sémantiquement des
applications industrielles hétérogènes. En particulier, on s'intéressera aux techniques
sémantiques qui se basent à la fois sur les ontologies (qui s'inscrivent dans le
prolongement naturel du MDA) et l'orientation services (SOA).
Dans ce qui suit, on présentera la notion de sémantique et la notion d'ontologie qui est
utilisée comme l’un des moyens les plus efficaces pour la représentation formelle de la
sémantique. Ensuite, on exposera de façon succincte les principaux travaux sur les
architectures et l'intégration des ontologies. Puis on présentera les différentes approches
d'intégration sémantique des systèmes d'information, où l'on s'attardera en particulier sur
l'intégration sémantique des services. Enfin on terminera par une synthèse des
principales caractéristiques et également des principales limites des approches
analysées.
Chapitre IV INTEGRATION SEMANTIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
IV.2.1. Définitions
A l'origine le terme sémantique vient du grec semantikos ("qui signifie"). De nos jours,
la sémantique constitue une branche de la linguistique qui s'occupe de l'étude des sens
des termes. La sémantique est généralement utilisée pour compléter la syntaxe qui
constitue un élément nécessaire pour pouvoir parler de sémantique20. La syntaxe est à
l'origine une branche de la linguistique qui étudie la façon dont les mots (morphèmes
libres) se combinent pour former des syntagmes (nominaux ou verbaux) pouvant mener
à des propositions (phrases), lesquelles peuvent se combiner à leur tour pour former des
agrégats plus complexes, - les énoncés (textes). Il y a généralement entre la sémantique
et la syntaxe le même rapport qui existe entre le fond et la forme.
Dans le cadre de nos travaux, nous utilisons les notions de sémantique et de syntaxe du
point de vue informatique, où les définitions restent pratiquement similaires à celles
pratiquées en linguistique, et où plus précisément la syntaxe se réfère au respect de la
grammaire formelle d'un langage, alors que la sémantique concerne plutôt
l'interprétation des modèles et des symboles informatiques. Plus précisément, la
sémantique a trouvé son essor dans le domaine informatique avec l'évolution du web au
web sémantique [Berners-Lee et al. 2001] où on la considère "comme une forme
formelle de représentation des connaissances humaines" [Woods 1975].
Dans le domaine des systèmes d'information, la sémantique réfère plus précisément au
sens des différents éléments d'un Système d'Information qui peuvent être des données,
des fonctions, voire des processus. La difficulté liée à la sémantique des éléments d'un
système d'information tient au fait qu'elle peut différer d'un système à un autre, en
fonction du contexte d'utilisation. La sémantique constitue un aspect fondamental de
l'intégration des applications d'entreprise. Pour assurer correctement cette intégration, il
est nécessaire que les différentes applications utilisées puissent interpréter de la même
manière les données échangées et/ou les fonctions réutilisées.
Les conflits sémantiques surviennent lorsque, par exemple, l'information change de sens
en fonction du contexte. Dans le cadre de conflits sémantiques, et plus précisément de
conflits sémantiques de données, [Goh 1997] identifie trois catégories principales
d'hétérogénéités sémantiques:
- des conflits de confusion : où la donnée apparaît avoir le même sens alors qu'il n'en
est rien;
- des conflits de mesure : quand différents systèmes mesurent la même valeur;
- et des conflits de nomination : quand les noms de schémas diffèrent
significativement du fait de la présence d'homonymes ou de synonymes.
Ces conflits sémantiques ne concernent pas seulement les données d'une application,
mais peuvent aussi concerner la logique métier des applications et qui est aussi appelée
hétérogénéité d'invocation selon [Bussler 2003]. [Kavouras 2003] précise que
l'hétérogénéité sémantique est plus complexe que les autres types d'hétérogénéité -
l'hétérogénéité syntaxique et technique. Et il propose plusieurs causes qui peuvent
20
On rejoint dans ce sens la théorie de l’information qui distingue fondamentalement trois niveaux pour la représentation du monde :
la syntaxe, la sémantique et la pragmatique. Les travaux présentés dans ce document concernent fondamentalement les niveaux
syntaxique et sémantique.
- 76 -
Chapitre IV INTEGRATION SEMANTIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
générer ces hétérogénéités sémantiques et qu'il résume dans deux points, à savoir
différence de couverture (niveau de détail) et différence de classification
(conceptualisation).
De plus, en considérant que les entités de la réalité sont caractérisées par un terme Ti et
une définition Di, il propose une typologie d'hétérogénéités sémantiques découlant du
croisement de situations portant d'une part sur les situations existant entre les termes
(T1, T2) et d'autre part sur les situations existant entre les définitions (D1, D2) associées
à entités décrites (figure IV.1).
Les combinaisons les plus triviales illustrées par ce tableau sont la notion d'équivalence
(même terme et même définition), et la notion de disjonction (termes différents et
définitions différentes). La synonymie correspond au cas où deux entités sont
représentées par deux termes différents et une même définition. Quant à l'homonymie,
elle correspond à la situation dans laquelle deux entités sont représentées par le même
terme et deux définitions différentes. Enfin, le chevauchement correspond à des
situations dans lesquelles les définitions des deux entités se recouvrent.
Légende:
T1 = T2 T1 ≠ T2 pas de conflict
faible conflict
D1 = D2 Equivalence Synonymie
moyen conflict
grand conflict
D1 > D2 Complétude Spécialisation
D1 ~ D2 Chevauchement Chevauchement
D1 ≠ D2 Homonymie Disjonction
La notion de sémantique peut être mieux appréhendée dans le cadre de l'intégration des
systèmes d'information industriels à travers le continuum sémantique proposé par
[Uschold et Gruninger 2002] et qui permet de classer les différents types de sémantique
qui peuvent exister dans le contexte du Web. Aussi, on peut distinguer :
- La sémantique implicite : qui existe seulement dans le mental des gens;
- La sémantique semi-informelle (explicite et informelle) : qui est une sémantique
explicite mais qui est très souvent représentée de façon informelle en utilisant
généralement des langages naturels tels que le français ou l’anglais;
- La sémantique semi-formelle : qui désigne une sémantique explicite et relativement
formelle qui est destinée principalement aux humains en utilisant des formalismes
- 77 -
Chapitre IV INTEGRATION SEMANTIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
le plus souvent graphiques tels que les modèles sémantiques, ou les diagrammes
UML;
- La sémantique formelle : qui est une sémantique qui se base sur des formalismes
mathématiques rigoureux (tels que la logique de description, la logique de premier
ordre, etc.) qui lui permettent d'être traitée de façon automatique.
Ces types de sémantique ne sont généralement pas exclusifs. Aussi, on peut trouver au
sein d’une entreprise la présence simultanée d'un ou de plusieurs de ces types de
sémantique.
IV.3.1. Généralités
IV.3.1.1. Définitions
De nos jours, les ontologies constituent le fer de lance de l'ingénierie des connaissances
(KE - Knowledge Engineering). Elles désignent une manière de représenter les
- 78 -
Chapitre IV INTEGRATION SEMANTIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
L'étant se sit en
plusieurs manières
(Aristote)
leurs
manifestations
L'Être dans le monde L'Étant est décrit Catégorie
à l'aide des
sont décrites par
Substance Posture
Première Quantité
(Ousia Prôté)
Possession
Qualité
La figure précédente (figure IV.2) permet d'illustrer l'une des premières ontologies de
l'être que l'on peut retrouver en philosophie. Il s'agit de celle d'Aristote qu'il appelle la
philosophie première. Cette ontologie permet de représenter l'être ainsi que les
différentes situations associées aux multiples manifestations de l'être décrites par un
certain nombre de catégories telles que la substance, la quantité, la qualité, etc.
Dans le domaine de l'informatique, il existe une multitude de définitions pour la notion
d'ontologie. Cependant, la définition qui nous semble être la plus célèbre et la plus citée
est celle de Gruber et qui stipule qu' "une ontologie est une spécification explicite d’une
conceptualisation21" [Gruber 1993]. Le terme "conceptualisation" réfère à un modèle
abstrait d'un certain phénomène de la réalité et qui permet d'identifier les concepts
pertinents de ce phénomène. Le terme "explicite" signifie que le type des concepts
utilisés ainsi que les contraintes sur leur emploi sont réellement définies d'une manière
claire et précise.
21
"Ontology is an explicit specification of a conceptualization" [Gruber 1993].
- 79 -
Chapitre IV INTEGRATION SEMANTIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
Plusieurs auteurs ont repris et affiné la définition précédente. Borst propose comme
amélioration la définition suivante: "les ontologies se définissent comme une
spécification formelle d’une conceptualisation partagée" [Borst 1997]. Cette définition
précise d'une part, le fait que l'ontologie doit être formelle, c'est à dire exprimée sous
forme d'une logique pouvant être manipulée sur machine, et d'autre part, le fait qu'elle
doit être "partagée" dans la mesure où elle doit référer à la notion de groupe qui impose
ainsi la mise en place d'un partage de connaissances entre ses différents individus. En
1995, Guarino et ses collègues ont recueilli plusieurs définitions dans la littérature
scientifique, en ont fourni des interprétations sémantiques et ont proposé la définition
suivante: "Une ontologie est une théorie logique qui permet une spécification explicite
et partielle d'une conceptualisation" où le terme conceptualisation désigne l'idée de la
réalité qu'un individu ou un groupe d'individus peuvent avoir [Guarino 1995]. D’autres
auteurs offrent d’autres définitions fondées sur l’approche qu’ils ont adopté pour
construire leurs ontologies. A ce titre, on peut citer par exemple Swartout et ses
collègues qui proposent la définition: "une ontologie est un ensemble de termes
structurés de façon hiérarchique, conçu afin de décrire un domaine et qui peut servir de
charpente à une base de connaissances" [Swartout et al. 1997]. On peut aussi citer
Gomez-Perez qui propose quant à elle la définition qui stipule qu' "une ontologie fournit
les moyens de décrire de façon explicite la conceptualisation des connaissances
représentées dans une base de connaissances" [Gomez-Perez 2000].
Ces multiples définitions, qui dans leur diversité offrent des points de vue à la fois
différents et complémentaires sur un même concept, laissent augurer de quoi seront
constituées les ontologies. Actuellement, force est de constater que le terme ontologie
est de plus en plus utilisé, tout en référant à des objets assez différents. La figure IV.3 ,
tirée de [Smith et Welty 2001], permet d'illustrer le large spectre couvert par les
artefacts qui ont pu, à un moment donné, être classifiés, à tort ou à raison, comme des
ontologies.
Ainsi, des systèmes d'information aussi simples que des catalogues sont considérés par
certains auteurs comme des ontologies. Légèrement plus complexes, l'ontologie peut
être basée sur un ensemble de textes en langue naturelle sur lesquels on établit des
correspondances de chaînes de caractères. Les glossaires, permettant de classer les
termes référencés constituent également une ontologie, au même titre que les thésaurus
qui peuvent être considérés comme des glossaires plus évolués. Les taxinomies ainsi
que les systèmes à base de frames, largement utilisés dans la représentation des
connaissances, peuvent être également perçus comme des ontologies. Finalement, les
systèmes à base de connaissance utilisant des axiomes de la logique du premier ordre,
d'ordre supérieur, la logique modale, la logique des descriptions représentent les
ontologies les plus complexes.
Figure IV.3. Spectre couvert par les ontologies [Smith et Welty 2001]
- 80 -
Chapitre IV INTEGRATION SEMANTIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
Bien qu'ils soient disparates, les artefacts précédents présentent tout de même quelques
points communs. Il s'agit pour l'essentiel de la nécessité de mettre en œuvre une
classification partagée des concepts manipulés. Afin de mieux préciser notre perception
de la notion d'ontologie, nous reprenons les définitions de [Gruber 1993] avec une
légère connotation informatique, et nous considérons une ontologie comme "un modèle
(au sens large, composé d'objets et de relations) réutilisable et partageable d’un
domaine particulier (dans notre cas le domaine industriel, et plus précisément le
domaine de la microélectronique) spécifié pour créer un langage commun
(éventuellement basé sur des standards basés sur XML) afin de faciliter l’échange
d’informations et le partage de fonctionnalités entre les personnes et les systèmes
d’information (intégration)".
Pour mieux illustrer les définitions précédentes en ce qui concerne la notion d'ontologie,
nous avons voulu présenter une ontologie simplifiée - l'ontologie de jouet [Gandon
2002]. Cette ontologie est celle de la situation bien connue des cubes disposés sur une
table.
La figure IV.4 montre une situation décrivant une scène de trois cubes arrangés sur une
table. [Gandon 2002] propose un vocabulaire conceptuel (ontologie de jouet) pour parler
de quelques aspects de cette réalité (certains d'entre eux sont ignorés, par exemple il n'y
a aucun vocabulaire pour exprimer les dimensions des cubes). Enfin l'état de la scène
observée est décrit en utilisant les primitives de l'ontologie, qui sont dans notre exemple
formalisées par les fonctions Cube() et On().
Comme tout formalisme de représentation, les ontologies sont basées sur l'utilisation
d'un certain nombre de composantes de base dont la notion de concept, de relation et
d'axiome.
Les connaissances traduites par une ontologie sont véhiculées à l’aide d'un certain
nombre de constituants ou briques de base et qui sont principalement des: 1) Concepts,
2) Relations, 3) Fonctions, 4) Axiomes, 5) Instances [Gruber 1993], [Gomez-Perez
2000]. Le détail de ces constituants est comme suit :
- 81 -
Chapitre IV INTEGRATION SEMANTIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
- Les concepts, aussi appelés termes ou classes22 de l’ontologie, constituent les objets
de base manipulés par les ontologies. Ils correspondent aux abstractions pertinentes
du domaine du problème, retenues en fonction des objectifs qu’on se donne et de
l’application envisagée pour l’ontologie, par exemple, la description d’un ensemble
d'objets, d'une tâche, d’une fonction, d’une stratégie, d’un processus de
raisonnement, etc.
- Les relations traduisent les interactions existant entre les concepts présents dans le
domaine analysé. Ces relations sont formellement définies comme tout sous-
ensemble d’un produit cartésien de n ensembles, c’est à dire R : C1 x C2x … x Cn et
incluent 1) la relation de spécialisation (subsomption), 2) la relation de
composition (méronymie), 3) la relation d'instanciation, etc. Ces relations nous
permettent de capturer, la structuration ainsi que l’interaction entre les concepts, ce
qui permet de représenter une grande partie de la sémantique de l'ontologie.
- Les fonctions sont des cas particuliers de relations dans lesquelles le nième élément
(extrant) de la relation est défini de manière unique à partir des n-1 éléments
précédents (intrants). Formellement, les fonctions sont définies ainsi : F : C1 x C2
… x Cn-1 → Cn. Comme exemple de fonctions binaires, nous pouvons citer la
fonction mère-de.
- Les axiomes permettent de modéliser des assertions toujours vraies, à propos des
abstractions du domaine traduites par l’ontologie. Ils permettent de combiner des
concepts, des relations et des fonctions pour définir des règles d'inférences et qui
peuvent intervenir, par exemple, dans la déduction, la définition des concepts et des
relations, ou alors pour restreindre les valeurs des propriétés ou les arguments d'une
relation.
- Les instances ou individus constituent la définition extensionnelle de l’ontologie.
Ils représentent des éléments singuliers véhiculant les connaissances (statiques,
factuelles) à propos du domaine du problème.
Les concepts constituent les constituants centraux d'une ontologie. Selon [Gomez-Perez
2000], il est possible de les classifier selon plusieurs dimensions: 1) niveau
d’abstraction (concrets ou abstraits), 2) atomicité (élémentaires ou composés), 3) niveau
de réalité (réels ou fictifs). De plus, un concept est généralement défini par la donnée de
trois parties : un terme, une intention et une extension. Le terme (nom) correspond à
l'identité du concept. L'intention (notion) du concept, contient la sémantique du concept,
exprimée en termes de propriétés et d’attributs, de règles et de contraintes. L’extension
du concept regroupe les objets manipulés à travers le concept; ces objets sont appelés
instances du concept. L'extension et l'intention permettent respectivement de doter le
concept d’une sémantique référentielle (celle imposée par son extension) et d’une
sémantique différentielle (celle imposée par son intention) [Bachimont 2000].
Il est possible d'associer aux concepts un certain nombre de propriétés qui peuvent
porter aussi bien sur l'extension que sur l'intention et dont on peut citer principalement
et sans prétendre à aucune exhaustivité celles présentées dans [Füster 2002] :
- la généricité : un concept est générique s’il n’admet pas d’extension. Par exemple,
la vérité est un concept générique;
22
Bien que le terme classe soit plus technique, il est cependant très utilisé dans la littérature pour désigner la notion de concept.
Aussi, dans ce qui suit, nous allons, sauf indication contraire, considérer ces deux termes comme équivalents.
- 82 -
Chapitre IV INTEGRATION SEMANTIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
Tout comme pour les concepts, il existe aussi pour les relations un certain nombre de
propriétés, dont principalement on peut distinguer des propriétés intrinsèques, des
propriétés inter-relations, et des propriétés liant une relation et des concepts :
- Les propriétés intrinsèques à une relation permettent de définir la relation, et on
distingue principalement :
o les propriétés algébriques : symétrie, réflexivité, transitivité;
o la cardinalité : nombre de participations possibles d'une instance de concept
dans une relation.
- Les propriétés inter-relations portant sur plusieurs relations et qui peuvent être:
o l’incompatibilité : deux relations sont incompatibles si elles ne peuvent lier les
mêmes instances de concepts. Par exemple, les relations "être rouge" et "être
vert" sont incompatibles;
o l’inverse : deux relations binaires sont inverses l’une de l’autre si, quand l’une
lie deux instances I1 et I2, l’autre lie I2 et I1. Par exemple, les relations "a pour
père" et "a pour enfant"sont inverses l’une de l’autre;
o l’exclusivité : deux relations sont exclusives si, quand l’une lie des instances de
concepts, l’autre ne lient pas ces instances, et vice-versa. L’exclusivité entraîne
- 83 -
Chapitre IV INTEGRATION SEMANTIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
Tous les constituants d'une ontologie qui sont énumérés ci-dessus peuvent être utilisés
pour modéliser certains aspects de la connaissance d'un domaine particulier. Cependant,
une des questions le plus souvent soulevée est le choix de type de modélisation à
effectuer et qui consiste à décider du choix du type de constituant (c'est à dire le choix
d'une propriété, d'un concept, d'une relation, etc.) à utiliser pour modéliser une
connaissance particulière du domaine. Des critères semblables à ceux utilisés dans les
modèles de bases de données peuvent être utilisés. A titre d'exemple, un critère souvent
retenu pour la modélisation consiste à dire qu'il s'agit d'une propriété dès lors que les
valeurs prises possibles sont d'un type primitif, alors que les valeurs possibles d'une
relation qui sont d'un type complexe correspondent à un concept de l'ontologie.
D'une manière générale, dans la terminologie des systèmes à bases de connaissances, un
fait apparaît généralement comme une propriété d'une instance de concept, une règle
apparaît plutôt comme une propriété de concept ou d'une relation, et un axiome est
généralement intégré dans les ontologies comme des objets liés aux concepts et aux
relations.
Selon leur niveau de granularité, les ontologies peuvent être classifiées principalement
en quatre catégories [Guarino 1997], [Uschold et Gruninger 1996]: 1) ontologies de haut
niveau (supérieure), 2) ontologies de domaine, 3) ontologies de tâches, 4) et ontologies
d'application (figure IV.5). Ces différents types d'ontologies sont décrits comme suit :
- Les ontologies supérieures (Upper or Top-level Ontologies) [Guarino 1999]: ont
pour objet l’étude des catégories de choses qui existent dans le monde, comme les
concepts de haute abstraction tels que: les entités, les événements, les états, les
- 84 -
Chapitre IV INTEGRATION SEMANTIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
processus, les actions, le temps, l'espace, les relations, les propriétés, etc. et qui
sont indépendants d'un domaine particulier. Très souvent basées sur la théorie de
l'identité, la méréologie (théorie de l'ensemble et de ses parties) et la théorie de la
dépendance, ces ontologies intègrent en sus les fondements philosophiques comme
étant des principes à suivre pour concevoir l’ontologie de haut niveau, et dont le
but ultime est de standardiser la conception des ontologies.
- Les ontologies de domaine (Domain ontologies) [Mizoguchi 1995][Van Heijst et
al. 1997] : ce sont des ontologies qui sont construites sur un domaine particulier de
la connaissance. Elles fournissent le vocabulaire des concepts du domaine de
connaissance (par exemple lot, wafer dans le domaine microélectronique) et les
relations entre ces derniers, les activités de ce domaine (par exemple analyser,
tester, fabriquer) ainsi que les théories et les principes de base de ce domaine. Les
ontologies de domaine constituent donc des méta-descriptions d'une représentation
de connaissances du domaine. De nombreuses ontologies de domaine existent déjà,
telles que MENELAS dans le domaine médical [Zweigenbaum 1994], ENGMATH
pour les mathématiques [Gruber et Olsen 1994], TOVE dans le domaine de la
gestion des entreprises [Gruber 1995], etc.
Ontologie
Ontologie Supérieure
Ontologie d'Application
- Les ontologies de tâches (Task ontologies) [Mizoguchi 1995] : Ces ontologies sont
utilisées pour gérer des tâches spécifiques liées à la résolution de problèmes dans
les systèmes, telles que les tâches de diagnostic, de planification, de configuration,
etc. Elles fournissent un ensemble de termes au moyen desquels on peut décrire au
niveau générique comment résoudre un type de problème. Elles incluent, par
exemple, dans le cas de domaines liés à la planification, des noms génériques (par
exemple plan, objectif, contrainte), des verbes génériques (par exemple assigner,
classer, sélectionner), des adjectifs génériques (comme assigné) et d’autre mots qui
relèvent de l’établissement d’échéances, etc.
23
Signalons que nous nous basons tout au long de ce chapitre et des chapitres suivants sur le formalisme UML pour représenter nos
différents modèles et méta-modèles. Aussi, le sens des symboles graphiques utilisés dans ces modèles est celui préconisé dans UML
2.0. En particulier, les flèches désignent la relation de spécialisation/généralisation entre classes, les arcs possédant un losange à
l'extrémité désignent des relations d'agrégation entre classes, et les arcs simples désignent les autres types de relations entre classes.
- 85 -
Chapitre IV INTEGRATION SEMANTIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
- Les ontologies d’application [Van Heijst et al. 1997] : ce sont les ontologies les
plus spécifiques. Elles permettent de décrire des concepts dépendants à la fois d'un
domaine et d'une tâche. Dans cette classification, la notion d'ontologie d'application
définit le contexte d'une application qui décrit la sémantique des informations et
des services manipulés par une ou un ensemble d'applications sur un même
domaine.
Ontologie
- 86 -
Chapitre IV INTEGRATION SEMANTIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
Du fait que les ontologies peuvent s'apparenter à des composants logiciels, leur
développement peut donc s'appuyer sur les mêmes principes que ceux appliqués en
génie logiciel. Ainsi, on retrouve pratiquement les mêmes activités liées au
développement d'ontologies. Il s'agit d'une part des activités de développement
(spécification, formalisation implémentation), et d'autre part des activités de gestion de
projet (organisation, planification, estimation, contrôle, assurance-qualité), s'y ajoutent
un certain nombre d'activités transversales de support (évaluation, documentation,
gestion de la configuration).
EU-UNSF (European Commission - US National Science Foundation) propose un cycle
de vie pour le développement d'ontologies dans le contexte du Web sémantique. Il est
itératif et incrémental et comprend quatre phases: Conception initiale, raffinement
conceptuel, évaluation et évolution, avec plusieurs possibilité de feedback (figure IV.7).
Un autre cycle de vie semblable au précédent est proposé par [Dieng et al. 2001] (figure
IV.8) et il comprend principalement une étape initiale d’évaluation des besoins, une
étape de construction, une étape de diffusion, et une étape d’utilisation. Après chaque
utilisation significative, l’ontologie et les besoins sont réévalués et l’ontologie peut être
étendue et, si nécessaire, en partie reconstruite.
- 87 -
Chapitre IV INTEGRATION SEMANTIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
Figure IV.8. Cycle de vie global d'une ontologie [Dieng et al. 2001]
Un autre cycle de vie qui nous paraît intéressant, est celui proposé par l'équipe de
Fernandez [Fernandez et al. 1997]. Il est fortement inspiré du cycle en spirale utilisé en
génie logiciel, et permet de développer des ontologies d'une manière prototypique
(figure IV.9).
Une fusion de ces deux derniers cycles de vie a été proposée dans [Gandon 2002] dans
le cadre du projet CoMMA mené par l'équipe ACACIA de l'INRIA. Ce cycle de vie
propose, comme le montre la figure IV.10, une meilleure articulation entre les
différentes activités liées à la construction d'ontologies.
Quelle que soit la méthodologie retenue, la principale phase du cycle de vie est celle de
construction qui définit le cycle de développement d'une ontologie et permet de définir
les différentes étapes du processus de représentation des connaissances. Il peut être
- 88 -
Chapitre IV INTEGRATION SEMANTIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
Pour mieux guider la construction d’ontologies, plusieurs auteurs ont proposé quelques
principes qui peuvent s'avérer efficaces durant la conception d’ontologies
(ontologisation). Nous ne citerons que ceux qui sont à notre sens assez représentatifs, et
il s'agit essentiellement des principes proposés par [Gruber 1993] et [Bachimont 2001].
Gruber propose cinq critères génériques permettant de guider le processus
d'ontologisation. Il s'agit de [Gruber 1993]:
- Clarté et objectivité : l’ontologie devrait fournir des définitions claires et objectives
pour les termes, indépendantes de tout choix d'implémentation.
- Cohérence : consistance des axiomes afin de pouvoir formuler par la suite des
inférences cohérentes.
- Extensibilité: c'est à dire la possibilité d'étendre l'ontologie sans modification.
- Minimalité des postulats d’encodage: ce qui assure une bonne portabilité.
- 89 -
Chapitre IV INTEGRATION SEMANTIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
Comme nous l'avons déjà signalé, il existe une multitude de méthodologies. On retrouve
dans les travaux du groupe OntoWeb [OntoWeb 2002] plusieurs méthodologies classées
selon le type de processus de construction: ex-nihilo, ré-ingénierie, construction
collaborative. En plus de ces méthodologies de construction, ces travaux citent d'autres
types de méthodologies destinés à d'autres tâches comme les méthodologies
d'apprentissage, d'évaluation, d'évolution, de fusion, de maintenance, etc.. Dans le cadre
de nos travaux, nous allons nous focaliser uniquement sur les méthodologies de
construction d'ontologies. Et nous ne citerons que celles qui nous paraissent les plus
représentatives, à savoir, les méthodologies d'Uschold et King, Grüninger et Fox, et
Methontology [Corcho et al. 2003].
La méthodologie d'Uschold et King [OntoWeb 2002], inspirée de l'expérience de ces
auteurs dans la construction de plusieurs ontologies pour la modélisation des entreprises,
propose les quatre étapes suivantes: 1) Identifier le but et la portée de l'ontologie, 2) la
construire, 3) l'évaluer, et 4) la documenter (figure IV.11). Le processus de construction
repose sur la capture des connaissances, leur codage, et leur intégration éventuelle à
d'autres ontologies. Pour l'identification des concepts, les auteurs proposent trois
stratégies: une approche descendante, dans laquelle les concepts les plus abstraits sont
définis et qui sont ensuite spécialisés; une approche ascendante, dans laquelle les
concepts spécifiques sont identifiés et qui sont ensuite généralisés pour définir d'autres
concepts plus génériques; et une approche mixte dans laquelle les concepts les plus
importants sont identifiés et auxquels on applique les techniques de spécialisation et/ou
de généralisation pour déterminer les autres concepts.
- 90 -
Chapitre IV INTEGRATION SEMANTIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
- 91 -
Chapitre IV INTEGRATION SEMANTIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
On assiste actuellement à la prolifération d'outils autour des ontologies. Ces outils qui
peuvent généralement offrir des fonctionnalités d'édition, de catalogage et/ou de
recherche, permettent de systématiser quelque peu l’ingénierie des ontologies. Nous
citerons ici que certains outils qui nous semblent les plus significatifs, à savoir
Ontolingua, Ontosaurus, ODE, Protégé 2000, Tadzebao, WebOnto, HOZO, KAON,
OILEd, et DUET.
Une liste plus exhaustive peut être trouvée dans [Corcho et al. 2003][GómezPérez
2000][Ideas 2003][OntoWeb 2002]. Certains de ces outils ont fait l’objet de plusieurs
- 92 -
Chapitre IV INTEGRATION SEMANTIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
- 93 -
Chapitre IV INTEGRATION SEMANTIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
- 94 -
Chapitre IV INTEGRATION SEMANTIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
assistance par des mécanismes de traitement du langage naturel opérant sur des corpus
de textes.
- 95 -
Chapitre IV INTEGRATION SEMANTIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
Les premiers langages spécifiquement dédiés aux ontologies remontent au début des
années 90. Au commencement, un certain nombre de langages basés sur l'intelligence
artificielle ont été créés. Il s'agissait pour l'essentiel de langages basés sur la logique de
premier ordre (KIF), sur des frames combinées à la logique de premier ordre
(Ontololingua, OCML, F-Logic), ou la logique descriptive (LOOM).
Avec l'explosion de l'Internet vers le milieu des années 90, d'autres langages ont été
créés pour pouvoir exploiter la richesse du Web. Ce sont les langages basés Web
(SHOE), appelés aussi langages d'annotation d'ontologies (Ontology Markup
Languages). Certains de ces langages sont basés XML comme XOL, OML, RDF(S),
OIL, DAML+ OIL, OWL. Bon nombre de ces langages sont encore à l'heure actuelle en
phase de développement et/ou d'évolution, tel est le cas de OWL.
Au delà de ces langages relativement récents, nous pouvons également citer les
formalismes de représentation des connaissances, dont certains sont déjà utilisés vers la
fin des années 60 et qui sont proposés par l'intelligence artificielle. Ces formalismes
peuvent aussi être considérés comme de véritables langages de représentation des
ontologies. On peut citer entre autres: les réseaux sémantiques, les langages de frames,
les graphes conceptuels et les logiques de description.
Dans ce qui suit, nous allons présenter une synthèse des langages ontologiques en
s'inspirant principalement des délivrables des projets européens OntoWeb [Ontoweb
2002] et IDEAS [Ideas 2003].
Les réseaux sémantiques, introduits par Quillian en 1968, sont fondés sur un modèle
graphique permettant de combiner la représentation de concepts sous forme de nœuds et
de relations sous forme d'arcs, et qui permettent de supporter la notion d'héritage ainsi
que des mécanismes de raisonnement fondés sur le parcours du réseau.
Le langages des frames, introduits par Minsky en 1975, ont pour but de représenter les
connaissances dans un schéma incluant des frames, des slots permettant de décrire ces
frames, et des relations d'héritage permettant d'hiérarchiser ces frames.
Au milieu des années 80, deux formalismes inspirés à la fois des réseaux sémantiques et
des frames ont été développés. Il s'agit du formalisme des graphes conceptuels et de
celui des logiques de description. Chacun de ces formalismes est doté d'une sémantique
formelle et dispose d'un ensemble de mécanismes permettant non seulement de
représenter les connaissances mais aussi de permettre le raisonnement sur celles-ci.
Les graphes conceptuels (GC), introduits par Sowa en 1984, permettent précisément de
gérer la connaissance avec des graphes bipartites finis connexes décrivant comment les
connaissances d’un domaine sont organisées. Les deux composants de ces graphes en
sont les concepts et les relations. Chaque nœud relation doit relier des concepts par des
arcs. Chaque concept peut désigner des entités, des propriétés, des états, voire des
événements. Les exemples suivants (figure IV.16) permettent de représenter en GC la
connaissance exprimée en langue naturelle "Lucien va à Marseille en train"en utilisant
respectivement les multiples formes permises par les CG à savoir, DF (Display Form),
LF (Linear Form), CGIF (Conceptual Graph Interchange Format).
- 96 -
Chapitre IV INTEGRATION SEMANTIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
Instrument
DF
Moyen: Train
[Aller] –
(Agent) -> [Personne : Lucien]
LF (Destination) -> [Ville: Marseille]
(Instrument) -> [Moyen: Train]
- 97 -
Chapitre IV INTEGRATION SEMANTIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
A partir des années 90, plusieurs langages ontologiques ont vu le jour. Certains se
basent sur la logique et d'autres sur les frames. Ils sont brièvement présentés ci-dessous.
Le langage KIF (Knowledge Interchange Format) constitue sans doute l'un des langages
spécialement dédié aux ontologies. Il est basé sur la logique de premier ordre et il est
créé en 1992 comme format d'échange pour divers systèmes à base de règles. Si on
reprend l'exemple de la figure IV.16 qu'on traduit en KIF, on obtiendra la formule
suivante.
Le langage Ontolingua, qui est construit sur le langage KIF, est développé en 1992 par
l'université de Stanford. Il permet de représenter des connaissances en combinant des
frames et la logique des prédicats de premier ordre. Il a constitué un référentiel pendant
de nombreuses années en matière de langage de construction d'ontologies. Bien qu'il
représente les ontologies au niveau symbolique sans abstraction réelle, il présente tout
de même une assez forte expressivité grâce à ses nombreux éléments permettant de
formaliser les concepts, les relations, les fonctions, les instances et les axiomes.
Néanmoins, ce langage demeure assez limité dans la construction de mécanismes de
raisonnement.
Le langage LOOM a été développé en 1992 par l'ISI de l'université de South
California. Initialement conçu pour les bases de connaissances générales, il peut
toutefois être utilisé pour représenter des ontologies. LOOM est basé sur les logiques de
description et les règles de production, et il peut fournir une classification automatique
des concepts. Il permet de représenter les connaissances avec les composantes suivantes:
concepts, taxonomies, relations, fonctions et règles.
OCML (Operational Conceptual Modelling Language) est développé en 1993 par KMI
de Open University. Il a été conçu comme une extension du langage Ontolingua, dans la
mesure où il comble les lacunes de ce dernier en prenant en charge les règles de
production, ce qui permet d'améliorer les mécanismes de raisonnement d'Ontolingua.
Son orientation vers les mécanismes de raisonnement fait d'OCML un langage adapté
aux méthodes de résolution de problèmes.
F-Logic, développé en 1995 par Karlsruhe University, combine aussi bien les frames
que la logique de premier ordre. Il permet de représenter des connaissances avec les
éléments suivants: concepts, taxonomies, relations, axiomes et règles de déduction. Il
possède un moteur d'inférence, Ontobroker, qui peut être utilisé pour dériver de
nouvelles connaissances.
OKBC (Open Knowledge Base Connectivity), anciennement connu sous le nom de
Generic Frame Protocol, a été développé en 1997 au sein du programme américain
HPKB (High Performance Knowledge Base) sponsorisé par DARPA. Il constitue un
protocol, et non pas un langage, et permet d'accéder aux bases de connaissances
implémentées avec différents de langages de représentation.
- 98 -
Chapitre IV INTEGRATION SEMANTIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
- 99 -
Chapitre IV INTEGRATION SEMANTIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
binaires. De plus, certaines règles existent pour notamment définir des contraintes sur
les recherches.
La figure qui suit (figure IV.20) est une méta-vue de RDF et permet d’illustrer les
principaux constructeurs utilisés pour modéliser la sémantique d'un domaine. On peut à
titre d'exemple, citer le constructeur Class, Property et Resource qui représente
respectivement la notion concept (ou classe), la notion d'attribut (propriété) et la notion
d'objet (ressource) décrit.
Les langages SHOE, XOL RDF(S) constituent la fondation du Web sémantique. Et dans
ce contexte précis, d'autres langages ont été élaborés sur la base de RDF(S), il s'agit
essentiellement de OIL, DAML+OIL et OWL.
OIL (Ontology Inference Layer) est développé au cours du projet européen IST On-To-
Knowledge. Basé sur RDF(S), le langage OIL permet de décrire les ontologies en
combinant les primitives de modélisation utilisées dans les langages de frames et le
raisonnement formel des logiques de description pour exprimer des ontologies sur le
Web [Fensel 2001]. Le langage OIL est limité du point de vue expressivité, puisque par
exemple il ne supporte pas les types concrets, restriction qui se justifie par ailleurs par
la volonté de pouvoir conserver un test de subsomption décidable [Fensel 2001].
Parallèlement à cette initiative européenne, deux autres langages ont été développés au
cours du projet américain DARPA (DARPA Agent Markup Language). Il s'agit du
langage DAML-ONT et du langage DAML-LOGIC qui permettent respectivement de
spécifier des ontologies et d'ajouter des règles d'inférences. Très rapidement le langage
DAML-ONT a évolué, en 2000, en DAML+OIL, créé également dans le cadre du projet
DARPA et qui représente la fusion des deux langages DAML-ONT et OIL. Ce nouveau
langage supporte désormais des types primitifs, tels qu'on les retrouve dans XML, et
supporte également la définition d'un certain nombre d'axiomes comme l'équivalence de
- 100 -
Chapitre IV INTEGRATION SEMANTIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
En ce qui concerne la sélection de langages, les critères le plus souvent retenus sont
principalement l'expressivité et la performance du langage [Gandon 2002][OntoWeb
2002]. L'expressivité qui est liée au nombre de concepts pouvant être utilisés pour
décrire les composants d'une ontologie, alors que la performance est liée à la capacité et
la facilité de représentation des connaissances du domaine. D'après certains auteurs
[Fensel 2001], il semblerait que plus un langage est expressif et moins il est performant,
et vice versa. Il existe aussi un autre dilemme entre l'expressivité et le raisonnement
dans le sens où l'expressivité d'un langage doit être parfois limitée afin d'assurer un bon
service de raisonnement [OntoWeb 2002]. Mais on peut retenir le principe d'utilisation
de langages expressifs dans les phases amont, pour acquérir les connaissances
ontologiques où l'usage de la langue naturelle ou d’un langage de modélisation semi-
informels ou semi-formels (tels que les diagrammes Entité-Association [Tardieu et al.
2002], UML [Rumbaugh et al. 2005]) est généralement le plus adapté. Alors que pour
les phases en aval, l'usage de langages de représentation formels et/ou exécutables
mettant en œuvre des logiques formelles (logique des descriptions, logique de premier
ordre, logique d'action, logique de Horn, etc.) ou des algèbres (formalisme Z) est par
contre le plus adapté [OntoWeb 2002].
Vu leurs caractéristiques intéressantes aussi bien du point de vue expressivité que du
point de vue performances, nous décidons dans le cadre de nos travaux, d'utiliser le
langage UML pour la représentation semi-formelle de nos ontologies et nous décidons
d'utiliser le langage décidable OWL en tant que langage d'opérationnalisation de nos
ontologies.
Comme nous l'avons évoqué plus haut, OWL [OWLC 2004] est un langage d'ontologie
Web et il appartient à la famille en pleine croissance des recommandations W3C liées
au Web sémantique, à savoir le langage XML (pour décrire la syntaxe), le langage XML
schéma (pour restreindre la structure des documents XML), le langage RDF (qui fournit
une sémantique simplifiée), le schéma RDF (permettant de prendre en compte la
généralisation des propriétés et des classes).
Une ontologie OWL est composée d'un en-tête, d'axiomes et de faits. L'en-tête
représente des méta-données. Les axiomes permettent de définir des concepts ou des
relations, tandis que les faits sont simplement des individus, c'est à dire des instances
dont les propriétés sont renseignées. Pour décrire des ontologies, OWL comporte trois
couches ou sous-langages: OWL-Lite et OWL-DL et OWL Full. OWL-Lite est la forme
- 101 -
Chapitre IV INTEGRATION SEMANTIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
- 102 -
Chapitre IV INTEGRATION SEMANTIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
IV.3.6. Discussions
- 103 -
Chapitre IV INTEGRATION SEMANTIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
Ontologie
Globale
BD BD BD
BD BD BD
L'approche hybride combine les deux approches précédentes en utilisant à la fois des
ontologies locales et une ontologie partagée (parfois un vocabulaire commun) afin de
simplifier les mappings ontologiques (figure IV.24). L'ontologie partagée fournit un
vocabulaire commun et global ce qui rend les ontologies locales comparables. Cette
ontologie partagée comprend les termes de base ou primitives d’un domaine. Afin de
construire des termes complexes, ces termes de base sont combinés par des opérateurs,
et les termes peuvent être comparés plus facilement que dans une approche multi-
ontologies. Comme exemples de projets associés à cette approche, nous pouvons citer le
projet COIN [Goh 1997], le projet MECOTA [Wache et al. 1999], et le projet BUSTER
[Stuckenschmidt 2000][Visser et stuckenschmidt 2002] et qui utilisent respectivement la
notion de contexte local, des mécanismes d'annotation, des raffinements d'une ontologie
générale pour décrire localement les sources de données.
- 104 -
Chapitre IV INTEGRATION SEMANTIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
Vocabulaire Commun
BD BD BD
IV.4.4. Discussions
Nous avons brièvement reproduit dans le tableau suivant (tableau IV.1) les principales
caractéristiques de chacune de ces approches telles que présentées dans [Wache et al.
2001]. Il ressort de l'étude de ce tableau que l'approche hybride peut constituer une
approche pertinente pour l'intégration des systèmes d'information industriels dans la
mesure où elle peut fournir à la fois de la flexibilité et une simplicité de mise en œuvre.
Du fait qu'elles comportent plus d'une ontologie, les approches à ontologies multiples et
les approches hybrides peuvent être confrontées au problème d'hétérogénéité
ontologique [Klein 2001]. Dans ce cas, il devient nécessaire d'intégrer et de faire
interopérer des ontologies. Cet aspect est traité dans la section suivante.
- 105 -
Chapitre IV INTEGRATION SEMANTIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
Le premier type d’hétérogénéité est lié aux caractéristiques des langages utilisés pour
représenter les ontologies. Les langages peuvent différer dans leur syntaxe, mais plus
important encore dans les concepts et aussi dans les contraintes utilisés dans les deux
langages : certains concepts et/ou contraintes d’un langage ne sont pas disponibles dans
un autre langage. Ce type d’hétérogénéité soulève le problème de translation ou de
traduction d’ontologies [Corcho et al. 2003-b] qui constitue un cas particulier du
problème d’intégration d’ontologies. Ce problème est généralement résolu de façon
relativement simple par la mise en œuvre d’un processus de translation ou de traduction
qui se base souvent sur des techniques de normalisation qui permettent ainsi de résoudre
les différences syntaxiques pouvant exister entre deux ontologies données. Dans le cadre
des travaux que nous menons, cet aspect n'est pas considéré dans la mesure où l'on
impose l'utilisation d'un langage unique.
- 106 -
Chapitre IV INTEGRATION SEMANTIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
- 107 -
Chapitre IV INTEGRATION SEMANTIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
contextes. Dans le cadre de nos travaux, on ne s'intéresse pas à cet aspect des choses,
qui relève plutôt de l'intégration au niveau des connaissances.
24
On peut remarquer, au passage, que le terme d’intégration d’ontologies a été utilisé de façon abusive par la communauté
d’ontologies dans la mesure où il est associé à une multitude de situations [Pinto 1999], il constitue dans notre cas le moyen pour
résoudre le problème d’hétérogénéité ontologique dans le cadre général. A titre d'exemple, voici une autre définition, celle de [Sowa
1997], très connue qui considère l'intégration comme une fusion : l’intégration d’ontologies est le processus de recherche de
ressemblances entre deux ontologies A et B et dérive une nouvelle ontologie C qui permet de faciliter l’interopérabilité entre les
systèmes basés respectivement sur A et B. L’ontologie C peut remplacer les ontologies initiales A et B et peut aussi être utilisée
comme une ontologie intermédiaire entre les systèmes exploitant les ontologies initiales. Cette définition est relativement restreinte.
- 108 -
Chapitre IV INTEGRATION SEMANTIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
Il existe différentes approches pour intégrer des ontologies. Elles s'étendent des
approches faiblement couplées jusqu'aux approches fortement couplées [Ding 2002].
Dans le cadre du projet européen INTEROP [Interop 2005], on a retenu les principales
approches d'intégration suivantes : le mapping, l'alignement, la transformation et la
fusion d'ontologies. Chacune de ces approches est présentée ci-dessous.
A
B
A B
L'alignement d'ontologies est considéré comme le processus qui permet d'amener deux
ou plusieurs ontologies hétérogènes à un "accord mutuel" en les rendant ainsi
consistantes et mutuellement cohérentes. L'alignement d'ontologies nécessite la
transformation des ontologies impliquées en procédant à l'élimination des entités non
pertinentes et au rajout des entités manquantes (figure IV.28).
A
B
A B
- 109 -
Chapitre IV INTEGRATION SEMANTIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
A'
La fusion d'ontologies est une approche qui permet de construire à partir de deux ou
plusieurs ontologies existantes une nouvelle ontologie (figure IV.30). La nouvelle
ontologie intégrée s'obtient généralement en combinant les ontologies initiales et
quelques concepts supplémentaires nécessaires pour la combinaison [Kavouras 2003].
Ce type d'approche est généralement utilisé, dans le cadre d'intégration de données, pour
obtenir une ontologie globale qui sert d'interface pour un certain nombre d'ontologies
locales [Calvanese et al. 2001]. La principale limite de cette architecture tient au fait que
l’on a besoin de développer, et encore plus important, on a besoin de s’entendre sur une
ontologie globale, chose qui n’est toujours pas si évidente dans les environnements
fortement évolutifs.
A B
IV.5.3.5. Discussions
Etant donné que l'objectif de l'intégration est d'arriver à une médiation entre les
différentes ontologies, les techniques d'intégration les plus appropriées dans le cas de
nos travaux sont celles qui établissent des liens entre les concepts sans nécessité de
procéder à une fusion d’ontologies (intégration), autrement dit les techniques de
mapping ontologique (ou de médiation d'ontologies). Cette dernière technique possède
l'avantage des solutions faiblement couplées, ce qui permet d'apporter plus de flexibilité
dans le processus d'intégration des systèmes d'information industriels.
Dans la suite de ce document nous allons nous restreindre principalement au mapping
ontologique qui constitue à notre connaissance l’approche la plus adaptée pour les
travaux que nous menons dans le cadre d'intégration dans le domaine industriel.
Comme il a été évoqué précédemment, nous nous focalisons dans le cadre de nos
travaux sur l'approche d'intégration des ontologies basée sur des mappings. Cette
- 110 -
Chapitre IV INTEGRATION SEMANTIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
approche permet d'apporter plus de flexibilité dans les environnements aussi complexes
que sont les secteurs industriels. Nous allons dans ce qui suit, étudier de plus près cette
approche.
- 111 -
Chapitre IV INTEGRATION SEMANTIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
M = f(O, O’, M, p, r)
Ressources (r)
Ontologie (O)
Ontologie (O’)
Paramètres (p)
Il est bien entendu possible de définir le mapping de plusieurs ontologies, ce dernier est
alors appelé le multi-mapping d'ontologies. Et il peut être considéré comme étant une
extension de la fonction précédente, en insérant comme arguments les n ontologies
concernées par le mapping :
M’ = f(O1, O2,…, On , M, p, r)
Le mapping initial M peut être (s’il n’est pas vide) un mapping injecté (de façon très
souvent manuelle) en entrée en vue de le mettre à jour ou le compléter. Les ressources r
peuvent être les ressources matérielles, logicielles et humaines utilisées pour exécuter le
processus de mapping. Quant aux paramètres p, ces derniers peuvent être les hypothèses
effectuées comme le seuil de vraisemblance à utiliser, etc.
- 112 -
Chapitre IV INTEGRATION SEMANTIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
25
Deliverable D.4.2.1 (State-of-the-art survey on Ontology Merging and Aligning V1).
- 113 -
Chapitre IV INTEGRATION SEMANTIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
- 114 -
Chapitre IV INTEGRATION SEMANTIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
Selon l'avis de plusieurs auteurs, la découverte de mappings constitue l'un des points
fondamentaux de l'intégration sémantique [Kalfoglou et Schorlemmer 2003-b], [Noy
2004], [KnowledgeWeb 2004]. La découverte de mappings consiste à chercher des
correspondances entre les ontologies. Cette recherche peut se faire manuellement, de
façon interactive, de façon semi automatique, ou de façon automatique.
On distingue principalement deux approches de découvertes ainsi qu'une panoplie de
méthodes pouvant être utilisées pour chacune de ces approches.
L'objectif de cette approche consiste à utiliser pour la découverte des mappings une
ontologie supérieure partagée, le plus souvent une ontologie standard et qui peut être
facilement extensible afin de prendre en charge la spécificité des applications des
utilisateurs. Les exemples typiques d'ontologies utilisées dans ce cadre sont notamment :
- SUMO (Suggested Upper Merged Ontology) [Niles et Pease 2001] : est un effort
du groupe de travail IEEE sur les standards d'ontologies supérieures. L'ontologie
SUMO définit des concepts de haut niveau tels que Object, ContinousObject,
Process, Quantity, Relation, etc.
- DOLCE [Gangemi et al. 2003] : est une ontologie formelle développée en tant
qu'ontologie supérieure dans le cadre du projet européen WonderWeb. DOLCE a
pour but de fournir un framework de référence commun aux ontologies
WonderWeb permettant ainsi un partage d'information.
- PSL (Process Specification Language) [Gruninger 2003] : est considérée comme
un standard ISO (International Organization of Standardization). Elle est une
ontologie développée au sein du NIST (National Institute for Standards and
Technology) dans le but de faciliter l'intégration des informations sur les processus
dans l'industrie.
- 115 -
Chapitre IV INTEGRATION SEMANTIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
- 116 -
Chapitre IV INTEGRATION SEMANTIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
Figure IV.33. Taxonomie des principales méthodes de mapping d'ontologies [KnowledgeWeb 2004]
- 117 -
Chapitre IV INTEGRATION SEMANTIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
Les différents types de méthodes précédemment présentés ne sont pas exclusifs dans la
mesure où plusieurs d’entre eux peuvent être mis en œuvre simultanément. Le tableau
suivant (tableau IV.2) permet de résumer le croisement des principaux outils de
mappings avec les principales méthodes présentées.
Les colonnes de ce tableau correspondent aux types de méthodes de mappings
précédemment présentés :
- T : Terminologique
- TS : Terminologique basée Texte,
- TL : Terminologique basée Langage (TL));
- I : Structurelle Interne;
- S : Structurelle Externe
- ST : Structurelle Terminologique,
- SC : Structurel Cyclique),
- E: Extensionnelle,
- M: Sémantique (basée Modèle),
- U : Interaction avec l'Utilisateur.
- 118 -
Chapitre IV INTEGRATION SEMANTIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
Tableau IV.2. Panorama des principaux outils de mapping (adapté de [KnowledgeWeb 2004])
Nous avons choisi seulement de présenter succinctement quelques exemples d'outils qui
nous paraissent les plus représentatifs, à savoir : PROMPT, FCA-Merge, IF-Map, et
GLUE.
Le système PROMPT [Noy et Musen 2003] est développé à l'origine afin de supporter
la fusion d'ontologies. Il permet de stocker les mappings entre des ontologies sources
créés par le système et par l'utilisateur. La découverte de mappings repose sur des
caractéristiques lexicales (méthodes terminologiques) et structurelles (méthodes
structurelles), ainsi que les suggestions de l'utilisateur durant le processus de fusion en
vue d'établir les mappings. Un autre algorithme utilisé dans PROMPT est ANCHOR-
PROMPT qui traite l'ontologie comme un graphe dont les classes sont des nœuds et les
slots sont des liens. L'algorithme analyse les chemins dans le sous-graphe limité par les
ancres et détermine les classes qui apparaissent fréquemment dans des positions
similaires et dans des chemins similaires.
L’outil FCA-Merge (Formal Concept Analysis - Merge) [Stumme et Madche 2001]
permet de comparer deux ontologies qui possèdent un ensemble d'instances partagées ou
un ensemble de documents annotés. Basé sur des techniques formelles d'analyse des
concepts (et aussi des techniques extensionnelles et structurelles), cet outil permet de
prendre en charge les équivalences ainsi que les liens de spécialisation. Les résultats de
cette méthode peuvent être utilisés par un cogniticien afin d'effectuer la fusion
d'ontologies.
IF-Map [Kalfoglou et Schorlemmer 2003] permet d'identifier automatiquement les
mappings en se basant sur la théorie des flux d'information en exploitant des techniques
structurelles et extensionnelles. IF-Map permet de générer à partir de deux ontologies un
isomorphisme logique (mapping ontologique), et qui sont ensuite traduits en mappings
en utilisant la théorie des flux.
GLUE [Doan et al. 2002] est un exemple de système qui emploie des techniques
d'apprentissage afin de découvrir les mappings. GLUE utilise de multiples apprenants
permettant d'exploiter l'information dans les instances et la taxonomie de l'ontologie. Il
utilise ensuite un modèle probabiliste afin de combiner les résultats des différents
apprenants.
- 119 -
Chapitre IV INTEGRATION SEMANTIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
La définition de mappings ontologiques ne constitue pas une fin en soi. Ces mappings
doivent être exploités pour diverses tâches d’intégration comme la transformation de
données, le traitement des requêtes, ou la composition de services web, en ne citant que
quelques unes. Ceci conduit alors à utiliser les mappings dans des raisonnements.
Le système OntoMerge [Dou et al. 2003], que nous avons introduit précédemment,
utilise un raisonnement pour exécuter les tâches liées à la translation d’ontologies. La
première tâche est la translation d’instances d’une ontologie en instances d’une autre
ontologie conformément au mapping entre les deux ontologies. L’exécution de cette
tâche nécessite la création d’une ontologie intégrée incluant l’ontologie source,
l’ontologie cible, et les mappings. C’est sur la base de cette ontologie intégrée que le
système va effectuer des inférences, et exécute une projection afin de ne retenir que les
nouvelles conclusions atteintes et qui référencent exclusivement le vocabulaire de
l’ontologie cible. La seconde tâche exécutée par OntoMerge concerne la génération
d’extensions (taxonomie).
Les tâches d’intégration dans le cadre du système à base de mapping ontologique de
[Crubézy et Musen 2003] introduit dans la section précédente sont au nombre de trois.
- 120 -
Chapitre IV INTEGRATION SEMANTIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
IV.5.5. Discussions
Comme il a été déjà évoqué, les ontologies sont de plus en plus sollicitées dans le
domaine d'intégration des systèmes d'information [Bruijn 2003]. Dans la section
précédente, nous avons étudié l'aspect intégration des ontologies. A présent, nous allons
étudier l'intégration des systèmes d'informations à travers l'utilisation des ontologies.
Comme nous l'avons introduit au chapitre II, l'intégration des applications d'entreprise
peut intervenir au niveau de plusieurs couches et principalement : au niveau des
données, des traitements ou encore au niveau du processus. Cela demeure également
valable dans le cadre des approches d'intégration sémantique, et en particulier dans le
cas des approches d'intégration basées sur les ontologies.
Quelle que soit la couche retenue, il est possible de caractériser les approches
d'intégration à travers trois activités principales, qui sont à notre connaissance les plus
pertinentes, et qui sont comme suit [Interop 2005]26 :
- Description : est l'activité qui permet de décrire sémantiquement les aspects du
système d'information;
- Découverte : est l'activité qui permet de rechercher les informations et les
fonctionnalités qui peuvent être fournies par le système;
26
Dans le déliverable D 8.1, on rajoute une activité supplémentaire qui est l'activité exécution.
- 121 -
Chapitre IV INTEGRATION SEMANTIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
L'intégration sémantique des applications au niveau des données consiste à définir une
ou plusieurs ontologies permettant de décrire la sémantique du domaine et utiliser ces
ontologies dans des mécanismes de conciliation et d'unification de la sémantique afin de
résoudre les conflits sémantiques liés aux données échangées et/ou manipulées par les
applications. De telles approches sont souvent appelées par la communauté des bases de
données approches de médiation de contexte [Benslimane et al. 1999]. La résolution de
conflits se base généralement sur des mécanismes de classification et de comparaison
d'entités d'ontologie(s).
IV.6.1.1. Description
L'objectif principal de la description est de relier les ontologies aux données du système
d'information. A cet effet, les approches génériques utilisées sont principalement
[Wache et al. 2001] :
- La ressemblance structurelle : elle consiste à créer des mappings entre le schéma de
la base de données et l'ontologie. Par exemple, c'est l'approche utilisée dans les
systèmes SIMS [Arens et al. 1993] et TSIMMIS [Chawathe et al. 1994];
- La définition des termes : elle consiste à utiliser une ontologie pour ensuite définir
les termes contenus une base de données. Par exemple, le système BUSTER est
basé sur ce type d'approche;
- L'enrichissement structurel : elle est considérée comme la combinaison des
approches précédentes dans le sens où elle permet d'enrichir les éléments
structurels de la base de données tout en utilisant des définitions de termes. Par
exemple, le système OBSERVER [Mena el al. 1996] et KRAFT [Kraft 2004] sont
basés sur ce type d'approche de description sémantique.
- La méta-annotation : elle consiste à rajouter des annotations sémantiques aux bases
de données. Par exemple, le système OntoBroker est basé sur l'utilisation des
annotations sémantiques.
Un autre point important de la description est l'architecture d'ontologies adoptée et qui a
été traité au paragraphe § IV.4. Certaines approches adoptent des architectures mono-
ontologie (tel est le cas de SIMS [Arens et al. 1993]) alors que d'autres adoptent des
architectures multi-ontologies (par exemple, OBSERVER [Mena et al. 2000]), voire
des architectures hybrides (par exemple, le système MECOTA [Wache et al. 1999] et le
projet BUSTER [Stuckenschmidt 2000]).
IV.6.1.2. Découverte.
- 122 -
Chapitre IV INTEGRATION SEMANTIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
Il est fondamental de noter que généralement, des langages de requêtes peuvent être mis
en œuvre par les applications clientes pour formuler leur requête et des les exécuter. La
formulation des requêtes se fait au moyen des ontologies définies qui jouent alors le rôle
de modèle canonique. Des langages RDQL (RDF Query Language) ou OQL (OWL
Query Language) basés respectivement sur RDF et OWL sont souvent utilisés pour
formuler ces requêtes.
IV.6.1.3. Composition
Une fois que des similarités entre informations sont trouvées, des mécanismes de
composition sont ensuite réalisés. Ils permettent de combiner ces informations pour
former des éléments plus complexes. Cette activité est très souvent appelée intégration
de données par la communauté des bases de données.
IV.6.2.1. Description
La description des services porte principalement sur les capacités offertes par le service,
la qualité de service ainsi que la représentation du processus du service. Deux formes
basiques27 de description de la capacité d'un service sont généralement mises en oeuvre.
La première consiste à utiliser une description explicite en se basant sur une ontologie
de tâches, où chaque tâche du service est décrite par un concept de l'ontologie, et où
chaque capacité d'un service est modélisée comme un ensemble de tâches. La seconde
approche est implicite et se base sur les états de la transformation, c'est à dire en se
basant sur la formalisation des inputs, des outputs, des pré-conditions et des post-
conditions. L'approche explicite est plus simple et plus naturelle, mais peut conduire à
des ontologies volumineuses. La seconde approche est par contre moins intuitive, mais
elle est plus compacte. Un exemple de technologie industrielle qui repose sur l'approche
implicite de représentation est l'ontologie OWL-S, ou encore le formalisme WSMO.
27
D'autres approches existent pour l'enrichissement sémantique des services web. Elles reposent sur l'enrichissement ou la surcharge
des documents WSDL. Il s'agit en particulier de l'approche de [Ogbuji 2000][Sivashanmugam et al. 2003], [Peer 2002], etc.
- 123 -
Chapitre IV INTEGRATION SEMANTIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
IV.6.2.2. Découverte
IV.6.2.3. Composition
La composition des services (et des processus) a pour objet de combiner des services
pour former des services plus complexes. Parmi les contributions à ce sujet, nous
pouvons citer celles de [Rao et Su 2004][Casati et al. 2000][Papazoglou et Heuvel
2006][Medjahed 2004][Sirin et al. 2002][Lammermann 2003][Yang et Papazoglou
2002][Casati et al. 2001] qui traitent de la problématique d'assemblage de services dans
le contexte du B2B.
IV.6.3.1. Description
Plusieurs formalismes peuvent être utilisés pour décrire sémantiquement les processus.
Le premier niveau de description peut concerner les différents langages de modélisation
de processus qui peuvent être mis en œuvre tels que BPML, BPEL4WS, etc. Ces
langages offrent un certain nombre de constructeurs permettant de définir des processus.
Ce niveau de description est généralement faible dans la mesure où il est plus
syntaxique que sémantique. Pour cette raison, d'autres auteurs ont proposé des
ontologies plus complexes pour la description des processus. L'exemple majeur de telles
ontologies est l'ontologie proposée par l'institut NIST28 dans le cadre du langage PSL
(Process Specification Language) [Nist 2005].
28
National Institute of Standards and Technology.
- 124 -
Chapitre IV INTEGRATION SEMANTIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
IV.6.3.2. Découverte
La découverte de processus est un domaine qui est peu traité. Le peu d'approches qui
s'intéressent au sujet sont notamment l'approche ebXML [ebXML 2001] et l'approche
ECIMF [ECIMF 2005] qui s'intéressent à la problématique d'intégration de processus
dans le contexte B2B. Mais très souvent le problème de découverte est appréhendé sous
l'angle de découverte de services composites (§ IV.6. 2.2).
IV.6.3.3. Composition
IV.6.4. Discussions
Dans la section précédente, nous avons présenté un panorama des principales catégories
d'approches qui peuvent être mises en œuvre dans le cadre d'intégration sémantique des
systèmes d'information industriels, et nous avons retenu l'approche orientée services
sémantiques comme l'une des approches les plus efficaces qui est basée à la fois sur le
dynamisme et la sémantique (figure IV.34). Nous allons dans cette section, détailler les
approches orientées services sémantiques. Et nous allons en particulier étudier les
approches les plus représentatives des services sémantiques et qui sont à notre sens :
OWL-S, WSMF, WSMO, METEOR-S et IRS-II. Cette étude est basée plus
particulièrement sur [Cardoso 2006][KnowledgeWeb 2004][Cabral et al. 2004][Bussler
2004][Bussler 2003][Bobillo et al. 2005].
- 125 -
Chapitre IV INTEGRATION SEMANTIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
IV.7.1. OWL-S
OWL-S, anciennement DAML-S est une ontologie pour la description sémantique des
services web qui a été développée dans le cadre du projet DAML. OWL-S se base sur le
langage standard OWL [OWLSC 2004] qui permet de représenter des ontologies de
façon standardisées sur le web. L'objectif de OWL-S est de formaliser de façon non
ambiguë les web services de manière à ce qu’un agent logiciel puisse exploiter
automatiquement les informations concernant ces services. Les bénéfices de l’emploi
d’une ontologie de services peuvent être multiples, mais le plus intuitif concerne sans
doute l’amélioration de la recherche de services et également leur composition.
Comme illustré en figure IV.35, OWL-S distingue trois éléments principaux qui
interviennent dans la description d’un service :
- ServiceProfile : exprime ce que le service propose ainsi que les prérequis que son
emploi puisse imposer;
- ServiceModel : exprime le fonctionnement du service;
- ServiceGrounding : exprime comment le service peut être utilisé.
Dans l’approche OWL-S, la partie profil contient l’information la plus utile pour la
découverte et la composition de services du fait qu'elle est utilisée à la fois par les
fournisseurs de services pour la publication et par les clients pour l'interrogation.
L'exemple de la figure IV.36 qui est un cas de ServiceProfile, représente les inputs, les
- 126 -
Chapitre IV INTEGRATION SEMANTIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
outputs, les pré-conditions ainsi que les effets du service de réservation de la société
congo.com29.
IV.7.2. WSMF
29
http://daml.semanticweb.org/services/owl-s/1.0/
30
http://swws.semanticweb.org
- 127 -
Chapitre IV INTEGRATION SEMANTIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
Les objectifs (décrits dans le répertoire d’objectifs) permettent de définir les problèmes
qui doivent être résolus par les web services. Ils incluent des pré-conditions et des post-
conditions. Les ontologies fournissent la terminologie et la sémantique utilisée par les
autres éléments. Les descriptions des services web définissent les différents aspects liés
aux services web (input, output, opérations, etc.). Les médiateurs permettent de résoudre
les problèmes liés à l’intégration entre les services web.
Nous devons noter que WSMF est un modèle conceptuel et ne définit pas de sémantique
concrète particulière pour la représentation des services. Selon la spécification publique
de WSMF, ceci peut être réalisé à travers l'utilisation de WSFL ou de OWL-S, et de
PSL (Process Specification Language) [KnowledgeWeb 2004].
IV.7.3. WSMO
WSMO (Web Service Modeling Ontology) [Bussler et al. 2004] est une extension et un
raffinement WSMF. C’est un langage formel et une ontologie qui permet de décrire des
aspects variés des Web services sémantiques. La spécification de WSMO repose sur un
modèle stratifié qui inclut la définition de trois différentes ontologies : WSMO Lite
(ontologie de base), WSMO Standard (ontologie intermédiaire) et WSMO Full (qui
contient tous les concepts définis dans WSMO).
- 128 -
Chapitre IV INTEGRATION SEMANTIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
IV.7.4. METEOR-S
METEOR-S (METEOR for Semantic Web Services) est une initiative du laboratoire
LSDIS de Géorgie et qui a pour objectif de fournir des services web sémantiques dans le
cadre du projet METEOR (Managing End-To-End OpeRations). Il a précisément pour
but d’intégrer les standards des services Web (BPEL4WS, WSDL et UDDI) avec les
- 129 -
Chapitre IV INTEGRATION SEMANTIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
- 130 -
Chapitre IV INTEGRATION SEMANTIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
Le principe d'annotation des services web peut être mieux illustré par la figure suivante
(figure IV.41) qui permet de représenter un exemple de fichier WSDL-S. Dans ce
fichier, des annotations ont été rajoutées afin de définir des liens avec des ontologies
permettant d'expliciter la sémantique des éléments du service web.
IV.7.5. IRS-II
IRS-II (Internet Reasoning Service), est une structure et une implémentation pour les
Web services sémantiques, supportée par le projet AKT (Advanced Knowledge
Technologies dans le cadre d'une collaboration interdisciplinaire de recherche
regroupant plusieurs universités européennes dont l'université d'Aberdeen, d'Edinburgh
etc. IRS-II est conçu comme un moyen de résolution de problèmes en ligne réutilisables
[Motta et al. 2003]. Le but principal d’IRS-II est de supporter la découverte et la
récupération de services de librairies distribuées sur Internet et de leur configuration
semi-automatique, dans le but de réaliser des tâches spécifiques en fonction des
exigences des utilisateurs. IRS-II tente d’apporter l’adaptabilité et une médiation
flexible entre problèmes et services [Crubézy et Musen 2003].
IRS-II possède deux caractéristiques majeures. Premièrement, IRS-II est construit sur un
modèle de connaissance, et deuxièmement IRS-II est basé sur le langage UPML
(Unified Problem-Solving Method-Development Language) pour l'annotation des
services. L'architecture de IRS-II est illustrée en figure IV.42. Les principaux
composants sont le serveur IRS (IRS Server), le fournisseur IRS (IRS Publisher ) et le
client IRS (IRS Cleint) et qui communiquent à travers le protocole SOAP.
Le serveur ISR comporte les descriptions des services sémantiques à deux niveaux
différents. Un niveau de description des connaissances permettant la description des
tâches (Task models), du domaine (Domain models) et des méthodes de raisonnement
(PSMs - Problem Solving Methods) et ce en se basant sur le framework UPML.
- 131 -
Chapitre IV INTEGRATION SEMANTIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
Le fournisseur IRS joue deux rôles principaux dans le framework IRS-II. Premièrement,
il permet de lier les descriptions sémantiques aux services web. Deuxièmement, il
permet de générer des adaptateurs standards (Java Web Service) qui permettent ainsi
d'encapsuler l'hétérogénéité due aux langages utilisés (Lisp, Java, etc.).
Le client IRS est toute application permettant d'interroger le framework pour découvrir
des tâches qui correspondent à un problème particulier et ensuite d'exécuter les services
web associés à la résolution de ce problème.
Nous avons choisi de reproduire ci-dessous (figure IV.43) un exemple présenté dans
[Motta et al. 2003] et qui décrit une méthode de résolution de problèmes (PSM) qui
permet de fournir le taux de change bancaire en fonction des monnaies délivrées en
entrée.
Figure IV.43. Représentation d'une PSM dans IRS-II [Motta et al. 2003]
IV.7.6. Discussions
Nous avons choisi de résumer, dans le tableau IV.2, les principales caractéristiques des
principales approches de services sémantiques présentées précédemment. Les
- 132 -
Chapitre IV INTEGRATION SEMANTIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
caractéristiques de ces initiatives sont synthétisées à l'aide de sept critères que nous
avons choisi de retenir qui sont, à notre sens, les plus pertinents. Il s'agit, en
l'occurrence, de deux critères génériques déjà retenus dans le chapitre III pour l'analyse
des approches syntaxiques auxquels nous avons décidé de rajouter quatre autres critères
spécifiques aux approches sémantiques. Les deux critères génériques retenus sont
comme suit :
- critère point de vue qui permet de préciser le niveau d'abstraction (conceptuel,
technique) associé à l'approche considérée;
- et le critère ouverture qui permet de représenter le degré de standardisation permis
par l'approche
Les trois critères supplémentaires spécifiques que nous avons choisis pour l'analyse des
approches sémantiques sont :
- le critère description sémantique qui permet de préciser la manière avec laquelle
les services sont décrits sémantiquement par l'approche étudiée;
- le critère médiation de services qui permet de préciser la prise en compte des
mécanismes de médiation par l'approche étudiée;
- et le critère maturité qui désigne en fait le degré de maturité de l'approche vis à vis
de la problématique d'intégration des applications industrielles.
conceptuel technique
conceptuel conceptuel
Point de vue (basée sur une conceptuel (basée sur
(basée sur un (basée sur des
(niveau ontologie (basée sur le l'enrichissement
cadre ontologies
d'abstraction) générique de cadre WSMF) sémantique de
conceptuel) tâches et PSM)
services) WSDL)
forte
faible
très forte faible faible (basée sur
Ouverture (basée sur
(basée sur (basée sur (basée sur WSDL, mais
(standardisation) UPML et
WSDL, OWL) UPML) WSML) WSDL-S n'est
OCML)
pas standard)
pas de
description mais
Ontologie Ontologie PSM
Description recommandation Ontologie Annotation des
générique et ontologie
sémantique d'utilisation de WSMO fichiers WSDL
OWL-S Tâche
OWL-S- et de
PSL
définie mais en
Médiation de
non définie non définie cours de non définie non définie
services
développement
Maturité relative
vis à vis de la
problématique forte très faible moyenne moyenne moyenne
d'intégration en
industrie
- 133 -
Chapitre IV INTEGRATION SEMANTIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
L'analyse du tableau IV.1 permet de retenir un certain nombre de points importants qui
sont :
- OWL-S constitue une ontologie générique de services permettant principalement
de décrire les services web dans un cadre général. Une des caractéristiques majeure
de OWL-S est le fait qu'elle soit compatible avec les standards industriels
notamment WSDL, et ce grâce au ServiceGrounding qui permet de définir des
mappings entre OWL-S et WSDL. Certains travaux existent quant à la découverte
et la composition de services en utilisant OWL-S.
- WSMF est un cadre générique pour la réalisation des services sémantiques. Il
constitue donc un framework qui permet d'offrir beaucoup plus un cadre
méthodologique qu'une infrastructure opérationnelle.
- WSMO constitue une approche basée sur des fondements conceptuels issus de
WSMF pour la réalisation des services sémantiques. Il est beaucoup plus orienté
utilisateur dans le sens elle permet d'offrir un langage très proche des utilisateurs.
Mais elle demeure toutefois immature du fait qu'il s'agit d'une initiative en cours de
développement. De plus, l'une des limites les plus importantes est le fait que cette
approche ignore les standards industriels existants, ce qui suppose que des
mappings doivent être définis afin de garantir l'intégration avec les standards
existants au sein des entreprises.
- METEOR-S constitue une approche basée sur l'extension de standards industriels.
Le principe d'enrichissement sémantique est basé principalement sur l'utilisation
des fichiers WSDL-S qui sont le résultat de l'annotation sémantique de fichiers
WSDL. Bien que cette approche repose sur des standards, il n'en demeure pas
moins qu'elle manque d'abstraction dans le sens où elle constitue une approche plus
proche du niveau d'implémentation que du niveau conceptuel.
- IRS-II est une approche qui permet de réaliser les services sémantiques à travers le
framework UPML. Ceci constitue à la fois son point fort et son point faible. De
part sa formalisation UPML est considérée comme un point fort de l'approche IRS-
II. Mais il constitue aussi l'un des griefs les plus cités à l'encontre de cette approche
du fait qu'elle est fortement liée à ce framework (UPML) négligeant ainsi d'autres
préoccupations importantes liées aux services sémantiques. Il s'agit en particulier
des besoins, qui nous intéressent beaucoup dans le cadre de nos travaux, à savoir
l'intégration des services.
En résumé, on peut retenir que OWL-S est une approche générique, basée sur le
standards OWL et WSDL. WSMF constitue beaucoup plus un cadre méthodologique.
WSMO est une approche basée sur un langage propriétaire combinant plusieurs
logiques. METEORS-S est une approche pragmatique mais qui manque d'abstraction et
IRS-II est fortement liée au framework UPML. De plus, nous pouvons remarquer la
compatibilité entre OWL-S et METEOR-S qui peuvent ainsi être considérées comme
des approches qui peuvent être combinées, alors que ces deux approches sont plutôt
contradictoires avec WSMO et avec IRS-II dans la mesure où ces approches utilisent
des langages et des outils incompatibles avec les standards industriels.
Par rapport à nos travaux, qui rappelons-le, portent sur l'intégration des systèmes
d'information industriels, il s'avère qu'aucune de ces approches n'est complètement
mature pour prendre en charge totalement et efficacement l'ensemble du processus
l'intégration des applications industrielles. Toutes ces approches souffrent plus ou moins
du manque de méthodologies, du manque d'architectures flexibles pouvant décrire
efficacement la sémantique liée aux applications, et aussi du manque de maturité ou
parfois même de l'absence de mécanismes de description et de médiation efficaces
- 134 -
Chapitre IV INTEGRATION SEMANTIQUE DES SYSTEMES D'INFORMATION INDUSTRIELS
pouvant être utilisés dans le domaine industriel. Cependant, au vu de tous les éléments
présentés dans cette section, il nous paraît que l'approche OWL-S est celle qui présente
le plus de maturité, de généricité et de standardisation. C'est la raison fondamentale qui
nous a amené à nous baser sur cette approche (OWL-S) comme fondement de base pour
les travaux que nous menons dans le cadre de l'intégration des applications industrielles.
IV.8. Conclusion
Dans ce chapitre, nous avons présenté les principales notions portant sur l'intégration
sémantique des systèmes d'information et qui peuvent être mises en œuvre dans le
domaine industriel. Nous avons étudié en particulier la notion d'ontologie comme l'une
des technologies les plus pertinentes pour expliciter la sémantique des applications.
Nous avons alors étudié la structure, la construction, la représentation ainsi que les
architectures typiques des ontologies. Devant la diversité des ontologies utilisées dans
certains systèmes, nous avons montré la nécessité de les intégrer. Aussi, nous avons
présenté les principales approches d'intégration des ontologies et nous avons retenu la
technique du mapping comme étant l'approche la plus flexible permettant
d'interconnecter des ontologies hétérogènes.
Nous avons également présenté les utilisations typiques des ontologies dans des
scénarios d'intégration, et nous avons retenu les services sémantiques comme l'une des
approches les plus efficaces qui va permettre l'intégration des systèmes d'information
industriels. Nous avons ensuite étudié les principales approches de services
sémantiques, et nous avons retenu OWL-S, grâce à son degré de maturité vis à vis de la
problématique d'intégration dans les domaines industriels, comme fondement de base
des travaux que nous menons.
L'analyse des techniques actuelles d'intégration sémantiques permet de révéler à notre
sens quatre points essentiels. Le premier point porte sur l'inadéquation des architectures
actuelles des ontologies à capturer de façon flexible et efficace la sémantique des
applications industrielles. Le second point porte sur le manque de méthodologie à mettre
en œuvre pour définir les ontologies et les services sémantiques. Le troisième point
concerne la limite des approches actuelles en matière de description et de médiation de
services dans le contexte intra-entreprise (et même extra-entreprise qui constitue une
perspective logique de nos travaux). Enfin, le dernier point porte sur la complexité des
techniques sémantiques d'où la nécessité, en vue de leur adoption, de mettre en œuvre
des outils appropriés permettant de simplifier toute la complexité inhérente à l'utilisation
de ces technologies. Cette thèse s'inscrit dans l'objectif de répondre à ces problématiques
posées en particulier dans le contexte industriel. Le chapitre suivant va permettre de
présenter les grands principes de notre proposition.
- 135 -
PARTIE 2
UNE APPROCHE
D'INTEGRATION
FLEXIBLE BASEE SUR
LES SERVICES
SEMANTIQUES
Chapitre V
V.1. Introduction
Les trois chapitres précédents ont permis d'étudier les principales approches pour
l'intégration d'applications qui peuvent être mises en œuvre dans le domaine industriel,
et en particulier dans le domaine de la microélectronique. Ils ont notamment permis de
mettre l'accent sur la distinction entre les approches syntaxiques et les approches
sémantiques. Comme nous l'avons vu, ces dernières constituent le moyen le plus flexible
pour intégrer des applications d'entreprise. L'analyse des solutions d'intégration
sémantique actuelles, et en particulier des approches basées sur les services
sémantiques, a montré un certain nombre de limites qui concernent principalement les
architectures des ontologies actuelles, le manque de méthodologie pour définir les
ontologies et les services sémantiques, le manque de maturité des mécanismes de
description et de médiation de services dans le contexte intra-entreprise et le manque
d'outils permettant de prendre en compte la complexité inhérente à l'utilisation des
technologies aussi variées que diverses permettant de supporter des architectures de
services et des architectures sémantiques.
Partant de ce constat, nous avons investigué le domaine d'intégration des services à la
recherche d'une méthodologie et d'une solution flexible d'intégration. Nous allons dans
ce chapitre exposer les grandes axes de notre proposition pour l'intégration des
applications microélectroniques. La section V.2 effectuera un rappel de notre
problématique. La section V.3 présentera les principes fondamentaux de notre modèle
d'intégration. Les sections V.4 et V.5 discuteront respectivement du modèle et de
l'architecture globale de notre cadre d'intégration. Elles introduiront trois couches
permettant de définir respectivement les trois notions majeures de notre modèle : le
service fondamental, l'ontologie d'entreprise et le service d'intégration. Enfin, la section
V.6 exposera une démarche méthodologique globale pour construire les trois couches de
notre proposition.
Chapitre V VERS UNE APPROCHE D'INTEGRATION FLEXIBLE BASEE SUR LES SERVICES SEMANTIQUES
PInt
Problématique d'intégration
basée sur la sémantique
Problématique
de flexibilité
PSem
PFle
Problématique d'enrichissement
sémantique des services
PSyn
Problématique de migration vers
une architecture de services
31
Nous empruntons les anglicismes 'serviciser' et 'servicisation' pour désigner respectivement l'action et le processus de migration
vers une architecture de services d'entreprise.
- 140 -
Chapitre V VERS UNE APPROCHE D'INTEGRATION FLEXIBLE BASEE SUR LES SERVICES SEMANTIQUES
32
Nous empruntons les anglicismes 'sémantifier' et 'sémantification' pour désigner respectivement l'action et le processus
d'enrichissement sémantique des services d'entreprise.
33
Il est généralement admis que les critères de réutilisation et de gestion des services sont des critères antagonistes dans la mesure
où d'une part, plus les services sont de grosse granularité, plus ils sont gérables mais moins réutilisables, et d'autre part, plus ils sont
de fine granularité et plus ils sont plus réutilisables mais difficilement gérables.
34
La notion de généricité d'un service permet de définir le degré de réutilisation idéal d'un service.
- 141 -
Chapitre V VERS UNE APPROCHE D'INTEGRATION FLEXIBLE BASEE SUR LES SERVICES SEMANTIQUES
Une fois que l'enrichissement sémantique des services d'entreprise est effectué, il reste à
définir des mécanismes adaptés et basés sur la sémantique permettant de mettre en
œuvre l'intégration des applications industrielles. Ceci constitue notre troisième sous-
problématique (PInt). Il s'agit en particulier d'étendre certains mécanismes existants
comme la publication et la découverte de services OWL-S, et de proposer une nouvelle
approche de médiation de services basée sur la sémantique qui devrait être définie lors
de la résolution de la sous-problématique précédente (cf. § V.2.2).
Il est fondamental de préciser que l'une des spécificités des travaux que nous menons
repose sur le critère de flexibilité. En effet, tout au long de nos travaux nous avons
adopté un comportement qui privilégie la flexibilité dans la résolution du problème
d'intégration. Cette préoccupation constitue la sous-problématique de flexibilité qui est
traitée ci-après.
- 142 -
Chapitre V VERS UNE APPROCHE D'INTEGRATION FLEXIBLE BASEE SUR LES SERVICES SEMANTIQUES
- La flexibilité technologique : est celle qui est privilégiée par les techniciens IT et
qui est délivrée à travers les langages, les outils, les méthodes et les technologies de
l'information mises en œuvre pour développer le système d'information;
- La flexibilité structurelle : est celle qui favorise l'émergence de normes et de
standards d'échanges et qui est délivrée à travers un équipement préalable des
composants du système d'information en vue de faciliter l'intégration de nouvelles
fonctionnalités;
- La flexibilité potentielle : est celle qui permet de libérer les ressources du système
d'information entre les cycles de développement et qui est délivrée à travers des
services, des fonctions ou des règles de gestion développés mais non mis en service
immédiatement;
- La flexibilité topographique : est celle qui est délivrée à travers l'urbanisation du
système d'information et qui permet de circonscrire l'impact des évolutions de la
réalité opérationnelle et réduire ainsi de manière très sensible, la durée et la
complexité des cycles de développement.
La figure V.2 permet de récapituler la notion de flexibilité à travers une hiérarchie des
natures de flexibilité cohérente avec les grandes étapes d'évolution de la vision
informatique au sein des entreprises. On peut par ailleurs retenir le fait que
l'accroissement de la contribution du système d'information à l'agilité de l'entreprise
s'accompagne d'un renforcement de sa synergie avec l'organisation (d'où la notion de
modèle synergique préconisé et proposé par l'auteur).
Contribution du système
d’information à l’agilité de
l’entreprise
Flexibilité topographique
(prépondérance de la flexibilité)
Flexibilité potentielle
(alignement avec les besoins métiers)
Flexibilité structurelle
(développement d’un système d’info. structuré)
Flexibilité technologique
(prépondérance de la culture informatique)
Temps
- 143 -
Chapitre V VERS UNE APPROCHE D'INTEGRATION FLEXIBLE BASEE SUR LES SERVICES SEMANTIQUES
flexibilité des SOA est généralement liée à la manière d'appeler un service qui est
indépendante de se logique d'implémentation. Ainsi une application peut plus facilement
être remplacée par une autre application nouvelle, mise en œuvre sans impacter tout
l'existant. D'un point de vue technique, la démarche SOA permet de rationaliser
l'intégration des applications et les développement des futures applications. En effet, les
SOA apportent de par leur flexibilité une manière plus légère d'intégrer les applications
d'entreprise. De plus, les SOA permettent de favoriser la mutualisation et la réutilisation
par variantes de services. D'un point de vue métier, la démarche SOA permet une
organisation ou une réorganisation efficaces du système d'information. En effet, les
SOA apportent une rationalisation des éléments fonctionnels, la suppression des
redondances d'appels de services et une catégorisation métier des services. Vis à vis des
différentes natures de flexibilité, le choix de l'utilisation des standards dans les SOA
constitue un moyen pour mettre en oeuvre la flexibilité technologique et structurelle, la
notion de référentiel de services est un moyen qui permet de réaliser la flexibilité
potentielle, et enfin, le choix du principe d'urbanisation qui a été retenu tout au long de
notre démarche comme un moyen pour réaliser la flexibilité topographique au sein de la
problématique (PSyn).
Les ontologies, qui sont l'objet de la problématique (PSem) constituent un autre niveau de
flexibilité. Elles permettent de décrire conceptuellement (avec une vision très
rapprochée du métier) les services d'entreprise. En effet, les ontologies apportent de la
flexibilité dans la mesure où elles peuvent nous affranchir de la complexité des
technologies informatiques. Vis à vis des différentes natures de flexibilité, le choix de
l'utilisation des standards pour implémenter les ontologies constitue un moyen pour
mettre en oeuvre la flexibilité technologique et structurelle, la notion de référentiel
d'ontologies est un moyen qui permet de réaliser la flexibilité potentielle, et enfin, le
choix du principe d'urbanisation des ontologies est un moyen pour réaliser la flexibilité
topographique au sein de la problématique (PSem).
Enfin, en ce qui concerne la troisième sous-problématique (PInt), l'intégration basée sur
la sémantique, cette dernière doit être également flexible dans le sens où elle doit
prendre en charge l'évolution du système. Un exemple typique de flexibilité est de
permettre par exemple de développer les services de médiation qui respecte l'orientation
services. Un autre exemple de flexibilité consiste à permettre la cohabitation aussi bien
de solutions syntaxiques que de solutions sémantiques. Vis à vis des différentes natures
de flexibilité, le choix de l'utilisation des standards pour implémenter les services
d'intégration constitue un moyen pour mettre en oeuvre la flexibilité technologique et
structurelle, la notion de référentiel d'intégration est un moyen qui permet de réaliser la
flexibilité potentielle, et enfin, le choix du principe d'urbanisation des services
d'intégration est un moyen pour réaliser la flexibilité topographique au sein de la
problématique (PInt).
Cette section va décrire les éléments importants de notre approche que nous appelons
ODSOI (Ontology-Driven Service-Oriented Integration) où certains aspects ont été déjà
exposés dans [Izza et al. 2004][Izza et al. 2005-a][Izza et al. 2006-a] et qui a pour
objectif de prendre en charge la problématique liée à l'intégration sémantique
d'applications industrielles, et en particulier dans le domaine microélectronique.
Tout d’abord, insistons sur le fait que ODSOI constitue une approche pour l’intégration
- 144 -
Chapitre V VERS UNE APPROCHE D'INTEGRATION FLEXIBLE BASEE SUR LES SERVICES SEMANTIQUES
Plus qu'un principe, l'ouverture est avant tout une contrainte imposée par l'industriel qui
désire ainsi une solution basée sur des standards industriels. Ceci justifie les multiples
choix effectués dans le chapitre précédent, et en particulier le choix opérés en matière de
description syntaxique des services (WSDL), de description sémantique générique des
services (OWL-S) et de représentation des ontologies (OWL).
D'autres standards ont été retenus notamment pour la modélisation (UML), pour la
démarche méthodologique (RUP) ainsi que pour le développement du prototype (Java).
L'unification peut être définie comme étant le processus qui permet de représenter de
façon uniforme les différents composants d'entreprise qui peuvent être concernés par le
projet d'intégration. Il s'agit de proposer un formalisme flexible permettant de supporter
à la fois l'intégration des données, des applications et des processus. Le paradigme qui
est à notre sens le plus pertinent pour répondre à ce principe est l'orientation services. En
effet, il est possible de considérer les multiples composants d'un système d'information
comme des services d'entreprise.
Une conséquence importante de l'application du principe est la définition de la notion de
service de données. Ce dernier est défini comme étant un moyen qui permet
d'encapsuler sous forme de service une source de données ou une vue d'une source de
données. Ce type de service permet en particulier de définir une structure qui favorise le
découplage entre les données et les traitements du système d'information.
Un autre principe majeur de notre approche est l'urbanisation. Elle consiste à proposer
une solution structurée de manière à favoriser la flexibilité, notamment la flexibilité
topographique. A l'origine la métaphore de l'urbanisme a été appliquée aux systèmes
- 145 -
Chapitre V VERS UNE APPROCHE D'INTEGRATION FLEXIBLE BASEE SUR LES SERVICES SEMANTIQUES
- 146 -
Chapitre V VERS UNE APPROCHE D'INTEGRATION FLEXIBLE BASEE SUR LES SERVICES SEMANTIQUES
fonctionnalités entre les applications industrielles. Cette couche reçoit les informations
de la couche intégration et les propage en tant que données au niveau de la couche
syntaxique. Ceci constitue le scénario typique qui s'opère du côté source. Du côté
application cible, la couche sémantique reçoit des données de la couche syntaxique et
les transmet après interprétation en tant qu'information à la couche intégration. La
couche sémantique est concrètement réalisée, comme nous allons le découvrir par la
suite, dans le monde du web sémantique à travers l'utilisation de la couche metadata et
de la couche ontologie et qui sont généralement réalisées grâce aux couches RDF(S) et
OWL [Berners-Lee et al. 2001].
Intégration
(Domaine d'intégration)
Intégration
Sémantique
Sémantique Sémantique
(Domaine Sémantique) (Domaine Sémantique)
Intégration
Syntaxe Syntaxique Syntaxe
(Domaine Syntaxique) (Domaine Syntaxique)
Application Application
(Domaine Applicatif) (Domaine Applicatif)
La couche intégration est une couche conceptuelle qui permet de manipuler des
applications (services) sémantiques. La notion d'application (service) sémantique est
considérée comme une application (service) sémantiquement enrichi(e). Cette couche
permet à des applications hétérogènes d'interopérer et de coopérer sémantiquement les
unes avec les autres. Elle permet une interaction entre les applications et aussi entre les
applications et les utilisateurs. A titre d'exemple, cette couche permet l'invocation des
applications et l'expression des requêtes de données et de traitements, selon les besoins
de l'utilisateur.
La généralisation du modèle d'intégration en couches précédemment décrit aux
différents composants de l'entreprise qui sont susceptibles d'être concernés par
l'intégration donne naissance à la représentation ci-dessous (figure V.4. On peut
distinguer quatre types de composants de base d'entreprise : les sources de données (ou
composants de données), les applications (ou composants applicatifs) les fonctions (ou
composants fonctionnels) et les processus (ou composants métier).
- 147 -
Chapitre V VERS UNE APPROCHE D'INTEGRATION FLEXIBLE BASEE SUR LES SERVICES SEMANTIQUES
Couche sémantique
(Ontologies)
Couche de services
(Services d'entreprise)
Métier Fonctionnel IT
Composant de Base
servicise
* intègre
Composant d'Entreprise Service Fundamental d'Entreprise
*
sémantifie
Service d'Intégration d'Entreprise
* utilise
Sémantique d'Entreprise
Figure V.5. Méta-modèle simplifié (ODSOIM2) pour l'intégration des applications industrielles35
35
Signalons que nous nous basons tout au long de ce chapitre et des chapitres suivants sur le formalisme UML pour représenter nos
différents modèles et méta-modèles. Aussi, le sens des symboles graphiques utilisés dans ces modèles est celui préconisé dans UML
2.0. En particulier, les flèches désignent la relation de spécialisation/généralisation entre classes, les arcs possédant un losange à
l'extrémité désignent des relations d'agrégation entre classes, et les arcs simples désignent les autres types de relations entre classes.
- 148 -
Chapitre V VERS UNE APPROCHE D'INTEGRATION FLEXIBLE BASEE SUR LES SERVICES SEMANTIQUES
L’architecture que nous proposons est appelée ODSOIA (ODSOI Architecture). Cette
dernière étend le concept d'architecture orientée services (qui constitue la couche service
d'entreprise) par une couche sémantique (ou couche d'ontologie d'entreprise) et une
couche d'intégration (couche d'intégration d'entreprise). Comme il est précisé en figure
V.6 qui est une représentation plus synthétique du méta-modèle précédent, ces
différentes couches sont interdépendantes dans le sens où elles entretiennent des
interactions entre elles. Dans ce qui suit, nous nous focalisons principalement sur le
cadre général et nous détaillerons ensuite chacune des couches dans les chapitres
suivants.
Couche
Intégration
d’Entreprise
(CIE)
I
es
Ut
e
ili
r
èg
sé
t
in
éd
Pa
r
ODSOIA
S O
Couche Couche
Service estSémantifiéPar
Ontologie
d’Entreprise d’Entreprise
(CSE) (COE)
L’architecture ODSOIA que nous proposons fournit un cadre unifié pour intégrer les
applications industrielles. Les principales caractéristiques de cette architecture peuvent
être illustrées en figure V.7 qui montre une architecture spécifique orientée services
permettant d'adresser le problème d'intégration d'applications dans le contexte MiMISI.
Dans notre architecture d'intégration, deux types majeurs de services, que nous appelons
services fondamentaux, ont été identifiés : Service-IT et Service-Métier. Ces deux types
de services permettent de définir respectivement des services de niveau informatique et
des services de niveau métier.
Comme illustré en figure V.7, les services fondamentaux sont reliés entre eux par
l'intermédiaire du bus sémantique de services d'entreprise (BSSE ou ODESB Ontology-
Driven Enterprise Services Bus) qui étend le traditionnel bus de services (ESB -
Enterprise Service Bus) [Chappell 2005]. Comme on peut le constater, en plus des
services fondamentaux précédemment cités, nous disposons également d’un certain
nombre de services d'intégration, ainsi que d’un ensemble de référentiels (ou registres)
- 149 -
Chapitre V VERS UNE APPROCHE D'INTEGRATION FLEXIBLE BASEE SUR LES SERVICES SEMANTIQUES
Service Service
Fondamental Fondamental
Registre
d’Ontologies
Interface
Sémantique
Service Service
Registre de Brokering d'Exécution
Services
Services
Service de
Service de d'Intégration Médiation
Description
Service de Service de
Publication Découverte
- 150 -
Chapitre V VERS UNE APPROCHE D'INTEGRATION FLEXIBLE BASEE SUR LES SERVICES SEMANTIQUES
internes de la couche services) existent actuellement et sont supportées par des standards
liées aux Services Web (HTTP, SOAP, WSDL, UDDI, SAML, etc.).
On peut remarquer au passage que la couche services inclut une sous-couche
urbanisation qui permet de mettre en oeuvre une urbanisation orientée services du
système d'information. On peut également constater que la couche ontologique inclut à
son tour deux sous-couches qui sont la couche description et la couche d'urbanisation
d'ontologies, et que la couche d'intégration inclut tous les services d'intégration
précédemment évoqués. Le détail de chacune des trois couches est présenté dans les
chapitres suivants.
Transport
HTTP
Messaging
SOAP Backbone
Grounding Web Service
WSDL
Registre Couche
UDDI Service
ODESB
Urbanisation Urbanisation
des Services
Zone/Quartier
Description Sémantique
Interface Semantique Couche
Ontologique
Urbanisation Ontologique
Ontologie Locale Domaine, Globale
Nous avons décidé de résumer les principales étapes nécessaires à la mise en œuvre de
l'intégration au sein d'une entreprise industrielle par le schéma de la figure V.9 qui
illustre une démarche méthodologique globale permettant de définir les trois couches
décrites dans les sections précédentes. Les principales étapes de cette démarche sont :
- Servicisation : qui inclut principalement la définition des services fondamentaux et
leur urbanisation;
- Sémantification : qui permet de décrire la sémantique des services et de les
urbaniser;
- Intégration : qui permet principalement de développer les services d'intégration et
de les déployer.
Il est fondamental de noter que, même si la démarche est représentée schématiquement
de façon linéaire, cette dernière demeure essentiellement itérative et incrémentale. Ce
caractère itératif et incrémental de la démarche est fondamental car il permet d'apporter
de la flexibilité pour le projet d'intégration qui, rappelons le, en a besoin du fait qu'il
s'inscrit dans la durée.
- 151 -
Chapitre V VERS UNE APPROCHE D'INTEGRATION FLEXIBLE BASEE SUR LES SERVICES SEMANTIQUES
Architecture
Définition de Services
des services d'Entreprise
Composants (ASE)
d’Entreprise Urbanisation
Industrielle des services
Servicisation
Architecture
Définition d'Ontologies
des ontologies d'Entreprise
(AOE)
Urbanisation
des ontologies
Sémantification Requête
Découverte
des services
Réponse
Médiation
à requête
des services
Intégration
V.7. Conclusion
Ce chapitre a permis de présenter une vision globale des travaux que nous menons. Plus
particulièrement, il a exposé la problématique de recherche qui se décline en quatre
sous-problématiques complémentaires qui sont respectivement la problématique de
migration vers une architecture de services, la problématique d'enrichissement
sémantique des services, la problématique de développement de mécanismes
d'intégration basés sur la sémantique et enfin la problématique de flexibilité qui est
orthogonale aux autres et qui pose de façon implicite la problématique d'agilité de
l'entreprise.
Nous avons également exposé les principes fondamentaux de notre approche. Nous
avons retenu trois principes majeurs qui sont l'ouverture, l'unification et l'urbanisation.
En tenant compte de ces principes, nous avons alors proposé un modèle d'intégration en
couches hiérarchisées. La motivation d'un tel modèle tient du fait que le modèle est plus
flexible car un changement au niveau d'une couche impacte moins les autres couches.
Nous avons ensuite proposé une architecture globale qui permet de donner quelques
détails du modèle proposé. Finalement, nous avons proposé une démarche
méthodologique globale qui s'articule autour de trois phases de base qui sont la
servicisation, la sémantification et l'intégration. Les trois chapitres à venir ont
respectivement pour objet de détailler chacune de ces phases.
- 152 -
Chapitre VI
CONSTRUCTION DE
L'ARCHITECTURE DE SERVICES
D'ENTREPRISE
VI.1. Introduction
PInt
Problématique d'intégration
basée sur la sémantique
Problématique
de flexibilité
PSem
PFle
Problématique d'enrichissement
sémantique des services
PSyn
Problématique de migration vers
une architecture de services
36
Nous empruntons les anglicismes 'serviciser' et 'servicisation' pour désigner respectivement l'action et le processus de migration
vers une architecture de services d'entreprise.
37
Cette figure découle directement de la figure V.8.
Chapitre VI CONSTRUCTION DE L'ARCHITECTURE DE SERVICES D'ENTREPRISE
La démarche que nous avons adoptée pour notre approche consistait à enrichir ce qui est
fait en matière d'architectures de services classiques et à l'adapter aux grandes
entreprises industrielles en quête de flexibilité et d'agilité.
AIE
(Architecture
d'Intégration
d'Entreprise)
ASE
ASE
AOE
(Architecture
(Architecture
de
(Architecture
de Services
Services
d'Entreprise)
d'Entreprise) d'Ontologies
d'Entreprise)
ASE
(Architecture
de Services
d'Entreprise)
Dans ce qui suit, nous allons exposer dans la section VI.2 les principes fondamentaux
qui régissent la construction de notre architecture de services. A l'issue de ces principes,
nous allons dans la section VI.3 proposer une modélisation des services d'entreprise,
puis dans la section VI.4 proposer un cadre méthodologique permettant de construire
l'architecture de services d'entreprise. Et enfin, dans la section VI.5, nous allons
proposer une urbanisation orientée services qui permet de structurer les services
d'entreprise en îlots afin de faciliter et favoriser à la fois l'intégration et la réutilisation
des services d'entreprise.
- 154 -
Chapitre VI CONSTRUCTION DE L'ARCHITECTURE DE SERVICES D'ENTREPRISE
Figure VI.4. Le modèle de maturité associé aux SOA [Sonic el al. 2005]
Plusieurs approches de modélisation de services ont été proposées aussi bien dans la
communauté scientifique que dans l'industrie. Cependant, la majorité de ces approches
ne sont pas flexibles du fait qu'elles sont fortement liées aux technologies et aux outils
utilisés. Nous allons dans ce chapitre proposer un modèle de services permettant
d'apporter une plus grande flexibilité et une intégration pour les systèmes d'information
industriels. Nous allons en particulier mettre en exergue utilisation d'une double vision
- 155 -
Chapitre VI CONSTRUCTION DE L'ARCHITECTURE DE SERVICES D'ENTREPRISE
de la modélisation : une vision métier des services et une vision technique des services.
La séparation de ces visions reste fondamentale pour des raisons de flexibilité et
d'évolutivité du système d'information et donc des entreprises.
L'architecture de services (ASE) que nous proposons repose sur le modèle SOA de base
que nous spécialisons. Le modèle d'architecture générique (ou de base) permet de
définir un modèle d'interaction entre les principales entités qui interviennent dans une
architecture SOA (cf. § III.8). Dans ce modèle, on peut distinguer les entités suivantes:
le service (et sa description), le client de services, le fournisseur de services et le
référentiel (registre) de services. Le méta-modèle permettant de décrire l'interaction qui
existe entre ces entités est montré en figure VI.5.
Service
* définit
1
décrit
1
* *
PublishService() bindToService()
*
contient publié-dans
Registre de Services
findService()
38
Signalons que nous nous basons tout au long de ce chapitre sur le formalisme UML pour représenter nos différents modèles et
méta-modèles. Aussi, le sens des symboles graphiques utilisés dans ces modèles est celui préconisé dans UML 2.0. En particulier,
les flèches avec triangles (à l'extrémité) désignent la relation de spécialisation/généralisation entre classes, les arcs possédant un
losange à l'extrémité désignent des relations d'agrégation entre classes, et les arcs ou flèches simples désignent les autres types de
relations entre classes.
- 156 -
Chapitre VI CONSTRUCTION DE L'ARCHITECTURE DE SERVICES D'ENTREPRISE
La première question que soulève l'architecture de services que nous voulons mettre en
place est la définition même de la notion de "service ". Cette définition n'est pas si
évidente si l'on en juge par les multiples définitions parfois contradictoires que nous
pouvons rencontrer dans la littérature informatique et industrielle. Notre point de vue
consiste à étendre et à compléter la vision classique de la SOA.
Rappelons que l'idée maîtresse de l'architecture orientée services est que tout élément du
système d'information doit devenir un service. Cette architecture consiste
fondamentalement en une collection de services qui interagissent et communiquent entre
eux. Le service est un composant clef de l'architecture orientée services. Il est
clairement identifiable, consiste en un ensemble de tâches bien définies, est documenté,
fiable, autonome et localisable :
- clairement identifiable : identifier un service signifie être en mesure d’en connaître
l’existence, indépendamment de sa localisation, de son mode de fonctionnement,
de son mode d’appel, etc.
- réalisant un ensemble de tâches parfaitement définies : il s’agit de comprendre le
fonctionnement global du service, c’est-à-dire de connaître la liste des tâches qu’il
est capable de traiter, ses conditions opérationnelles d’exécution, les exceptions
qu’il peut provoquer, etc.
- documenté : la documentation doit décrire clairement comment faire appel au
service. Elle doit spécifier clairement (et si possible de manière unifiée, voire
standardisée) les méthodes d’appels, les fonctions proposées et la signature du
service.
- fiable dans un contexte donné : la fiabilité d’un service dépend naturellement de
son contexte d’utilisation. Ceux-ci doivent être clairement identifiés et les
conditions de fonctionnement du service explicitement décrites.
- autonome et indépendant vis-à-vis d’autres services : les services s'exécutent sans
se soucier de l'état dans lequel peuvent se trouver d'autres services auxquels il fait
éventuellement appel.
- localisable : le service possède une URL est il est accessible sur le réseau.
- 157 -
Chapitre VI CONSTRUCTION DE L'ARCHITECTURE DE SERVICES D'ENTREPRISE
Pour les besoins de notre architecture de services d'entreprise (ASE), nous avons défini
le service d'entreprise comme un cas particulier de service qui est localisable au sein de
l'entreprise, Il correspond à toute entité de l'entreprise capable de répondre à des
sollicitations en effectuant un certain nombre d'actions. Un service d'entreprise se doit
d'assurer stabilité et assurance dans l'action qui lui est demandée. Il assure par ce biais
un contrat d'interface et une qualité de service. Ces deux aspects forment le contrat de
service qui représente ainsi le principal aspect descriptif permettant de le caractériser.
La qualité de service porte généralement sur la disponibilité (taux de disponibilité), la
réactivité (temps de réponse) et la robustesse (fonctionnement en mode dégradé).
La classification que nous proposons des services d'entreprise porte sur trois
caractéristiques majeures d'un service qui sont : sa nature (degré d'abstraction), sa
granularité (degré de composition) et sa visibilité (profil d'utilisation).
De par leur nature (ou degré d'abstraction), nous classifions les services d'entreprise en
deux catégories majeures: les services métier et les services informatiques (ou services
IT) [Izza et al. 2006-a].
Les services métier correspondent à des fonctionnalités métier. On peut distinguer des
services fonctionnels et des services processus.
Les services fonctionnels sont de fine granularité comme par exemple des services
offrant des fonctionnalités liées à la gestion d'un lot de puces microélectroniques, ou
encore au calcul du taux de rebut de fabrication. Ce sont des services qui exposent la
notion de fonction du système d'information, entité réutilisable et invocable du système
d'information et qui permettent d'implémenter la notion de tâche ou d'activité métier.
Les services processus sont des services qui peuvent encapsuler des activités métier,
voire des processus métier comme par exemple le processus de planification d'une tâche
de maintenance préventive sur les équipements de fabrication de puces
microélectroniques. Techniquement parlant, ces services encapsulent la logique du
workflow de l'activité ou du processus métier qu'ils exposent. Typiquement les services
processus sont composés de services fonctionnels qui à leur tour sont composés de
services de plus bas niveau, - les services informatiques.
Les services informatiques (ou services IT) regroupent les fonctionnalités offertes par la
partie informatisée du système d'information et qui sont utilisées par les services métier
décrits précédemment. On distingue deux types de services informatiques qui sont les
services applicatifs et les services techniques.
Les services applicatifs permettent d'encapsuler les applications informatiques de
l'entreprise comme par exemple le service qui encapsule l'application informatique
permettant de gérer les emplois du temps des techniciens qui interviennent dans les
tâches de maintenance préventive sur les équipements. Les services applicatifs sont
- 158 -
Chapitre VI CONSTRUCTION DE L'ARCHITECTURE DE SERVICES D'ENTREPRISE
Les services d'entreprise peuvent également être classifiés selon leur degré de
granularité. Aussi, il existe des services de fine granularité et des services de forte
granularité. En règle générale, plus on monte dans l'échelle d'abstraction et plus les
services sont des services de grosse granularité. Ce grossissement du degré de
granularité en fonction du degré d'abstraction s'explique par la relation "utilise" de la
figure VI.6. De plus, au sein même d'une même catégorie de services, il est possible
d'avoir différents degrés de granularité des services grâce à la relation "se-compose-de".
Cette double catégorisation est schématisée plus clairement dans la figure VI.7 où le
- 159 -
Chapitre VI CONSTRUCTION DE L'ARCHITECTURE DE SERVICES D'ENTREPRISE
Services
Services Métier
Processus
e
ris
p Services
ntre Fonctionnels
e
d'
es
Abstraction
vic
r
se
Services
Services Informatiques
Logiciels
s
de
e
iqu
p Services de
ty Données
n
atio
is
til Services
U Techniques
Technique
Un autre aspect important pour la classification des services d'entreprise est la visibilité.
Nous proposons deux catégories de visibilité et dans chaque catégorie nous définissons
différents niveaux de visibilité (figure VI.8).
Cette notion de visibilité sous-entend que les services sont structurés en clusters. La
problématique de clustérisation des services est traitée un peu plus loin dans ce chapitre
(§ VI.5). Les catégories de visibilité que nous avons définies sont :
- Visibilité privée : un service donné est dit de visibilité privée si et seulement si
uniquement les services d'entreprise (intra-entreprise) peuvent y accéder. Nous
distinguons deux types de visibilité privée :
o Visibilité locale : un service donné est dit localement visible si et
seulement si uniquement les services locaux (appartenant au même
cluster que le service considéré) peuvent y accéder.
o Visibilité globale : un service est dit globalement visible s'il peut être
accédé par tout autre service d'entreprise.
- Visibilité publique : un service est dit publiquement visible s'il est disponible à
partir de l'extérieur de l'entreprise.
- 160 -
Chapitre VI CONSTRUCTION DE L'ARCHITECTURE DE SERVICES D'ENTREPRISE
Catégorie de Visibilité
Visibilité Privée
Vis. IT Locale Vis. IT Globale Vis. IT Publique Vis. Métier Locale Vis. Métier Globale Vis. Métier Publique
Niveau de Visbilité
En outre, nous définissons pour chacune des catégories précédentes, deux niveaux
principaux de visibilité qui découlent de la nature même des services. Ces niveaux sont :
- visibilité métier (ou visibilité de maîtrise d'ouvrage) : un service est de visibilité
métier lorsqu'il est visible par les gens de la maîtrise d'ouvrage (les gens métiers).
Ce sont donc les services métiers qui sont concernés par ce type de visibilité.
- visibilité IT (visibilité de maîtrise d'œuvre) : un service est de visibilité
informatique lorsqu'il est visible par les gens de la maîtrise d'œuvre (les gens IT).
Ce sont donc les services informatiques qui sont concernés par ce type de visibilité.
La notion de niveau de visibilité (métier versus informatique) est fondamentale. Elle
permet de décomposer l'architecture de services d'entreprise en deux sous architectures
faiblement couplées qui sont : la SOA IT et la SOA métier. Le principe de cette
dichotomie est illustré en figure VI.9 qui montre d'une part la répartition des différents
types de services à chacune des deux architectures et d'autre part les enjeux majeurs de
chacune de ces architectures qui sont : l'enjeu de réutilisation pour la SOA IT et l'enjeu
d'intégration pour la SOA métier.
De plus, la figure VI.9 montre les différents profils d'utilisateurs pouvant intervenir dans
notre architecture de services. On distingue plus précisément :
- Le profil de fournisseur de services qui se décline en deux sous-profils : le profil
maîtrise d'ouvrage (MOA) du fournisseur et le profil maîtrise d'oeuvre (MOE) du
fournisseur de services. Le premier profil concerne les gens métiers qui
interviennent dans la construction et l'utilisation du service alors que le second
- 161 -
Chapitre VI CONSTRUCTION DE L'ARCHITECTURE DE SERVICES D'ENTREPRISE
Fournisseur Consommateur
MOA MOE MOA MOE
(métier) (IT) (métier) (IT)
Services
Processus
SOA Métier
Intégration
Services
fonctionnels
Découplage
Services
SOA Informatique
applicatifs
Réutilisation
Services
techniques
Du fait de l'existence d'une architecture double (SOA IT et SOA métier), il résulte une
double problématique de construction de l'architecture de services : la problématique de
construction de la SOA IT, et la problématique de construction de la SOA métier.
L'enjeu majeur de la SOA IT est la réutilisation de composants informatiques
(composants applicatifs, composants techniques). De nos jours, la construction de la
SOA IT est moins problématique. En effet, il existe une multitude de méthodes et
d'outils relativement matures qui permettent de définir des services informatiques. La
prolifération de méthodes peut s'expliquer par le fait qu'elles sont généralement
dépendantes des outils de marché. Des exemples de tels méthodes et outils pouvant être
utilisés dans le cadre de construction de la SOA IT sont : SAP NetWeaver [SAP 2005],
Apache Beehive [Apache 2005], Lightweight Enterprise Integration Framework
[RogueWave 2005], IBM WebSphere [IBM 2005], BEA WebLogic [BEA 2005], etc..
- 162 -
Chapitre VI CONSTRUCTION DE L'ARCHITECTURE DE SERVICES D'ENTREPRISE
Dans le cadre de nos travaux, nous ne nous intéressons pas à la construction de la SOA
IT. Plus précisément nous n'allons pas nous intéresser au développement d'applications
orientées services qui relève plutôt de la discipline du génie logiciel. Nous allons nous
focaliser plutôt sur la construction de la SOA métier qui est essentielle vis-à-vis de notre
problématique d'intégration flexible des applications industrielles.
39
Le terme "migrer" désigne ici le fait de faire transiter un composant existant vers un élément de l'architecture de services.
- 163 -
Chapitre VI CONSTRUCTION DE L'ARCHITECTURE DE SERVICES D'ENTREPRISE
- Urbaniser la SOA métier : elle consiste à structurer les services métiers en blocs
cohérents permettant de favoriser l'intégration. Le résultat de cette phase est un
ensemble de clusters issus de l'urbanisation de la SOA métier.
- Publier les services métier : elle consiste à publier dans un référentiel approprié et
standardisé les services métiers que la maîtrise d'ouvrage juge pertinents. Le
résultat de cette phase est donc la publication des services métiers.
Existant
- 164 -
Chapitre VI CONSTRUCTION DE L'ARCHITECTURE DE SERVICES D'ENTREPRISE
Notons que les services informatiques sont de fine granularité (services unitaires). Ce
sont les services qui sont à la base de la politique de réutilisation au sein de l'entreprise.
Comme présenté précédemment, nous distinguons des services techniques et des
services applicatifs. Ces derniers comportent à leur tour des services logiciels et des
services de données. La dichotomie services logiciels/services données tient au fait que
nous voulons mettre en oeuvre une dichotomie données / logiciels afin d'apporter plus
de flexibilité à l'architecture de services.
Sans trop entrer dans le détail de l'exposition en services informatiques, rappelons que
les deux "patterns" technologiques les plus utilisés pour l'exposition sont le "proxy" et la
façade. Le "proxy" permet de définir des services unitaires en permettant l'accès à des
composants distants (objets, modules, …), tandis que la façade définit des services
composites par assemblage de plusieurs services unitaires.
Le principe de définition des services métier consiste à créer des services qui ont un
sens pour les gens métier. Cela requiert des assemblages de services (services
informatiques et/ou de services métier) pour prendre en compte les besoins fonctionnels
ou métier.
Les services fonctionnels sont considérés comme des assemblages de services
informatiques et/ou de services fonctionnels qui permettent d'exposer une partie de
fonction, une fonction ou un groupe de fonctions. Formellement, ceci se traduit par un
lien de type (1..*) – (0..*), ce qui signifie qu'un composant fonctionnel peut être exposé
en un ou plusieurs services et qu'un service fonctionnel donné peut correspondre à une
ou plusieurs fonctions du système d'information. La figure VI.12, qui complète les
figures V.5, VI.6 et VI.11, illustre le principe de définition des services fonctionnels.
Les services fonctionnels sont des services qui peuvent être de fine ou de moyenne
granularité, mais rarement de grosse granularité. Ce sont donc soient des services
- 165 -
Chapitre VI CONSTRUCTION DE L'ARCHITECTURE DE SERVICES D'ENTREPRISE
Service
Technique
1..* expose *
En ce qui concerne les services processus, ils sont considérés comme des assemblages
de services fonctionnels qui permettent d'exposer une partie d'un processus métier, un
processus métier ou carrément un regroupement de processus métier. Formellement,
ceci se traduit, comme dans le cas précédent, par un lien de type (1..*) – (0..*), ce qui
signifie qu'un processus métier peut être exposé en un ou plusieurs services processus et
qu'un service processus donné peut correspondre à un ou plusieurs processus métier
(figure VI.12).
En principe, nous définissons un service processus chaque fois que nous désirons faire
de l'orchestration de services fonctionnels. Les services processus sont des services de
grosse granularité (services composites). Ce sont des services qui sont à la base de
l'orchestration de services fonctionnels. De même que pour les services fonctionnels, la
tâche de construction des services processus nécessite à la fois l'intervention de la
maîtrise d'ouvrage (décision métier) et la maîtrise d'œuvre. De plus, des réajustements
sont généralement effectués afin que les services définis puissent être alignés sur les
processus d'entreprise.
- 166 -
Chapitre VI CONSTRUCTION DE L'ARCHITECTURE DE SERVICES D'ENTREPRISE
Afin de mieux aider l'entreprise dans son processus de mise en œuvre d'une architecture
de services, notre approche de construction se base sur le concept d'urbanisme orienté
services qui constitue une extension de l'urbanisme classique des systèmes d'information
[Sassoon 1998][Longépé 2001] et qui permet de mieux structurer les services métier
afin de faciliter et de favoriser le processus d'intégration des services métiers.
Le principe de l'urbanisation orientée services que nous proposons consiste à regrouper
des services semblables et/ou fortement couplés au sein d'un cluster (ou un macro-
service) afin de faciliter l'intégration intra-cluster (intra-macro-service). Nous appelons
les clusters (macro-services) ainsi construits des quartiers de services. Un second niveau
de clustérisation est également utilisé pour regrouper les quartiers de services qui
présentent des similitudes et une forte cohérence en clusters de niveau supérieur afin de
faciliter l'intégration inter-quartiers. Nous appelons les clusters de quartiers des zones de
services. La figure VI.13 récapitule le principe général de clustérisation des services
métier. La section VI.5 présente de façon détaillée la démarche d'urbanisation des
services métier.
* 0..1
Service fondamental Cluster service
* 1 * 1
Quartier de services Zone de services Entreprise
se-base-sur se-base-sur
Services applicatifs
- 167 -
Chapitre VI CONSTRUCTION DE L'ARCHITECTURE DE SERVICES D'ENTREPRISE
* 0..1
S ervice fondamental Cluster service
* 1 * 1
Référentiel services physique Quartier de services Zone de services Entreprise
0..1 1 1
1
correspond correspond correspond
correspond
1..* 0..1 0..1
0..1
exposé-par exposé-par
Référentiel services logique Référentiel local Référentiel domaine Référentiel global
0..1 0..1
- 168 -
Chapitre VI CONSTRUCTION DE L'ARCHITECTURE DE SERVICES D'ENTREPRISE
individuels (qu'ils soient des référentiels publics ou des référentiels privés) peuvent être
connectés entre eux.
Le processus de publication syntaxique est pris en charge par le service de publication
(Publication Service). Ce dernier est un service d'intégration particulier qui s'active dès
réception d'une requête de type :
Référentiel
de Services
(UDDI)
Requête de
Publication
request ( # Publish ,
Publicatio nType ,
Publicatio n) Service de
Publication Publication syntaxique de services
(PublishService API)
- 169 -
Chapitre VI CONSTRUCTION DE L'ARCHITECTURE DE SERVICES D'ENTREPRISE
Description
Syntaxique
de Services
Calculer la similarité
des services
Degré de
Simliarité des
services
Clusters de
services
- 170 -
Chapitre VI CONSTRUCTION DE L'ARCHITECTURE DE SERVICES D'ENTREPRISE
Notre technique de calcul de similarité exploite les informations disponibles sur les
services (disponibles dans les fichiers WSDL et dans le référentiel de notre framework)
et se base sur l'heuristique suivante : Deux services sont similaires s'ils présentent
(figure VI.18):
Similarité de
services
- 171 -
Chapitre VI CONSTRUCTION DE L'ARCHITECTURE DE SERVICES D'ENTREPRISE
δ ( S k , S l ) = ωe .δ e ( S k , S l ) + ω s .δ s ( S k , S l ) + ωc .δ c ( S k , S l ) + ωo .δ o ( S k , S l ) + ω d .δ d ( S k , S l )
= ∑ω x
x∈{e , s ,c ,o ,d }
⋅ δ x (S k , Sl )
où δe(Sk , Sl) désigne la similarité des données en entrée des deux services,
δs(Sk , Sl) désigne la similarité des données en sortie des deux services,
δc(Sk , Sl) désigne le degré de connexion potentielle entre les deux services, c-à-d: la
similarité des données en sortie de l'un des services avec les données en entrée de l'autre
service,
δo(Sk , Sl) désigne la similarité des opérations des deux services,
δd(Sk, Sl) désigne la similarité du domaine fonctionnel des deux services,
et ωe , ω s , ω c , ω o et ω d sont des poids dans l'intervalle [0, 1] tels que ωe + ω s +
ω c + ω o + ω d = 1.
Nous devons noter que chacune des similarités (δe(Sk, Sl), δs(Sk, Sl), δc(Sk, Sl), δo(Sk, Sl)
et δd(Sk, Sl)) est normalisée dans le sens où elles prennent leurs valeurs dans l'intervalle
[0, 1]. Comme conséquence de cette construction, la similarité globale δ (Sk, Sl) de deux
services Sk et Sl et aussi normalisée. De plus, toutes les fonctions de similarité (δ et δx,
x∈{e,s,c,o, d}) respecte les propriétés génériques d'une fonction de similarité, c'est à dire :
• Normalité : ∀( S k , S l ) ∈ ℑ 2 : δ ( S k , S l ) ∈ [0,1] ( ℑ étant l'ensemble des services)
• Maximalité : ∀( S k , S l , S m ) ∈ ℑ3 : δ ( S k , S k ) ≥ Sim( S l , S m )]
• Symétrie : ∀( S k , S l ) ∈ ℑ 2 : δ ( S k , S l ) = δ ( S l , S k )
δ e ( S k , S l ) = ψ ( Entrée( S k ), Entrée( S l ))
δ s ( S k , S l ) = ψ ( Sortie( S k ), Sortie( S l ))
δ c ( S k , S l ) = ψ ( Entrée( S k ), Sortie( S l ))
δ o ( S k , S l ) = ψ (Opération( S k ), Opération( S l ))
- 172 -
Chapitre VI CONSTRUCTION DE L'ARCHITECTURE DE SERVICES D'ENTREPRISE
Nous avons défini la fonction ψ qui estime le degré ressemblance de deux ensembles en
nous basant sur des techniques de la recherche documentaire. Il existe dans la littérature
plusieurs techniques qui peuvent être utilisées pour ce calcul. Les mesures de similarité
les plus populaires sont : les mesures lexicales (la distance de Hamming, la similarité de
sous chaînes, la distance N-gram) [KnowledgWeb 2004], la technique TF-IDF
[KnowledgeWeb 2004], le modèle LSI (Latent Semantic Indexing) [Derwester 1990] et
le modèle probabiliste [Robertson et Jones 1976][Risjbergen, 1979], etc. Dans le cas de
nos travaux, nous avons retenu la méthode TF-IDF comme fondement de base pour
calculer les similarités partielles (la fonction ψ). Le choix de cette technique est
essentiellement motivé par sa simplicité de mise en œuvre. Dans notre cas, les
documents sont des ensembles de termes E1, …, En qui correspondent aux
caractéristiques des services dont nous voulons calculer la similarité. Par exemple,
quand nous allons calculer la similarité δe(Sk , Sl) des entrées de services, nous allons
nous intéresser aux documents constitués par les entrées des services à comparer,
comme des ensembles de termes lexicaux. Les documents à considérer sont donc dans
ce cas : E1, …, En où Ek = Entrée(Sk). Nous appliquons le même raisonnement quand il
s'agit de comparer les autres caractéristiques des services: les sorties, la connexion et les
opérations des services.
La formule de calcul de la fonction similarité syntaxique ψ est définie comme suit :
x kT xl
Ψ ( E k , El ) = cos( x k , xl ) =
x kT x k xlT xl
nij n
xij = TFij .IDF j = log( )
Ei nj
- 173 -
Chapitre VI CONSTRUCTION DE L'ARCHITECTURE DE SERVICES D'ENTREPRISE
z = f ( x , y ) = x log( y )
(0, 1, 1 )
n ij
x =
Ei
n
(1, 100, 0 ) y=
nj
Comme on peut le constater, xi,j possède un comportement tel que nous le désirons. Plus
x et y tendent vers leurs bornes inférieures respectives (ce qui veut dire que le terme en
question est peu important) et plus la fonction calculée tende vers zéro (ce qui valide
alors le comportement de la fonction du fait que le poids calculé du terme s'approche de
zéro). De plus, lorsque les variables x et y tendent vers leurs bornes maximales, la
fonction s'approche de 1 (ce qui valide aussi le comportement de la fonction dans le cas
où le terme en question possède un poids important).
Une fois que les degrés de similarité de services ont été calculés, ces derniers sont
exploités pour déterminer les clusters de services. Pour cela, nous exploitons les
techniques de classification automatique. Il existe dans la littérature deux types de
méthodes de classification : l'approche supervisée et l'approche non supervisée.
Dans la première approche (la classification supervisée), on connaît au préalable les
classes possibles et on dispose d'un ensemble d'objets classés qui servent
d'apprentissage. Cet ensemble est ensuite utilisé comme référence pour associer à tout
nouvel objet sa classe la plus appropriée, par apprentissage. Il s'agit en particulièrement
de l'approche utilisée pour catégoriser les services en leur associant automatiquement
des concepts d'une certaine taxonomie définie au préalable. Les travaux de cette
catégorie qui nous paraissent les plus pertinents sont ceux de [Heib et Kushmerick
2003][Corella et Castells 2006][Bruno et al. 2005].
Dans la seconde approche (la classification non supervisée ou clustérisation), les classes
possibles ne sont pas connues a priori. Le but est de regrouper au sein d'un même cluster
- 174 -
Chapitre VI CONSTRUCTION DE L'ARCHITECTURE DE SERVICES D'ENTREPRISE
les objets considérés comme similaires. C'est ce type d'approche qui nous intéressent
plus particulièrement dans le cadre de l'urbanisation de services qui, rappelons le a pour
but de construire des clusters de services en respectant les principes de cohésion forte
(qui consiste à maximiser la similarité des services à l'intérieur d'un cluster) et le
couplage faible (qui consiste à minimiser la similarité des objets entre les clusters).
Il existe de nombreuses méthodes de clustérisation. On distingue fondamentalement
deux catégories de méthodes : les méthodes de clustérisation hiérarchique et les
méthodes de clustérisation non-hiérarchiques [Arabie et al. 1996].
Les méthodes hiérarchiques ont pour but de former une hiérarchie de clusters où chaque
cluster regroupe des objets les plus semblables, et ce en procédant par fusion de petits
regroupements en de plus grands regroupements d'objets. Le principe majeur de ce type
de classification tient au fait qu'elle procède séquentiellement en regroupant les
observations les plus "semblables" en premier lieu.
Les méthodes non-hiérarchiques (partitionnement) sont celles qui ne fournissent pas de
hiérarchies mais simplement des partitions d'objets, chaque partition représentant alors
un cluster. Le principe du partitionnement consiste à diviser simultanément un ensemble
d'objets en sous-ensembles disjoints.
Sans trop entrer dans le détail des méthodes de clustérisation, nous pouvons simplement
signaler le fait qu'elles peuvent être ascendantes ou descendantes40, déterministes ou
stochastiques41, incrémentales ou non incrémentales42, précises ou floues43,
monothétiques ou polythétiques44 [Candillier 2004].
Dans le cadre de nos travaux, nous voulons nous intéresser uniquement au
regroupement d'une collection de services en un certain nombre de clusters non connus
a priori. Ceci nous conduit au choix de la méthode ascendante. De plus, comme nos
objectifs portent fondamentalement non pas sur des aspects de performance mais plutôt
sur des aspects de faisabilité (efficacité), nous avons donc décidé d'utiliser les méthodes
les plus simples c'est à dire les méthodes précises, monothétiques, déterministes et non
incrémentales.
Nous avons pour cela utilisé une approche de clustérisation ascendante hiérarchique
(CAH) qui est une méthode de classification qui présente les avantages suivants :
- elle fonctionne à partir des similarités entre les services que l’on veut regrouper.
- elle permet de visualiser les résultats sous forme de dendrogramme, qui permet de
mettre en évidence le regroupement progressif des services. On peut alors se faire
une idée du nombre adéquat de classes dans lesquelles les services peuvent être
regroupées.
La classification ascendante hiérarchique (CAH) est une méthode de classification
itérative dont le principe est simple (figure VI.20) : On commence tout d'abord par
calculer la similarité entre les N services. Puis on regroupe les deux services dont le
40
Une méthode est ascendante si elle démarre avec autant de clusters que d'objets, puis procède à la concaténation de ces clusters,
tandis qu'une méthode descendante démarre avec un seul cluster qui comporte tous les objets qu'elle va affiner.
41
Une méthode est déterministe si avec les mêmes objets en entrée, elle exécute toujours la même suite d'opération et fournira
toujours les mêmes résultats. A l'inverse, une méthode stochastique peut fournir des résultats différents en raison de l'exécution
d'opérations aléatoires.
42
Une méthode incrémentale est exécutée de façon continue et traite les données au fur et à mesure de leur arrivée, tandis qu'une
méthode non-incrémentale s'exécute de façon ponctuelle en considérant que toutes les données sont disponibles.
43
Une méthode est précise si elle associe à chaque objet un cluster unique, tandis qu'une méthode floue associe à chaque objet un
degré d'appartenance à chaque cluster.
44
Une méthode monothétique utilise séquentiellement les caractéristiques des objets lors de la clustérisation, tandis qu'une méthode
polythétique utilise simultanément les caractéristiques des objets dans le processus de clustérisation.
- 175 -
Chapitre VI CONSTRUCTION DE L'ARCHITECTURE DE SERVICES D'ENTREPRISE
Algorithme CAH
Entrées: Une matrice de similarité de n objets à clustériser (ici des services): S1, …, Sn.
Sorties: Un ensemble de clusters (dendrogramme)
Initialisation: Chaque service constitue un cluster.
Une mesure de distance D est calculée entre les clusters.
Tant que ((nombre de clusters) > 1)
- regrouper les deux clusters les plus proches au sens de la distance D,
- calculer les distances entre le nouveau cluster et les autres clusters.
Fin Tant que
L'agrégation par le lien simple a tendance à contracter l'espace des données et à écraser
les niveaux des paliers du dendrogramme. Comme la dissimilarité entre deux éléments
de A et de B suffit à relier A et B, ce critère peut conduire à relier des classes très
allongées (effet de chaînage) alors qu’elles ne sont pas homogènes.
- Lien complet
La dissimilarité entre A et B est la plus grande dissimilarité entre un objet de A et un
objet de B. Plus formellement cette mesure se calcule par la formule suivante :
L'agrégation par le lien complet a tendance à dilater l'espace des données et produit des
classes compactes.
- 176 -
Chapitre VI CONSTRUCTION DE L'ARCHITECTURE DE SERVICES D'ENTREPRISE
- Lien moyen
La dissimilarité entre A et B est la moyenne des dissimilarités entre les objets de A et
les objets de B. Plus formellement cette mesure se calcule par la formule suivante :
L'agrégation selon le lien moyen est un bon compromis entre les critères précédents et
respecte assez bien les propriétés de l'espace des données. Il existe deux principales
variantes de ce critère :
- Lien proportionnel
La dissimilarité moyenne entre les objets de A et de B est calculée comme une
somme de dissimilarités pondérée de telle sorte qu'un poids égal soit attribué aux
deux groupes. Comme le lien moyen, ce critère respecte assez bien les propriétés
de l'espace des données.
- Lien flexible
Ce critère fait intervenir un paramètre bêta variant dans l'intervalle [-1,+1[ qui
permet de générer une famille de critères d'agrégation. Pour bêta = 0 on retrouve
le lien proportionnel. Quand bêta est proche de 1, on obtient un fort effet de
chaînage, mais à mesure que bêta décroît et devient négatif, on obtient une
dilatation de plus en plus forte.
- Méthode de Ward
Ce critère permet d'agréger deux groupes de sorte que l'augmentation de l'inertie intra-
classe soit la plus petite possible, afin que les classes restent homogènes. Ce critère,
proposé notamment par [Ward 1963], ne peut s'utiliser que dans le cas des distances
quadratiques, c'est-à-dire ici, dans le cas de la distance euclidienne et de la distance du
khi². De façon formelle, si nh et mh désignent respectivement le nombre d'objets dans le
cluster h et la masse du cluster h, ce critère se calcule comme suit:
Dans le cadre de nos travaux, tous les critères d'agrégation ont été testés. Au travers des
multiples tests, le critère de Ward nous paraît le mieux adapté pour la clustérisation de
nos services car il minimise l'inertie intra-classe tout en maximisant l'inertie inter-
classes. La notion d'inertie mesure le degré de dispersion des éléments autour du centre
du cluster, il s'agit donc de la mesure inverse de l'homogénéité.
En se basant sur ces critères d'agrégation, l'algorithme de classification permet alors de
restituer le résultat de la clustérisation sous forme de dendrogramme. Le dendrogramme
permet de visualiser le regroupement progressif des services. Si une troncature a été
demandée, un trait en pointillé marque le niveau auquel est effectuée la troncature. La
troncature permet de limiter le nombre de clusters à retenir, ou le niveau auquel le
dendrogramme doit s'achever. La troncature permet de trouver la coupe du
dendrogramme qui correspond à la perte maximale d'inertie suite à un regroupement de
clusters.
En plus de ce diagramme central, l'algorithme peut visualiser d'autres résultats,
notamment:
- Statistiques des nœuds : qui permet d'illustrer dans un tableau les informations
concernant les nœuds successifs du dendrogramme. Le premier nœud a pour indice
le nombre de services augmenté de 1. Ainsi, il est aisé de repérer à quel moment un
- 177 -
Chapitre VI CONSTRUCTION DE L'ARCHITECTURE DE SERVICES D'ENTREPRISE
Afin d'illustrer comment notre technique d'urbanisation fonctionne, nous allons prendre
un exemple simplifié portant sur des services fictifs. L'objectif étant seulement
d'expliquer le déroulement de la technique. Un exemple plus concret sera présenté au
chapitre IX lors de l'expérimentation que nous avons effectuée sur une étude de cas.
Soit la collection ℑ de services d'entreprise suivante :
S1 e1 , e2 s1 , s2 o1, o2 d1
S2 e1 , e3 s1 , s3 o1, o3 d1
S4 e4 , e5 s4 , s5 o4, o5 d2
- 178 -
Chapitre VI CONSTRUCTION DE L'ARCHITECTURE DE SERVICES D'ENTREPRISE
Entrées E5
Ei E1 E2 E3 E4 nj
{e5, e6,
Terme wi {e1, e2} {e1, e3} {e3, e4} {e4, e5}
e7 }
e1 1 1 0 0 0 2
e2 1 0 0 0 0 1
e3 0 1 1 0 0 2
e4 0 0 1 1 0 2
e5 0 0 0 1 1 2
e6 0 0 0 0 1 1
e7 0 0 0 0 1 1
Entrées Ei
E5
E1 E2 E3 E4
{e5, e6,
{e1, e2} {e1, e3} {e3, e4} {e4, e5}
Terme wi e7 }
- 179 -
Chapitre VI CONSTRUCTION DE L'ARCHITECTURE DE SERVICES D'ENTREPRISE
xk
x1 x2 x3 x4 x5
xl
T
Tableau VI.4. Calcul de xk xl
xl
x1 x2 x3 x4 x5
xk
xkT xl
Tableau VI.5. Calcul de cos( xk , xl ) =
xkT xk xlT xl
45
Pour des besoins de simplification, nous avons choisi de prendre les poids des paramètres comme suit : ωe = ω s = ω o =
ωd = 1/4 et ωc = 0.
- 180 -
Chapitre VI CONSTRUCTION DE L'ARCHITECTURE DE SERVICES D'ENTREPRISE
Sl
S1 S2 S3 S4 S5
Sk
Une fois que cette matrice obtenue, nous allons lui appliquer la méthode de
classification hiérarchique ascendante que nous avons retenue dans la section VI.5.3, et
nous obtenons enfin le dendrogramme suivant (figure VI.21) qui va permettre de servir
de base pour la clustérisation de nos services.
0,062516667
0,162516667 LTZone
0,262516667
0,362516667
Similarité
0,462516667 LTQuartier
0,562516667
0,662516667
0,762516667
0,862516667
0,962516667
S4 S5 S1 S2 S3
46
Signalons au passage que les calculs présentés dans ce chapitre sont réalisés par l'outil XLSTAT 2006.
- 181 -
Chapitre VI CONSTRUCTION DE L'ARCHITECTURE DE SERVICES D'ENTREPRISE
que la seconde ligne (LTQuartier) permet de délimiter les zones. Pour le moment, la
détermination de ces lignes est laissée à l'apprécation de l'utilisateur humain.
0.2500
0.3751
S1
S3
0.6251
S4
0.5124 S2
0.4771
Légende:
S5
Quartier
Zone
VI.6. Conclusion
- 182 -
Chapitre VII
CONSTRUCTION DE
L'ARCHITECTURE SEMANTIQUE
D'ENTREPRISE
VII.1. Introduction
PInt
Problématique d'intégration
basée sur la sémantique
Problématique
de flexibilité
PSem
PFle
Problématique d'enrichissement
sémantique des services
PSyn
Problématique de migration vers
une architecture de services
47
Nous empruntons les anglicismes 'sémantifier' et 'sémantification' pour désigner respectivement l'action et le processus
d'enrichissement sémantique des services d'entreprise.
Chapitre VII CONSTRUCTION DE L'ARCHITECTURE SEMANTIQUE D'ENTREPRISE
AIE
(Architecture
d'Intégration
d'Entreprise)
ASE
ASE
AOE
(Architecture
(Architecture
de
(Architecture
de Services
Services
d'Entreprise)
d'Entreprise) d'Ontologies
d'Entreprise)
ASE
(Architecture
de Services
d'Entreprise)
Comme nous l'avons signalé auparavant dans le chapitre IV, le moyen le plus approprié
pour mettre en oeuvre une intégration flexible des applications industrielles doit reposer
sur l'utilisation d'un modèle sémantique en tant que fondement de base de cette
intégration. Ce modèle a pour but d'intégrer les applications en permettant un
découplage à la fois entre le niveau métier et le niveau technique, et un découplage entre
les différents types de services d'entreprise. Ce découplage étant fondamental afin de
répondre au critère de flexibilité du système d'information, et donc en matière d'agilité
de l'entreprise.
48
Cette figure découle directement de la figure V.8.
- 184 -
Chapitre VII CONSTRUCTION DE L'ARCHITECTURE SEMANTIQUE D'ENTREPRISE
Principes de construction de
l'architecture d'ontologies d'entreprise
Le cycle d'abstraction se base sur la définition de deux types d'ontologies qui sont les
ontologies de service et des ontologies fondamentales. Ces deux niveaux d'ontologies
sont importants pour pouvoir distinguer entre les ontologies d'annotation qui sont plus
génériques et les ontologies fondamentales qui sont plus spécifiques à l'entreprise. Cette
dichotomie permet de séparer ainsi les préoccupations d'ordre technique et des
préoccupations d'ordre métier. Cette double préoccupation donne naissance à un double
aspect pour notre architecture sémantique : un aspect purement technique (ontologies
d'annotation de services ou ontologie de services) et un aspect relativement plus
conceptuel et plus significatif pour l'entreprise (ontologies fondamentales).
D'autres aspects du cycle d'abstraction sont pris en compte et peuvent se résumer ainsi :
- Une formalisation des ontologies : En effet, notre modèle sémantique doit être
suffisamment formalisé afin de permettre un traitement automatique par le biais de
moteurs d'inférence. Bien qu'il soit une exigence d'ordre technique, il n'en demeure
pas moins qu'il constitue un principe fondamental car il permet de définir l'usage
qui sera fait de ce modèle.
- Une couverture appropriée du modèle : Le modèle sémantique à définir doit
couvrir les différents aspects liés au projet d'intégration de systèmes d'information
industriels. Ce principe implique la prise en compte d'une multitude de points de
vue :
- 185 -
Chapitre VII CONSTRUCTION DE L'ARCHITECTURE SEMANTIQUE D'ENTREPRISE
- 186 -
Chapitre VII CONSTRUCTION DE L'ARCHITECTURE SEMANTIQUE D'ENTREPRISE
Ontologie de
Mappings
syntaxiques
49
Signalons que nous nous basons tout au long de ce chapitre sur un formalisme compatible UML pour représenter nos différentes
ontologies. Aussi, le sens des symboles graphiques utilisés dans ces modèles est compatible (à quelques graphiques près) avec celui
préconisé dans UML 2.0. Les ovales désignent des classes, les flèches typées désignent les relations (au sens large) entre classes.
- 187 -
Chapitre VII CONSTRUCTION DE L'ARCHITECTURE SEMANTIQUE D'ENTREPRISE
Ontologie
décrit d'Entreprise
est-une est-une
est-une
référence
- 188 -
Chapitre VII CONSTRUCTION DE L'ARCHITECTURE SEMANTIQUE D'ENTREPRISE
Ontologie
métier Vue métier
d'entreprise
Ontologie
fonctionnelle Vue fonctionnelle
d'entreprise Vue
fondamentale
Ontologie Ontologie
d'entreprise
fondamentale logicielle Vue logicielle
d'entreprise d'entreprise
(composants
Ontologie de base)
de données Vue données
d'entreprise
Ontologie
technique Vue technique
d'entreprise
Toutes ces ontologies permettent de décrire certains aspects des Systèmes d'Information
d'entreprise liés à la problématique d'intégration. Elles permettent de prendre en compte
l'ensemble des concepts et liaisons entre les concepts nécessaires à la représentation des
systèmes d'information industriels.
La reformulation de la figure VII.5, présentant les différents niveaux de perception des
concepts, en tenant compte de l'introduction des différents niveaux de modélisation
devient alors la figure VII.6 qui présente cette vision hiérarchisée.
Au niveau 0, la modélisation étant principalement appréhendée avec la notion de
concept d'ontologie qui permet de décrire la sémantique des vues. Au niveau 1, niveau
de la méta-modélisation, nous retrouvons l'ensemble des méta-ontologies qui permettent
de décrire l'aspect sémantique de l'entreprise. Le niveau 2 correspondant au niveau de la
modélisation, et permet de définir les ontologies d'entreprise qui offrent la possibilité de
décrire formellement le système d'information industriel (ontologie de service et
ontologies fondamentales). Finalement, au dernier niveau (niveau de l'instanciation),
nous trouvons les différentes instances des ontologies d'entreprise du niveau précédent.
Nous allons, dans ce qui suit, donner une description détaillée des différentes ontologies
que nous venons d'évoquer et qui sont présentes au niveau 1 et 2 d'utilisation des
ontologies.
- 189 -
Chapitre VII CONSTRUCTION DE L'ARCHITECTURE SEMANTIQUE D'ENTREPRISE
Méta-méta-modèle
Niveau 0
Concept
d'Ontologie
Méta-
classification
Méta-ontologie d'entreprise
Méta-modèle
Niveau 1
Description
Ontologie d'entreprise
Niveau 2
Modèle
Instanciation
Instance d'ontologie d'entreprise
Instanciation
Figure VII.6. Les différents niveaux d'utilisation des ontologies Niveau 3
L'ontologie de services d'entreprise, dont certains aspects ont été déjà exposés dans [Izza
et al. 2005-a][Izza et al. 2005-b][Izza et al. 2006-a][Izza et al. 2006-c], permet de décrire
sémantiquement les services d'entreprise définis au chapitre VI. Cette ontologie est
définie comme une extension de l'ontologie standard OWL-S [OWL-SC 2004] utilisée à
l'origine pour annoter les services sur le web. Le principe de l'ontologie de service est
illustré en figure VII.7 où l'on peut remarquer qu'elle permet d'enrichir la sémantique
générique de OWL-S par une sémantique spécifique nécessaire pour décrire les
spécificités des services d'entreprise telles que évoquées dans le chapitre VI.
- 190 -
Chapitre VII CONSTRUCTION DE L'ARCHITECTURE SEMANTIQUE D'ENTREPRISE
description-sémantique -
spécifique
Description Sémantique
Spécifique
(OWL-S+)
Ontologie de
Service est-un Service
d'Entreprise d'Entreprise
Semantic
Description Sémantique
Description
Générique description-sémantique -
(OWL-S)
(OWL-S) générique
binding
Description Syntaxique
(WSDL) description-syntaxique
La figure VII.8 qui est un raffinement de la figure précédente permet de présenter les
principaux concepts de l'ontologie de service d'entreprise. Comme on peut le constater,
l'approche de description en couches hiérarchisées a été retenue et l'on peut associer
hasInput
WSDL: hasOutput WSDL: implements WSDL:
Operation Message Service
supports isInvokedBy isEncodedBy provides
Couche
Syntaxique WSDL: hosts WSDL: implements WSDL:
PortType Binding Port
(WSDL)
is-a
is-a WSDL: is-a
Element is-a
is-a
is-a
binds
OWL-S: OWL-S:
Service Service
Couche Grounding Model
Sémantique supports describedBy
Générique
Couche Sémantique
(OWL-S)
OWL-S: provides presents OWL-S:
OWL-S:
Resource Service Service
Profile
is-a is-a is-a
- 191 -
Chapitre VII CONSTRUCTION DE L'ARCHITECTURE SEMANTIQUE D'ENTREPRISE
OWL-S [OWLS-C 2004], anciennement DAML-S, est une ontologie OWL qui permet
de décrire les services Web. Précisément, cette ontologie permet de décrire les
propriétés d'un Service Web ainsi que son ou ses opérations rendues disponibles. Les
concepts principaux de l'ontologie OWL-S sont illustrés par la figure VII.9 qui ne
reprend de la figure VII.8 que les concepts associés à la sémantique générique des
services. Au coeur de cette ontologie, on trouve le concept OWL-S: Service. Ce dernier
reprend les propriétés générales d'un Service. Il présente un profil (OWL-S: Service
Profile), est décrit par un modèle (OWL-S: Service Model) et supporte un grounding
(OWL-S: Service Grounding). Le profil (OWL-S: Service Profile) explique ce que fait le
service en termes de fonctionnalités et de la nature des messages en entrée et en sortie.
Le modèle (OWL-S: Service Model) définit le fonctionnement du Service, le grounding
(OWLS: Service Grounding) fournit les informations nécessaires à l'invocation du
service et le concept ressource (OWL-S: Resource) donne des informations relatives aux
ressources utilisées par le Service. Ces différents concepts sont exposés dans ce qui suit.
Couche WSDL:
Syntaxique Element
(WSDL) binds
OWL-S:
Service
Grounding OWL-S:
Service
Couche describedBy Model
Sémantique
Générique supports
(OWL-S)
provides presents OWL-S:
OWL-S: OWL-S:
Resource Service Service
Profile
- 192 -
Chapitre VII CONSTRUCTION DE L'ARCHITECTURE SEMANTIQUE D'ENTREPRISE
Le profil de service (OWL-S: Service Profile) décrit le service en fonction de ce qu'il fait
afin de permettre à un client de voir dans quelle mesure le service proposé peut lui
convenir. Les caractéristiques affichées dans le profil peuvent être décomposée en trois
grands aspects (figure VII.10) :
- des caractéristiques non fonctionnelles qui permettent la description du service et
de son fournisseur à travers notamment les propriétés de nom de service, de texte
descriptif ou encore les propriétés concernant le fournisseur telles que les
informations de contact, etc.
- des caractéristiques fonctionnelles qui permettent la description du comportement
du service en termes de transformation d'information à l'aide notamment des
entrées du service (inputs) des sorties du service (outputs), des pré-conditions
nécessaires au bon déroulement du service et des d'effets du service.
- des caractéristiques additionnelles qui permettent la classification du service et la
description de sa qualité de service (comme le temps de réponse, le coût du service,
etc.).
Généralement le profil de service sert de support à la découverte de services et à leur
sélection. Cette activité qui est très souvent appelée "matching", consiste à partir d'un
profil hypothétique du service désiré par un client, à fournir le service du fournisseur qui
propose un profil qui correspond le plus à la requête du client. Elle suppose
l'intervention d'une ressource logicielle intermédiaire de type annuaire de services qui
implémente cet algorithme de "matching".
OWL-S:
Service
Profile
is-a serviceName
textDescription
contactInformation
Couche Sémantique Générique (OWL-S)
Profile
hasPrecondition hasProcess
SWRL: OWL-S:Service
Condition Model: Process
hasCategory
hasResult
OWL-S:Service
Model: Service
Result Category
serviceParameter
serviceClassification
serviceProduct
XSD: Service
URL hasParameter Parameter
OWL-S:Service
Model: Parameter
Vis à vis de nos travaux, cette ontologie est pertinente mais elle demeure insuffisante du
- 193 -
Chapitre VII CONSTRUCTION DE L'ARCHITECTURE SEMANTIQUE D'ENTREPRISE
fait qu'elle ne prend pas en compte un certain nombre de caractéristiques des services
d'entreprise, notamment toutes les relations qui lient les services au back-office. A cet
effet, nous proposerons dans la section VII.4.1.2 un enrichissement de cette ontologie de
profil.
e ss Profile
P roc
has
precondition le
Can be conditional
P rofi
has
input
output Process
effect is-a
Couche Sémantique Générique (OWL-S)
is-a
is-a
ed B y Simple
realiz Process Co
l lap
se
computedPrecondition
Atomic s
Process realize ex
pa
computedInput
nd
e Composite computedOutput
Process computedEffect
hasGroundig
components Invocable
composedBy
is-a
- 194 -
Chapitre VII CONSTRUCTION DE L'ARCHITECTURE SEMANTIQUE D'ENTREPRISE
- 195 -
Chapitre VII CONSTRUCTION DE L'ARCHITECTURE SEMANTIQUE D'ENTREPRISE
wsdlInputMessage
wsdlInputMessagePart
hasGrounding WSDL wsdlOutputMessage
Grounding
wsdlOutputMessagePart
wsdlOperation
Les services ont souvent besoin de ressources pour pouvoir s'exécuter. Ces ressources
sont variées et nombreuses. Il est donc intéressant de les définir dans une ontologie.
L'ontologie de ressource (figure VII.13) telle que définie dans OWL-S possède un
niveau d'abstraction assez élevé pour couvrir différentes ressources telles que les
ressources temporelles, physiques, etc. On peut distinguer deux grandes caractéristiques
des ressources en fonction du type d'allocation (AllocationType) et du type de capacité
(CapacityType). Le type d'allocation permet de définir les ressources qui sont
consommables (ConsumableAllocation) et celles qui restent réutilisables
(ReusableAllocation). Les premières disparaissent avec l'exécution du service, tandis
que les secondes sont à nouveau disponibles après l'exécution du service. Remarquons
que les ressources consommables peuvent être, après utilisation, réapprovisionnées.
Batch
Capacity
Resource
Consumable
Allocation is-a
is-a
Atomic
Allocation allocationType Resource
Type
Couche Sémantique Générique (OWL-S)
is-a is-a
Reusable is-a
Allocation UnitCapacity
Resource
Resource
Discrete Conjunctive
Capacity is-a Aggregate
is-a Resource
is-a
Capacity
Type capacityType
is-a Aggregate
Resource
Continous
Capacity
is-a
Disjunctive
Aggregate
Resource
- 196 -
Chapitre VII CONSTRUCTION DE L'ARCHITECTURE SEMANTIQUE D'ENTREPRISE
Dans le but de mieux représenter les services d'entreprise dans le cadre de systèmes
d'information industriels en général et dans le cadre spécifique du projet MiMISI, nous
avons défini un certain nombre d'extensions pour l'ontologie générique OWL-S. Ces
extensions sont récapitulées dans la couche sémantique spécifique des services
d'entreprise (OWL-S+) de la figure VII.14 (qui ne reprend de la figure VII.8 que la
partie associée à OWL-S+). Cette couche spécifique définit principalement trois
concepts majeurs qui sont :
- le service fondamental (Fundamental Service);
- le service d'intégration (Integration Service);
- et le profil de service fondamental (Fundamental Service Profile).
Chacun de ces concepts est définie dans une ontologie spécifique qui est décrite ci-
dessous. Signalons que l'ontologie spécifique de service d'entreprise repose sur la
classification des services d'entreprise (tels que décrits dans le chapitre VI) ainsi que sur
leurs caractéristiques particulières. Comme illustré sur la figure VII.14, les services
d'entreprise sont répartis en services fondamentaux (Fundamental Service) et en services
d'intégration (Integration Service). Les services fondamentaux permettent d'exposer
sous forme de services les composants du système d'information industriel tandis que les
services d'intégration constituent les moyens permettant d'intégrer les services
fondamentaux. Un cas particulier important de services d'intégration est le Service
Brokering (Brokering Service). Ce dernier est une ressource d'entreprise qui forme un
nœud d'intégration et qui fournit des services fondamentaux aux acteurs de l'entreprise.
Couche
Sémantique OWL-S:
Générique OWL-S: provides OWL-S: presents
Resource Service
Couche Sémantique
Service Profile
(OWL-S)
is-a is-a is-a
- 197 -
Chapitre VII CONSTRUCTION DE L'ARCHITECTURE SEMANTIQUE D'ENTREPRISE
Les services fondamentaux constituent les principaux services d'entreprise qui exposent
de façon découplée sous forme de services les composants du système d'information
industriel. Dans notre modèle, nous avons retenus les quatre principaux types de
services fondamentaux introduits au chapitre VI et qui sont (figure VII.15) : les services
processus, les services fonctionnels, les services applicatifs, et les services techniques.
Les différents types de services sont reliés entre eux par deux types principaux de
relations : des relations horizontales et des relations verticales qui sont définies comme
suit :
- Les relations horizontales sont des relations définies au sein d'une même catégorie
de services. Par exemple les services fonctionnels peuvent être liées entre eux et
ces liaisons sont horizontales. Nous distinguons deux types de relations
horizontales : la relation 'is-a" (est-un) et la relation "isPartOf" (est-partie-de).
o La relation "is-a" est une relation qui spécifie qu'un service d'une certaine
catégorie est une spécialisation d'un autre service de la même catégorie.
Ce type de relation est la base de la construction de la taxonomie des
services fondamentaux.
o La relation "isPartOf" est une relation qui spécifie qu'un service d'une
certaine catégorie est un assemblage de deux ou plusieurs autres services
de la même catégorie. Ce type de relation est la base de la construction
de la méronymie des services fondamentaux.
- Les relations verticales sont des relations définies entre services de différentes
catégories. Par exemple les services fonctionnels peuvent être liés à des services
applicatifs et ces liaisons sont des relations verticales. Ce type de relation est
modélisé sur la figure grâce au lien "uses" qui permet ainsi de définir des couplages
faibles entre les différentes catégories de services d'entreprise.
est-un
Service
Processus se-compose
est-un
Service
d'Entreprise Service
Couche Sémantique Spécifique (OWL-S+)
uses
Métier
est-un est-un
est-un Service
Fonctionnel se-compose
est-un
est-fourni-par Service
est-un
Service uses Logiciel
Fondamental
Service est-un
Brokering est-un Service
Applicatif se-compose
présente est-un
- 198 -
Chapitre VII CONSTRUCTION DE L'ARCHITECTURE SEMANTIQUE D'ENTREPRISE
Nous devons noter que l'ontologie des services fondamentaux est d'une grande
importance. Elle permet de structurer l'ensemble des services fondamentaux grâce à la
taxonomie et à la méronymie définies précédemment. Dans la suite, on fait très souvent
référence à cette ontologie en utilisant le terme générique d'ontologie de service
d'entreprise50 (OSE).
Un autre aspect essentiel lié aux services fondamentaux est leur clustérisation. Comme
nous l'avons présenté dans le chapitre VI, les services fondamentaux sont urbanisés dans
la mesure où ils sont structurés en clusters homogènes et faiblement couplés. A ce titre,
l'ontologie de clusters qui est définie en figure VII.16 permet de modéliser la
clustérisation des services d'entreprise. Cette ontologie de cluster est automatiquement
générée à partir des données produites par le processus de clustérisation et qui sont
disponibles dans l'architecture de services d'entreprise (ASE).
Service correspond-SB
Brokering
Cluster de
Services
On distingue deux types principaux de clusters : les quartiers et les zones. Un quartier de
services (Service District) est un regroupement de services alors qu'une zone de service
(Service Area) est un regroupement de quartiers. A chaque cluster est associé un nœud
d'intégration implémenté sous forme d'un service d'intégration particulier, le Service
Brokering. Ce dernier est décrit dans l'ontologie de service d'intégration.
Un autre aspect important qui caractérise les services fondamentaux et qui a fait l'objet
d'une étude au chapitre VI est la notion de visibilité. En effet, à chaque service est
associé une certaine visibilité qui est décrite grâce à l'ontologie de visibilité de services
d'entreprise (figure VII.17).
Comme peut le montrer la figure VII.17, l'ontologie de visibilité des services est
structurée en treillis. Au plus haut niveau on trouve la visibilité totale des services
50
De façon plus rigoureuse, l'ontologie de service d'entreprise (OSE) est composée de trois ontologies : l'ontologie des services
fondamentaux, l'ontologie des services d'intégration et l'ontologie de cluster de services.
- 199 -
Chapitre VII CONSTRUCTION DE L'ARCHITECTURE SEMANTIQUE D'ENTREPRISE
(Toute Visibilité) et au plus bas niveau on trouve la non visibilité des services (Aucune
Visibilité). Aux niveaux intermédiaires, on peut trouver les différentes visibilités
possibles (visibilité IT locale, …, visibilité métier publique).
Toute Visibilité
Légende:
est-un
est-un
est-un
Visibilité Privée
C o u c h e S é m a n tiq u e S p é c ifiq u e (O W L -S + )
Vis. IT Locale Vis. IT Globale Vis. IT Publique Vis. Métier Locale Vis. Métier Globale Vis. Métier Publique
Aucune Visibilité
- 200 -
Chapitre VII CONSTRUCTION DE L'ARCHITECTURE SEMANTIQUE D'ENTREPRISE
Service
Service Execution
Médiation
Service Service
Découverte Brokering
est-un est-un
Couche Sémantique Spécifique (OWL-S+)
Quartier de Zone de
Services Services Entreprise
- 201 -
Chapitre VII CONSTRUCTION DE L'ARCHITECTURE SEMANTIQUE D'ENTREPRISE
est-un
Profile
visibilité
Profil est-un
Visibilité Service
d'Entreprise
Couche Sémantique Spécifique (OWL-S+)
de Service
classification
Classification
de Service Profil Service
Fondamental qualité-de Fondamental
-service
Quality de
Service cluster
vue
Vue Cluster de
d'Entreprise Services
Ontologie de visibilité des Ontologie des services Ontologie des vues Ontologie de
services d'entreprise fondamentaux d'entreprise cluster de services
- 202 -
Chapitre VII CONSTRUCTION DE L'ARCHITECTURE SEMANTIQUE D'ENTREPRISE
Entreprise
possède
est-une
automatise implémente
automatisée-par implémentée-par
Bien entendu, ces différentes vues sont interdépendantes dans le sens où elles
entretiennent entre elles des interactions. Ainsi, un élément de la vue métier peut être
automatisé par un ou plusieurs éléments de la vue fonctionnelle qui peuvent à leur tour
être implémentés par un ou plusieurs éléments de la vue informatique. Notons que
toutes ces ontologies ont été construites avec un esprit de flexibilité dans la mesure où
l'on adopte des contraintes assez larges (peu strictes) permettant ainsi de rendre certains
éléments facultatifs et procurant ainsi de la flexibilité à la modélisation. Ces différentes
vues (ontologies) sont décrites ci-dessous.
51
Rappelons que l'ontologie de service d'entreprise (OSE) est composée de trois ontologies : l'ontologie des services fondamentaux,
l'ontologie des services d'intégration et l'ontologie de cluster de services.
- 203 -
Chapitre VII CONSTRUCTION DE L'ARCHITECTURE SEMANTIQUE D'ENTREPRISE
exposé-par
OSE:
Service
Ressource utilise Processus
d'Entreprise
est-un
Vue automatisé-par
Métier est-un compose
OFE:
est-un Vue
est-un
évenement-entrée Processus Fonctionnelle
événement-sortie Métier
compose
Evénement
Métier Activité
est-envoyé-à Métier possède-activité
OOE: compose
possède-tâche
Acteur est-reçu-de
Tâche
est-exécuté-par automatisé-par Métier
OFE:
automatisé-par Function
OFE:
Flux
Fonctionnel
Par ailleurs, il est important de préciser que les tâches métiers sont exécutées par des
acteurs de l'entreprise qui sont considérés comme un cas particulier de ressource
d'entreprise. Ces acteurs sont décrits dans l'ontologie organisationnelle d'entreprise
(OOE) qui est présentée dans la figure ci-après (figure VII.22).
Resource est-une
d'Entreprise
Ressource est-une
Organisationnelle
est-composé-de
est-un
Entité
possède-catégorie
est-un est-un Organisationnelle
Acteur contient
Catégorie
est-un Acteur Entité
Acteur interne Organisationnelle
externe supervise
est-un
possède-contact
Catégorie
Resource
Automate Ressource
Humaine possède-catégorie
Humaine
- 204 -
Chapitre VII CONSTRUCTION DE L'ARCHITECTURE SEMANTIQUE D'ENTREPRISE
Comme on peut le constater sur la figure VII.22, un acteur peut être un humain
(ressource humaine) ou un automate qui opère des tâches métiers. Chaque acteur
appartient à une entité organisationnelle. Chaque entité organisationnelle est une
ressource organisationnelle au même titre que les acteurs mais de plus grosse granularité
dans la mesure où elles sont considérées plutôt comme un regroupement de ressources
organisationnelles (d'autres entités organisationnelles ou d'acteurs). Chaque entité
organisationnelle est supervisée et/ou représentée par une ressource humaine. Les
ressources organisationnelles sont classées selon une catégorie : les entités
organisationnelles sont classées selon une catégorie d'entité organisationnelle (site,
division, département, poste de travail, …), tandis que les ressources humaines sont
classées selon une catégorie de ressource humaine (directeur, cadre supérieur, cadre,
agent d'exécution, …).
OSE:
Ressource exposé-par Service
d'Entreprise utilise
Fonctionnel
Vue est-implementé-par
Fonctionnelle
est-un est-un
automatise est-un est-un Système
d'Information
OME:
Vue Métier Zone possède-zone
OME: OAE:
Tâche Métier Quartier Vue
automatise-tâche possède-quartier
Applicative
Ilot possède-ilot
se-compose OLE:
Fonction possède-fonction
Composant
is-a
OME: est-implementé-par Logiciel
Evénement flux-fonctionnel-entrée Simple
Métier
flux-fonctionnel-sortie
automatise-événement ODE:
Flux est-implementé-par Flux de
Informationnel Données
Comme illustré sur la figure VII.23, le principal concept de cette ontologie est celui de
Fonction. Une fonction est un sous-ensemble cohérent du système d'information. Le
concept de fonction est important car il constitue un élément automatisable et
réutilisable du système d'information. Une fonction utilise des flux informationnels en
- 205 -
Chapitre VII CONSTRUCTION DE L'ARCHITECTURE SEMANTIQUE D'ENTREPRISE
entrée et en produit des flux informationnels en sortie. Dans le but de rendre le système
urbanisé, les fonctions sont regroupées en îlots fonctionnels qui sont à leur tour
regroupés en quartiers fonctionnels qui sont également à leur tour regroupés en zones
fonctionnelles. Cette décomposition fonctionnelle du système d'information est issue des
principes de l'urbanisation du système d'information tels que ceux issus des travaux de
(Longépé, 2001) et de (Sassoon, 1998).
Certains concepts de cette ontologie sont reliés à d'autres concepts externes issus
principalement de l'ontologie métier (OME) et de l'ontologie applicative (OAE). C'est le
cas des concepts Vue Fonctionnelle, Fonction et Flux Informationnel qui sont liés d'une
part aux concepts externes Vue Métier, Tâche Métier et Evénement Métier de l'ontologie
métier d'entreprise (OME), et d'autre part aux concepts externes Vue Applicative,
Composant Applicatif et Flux Applicatif de l'ontologie d'application d'entreprise (OAE).
Par ailleurs, il est important de constater que certaines vues fonctionnelles peuvent
s'exposer en services fonctionnels, concept externe qui est déjà défini dans l'ontologie de
service d'entreprise (OSE).
OFE:
Vue
Vue
d'Entreprise
Fonctionnelle
implémente
est-une
est-implémentée-par
utilisée-par
Vue Vue
Applicative Technique
utilise
- 206 -
Chapitre VII CONSTRUCTION DE L'ARCHITECTURE SEMANTIQUE D'ENTREPRISE
Vue OSE:
Informatique Service
est-une Applicatif
s'expose
utilisée-par
Vue Vue
Logicielle Données
utilise
utilise
s'expose
OSE:
Resource
Service
d'Entreprise est-un
Vue Logiciel
Logicielle
est-un
OFE:
Vue Logicel
implémente
Fonctionnelle
Composant se-compose
Logiciel
ODE: est-un
Vue
se-compose
Données utilise OFE:
Fonction
est-un
Composant implémente
Logiciel
Simple
entrée sortie
- 207 -
Chapitre VII CONSTRUCTION DE L'ARCHITECTURE SEMANTIQUE D'ENTREPRISE
Comme on peut le constater, le concept principal de cette ontologie est la vue logicielle
et qui peut se spécialiser en logiciel et composant logiciel. Le logiciel se compose d'un
certain nombre de composants logiciels et qui peuvent à leur tour se décomposer en
composants plus élémentaires. Les composants logiciels élémentaires permettent
d'implémenter une fonction du système d'information et possèdent des entrées et des
sorties. De même que pour les fonctions de l'ontologie fonctionnelle, certains éléments
de la vue logicielle peuvent s'exposer en services logiciels.
L'ontologie de données d'entreprise (ODE) permet de décrire l'ensemble des données
manipulées par les composants applicatifs (et aussi par les services d'entreprise) décrits
précédemment. La figure VII.27 en présente un extrait des principaux concepts de cette
ontologie.
utilise
s'expose OSE:
Service
Ressource Vue est-un Données
d'Entreprise Données
est-un est-un
Source de
Données
Flux de Fichier de
se-compose
Données Données possède-sémantique
utilisé-par
Ontologie
est-un est-un
OLE: Description
Ensemble de est-un
Vue de Données
Données
Logicielle se-compose
se-compose
OWL:
se-compose Concept de
se-compose
Données
Données source
se-compose source
XSD: cible
syntaxe
Type de
Données Mapping
Syntaxique Ontologie
se-compose Mapping
se-compose Syntaxique
Description
possède-schéma Syntaxique
cible
Le concept principal de cette ontologie est la vue données qui constitue un concept
générique permettant de représenter les différents éléments informationnels à savoir les
sources de données, les fichiers de données ainsi que les flux de données (figure VII.28).
Les fichiers et les flux de données sont considérés comme un ensemble de données qui
peuvent à leur tour être composés en ensembles plus complexes. A ce titre ils
comportent un certain nombre de données qui sont décrites du point de vue syntaxique
et sémantique. De même que pour les autres ontologies, certains éléments de la vue
données peuvent être exposés sous forme de service de données.
Nous devons signaler que la sémantique des données est principalement formalisée par
la notion de concept de données (OWL: Concept de données). Un ensemble de ces
- 208 -
Chapitre VII CONSTRUCTION DE L'ARCHITECTURE SEMANTIQUE D'ENTREPRISE
OSE:
s'expose
Service
Technique
Vue est-une
Technique se-compose
Ressource est-une
d'Entreprise Infrastructure
est-une
catégorie
se-compose
Ressource
est-une Technique se-compose Catégorie
d'Infrastructure
Ressource est-une
Matérielle
Ressource
OSE: Logicielle
Service est-une est-une
d'Entreprise est-une
MOE:
Ontologie
Comme le montre la figure VII.29, on peut distinguer deux types de vues techniques qui
sont l'infrastructure technique et la ressource technique. L'infrastructure technique
permet de décrire les ressources techniques du système informatique alors que les
ressources techniques permettent de décrire les différentes ressources matérielles et
logicielles (de base) qui constituent l'infrastructure technique. Les ressources techniques
logicielles sont principalement classées en trois types complémentaires qui sont le
référentiel de services, le référentiel d'ontologies et le référentiel d'intégration. Le
référentiel de services est un registre dans lequel les services d'entreprise sont publiés.
- 209 -
Chapitre VII CONSTRUCTION DE L'ARCHITECTURE SEMANTIQUE D'ENTREPRISE
Le référentiel d'ontologies est un registre dans lequel les ontologies d'entreprise sont
publiées. Le référentiel d'intégration est un registre qui stocke des données pertinentes
pour l'intégration des applications d'entreprise. Ce dernier référentiel peut référencer
aussi bien le référentiel de services que le référentiel d'ontologies.
Nous signalons au passage que les ressources techniques sont considérées comme un cas
particulier de ressources d'entreprise, qui rappelons-le, peuvent comporter d'autres types
de ressources comme les ressources organisationnelles, etc.
fournit
OTE: Ontologie
Référentiel d'Entreprise
d'Ontologies
est-décrite-par présente
nom
description
Profil Modèle
url d'Ontologie d'Ontologie
date
auteur
version OOE:
Ressource Composant
est-une
cluster Organisationnelle d'Ontologie composants
OSE:
Cluster de type est-une
services niveau
Type
Niveau d'ontologie Concept
d'ontologie rang
domaine
Propriété
Comme on peut le constater sur la figure VII.29, chaque ontologie est décrite par un
profil et un modèle. Le profil comprend un certain nombre de propriétés permettant
d'afficher les caractéristiques portant sur le nom, la description; l'url, l'auteur, la date de
création, la version, le type (ontologie de service, ontologie fondamentale, ontologie de
mapping, etc.), le niveau (ontologie locale, globale, de domaine) et le cluster de
l'ontologie. Le modèle permet de spécifier le contenu de l'ontologie en termes de
concepts et de propriétés qui sont définis. De plus, une ontologie est associée à un
référentiel qui la publie pour la rendre accessible aux autres agents susceptibles de la
découvrir et l'utiliser pour leurs tâches d'intégration.
- 210 -
Chapitre VII CONSTRUCTION DE L'ARCHITECTURE SEMANTIQUE D'ENTREPRISE
52
Nous devons noter qu'il nous arrive parfois de parler d'ontologies globales au pluriel pour designer le fait que notre ontologie
globale peut être décomposée en trois sous-ontologies globales : ontologie de données globale, ontologie fonctionnelle globale et
ontologie métier globale.
- 211 -
Chapitre VII CONSTRUCTION DE L'ARCHITECTURE SEMANTIQUE D'ENTREPRISE
Générique
Sémantique Data de
Ontologie
Zone de Services partagée au Ontology
Données Globale
sein de is-a
is-a
Quartier de Services l'entreprise Ontologie
Ontology Functional
Globale Ontologie
Ontology
Fonctionnelle Globale
Service Service Business
Ontologie Métier
Ontology
Globale
Quartier de Services
mapping
Niveau Domaine
Service Service
Sémantique
partagée au Ontologie Ontologie de
sein d'une Ontologie Données de Domaine
zone Ontologie is-a
Zone de Services de Domaine Ontologie Fonction-
Quartier de Services nelle de domaine
Ontologie Métier
Service Service de Domaine
Sémantique mapping
Service Service partagée au Niveau Local
sein d'un
Ontologie de
quartier Ontologie
Quartier de Services Données Locale
Ontologie Ontologie Métier
Ontologie
Locale
Service Service Locale is-a Ontologie Fonct-
Sémantique
référence ionnelle Locale
d'un service
Spécifique
fondamental Ontologie
Service Service
de Service
(OWL-S+)
Figure VII.30. Principe d'urbanisation des ontologies (adapté de [Izza et al. 2006-c])
- 212 -
Chapitre VII CONSTRUCTION DE L'ARCHITECTURE SEMANTIQUE D'ENTREPRISE
des concepts de plus en plus spécifiques tels que : OPERATOR et OPERATION dans le
cas d'ODD, et TECHNICAL-OPERATOR et MAINTENANCE-OPERATION dans le
cas d'ODL.
est-un
mapping mapping
contient contient
est-un
Cluster de
est-un Services est-un
Contrairement aux ontologies de données qui sont basées sur des objets, les ontologies
fonctionnelles sont basées sur des classifications de verbes (ou des actions). Par
exemple, dans le cadre de la gestion préventive de la maintenance, on peut utiliser la
fonctionnalité QUERY-TECHNICIAN-QUALIFICATION qui est un concept
fonctionnel spécifique permettant d'effectuant des recherche de qualifications. Cette
fonctionnalité peut être éventuellement substituée par une autre fonctionnalité
équivalente telle que: SEARCH, LIST ou FIND-TECHNICIAN-QUALIFICATION qui
permettent de consulter des qualifications d'opérateurs. Cet exemple réfère précisément
à des concepts d'une ontologie fonctionnelle locale qui permet de fournir des concepts
fonctionnels du quartier considéré. De même que pour les ontologies de données, nous
avons aussi plusieurs ontologies fonctionnelles locales. De plus, notons que nous avons
aussi une seule OFG (ontologie fonctionnelle globale) qui fournit des concepts
fonctionnels (tels que QUERY, DELETE, CREATE, …), et plusieurs OFD (ontologie
fonctionnelle de domaine) qui fournit des concepts fonctionnels plus spécifiques et
stables (tels que QUERY-TECHNICIAN, CREATE-TECHNICIAN, …).
La figure VII.32 présente un exemple typique d'urbanisation de la sémantique. Comme
on peut le constater, nous avons une ontologie globale contenant une ontologie globale
de données et une ontologie globale de fonctions et d'un certain nombre ontologies de
domaines pour capturer la sémantique respectivement du domaine des relations
humaines (RH), de la fabrication et des tests. Au sein de chaque domaine, nous avons un
certain nombre d'ontologies locales associées aux différents sous-domaines obtenus
grâce au processus de clustérisation vu au chapitre VI.
- 213 -
Chapitre VII CONSTRUCTION DE L'ARCHITECTURE SEMANTIQUE D'ENTREPRISE
Légende:
Ontologie partagée globale Ontologie partagée de domaine Ontologie Locale
Ontologie de données
Data Ontology Ontologie
Functionfonctionnelle
Ontology Ontologie Globale
- 214 -
Chapitre VII CONSTRUCTION DE L'ARCHITECTURE SEMANTIQUE D'ENTREPRISE
Jusqu'à présent, les ontologies présentées dans ce chapitre ne sont en fait que des
squelettes d'ontologies qu'il faut compléter afin de décrire la sémantique des services
d'entreprise. Devant la complexité de cette architecture, il devient alors nécessaire de
proposer une démarche méthodologique pouvant guider à mieux construire l'architecture
sémantique.
Comme nous l'avons déjà mentionné dans le chapitre IV, il existe une multitude de
méthodologies permettant d'aider dans le processus de construction des ontologies. Ces
méthodologies peuvent être fondamentalement classées en deux approches qui sont
l'approche ascendante (par exemple, Uschold, Kactus, Cyc, etc.) et l'approche
descendante (par exemple, Sensus, Grüninger & Fox, etc.). De plus, les ontologies
peuvent être construite à partir du scratch (en faisant table rase) ou elles peuvent être
basées sur la réutilisation de certaines ontologies existantes et/ou standard. En ce qui
nous concerne, nous avons choisi de mettre en oeuvre une approche hybride qui
combine à la fois les principes de construction ascendants et les principes descendants.
De façon générale, la construction de nos ontologies se fait à partir du scratch, mais il
nous arrive parfois de faire recours à la réutilisation totale ou partielle de certaines
ontologies existantes (notamment les ontologies OWL-S, PSL, DOLCE et SUMO). Par
exemple, nous avons réutilisé l'ossature de l'ontologie de service OWL-S que nous
avons étendue, et nous avons réutilisé les liens de spécialisation de certains concepts
d'ontologies génériques existantes comme guide pour la généralisation de certains de
nos concepts, nous aidant ainsi à définir des concepts plus génériques réutilisables
nécessaires à la construction notamment des ontologies de domaine et de l'ontologie
globale. A titre d'exemple, nous nous somme inspirés de la notion d'activités simples et
d'activités complexes de PSL pour définir notre ontologie métier. Nous nous sommes
également inspirés de la notion d'entité abstraite et de la notion d'entité physique de
SUMO pour mieux structurer certaines de nos ontologies fondamentales.
- 215 -
Chapitre VII CONSTRUCTION DE L'ARCHITECTURE SEMANTIQUE D'ENTREPRISE
Instance
Mappings
ontologie
syntaxiques
de service
Mappings
Méta-Ontologie
verticaux
- 216 -
Chapitre VII CONSTRUCTION DE L'ARCHITECTURE SEMANTIQUE D'ENTREPRISE
53
Il s'agit réellement d'ontologies de mappings syntaxe-sémantique. Mais pour simplifier, nous les appelons aussi: ontologies de
mappings syntaxiques.
- 217 -
Chapitre VII CONSTRUCTION DE L'ARCHITECTURE SEMANTIQUE D'ENTREPRISE
Factorisation
Ontologies réutilisables
(PSL, DOLCE, Conceptuelle
SUMO et Wordnet) Globale
Ontologies
de Domaine
Ontologies Ontologie
de Domaine Globale
Construction Initiale
Construction Courante
Factorisation
Conceptuelle
de Domaine
Ontologies Locales
Initiales (reprénsentative)
Construction
Courante
Construction
Initiale
Ontologies
Locales
méta-données d'entreprise Courantes
(WSDL, DDL, …)
Figure VII.34. Approche de construction des ontologies fondamentales [Izza et al. 2005-d]
- 218 -
Chapitre VII CONSTRUCTION DE L'ARCHITECTURE SEMANTIQUE D'ENTREPRISE
d'ontologie (obtenues par expérimentations sur notre cas d'étude) comme suit : quelques
dizaines (idéalement entre 10 et 30) de concepts, quelques dizaines (idéalement entre 10
et 30) de relations et quelques centaines (idéalement entre 100 et 300) propriétés. Par
exemple, en ce qui concerne la version 1.0 des ontologies que nous avons construites
dans le cadre de l'étude de cas (chapitre IX), nous avons retenu les métriques suivantes :
- l'ontologie locale des ressources humaines présente 23 concepts et 21 relations;
- l'ontologie locale des équipements présente 16 concepts et 19 relations;
- l'ontologie locale de maintenance préventive possède 33 concepts et 39 relations.
Finalement, nous devons mentionner le fait qu'il est important de mettre en place un
groupware spécifique pour le développement et la maintenance collaboratives de
certaines ontologies fondamentales. Ce groupware qui doit regrouper une équipe
d'experts de domaine est utile pour définir de façon correcte et efficace mais aussi pour
gérer les multiples versions et l'évolution de ces ontologies. Cette dernière notion
(évolution d'ontologies) peut être considérée comme un type spécifique de mapping
d'ontologies. Comment gérer l'évolution et les versions d'ontologies constitue un
important sujet de recherche qui n'est pas traité dans nos travaux. Nous mentions
seulement quelques principes que nous avons mis en oeuvre pour assister l'utilisateur
durant ce processus complexe. Nous considérons que nos ontologies sont mappées aux
versions précédentes en se basant sur l'utilisation de certains constructeurs de OWL tels
que : owl:versionInfo, owl:priorVersion, owl:backwardCompatibleWith et
owl:incompatibleWith.
Cette étape permet la construction des mappings syntaxiques (et plus exactement des
mappings syntaxe-sémantique) nécessaires pour définir des correspondances entre les
concepts des ontologies locales et les éléments de description syntaxique des services
d'entreprise permettant ainsi de relier le domaine sémantique au domaine syntaxique.
Rappelons que le domaine syntaxique correspond aux fichiers WSDL qui décrivent les
services d'entreprise. Notons que cette phase est importante car elle constitue une des
bases de la médiation sémantique que nous allons étudier au chapitre VIII.
La figure VII.35 qui constitue l'ontologie de mappings syntaxique-sémantique, illustre le
principe de la construction de ces mappings. Ainsi, on peut distinguer principalement
deux types de correspondances entre les ontologies locales et les fichiers XML issus de
la description syntaxique WSDL des services d'entreprise:
- correspondance type-concept, permettant de définir des mappings entre les
concepts d'ontologies locales et les types de schémas XML,
- correspondance attribut-propriété, permettant de définir des mappings plus fins
entre les propriétés d'ontologies locales et les attributs de schémas XML.
- 219 -
Chapitre VII CONSTRUCTION DE L'ARCHITECTURE SEMANTIQUE D'ENTREPRISE
contient Ontologie
Composant
Fondamental
d'Ontologie
Locale
est-un est-un
source
Concept Propriété
source source
Concept- Propriété-
Type Attribut
est-un est-un
contient Ontologie
Mapping Mapping
Syntaxique Syntaxique
cible cible
AnyType Attribut
cible
est-un est-un
Composant Description
Schéma contient Syntaxique
- 220 -
Chapitre VII CONSTRUCTION DE L'ARCHITECTURE SEMANTIQUE D'ENTREPRISE
est-un
Ontologie est-un
Mapping
Sémantique
est-un
Ontologie
Fondamentale est-un
est-un
source est-un
cible
Mapping Mapping
Sémantique Sémantique
Global (MSG) Local (MSL)
Ontologie est-un est-un Ontologie
Mapping appartient Mapping
appartient
Sémantique Sémantique
Mapping
Globale Locale
Sémantique
type
Type
Mapping
est-instance-de est-instance-de
Les mappings locaux sont utilisés afin de lier les ontologies locales aux ontologies de
domaine, tandis que les mappings globaux permettent de lier les ontologies de domaine
à l'ontologie globale. Nous appelons cette approche de médiation, médiation verticale,
du fait qu'elle se conforme aux principes hiérarchique de notre approche d'urbanisation
d'ontologies. En revanche, les mappings horizontaux (mappings qui sont définis entre
les ontologies sœurs: entre les ontologies de même niveau, c-à-d entre les ontologies
locales ou entre les ontologies de domaine) sont considérés comme le résultat d'une
inférence qui exploite les mappings verticaux en vue de dériver les mappings
horizontaux. Toutefois, ces derniers peuvent être calculés aussi bien en design-time
qu'en run-time, selon si l'on désire de les stocker ou les recalculer le moment opportun.
Dans notre approche, nous avons décidé calculer en design-time tous les mappings qui
sont souvent sollicités, et nous exploitons l'orientation run-time en vue d'inférer
occasionnellement les mappings correspondant aux besoins ponctuels.
- 221 -
Chapitre VII CONSTRUCTION DE L'ARCHITECTURE SEMANTIQUE D'ENTREPRISE
Une fois que l'ossature de l'ontologie de service est construite (à l'issue de l'étape
précédente), cette étape vient pour la compléter en définissant tous les aspects restés en
suspens et qui nécessitent l'intervention humaine. Aussi, cette étape est essentiellement
une étape interactive où l'utilisateur intervient afin de saisir ses choix de description qui
vont ainsi compléter la description sémantique des services d'entreprise.
Un aspect majeur de cette étape est l'établissement des correspondances entre les inputs
et les outputs avec les ontologies de données locales. Un autre aspect est l'établissement
de la liaison entre l'ontologie de service et l'ontologie fonctionnelle et enfin
l'établissement des liens entre les paramètres non fonctionnels (cluster, vue, visibilité,
…) de OWL-S+ et les ontologies d'entreprise (OWL-E). La figure VII.37 permet
d'illustrer le principe de complètement de certains aspects de l'ontologie de service.
OWL-E
OWL-S+ Ontologie (Ontologies
(Ontologie de Service Concepts Inputs / Données de Données Fondamentales
d'Entreprise) Outputs d'Entreprise )
d'Entreprise
(ODE)
Ontologies
Processus
Modèle Service Fonction Fonctionnelles
atomique
d'Entreprise (OFE)
Figure VII.37. Liaisons entre l'ontologie de service OWL-S+ et les ontologies d'entreprise
- 222 -
Chapitre VII CONSTRUCTION DE L'ARCHITECTURE SEMANTIQUE D'ENTREPRISE
fondamentale aux types de données définis dans les fichiers WSDL. Traditionnellement
cette phase se fait de façon manuelle, et notre approche propose de formaliser davantage
la procédure de correspondance et d'offrir une assistance permettant d'aider l'utilisateur
dans le processus de construction de l'ontologie grounding de service qui est rappelons-
le est une étape complexe, fastidieuse et peu formalisée.
OWL-S+
Opération Message
WSDL
De même que pour l'étape précédente, nous avons construit un outil permettant d'assister
l'utilisateur dans ce processus de complètement de la description sémantique. Cet outil
qui sera décrit au chapitre IX lors de la description du prototype développé permet
d'aider l'utilisateur à remplir le grounding du service.
VII.7. Conclusion
- 223 -
Chapitre VII CONSTRUCTION DE L'ARCHITECTURE SEMANTIQUE D'ENTREPRISE
- 224 -
Chapitre VIII
CONSTRUCTION DE
L'ARCHITECTURE D'INTEGRATION
D'ENTREPRISE
VIII.1. Introduction
PInt
Problématique d'intégration
basée sur la sémantique
Problématique
de flexibilité
PSem
PFle
Problématique d'enrichissement
sémantique des services
PSyn
Problématique de migration vers
une architecture de services
AIE
(Architecture
d'Intégration
d'Entreprise)
ASE
ASE
AOE
(Architecture
(Architecture
de
(Architecture
de Services
Services
d'Entreprise)
d'Entreprise) d'Ontologies
d'Entreprise)
ASE
(Architecture
de Services
d'Entreprise)
L'intérêt principal de ce chapitre est qu'il permet de fournir un cadre global pour la mise
en œuvre de l'intégration des services d'entreprise. Comme le domaine d'intégration est
assez vaste, nous nous limitons dans notre étude en nous focalisant sur trois aspects
fondamentaux qui constituent les principales contributions de ce chapitre et qui sont la
publication, la découverte et la médiation de services d'entreprise.
Aussi, dans ce chapitre, nous présenterons une vision globale des principaux éléments
de la couche d'intégration. La section VIII.2 exposera les principes majeurs permettant
de guider la construction de l'architecture d'intégration d'entreprise. La section VIII.3
présentera de façon générale l'architecture d'intégration qui sera ensuite détaillée en
section VIII.4. La section VIII.5 présentera le processus d'intégration et enfin la section
VIII.6 décrira un scénario typique d'intégration des services d'entreprise en tenant
compte du triptyque intégrateur/ développeur/utilisateur métier.
54
Cette figure découle directement de la figure V.8.
- 226 -
Chapitre VIII CONSTRUCTION DE L'ARCHITECTURE D'INTERGRATION D'ENTREPRISE
Principes de construction de
l'architecture d'intégration d'entreprise
Éléments de l'architecture
Processus d'intégration des
d'intégration d'entreprise
services d'entreprise
(services d'intégration)
55
Un autre service d'intégration (service de description) qui est destiné au design-time est volontairement omis car il a été étudié lors
des chapitres précédents.
- 227 -
Chapitre VIII CONSTRUCTION DE L'ARCHITECTURE D'INTERGRATION D'ENTREPRISE
Messaging
Service Service SOAP Backbone
d’Entreprise d’Enteprrise Grounding Web Service
WSDL
Référentiel Registre Couche
d’Ontologies UDDI Service
Interface
Sémantique Services Trans. Services
(WS-T, SAML, …) Transversaux
Référentiel Bus Sémantique de Services d’Entreprise
d’Intégration (BSSE)
Urbanisation Urbanisation
des Services
Zone/Quartier
Service Service
Référentiel Brokering d'Exécution
de Services
Description Sémantique
Services
Service de Interface Semantique Couche
Service de d'Intégration Médiation Ontologique
Description Urbanisation Ontologique
Ontologie Locale Domaine, Globale
Service de Service de
Publication Découverte
Intégration sémantique Couche
Broker, Découverte, Médiation, … Intégration
- 228 -
Chapitre VIII CONSTRUCTION DE L'ARCHITECTURE D'INTERGRATION D'ENTREPRISE
Description
sémantique 2
(Design-Time)
de service Publication Profil de Service
Conception
1 Sémantique
(Publication Service)
5
Référentiel
Services découverts
de services
Requête de
découverte
Découverte
4 Sémantique
(Run-Time)
Exécution
(Service de Découverte)
3
Requête Intégration Référentiel
Sémantique d'ontologies
(Service Brokering)
7 6
Médiation
Ports et Sémantique Exécution
Ports et (Service de Médiation)
fonctions fonctions de Services
intégrée à intégrer 8 (Service d'Exécution)
Service à exécuter
9
Service à invoquer, intégrer
- 229 -
Chapitre VIII CONSTRUCTION DE L'ARCHITECTURE D'INTERGRATION D'ENTREPRISE
Ontologies
de données
d'ontologies
Référentiel
Ontologies
fonctionnelles
Ontologies
métier
utilise utilise
intégration
Figure VIII.6. Les trois types d'utilisations typiques du cadre ODSOI [Izza et al. 2006-d]
Quant au tableau VIII.1 (extrait de [Izza et al. 2005-c]), il résume l'articulation des trois
couches de notre approche avec ces trois niveaux d'intégration précédemment cités.
- 230 -
Chapitre VIII CONSTRUCTION DE L'ARCHITECTURE D'INTERGRATION D'ENTREPRISE
Après avoir présenté une vision globale de l'architecture AIE, à présent nous allons
détailler les principaux éléments, à savoir les principales activités d'intégration et les
services d'intégration associés.
- 231 -
Chapitre VIII CONSTRUCTION DE L'ARCHITECTURE D'INTERGRATION D'ENTREPRISE
scénarios d'intégration fortement couplés dans le sens où les services peuvent s'appeler
mutuellement sans tiers d'intermédiation. La seconde approche repose sur l'utilisation
d'un seul nœud d'intégration permettant de jouer le rôle de tiers d'intermédiation entre
les services à intégrer. Chacune des approches possède des avantages et des
inconvénients. La première est une solution distribuée mais présente une certaine
complexité dans la gestion et la maintenance des services. De plus le processus
d'intégration est dispersé au sein de la collection de services. La seconde approche est
plus découplée mais présente l'inconvénient de tout centraliser au sein d'un nœud
d'intégration. L'approche que nous proposons est hybride dans le sens où elle est semi
centralisée, reprenant ainsi les avantages des deux approches.
Notre approche d'intégration repose sur une multitude de nœuds d'intégration que nous
appelons les services brokering. Ces derniers constituent les principaux services
d'intégration en charge du processus d'intégration des services d'entreprise. Ils
permettent de superviser le processus d'intégration en orchestrant un certain nombre de
services d'intégration, notamment des services de découverte, de médiation et
d'exécution.
Chaque service brokering expose les différents services qu'il comporte. Les services
brokering sont reliés entre eux et chaque service brokering peut être exposé comme un
service particulier du service brokering de plus haut niveau. Ceci conduit à une
architecture hiérarchique de services brokering (figure VIII.8).
- 232 -
Chapitre VIII CONSTRUCTION DE L'ARCHITECTURE D'INTERGRATION D'ENTREPRISE
Service
Brokering
Global
(1)
Service … Service
Brokering
… Service
Brokering
Brokering
Domaine Domaine Domaine
1.1 1.k 1.n
Service
d'Entreprise
… Service
d'Entreprise
Service Requête /
Requête Brokering Réponse
Référentiel Référentiel
d'Ontologies de Services
(RO) (RS)
- 233 -
Chapitre VIII CONSTRUCTION DE L'ARCHITECTURE D'INTERGRATION D'ENTREPRISE
( Statei , Condition ij )
( IRi j ) :
( State j , Actionij )
où Statei , State j sont respectivement l'état source et l'état cible du service brokering,
Conditionij est une condition booléenne permettant de spécifier la règle de transition du
service brokering de l'état source à l'état cible,
Actionij est une action d'intégration qu'il faut exécuter pour pouvoir faire passer le
service brokering de l'état source à l'état cible.
Parmi les actions d'intégration que nous avons définies et qui peuvent être exécutées lors
de l'exécution d'une règle d'intégration, nous pouvons citer 56 :
- l'action #Discovery : qui permet de lancer le service de découverte afin de chercher
certains services qui correspondent à certains critères bien identifiés;
- l'action #Mediate : qui permet de lancer le service de médiation pour effectuer une
tâche de médiation, par exemple la médiation de données ou de fonctions;
- l'action #Connectable : qui peut être considérée comme un cas particulier de
l'action #Mediate et qui permet de calculer le degré de connectivité de deux
services afin de savoir si les deux services peuvent être connectés l'un à l'autre;
- l'action #Compatible : qui peut être considérée comme un cas particulier de l'action
#Mediate et qui permet de calculer le degré de substitution (compatibilité) de deux
services afin de savoir si les deux services peuvent être mutuellement substitués
pour une fonctionnalité bien identifiée;
- l'action #Integrate : qui permet de lancer le (éventuellement un autre) service
brokering en lui transmettant une requête et qui permet éventuellement de définir
des liaisons entre les différents nœuds d'intégration;
- l'action #Invoke : qui permet de lancer le service d'exécution pour superviser
l'exécution d'un service bien identifié;
- l'action #Restitute : qui permet de restituer la réponse au client du service brokering
qui peut être un utilisateur ou un service d'entreprise.
Un exemple typique de règle d'intégration est celle qui va permettre d'invoquer le
service de découverte à la réception d'une requête de recherche de services. Cette règle
peut s'écrire:
Elle stipule que dès réception d'une requête de type découverte (#Discover) de service,
et quel que soit l'état (#All) du service brokering, la requête est redirigée au service de
découverte (#DiscoveryService).
56
Bien entendu, nous omettons de mentionner les actions de design-time telles que :
- l'action #Describe : qui permet de lancer le service de description afin de décrire sémantiquement un service donnée;
- l'action #Publish : qui permet de lancer le service de publication afin de publier syntaxiquement et/ou sémantiquement un
service donnée;
- 234 -
Chapitre VIII CONSTRUCTION DE L'ARCHITECTURE D'INTERGRATION D'ENTREPRISE
Les requêtes qui peuvent déclencher le service brokering sont multiples. Nous avons
classifié les principales requêtes selon la taxonomie de la figure VIII.10. Nous
distinguons les types57 suivants :
- Les requêtes de découverte de services qui portent sur la recherche d'un certain
nombre de services en fonction d'un certain nombre de critères qui peuvent porter
sur le cluster, la vue d'entreprise, la visibilité, les entrées, les sorties, etc. et qui sont
généralement de la forme :
- Les requêtes de découverte de données qui sont des cas particuliers de la requête
précédente, qui portent sur la recherche d'un certain nombre de données (services
de données) et qui sont généralement de la forme :
où servicei et servicej sont les services concernés par la médiation et porti et portj
sont les ports respectivement des servicei et servicej et qui sont impliqués dans la
médiation.
57
Bien que le service brokering puisse être concerné par des requêtes de design-time (telles que celles portant sur la description et la
publication des services par exemple), nous avons choisi de nous focaliser lors de l'étude de ce service d'intégration uniquement sur
les requêtes de run-time. Notons que certaines requêtes de design-time ont été déjà étudiées dans les deux chapitres précédents.
- 235 -
Chapitre VIII CONSTRUCTION DE L'ARCHITECTURE D'INTERGRATION D'ENTREPRISE
- Les requêtes d'invocation de services qui portent sur l'exécution d'un service donné
et qui sont de la forme :
Requête Légende:
(selon le sujet : est-un
d'intégration)
Requête
(selon l'action
d'intégration)
- 236 -
Chapitre VIII CONSTRUCTION DE L'ARCHITECTURE D'INTERGRATION D'ENTREPRISE
Notre approche est considérée comme une combinaison de ces deux approches dans le
sens où nous proposons une approche hiérarchique de publication, qui se base sur une
hiérarchie de nœuds d'intégration (services brokering). De plus, nous proposons une
approche flexible basée sur l'utilisation de deux niveaux de référentiels : niveau logique
et un niveau physique (cf. § VI.4.6), où chaque référentiel de niveau physique peut
implémenter un ou plusieurs référentiels de niveau logique. Cet ensemble de référentiels
physiques constitue le référentiel d'intégration de la figure VIII.4.
La publication des services fondamentaux se base sur les descriptions syntaxiques et/ou
descriptions sémantiques définies respectivement aux chapitres VI et VII. Notre
approche de publication se base sur une extension sémantique des référentiels UDDI
privés. Notre approche diffère de celle proposée par la coalition OWL-S qui se base
uniquement sur des descriptions sémantiques. Notre approche de publication est
stratifiée et organisée en couches afin d'apporter le maximum de flexibilité. Dans notre
cas, les services d'entreprise sont décrits et publiés syntaxiquement dans des référentiels
- 237 -
Chapitre VIII CONSTRUCTION DE L'ARCHITECTURE D'INTERGRATION D'ENTREPRISE
de services avant d'être éventuellement décrits puis publiés sémantiquement dans des
référentiels sémantiques. Cette technique qui est plus réaliste apporte plus de flexibilité
en permettant ainsi à certains services d'entreprise d'exister sans description sémantique.
Nous appelons ce principe qui recommande l'utilisation à la fois des descriptions
syntaxiques et/ou sémantiques le principe de cohabitation syntaxique-sémantique. Ce
dernier est utile si l'on considère que le processus de description sémantique des services
est long et nécessite un cycle incrémental et itératif durant lequel des services peuvent
exister avec différents de degrés de maturité (degré 1: service syntaxique, degré 2:
service sémantique) sans nécessairement disposer de description sémantique.
Logiquement, chaque service brokering dispose d'un référentiel d'intégration
comprenant deux sous-référentiels : un référentiel syntaxique (ou référentiel de
services) (cf. § VI.4.6) et un référentiel sémantique (permettant de stocker les ontologies
d'entreprise (cf. § VII.3.2), notamment l'ontologie OWL-S+ (cf. § VII.4.1)). Les services
brokering locaux disposent d'un référentiel local qui sert à publier les descriptions des
services fondamentaux qui sont nécessaires pour une utilisation locale. Les services
brokering locaux sont publiés par les services brokering de domaine (Domain Brokering
Services). Ces derniers sont également publiés par le service brokering global (Global
Brokering Service).
Ontologie
publie d'entreprise
Ontologie de
service
Description de service
publie fondamental
Description
Syntaxique
décrit
* 0..1
Référentiel Service fondamental Cluster service
* 1 * 1
Référentiel physique Quartier de services Zone de services Entreprise
1 1 1
0..1
correspond correspond correspond correspond
1..* 0..1 0..1 0..1
mappe mappe
Référentiel logique Référentiel local Référentiel domaine Référentiel global
0..1 0..1
- 238 -
Chapitre VIII CONSTRUCTION DE L'ARCHITECTURE D'INTERGRATION D'ENTREPRISE
Publication désigne les caractéristiques (sous forme de fichier XML ou OWL) à publier.
Le service de publication étend la publication traditionnelle en permettant la publication
de certaines ontologies grâce aux deux fonctionnalités (API) que nous avons
développées et qui s'appellent PublishFundamentalService et
PublishFundamentalOntology et qui permettent respectivement de publier une
description sémantique d'un service ou de publier une ontologie fondamentale.
_____
Référentiel Référentiel
Publication d'Ontologie _____
__ d'Ontologies de Services
Fondamentale Entrée UDDI
(API PublishFundamentalOntology) (UDDI)
Requête de
Publication
request (# Publish,
PublicationType,
Publication) Service de
Publication Publication Syntaxique de Service
(API PublishService)
La publication d'un service fondamental est effectuée comme suit: les descriptions
syntaxiques WSDL sont publiées dans un référentiel privé UDDI de services en utilisant
les API standard PublishService (cf. § VI.4.6) puis publie les descriptions sémantiques
(OWL-S+) qui constituent des descriptions sémantiques complétées par des références
à l'UDDI et qui sont publiées dans un référentiel d'ontologies en utilisant l'API
PublishFundamentalService. La figure VIII.13 récapitule le principe de fonctionnement
du service de publication.
Une fois que les services fondamentaux sont publiés à l'aide du service de publication
précédemment décrit, des requêtes de découverte peuvent alors être formulées afin de
chercher des services d'entreprise selon certains critères bien définis.
Différentes approches ont été proposées dans la littérature pour réaliser la découverte de
services [Bernstein et Klein 2002][Chakraborty et al. 2001][Gonzàlez-Castillo et al.
2001] [Paolucci et al. 2002][Benatallah et al. 2003]. Toutes ces approches se basent sur
une découverte approximative de services dès lors qu'il n’est pas réaliste de localiser le
service qui correspond exactement aux besoins spécifiés. Ces approches diffèrent
principalement par le langage de description utilisé (OWL-S, logique de description,
etc.) et/ou par l’algorithme de découverte mis en œuvre en vue de comparer la requête et
les services (matchmaking [Paolucci et al. 2002], test de subsumption [Gonzàlez-
Castillo et al. 2001], mécanisme de réécriture [Benatallah et al. 2003], etc.).
Dans l'approche OWL-S sur laquelle nous nous focalisons dans nos travaux, la
- 239 -
Chapitre VIII CONSTRUCTION DE L'ARCHITECTURE D'INTERGRATION D'ENTREPRISE
découverte de services se base sur l'utilisation de quatre paramètres qui sont : les inputs,
les outputs, les pré-conditions et les effets (IOPEs) [KnowledgeWeb, 2004]. Les travaux
les plus importants portant sur les algorithmes de découverte sont principalement ceux
décrits dans [Paolucci et al. 2002] et [Li et Horrocks 2004] et qui permettent de calculer
dans quelle mesure un service peut répondre à une requête donnée d'un client. Mais ces
algorithmes demeurent limités dans le sens où ils n'utilisent principalement que les
inputs et les outputs ignorant très souvent les autres paramètres, notamment les pré-
conditions et les effets.
Afin de mieux illustrer le principe de fonctionnement de ces algorithmes, nous allons
décrire en particulier celui de [Paolucci et al. 2002] qui constitue l'approche la plus
importante utilisée actuellement dans la découverte de services OWL-S. Cet algorithme
se base sur les propositions du système LARKS [Sycara et al. 2002] et utilise la relation
de subsomption du langage OWL. L'idée de base est de chercher l’ensemble des
annonces utilisables par le client. Pour ce faire, l'algorithme utilise la signature de
l’annonce qu'il compare à la signature de la requête de telle sorte que :
- 240 -
Chapitre VIII CONSTRUCTION DE L'ARCHITECTURE D'INTERGRATION D'ENTREPRISE
al. 2006] afin de prendre en compte davantage de paramètres supplémentaires tels que la
classification du produit de service et la classification de service.
Dans nos travaux, nous nous basons principalement sur l'algorithme de [Paolucci et al.
2002] et nous proposons une extension afin de prendre en compte nos spécificités,
notamment les différents éléments ajoutés ainsi que la prise en compte de mappings
sémantique qui font carence dans l'approche actuelle de OWL-S. Pour cela, nous
proposons une approche plus complète pour la découverte de services d'entreprise. Cet
algorithme qui constitue le cœur du service de découverte est décrit dans ce qui suit.
58
Notons que l'implication logique n'est pas décidable pour la logique de premier ordre, aussi on se base généralement sur une
relation plus faible que l'implication logique.
- 241 -
Chapitre VIII CONSTRUCTION DE L'ARCHITECTURE D'INTERGRATION D'ENTREPRISE
Comparaison de contexte
(type, cluster, vue)
Comparaison de signature
(input, output)
Comparaison de contrainte
(précondition, postcondition)
Comparaison d'attributs
non-fonctionnels
(QoS, visibilité)
Dans notre approche, tous les aspects de OWL-S+ qui interviennent dans l'algorithme de
comparaison sont des éléments d'ontologies (issues de l'architecture sémantique du
chapitre VII) et sont gérés grâce à des mécanismes de raisonnement basés sur la logique
de description (OWL-DL).
Notre approche se base principalement sur le calcul d'un indice de similarité qui mesure
le degré de satisfaction évalué grâce à la similarité des concepts mesurée à l'aide des
mécanismes d'inférence. En parvenant à calculer cet indice de similarité entre deux
services ou entre l'annonce et la requête nous pourrons déterminer un tri des réponses
possibles.
Cet indice de satisfaction se base sur des indices plus élémentaires portant
principalement sur l'inférence entre deux concepts d'ontologies A et B et qui peut revêtir
l'une des valeurs suivantes :
- équivalence : elle est notée par ≡ , et l'expression A ≡ B signifie que les deux
concepts A et B ne représentent qu'un seul et même concept:
( A ≡ B) ⇔ (( A ⊆ B) ∧ ( B ⊆ A)) ,
- 242 -
Chapitre VIII CONSTRUCTION DE L'ARCHITECTURE D'INTERGRATION D'ENTREPRISE
Comparaison de contexte
(type, cluster, vue)
échec
échec ?
succès
Comparaison de signature
(input, output)
échec
échec ?
succès
Comparaison de contrainte
(precondition, postcondition)
échec
échec ?
succès
Comparaison des attributs
non-fonctionnels
(QoS, visibilité)
échec
échec ?
succès
Résultat comparaison
(ensemble de services d'entreprise)
Fin
59
Nous précisons que le symbole anti-truc (⊥) désigne le concept BOTTOM de la logique de description [Napoli 1997]. Il s'agit du
concept le plus spécifique et dont l'extension est vide. Le concept opposé est le concept TOP (T) qui est le concept le plus général et
qui inclut tous les individus possibles.
- 243 -
Chapitre VIII CONSTRUCTION DE L'ARCHITECTURE D'INTERGRATION D'ENTREPRISE
où
simcontext ( S , S ' ) désigne l'indice de similarité entre les contextes des deux services,
sim signature ( S , S ' ) désigne l'indice de similarité entre les signatures des deux services,
simconstra int ( S , S ' ) désigne l'indice de similarité entre les contraintes des deux services,
simnon− functional ( S , S ' ) désigne l'indice de similarité entre les attributs non fonctionnels
des deux services,
λx désigne les poids des différents indices.
Cet indice global de similarité ( sim global ( S , S ' )) peut être interprété comme une
probabilité de ressemblance des deux services S et S'. Le produit pondéré que nous
avons retenu est justifié par le fait que la similarité globale doit dépendre de la
performance de chacun des indices et non de l'excellence de certains indices. Une autre
justification tient du fait que la probabilité de réalisation de l'intersection d'un certain
nombre d'événements élémentaires indépendants est égale au produit des probabilités de
réalisation de chacun des événements élémentaires :
P (I Ai ) = ∏ P( Ai ) .
i i
Précisons que dans notre approche, l'algorithme fonctionne de façon flexible. en effet,
on choisit les poids des indices en fonction du type de la requête. Par exemple, si l'on
veut uniquement effectuer une comparaison des inputs et des outputs en court-circuitant
les autres étapes de comparaison, il suffit alors de prendre le poids λsignature égal à 1 et
tous les autres égaux à 0. En faisant ainsi, tous les indices dont le poids est nul sont
ignorés durant l'algorithme de comparaison.
En ce qui concerne l'évaluation de l'indice global de similarité, comme il est un produit
d'indices plus élémentaires, il devient nécessaire d'évaluer ces derniers afin de pouvoir
- 244 -
Chapitre VIII CONSTRUCTION DE L'ARCHITECTURE D'INTERGRATION D'ENTREPRISE
calculer l'indice global. De même que pour l'indice global, le sous-indice de similarité
de contexte simcontext ( S , S ' ) est également une combinaison de sous-indices. Il se
calcule en fonction de ses sous-indices de similarité (qui entrent dans la définition de la
notion de contexte), et il est de la forme :
De même que pour le contexte, nous proposons de calculer les autres indices de façon
similaire:
simsignature ( S , S ' ) = ∏ sim λ (S , S )
x∈{input, output}
x
x '
Ainsi, de proche en proche on définit notre indice global de similarité comme une
combinaison d'un certain nombre d'indices élémentaires. Nous appelons un indice
élémentaire, celui qu'il n'est pas possible ou qu'il n'est pas nécessaire de décomposer
pour pouvoir le calculer. Par exemple, nous considérons les deux indices siminput ( S , S ' )
et simoutput ( S , S ' ) comme élémentaires dans la mesure où nous les considérons comme
non décomposables. Toute la problématique de calcul de l'indice global se traduit sous
forme de problématique de calcul des indices élémentaires.
Une caractéristique fondamentale de notre approche est que la majorité des indices
élémentaires de similarité que nous avons définis portent sur le calcul de similarité entre
deux concepts d'ontologies, c'est à dire sur la distance entre deux concepts. Cette
caractéristique est importante car elle permet d'apporter de l'unification tout en
simplifiant le processus de calcul de l'indice global.
Pour le calcul de nos indices élémentaires, nous avons décidé d'exploiter une variante
combinant la distance de dissimilarité topologique structurelle (structural topological
dissimilarity) introduite dans [Valtchev et Euzenat 1997] et la distance cotopique
(upward cotopic distance) [Mädche et Zacharias 2002].
La dissimilarité topologique structurelle est définie sur une ontologie O par :
où dist ( x, y ) désigne le nombre d'arêtes intermédiaires qui existent entre les deux
éléments x et y. La fonction normalisée correspondant à cette mesure est donnée par :
δ (e, e' )
δ (e, e' ) =
max δ ( x, y )
x , y∈O
- 245 -
Chapitre VIII CONSTRUCTION DE L'ARCHITECTURE D'INTERGRATION D'ENTREPRISE
Quant à la distance cotopique, elle est définie sur une ontologie O présentant une
hiérarchie H par la formule suivante :
UC (c, H ) I UC (c' H )
δ ( c, c ' ) =
UC (c, H ) U UC (c' H )
En se basant sur ces deux mesures, nous avons décidé de définir une nouvelle mesure
permettant de comparer deux concepts d'une même ontologie. La raison pour laquelle
nous avons décidé de définir une nouvelle mesure est due au fait que les mesures
existantes ne sont pas suffisamment appropriées pour comparer des concepts: elles ne
sont pas sensibles à la profondeur des concepts à comparer. Aussi, nous avons proposé
une nouvelle mesure (heuristique) qui permet de mieux calculer le degré de similarité de
deux concepts C et C' d'une ontologie O de profondeur Depth(O). Elle se calcule selon
la formule :
Bien entendu, la fonction sim précédente est une fonction de similarité au sens
mathématique du terme du fait qu'elle vérifie les conditions de positivité, de maximalité
et de symétrie (cf. définition 1 du § IV.5.4.4). De plus cette fonction est normalisée du
fait qu'elle prend ses valeurs dans l'intervalle [0, 1].
Comme on peut le constater, la formule est constituée de quatre facteurs. Le choix du
d − d' α
facteur (1 − ( ) ) dans le calcul de la similarité de deux concepts tient au fait qu'il
d + d'
représente un comportement global que nous désirons. Ce facteur permet une mesure
très sensible à la profondeur dans laquelle se trouvent les deux concepts. Plus les deux
60
Cette augmentation est effectuée dans le seul but d'éviter d'avoir des dénominateurs nuls.
- 246 -
Chapitre VIII CONSTRUCTION DE L'ARCHITECTURE D'INTERGRATION D'ENTREPRISE
concepts sont proches de l'ancêtre commun et plus cette quantité est grande. A l'inverse
cette quantité décroît en fonction de l'éloignement des concepts de l'ancêtre commun. Le
seul inconvénient est qu'il privilégie les cas où les distances d et d' sont égales même si
l'on s'éloigne considérablement de l'ancêtre commun dans le sens du plan bissecteur du
repère (d, d'). Cet inconvénient est vite corrigé par le second facteur
max(d , d ' ) − 1
(1 − ) , qui permet ainsi de décroître la courbe quand les distances d et d'
1 + Depth(O)
s'agrandissent de façon égale. Ceci permet d'avoir un effet que nous désirons qui est
celui de la cloche (loi statistique normale). Cet effet est important car il permet de faire
accroître la similarité aux alentours de l'ancêtre commun et de la faire décroître quand
min(d , d ' ) − 1
les concepts s'éloignent de cet ancêtre. Quant au facteur (1 − ) , il permet
1 + Depth(O)
de lisser davantage la courbe, notamment tout le long du contour de la courbe où d = d'.
Le dernier facteur
Les figures VIII.16 à VIII.18 représentent les tracés61 de cette courbe à différents angles
de vue.
61
Les tracés ont été réalisés avec le logiciel WinPlot en prenant Depth(O) = 100.
- 247 -
Chapitre VIII CONSTRUCTION DE L'ARCHITECTURE D'INTERGRATION D'ENTREPRISE
- 248 -
Chapitre VIII CONSTRUCTION DE L'ARCHITECTURE D'INTERGRATION D'ENTREPRISE
d' 1 2 3 4 5 6 7 8 9 10
d
1 1.0000 0.9534 0.9189 0.8948 0.8761 0.8603 0.8464 0.8338 0.8219 0.8107
2 0.9534 0.2451 0.2422 0.2392 0.2362 0.2334 0.2307 0.2280 0.2254 0.2229
3 0.9189 0.2422 0.1068 0.1057 0.1046 0.1035 0.1024 0.1013 0.1002 0.0991
4 0.8948 0.2392 0.1057 0.0588 0.0582 0.0576 0.0570 0.0564 0.0558 0.0552
5 0.8761 0.2362 0.1046 0.0582 0.0369 0.0365 0.0361 0.0358 0.0354 0.0350
6 0.8603 0.2334 0.1035 0.0576 0.0365 0.0251 0.0248 0.0246 0.0243 0.0240
7 0.8464 0.2307 0.1024 0.0570 0.0361 0.0248 0.0181 0.0179 0.0177 0.0175
8 0.8338 0.2280 0.1013 0.0564 0.0358 0.0246 0.0179 0.0135 0.0134 0.0132
9 0.8219 0.2254 0.1002 0.0558 0.0354 0.0243 0.0177 0.0134 0.0105 0.0104
10 0.8107 0.2229 0.0991 0.0552 0.0350 0.0240 0.0175 0.0132 0.0104 0.0083
Afin mieux illustrer le comportement de notre fonction sur un exemple simple et plus
parlant, nous avons choisi d'effectuer des calculs d'indices en ce qui concerne les
comparaisons qualitatifs (cf. § VIII.4.2.2.1) précédemment introduits (équivalence,
généralisation spécialisation, intersection et disjonction) sur un fragment d'ontologie de
véhicule issu de [Srinivasan et al. 2006] (figure VIII.19).
Le résultat du calcul des indices obtenu, en prenant Depth(O) = 100, est consigné dans
le tableau VIII.3.
- 249 -
Chapitre VIII CONSTRUCTION DE L'ARCHITECTURE D'INTERGRATION D'ENTREPRISE
Dans notre approche, le processus de découverte est pris en charge par le service de
découverte (Discovery Service). Ce dernier est un service d'intégration particulier qui
s'active dès réception d'une requête de type :
Réponse Requête
découverte découverte
distante distante
Découverte Syntaxique
Service de (InquireService API)
Requête Découverte
découverte
request(# Dis cover, Arguments) Découverte Sémantique
(InquireFundamentalService API)
Moteur OWL
Réponse (Racer, Jena)
découverte
- 250 -
Chapitre VIII CONSTRUCTION DE L'ARCHITECTURE D'INTERGRATION D'ENTREPRISE
62
La composition implique la capacité de sélectionner, de composer et de faire interopérer des services existants. De ce fait, nous
considérons la médiation (ou l'interopération) comme un aspect de la composition.
- 251 -
Chapitre VIII CONSTRUCTION DE L'ARCHITECTURE D'INTERGRATION D'ENTREPRISE
Service DS DC Service
Source Cible
Donnée source Donnée cible
Figure VIII.21. Principe de médiation traditionnelle de données
De façon générale, les travaux de médiation de données portent principalement sur les
approches d'intégration et de transformation de données [Ullman 1997][Pottinger et
Bernstein 2003], dont certains travaux exploitent le concept d'ontologie [Sciore et al.
1994][ Lakshmanan 2003] auquel nous nous intéressons. Il existe un certain nombre de
travaux portant sur les langages d'explicitation des transformations entre schémas
hétérogènes [Krishnamurthy et al. 1991][Davidson et Kosky 1997][Cluet et al. 1998].
Ces travaux se basent principalement sur une approche manuelle et il est important de
pouvoir automatiser le processus de transformation afin de dériver systématiquement les
médiations et/ou et de les effectuer à la volée. D'autres travaux existent et concernent la
définition des correspondances nécessaires pour l'intégration et la transformation de
- 252 -
Chapitre VIII CONSTRUCTION DE L'ARCHITECTURE D'INTERGRATION D'ENTREPRISE
Notre approche de médiation repose sur une formalisation basée sur la notion
d'interprétation abstraite, qui est utilisée à l'origine pour formaliser la correspondance
approximative entre sémantiques concrètes de programmes syntaxiquement corrects
[Cousot et Cousot 2002].
Tout d'abord, signalons que notre approche de médiation exploite la notion générique
d'entité sémantique. Une entité sémantique d'entreprise est définie comme étant toute
partie d'un système d'information d'entreprise qui peut être un cluster, un service, une
opération, une donnée, etc., et qui comporte à la fois une description syntaxique et une
description sémantique. Afin d'apporter un maximum de flexibilité dans notre approche,
nous acceptons qu'une entité sémantique puisse ne pas posséder de description
sémantique (§ VIII.4.2.2). Une entité sémantique qui nous intéresse plus
particulièrement dans le cadre de la médiation de données est le service sémantique.
Nous définissons un service sémantique d'entreprise comme un cas particulier d'entité
sémantique d'entreprise qui permet d'exposer certains aspects d'un système
d'information (certaines fonctionnalités d'applications ou des sources de données.
De ce point de vue, le service sémantique constitue le résultat de l'intégration des
concepts issus des deux architectures décrites aux chapitres précédents : architecture de
service et architecture sémantique. Dans le cadre de la médiation de données, nous
considérons un service sémantique comme un ensemble de ports sémantiques. Les ports
sont définis comme des points de connexion au service. On distingue deux types de
ports; des ports d'entrée et des ports de sortie qui servent respectivement comme entrées
et sorties du service.
- 253 -
Chapitre VIII CONSTRUCTION DE L'ARCHITECTURE D'INTERGRATION D'ENTREPRISE
Dans notre framework, chaque entité sémantique X (les services et les ports
sémantiques) est décrite à la fois par une syntaxe et une sémantique.
X ≅ [Syn(X), Sem(X)],
[Syn(S), Sem(S)]
P2
Service
P1 Sémantique Pi [Syn(Pi), Sem(Pi)]
(S)
Pp
Les services sémantiques et leurs différentes caractéristiques sont alors des entités
63
De façon plus complète, un service sémantique S est défini comme un quintuplet <Co,P, F, Ct, N> (c.f. § VIII.4.3.2), où chaque
composante définit une entité sémantique qui permet de représenter respectivement le contexte du service (Co), les ports (d'entrée
et de sortie) du service (P), les opérations ou les fonctions du service (F), les contraintes du service (Ct) et les paramètres non-
fonctionnels (N).
- 254 -
Chapitre VIII CONSTRUCTION DE L'ARCHITECTURE D'INTERGRATION D'ENTREPRISE
S = <P>
= <{Pi, i = 1..p}>
≅ <{[Syn(Pi), Sem(Pi)]} >
≅ <[{Syn(Pi)},{Sem(Pi)}] >
≅ [<{Syn(Pi)} >, <{Sem(Pi)} >]
≅ [<Syn(P) >, <Sem(P) >]
≅ [Syn(S), Sem(S)]
La syntaxe des services sémantiques, ou plus précisément la syntaxe des ports
sémantiques (et de façon plus générale des entités sémantiques) appartient à un domaine
syntaxique DSyn qui est un poset (partially ordered set)
po〈DSyn; 〉
Syn(Pi) δ[Sem(Pi)].
L'abstraction sémantique α[Syn(Pi)] exprime l'enrichissement sémantique de la
représentation syntaxique de Xi. Contrairement à la concrétisation syntaxique,
l'abstraction sémantique constitue une approximation plus forte (est un sous-concept ou
une spécialisation) de la sémantique réelle de Pi du fait que
α[Syn(Pi)] Sem(Pi).
- 255 -
Chapitre VIII CONSTRUCTION DE L'ARCHITECTURE D'INTERGRATION D'ENTREPRISE
alors la paire 〈α,δ〉 forme un treillis de Galois (Galois connection) noté DSyn〈α,δ〉DSem
qui par définition, signifie que
La principale caractéristique du treillis de Galois défini précédemment est que α est une
relation surjective (i.e.: ∀Y∈DSem, ∃X∈DSyn: α[X] = Y) si et seulement si δ est une
relation injective (i.e.: ∀Y∈DSem, ∀Y'∈DSem: δ[Y] = δ[Y'] ⇒ Y = Y'). Comme
conséquence, on doit seulement construire la relation α comme fonction surjective
(resp. δ comme relation injective) dans le but de dériver automatiquement la relation
adjointe δ (resp. α) comme relation injective (resp. surjective). Cette approche est
motivée par le fait que dans l'univers du web sémantique et de l'entreprise sémantique64,
la réalité est plus complexe parce que δ est souvent une relation arbitraire tandis que α
est moins problématique. Ce qui signifie qu'en réalité α peut facilement être (semi-)
automatisée, et plus encore il existe actuellement des algorithmes pertinents qui peuvent
prendre en charge certaines préoccupations de l'abstraction sémantique comme la
translation XSD2OWL [Rhizomik 2005] (i.e., de XSD vers OWL) ou translation
WSDL2OWL-S [SemWebcentral 2005] (i.e.., de WSDL vers OWL-S). Cependant, δ
est plus problématique et elle nécessite une solution appropriée afin de lever son
ambiguïté. Pour pallier cette difficulté, nous proposons de construire δ grâce à des
règles de mapping tels que définies au chapitre VII (§VI.6.4) et ensuite de déduire de
façon unique et systématique la relation α en utilisant la formule:
Dans notre approche, le processus de médiation peut être considéré comme étant une
relation composée τ (figure VII.23)
64
L'entreprise sémantique est un concept qui a été initialement introduit dans [Gadon 2001] puis repris par plusieurs auteurs dont
[Pollock 2005].
- 256 -
Chapitre VIII CONSTRUCTION DE L'ARCHITECTURE D'INTERGRATION D'ENTREPRISE
τ = δoϕoα
Transformation
C ouche Sém antique
Sémantique
Sem(Pi) ϕ Sem(Pj)
Abstraction τ = δ oϕ oα
Sémantique
α
Concrétisation
C ouche S yntaxique
Syntaxique
Transformation δ
Syntaxique
θ
Syn(Pi) Syn(Pj)
- 257 -
Chapitre VIII CONSTRUCTION DE L'ARCHITECTURE D'INTERGRATION D'ENTREPRISE
Sem(Pi)↔ Sem(Pj)
Sémantique
(OWL)
Maping
Couche
ϕ=ϕ'αoϕα
ϕα ϕ'α
Sémantique
Couche
(OWL)
Sem(Pi) Sem(Pj)
αSem δSem
α =αSemoαSyn
δ = δSynoδSem
Syntaxique
Mapping
Couche
(RDF)
Sem(Pi)↔Syn(Pi) Sem(Pj)↔Syn(Pj)
αSyn δSyn
Syntaxique
Couche
(XML)
Figure VIII.24. Approche Stratifiée du Processus de Médiation de Données [Izza et al. 2006-b]
Comme on peut le constater, nous avons pris en considération les différents éléments de
l'architecture syntaxique (chapitre VI) et de l'architecture sémantique (chapitre VII).
Nous avons en particulier pris en compte les mappings sémantiques qui peuvent exister
entre les domaines sémantiques (ontologies locales). Nous avons également pris en
compte les mappings syntaxiques qui permettent de lier les syntaxes aux sémantiques.
La correspondance entre les différents domaines sémantiques est définie en utilisant les
mappings sémantiques (verticaux) tels que décrits dans la section VIII.6.5. De façon
plus formelle, ces mappings sont implémentés sous la forme de règles de mapping
sémantique de la forme Sem ↔ Sem. En conséquence, la classification sémantique ϕ
peut être considérée comme une relation composée de la forme
- 258 -
Chapitre VIII CONSTRUCTION DE L'ARCHITECTURE D'INTERGRATION D'ENTREPRISE
ϕ = ϕ'α o ϕα,
α = αSem o αSyn
et
δ = δSyn o δSem,
où αSyn et αSem (resp. δSyn et δSem) sont des relations qui permettent respectivement de
lier la syntaxe des ports aux règles de mapping syntaxique et de lier les règles de
mapping à la sémantique des ports (resp. sont des relations qui permettent
respectivement de lier la sémantique des ports aux règles de mapping syntaxique et de
lier les règles de mapping à la syntaxe des ports).
Du point de vue implémentation, les relations αSem, αSyn, δSem et δSyn sont définies
comme des accesseurs qui exploitent les règles de mapping syntaxique, tandis que les
relations ϕα et ϕ'α sont définies sous forme de méthodes invoquant les fonctionnalités
offertes par les moteurs d'inférence tels que le test de subsumption et qui exploite les
mappings sémantiques.
- 259 -
Chapitre VIII CONSTRUCTION DE L'ARCHITECTURE D'INTERGRATION D'ENTREPRISE
MV OG ϕ' α
ϕα OD
OD
MV
MV
OD
Ontologies Domaine Mappings Ontologie Globale
Verticaux
(OWL-DL) (OWL-DL)
(OWL-DL)
Service Médiation OC
OS α δ
Données
Ontologie Locale Cible
Ontologie Locale Source
(OWL-DL)
(OWL-DL)
- 260 -
Chapitre VIII CONSTRUCTION DE L'ARCHITECTURE D'INTERGRATION D'ENTREPRISE
En réalité, les services de médiation sont plus complexes du fait qu'ils doivent prendre
en charge les considérations de flexibilité durant le processus de médiation. En effet, les
services de médiation doivent favoriser la coexistence à la fois des connexions
sémantiques et des connexions syntaxiques. Ce type de prise en charge permet alors
d'apporter de la flexibilité en matière de connexion des services. Ceci est justifié par le
fait que le scénario de migration n'est jamais instantané, et en conséquence nous devons
envisager l'existence à la fois de services basés sur la syntaxe et de services basés sur la
sémantique.
Par conséquent, le processus de médiation opéré au sein des services de médiation est
plus complexe et le processus illustré dans les sections précédentes ne représente en fait
qu'un fragment du processus global de médiation. Il s'agit plus précisément de la phase
"Exécution de la médiation sémantique" de l'étape 3 du processus global (figure
VIII.26).
Étape 1: Réception d'une Étape 2: Identification du type Étape 3: Exécution de la médiation d'instance
requête de médiation
Identification de la Identification de la
Début Identification du type
compatibilité sémantique Compatibilité syntaxique
approprié de médiation
de Pi et de Pj de Pi et de Pj
oui
Mi,j connectivité
médiation oui connectivité
sémantique ?
sémantique? syntaxique ?
oui
non non
non
connectivité
syntaxique ?
oui
non
Exécution de la
Mi,j
médiation
à envoyer
syntaxique
Message
calculé
(M')
Étape 4:
Réponse Envoi de la réponse
Envoi de la Fin envoyée au récepteur approprié
réponse
- 261 -
Chapitre VIII CONSTRUCTION DE L'ARCHITECTURE D'INTERGRATION D'ENTREPRISE
Définition (connectivité entre deux services): Il existe une connectivité entre deux
services S1 et S2 et nous notons S1 ≤p S2 si et seulement s'il existe au moins un port de
sortie de S1 qui est compatible avec un port d'entrée de S2. De même que pour les ports,
nous définissons la connectivité syntaxique et la connectivité sémantique de deux
services.
S1 *
p S 2 ⇔ (∃Pi ∈ Sortie( S1 ), ∃Pj ∈ Entrée( S 2 ), ∃θ : Pi a Pj : θ ( Pi ) Pj)
où θ désigne une transformation syntaxique de ports.
- 262 -
Chapitre VIII CONSTRUCTION DE L'ARCHITECTURE D'INTERGRATION D'ENTREPRISE
- 263 -
Chapitre VIII CONSTRUCTION DE L'ARCHITECTURE D'INTERGRATION D'ENTREPRISE
- 264 -
Chapitre VIII CONSTRUCTION DE L'ARCHITECTURE D'INTERGRATION D'ENTREPRISE
De même que pour les ports, nous définissons deux types de compatibilité fonctionnelle
de services :
C'est en exploitant les définitions précédentes que nous arrivons à résoudre les
hétérogénéités d'ordre fonctionnel. C'est à dire que nous sommes en mesure de décider
si deux fonctions Fi et Fj sont liées par une relation d'équivalence, une relation d'ordre
(subsomption ou subsomption inverse) ou une relation de disjonction. L'intérêt de cette
médiation est que nous pouvons, d'une part remplacer ou substituer toute fonction d'un
service par une autre fonction d'un autre service en fonction de leur compatibilité
syntaxique et sémantique, et d'autre part d'établir une connexion de ces fonctions en se
basant sur leur connectivité.
Plus précisément, le processus de médiation repose sur un principe similaire à celui
exposé pour la médiation de données (§ VIII.4.4.1.2.2). Il s'agit alors de favoriser la
médiation au niveau sémantique si les fonctions sont sémantiquement décrites. En
revanche, on doit se suffire de la médiation au niveau syntaxique et ce conformément au
principe de la cohabitation syntaxe-sémantique (§VIII.4.4.1.4).
La figure VIII.27 illustre le principe de la médiation fonctionnelle qui s'effectue de
façon relativement similaire à la médiation de données. Dans cette figure, chaque
fonction F est décrite par une paire [Syn(F), Sem(F)]. De même que pour les données, la
connectivité de deux fonctions est généralement considérée comme le résultat d'une
relation composée τf (τf = δf o ϕf o αf ) qui permet d'établir sémantiquement une
connexion entre deux fonctions données Fi et Fj en effectuant les trois étapes suivantes :
- remonter dans la couche sémantique (grâce à la relation d'abstraction (αf)) afin de
récupérer la sémantique de la fonction Fi,
- 265 -
Chapitre VIII CONSTRUCTION DE L'ARCHITECTURE D'INTERGRATION D'ENTREPRISE
- calculer la connectivité sémantique (grâce à la relation (ϕf)) pour savoir si les deux
fonctions Fi et Fj sont connectables,
- récupérer la syntaxe (grounding) de la fonction Fi pour l'invoquer en appliquant la
relation concrétisation syntaxique (δf).
Connexion
Couche Sémantique
Sémantique
Sem(Fi) ϕf Sem(Fj)
Abstraction τf = δf o ϕf o αf
Sémantique
αf
Concrétisation
Couche Syntaxique
Connexion Syntaxique
Syntaxique δf
θf
Syn(Fi) Syn(Fj)
Dans notre approche, la médiation fonctionnelle est prise en charge par un service de
médiation particulier qui s'appelle le service de médiation fonctionnelle (Function
Mediation Service). Ce dernier est un service d'intégration particulier qui s'active dès
réception d'une requête de type :
MV ϕ' f α
ϕf α OD
OD
MV OG
OD
Mappings Ontologie Globale
Ontologies Domaine
Verticaux (OWL-DL)
(OWL-DL)
(OWL-DL)
Service Médiation OC
OS αf δf
Fonctionnelle
Ontologie Locale Cible
Ontologie Locale Source
(OWL-DL)
(OWL-DL)
- 266 -
Chapitre VIII CONSTRUCTION DE L'ARCHITECTURE D'INTERGRATION D'ENTREPRISE
De même que pour les données, le processus de médiation fonctionnelle est en réalité
plus complexe. On lui applique aussi le principe de cohabitation syntaxe-sémantique
afin d'apporter plus de flexibilité à notre approche de médiation fonctionnelle. Aussi,
dans le cas de services qui ne sont que syntaxiques (décrits que syntaxiquement), on se
base sur la connectivité syntaxique pour pouvoir effectuer la médiation fonctionnelle. La
figure VIII.29 résume la cohabitation de ces deux approches.
Étape 1: Réception d'une Étape 2: Identification du type Étape 3: Exécution de la médiation fonctionnelle
requête de médiation de médiation fonctionnelle
fonctionnelle
Identification de la Identification de la
Début Identification du type
connectivité sémantique connectivité syntaxique
approprié de médiation
de Fi et Fj de Fi et de Fj
Requête de
oui
Médiation connectivité
de Fi et Fj médiation oui connectivité
sémantique ?
sémantique? syntaxique ?
oui
non
non
Réception de la requête de non
médiation fonctionnelle portant
sur les fonctions Fi et Fj
Identification de la
connectivité syntaxique
de Fi et de Fj Connect. Connect.
syn et sém sém
Requête de de Fi Fj de Fi et Fj
Médiation
de Fi et F'j
connectivité
syntaxique ?
non
oui Erreur
Connectivité
syntaxique
de Fi et Fj
Étape 4:
Découverte de Recherche de fonction F'j
fonction compatible
compatible
Étape 5:
Invocation de Requête Invocation du processus
la médiation Fin envoyée de médiation de données
de données
- 267 -
Chapitre VIII CONSTRUCTION DE L'ARCHITECTURE D'INTERGRATION D'ENTREPRISE
VIII.5. Conclusion
- 268 -
Chapitre VIII CONSTRUCTION DE L'ARCHITECTURE D'INTERGRATION D'ENTREPRISE
- 269 -
PARTIE 3
PROTOTYPAGE
Chapitre IX
IMPLEMENTATION ET
EXPERIMENTATION
IX.1. Introduction
Les trois chapitres précédents (chapitres VI, VII et VIII) ont permis de répondre à un
certain nombre de préoccupations portant sur l'intégration des services d'entreprise. Plus
précisément, le chapitre VI a présenté des réponses à la problématique PSyn de
construction de l'architecture de services d'entreprise (cf. § V.2.1). Le chapitre VII a
apporté des réponses pour la problématique PSem de construction de l'architecture
sémantique (cf. § V.2.2). Enfin, le chapitre VIII s'est intéressé à la problématique PInt
d'intégration sémantique des services d'entreprise (cf. § V.2.3). A présent, nous allons
nous focaliser dans ce chapitre sur les aspects liés à l'implémentation de notre prototype
et aussi aux diverses expérimentations effectuées dans le cadre du déploiement de ce
prototype. Aussi, la section IX.2 exposera les principaux objectifs du prototype. La
section IX.3 présentera les éléments principaux de l'implémentation du prototype. Enfin,
la section IX.4 décrira les expérimentations que nous avons réalisées sur un cas réel.
L'objectif du prototype que nous désirons développer est double (figure IX.1). Tout
d'abord, il s'agit de valider au travers d'une implémentation certains éléments du cadre
méthodologique d'intégration que nous avons proposés. Ensuite il s'agit d'effectuer un
plan d'expérimentations prouvant la pertinence de notre approche sur un cas d'étude réel.
Plus précisément, l'implémentation du prototype a pour but de valider :
- la construction de la couche de services en proposant une implémentation d'un
référentiel permettant de gérer les services d'entreprise et en proposant aussi une
implémentation de l'algorithme de clustérisation permettant de déterminer les
clusters de services,
- la sémantification des services en implémentant certains modules permettant de
guider la gestion de la sémantique des services d'entreprise,
Chapitre IX IMPLEMENTATION ET EXPERIMENTATION
Objectifs du prototype
ODSOIF
Afin de répondre aux objectifs précédents décrits à la section IX.2, nous avons décidé
d'implémenter au sein du prototype les fonctionnalités principales correspondant aux cas
d'utilisation suivants (figure IX.2):
- Création de projet d'intégration qui a pour but de créer en design-time la couche de
services d'entreprise (chapitre VI) et la couche sémantique (chapitre VII). Cette
fonctionnalité comporte deux sous-cas d'utilisation qui sont :
o serviciser qui permet de construire la couche de services et qui inclut les
cas d'utilisation :
définir le service qui permet d'identifier le service et de le relier
aux composants de base existants du système d'information (cf. §
VI.4.3 et § VI.4.4),
publier syntaxiquement le service qui permet d'effectuer une
publication syntaxique au sein d'un référentiel UDDI (cf. §
VI.4.6),
rechercher syntaxiquement le service qui permet d'effectuer des
découvertes syntaxiques de services (cf. § VIII.4.3.3),
et urbaniser les services qui permet de lancer l'algorithme de
clustérisation pour définir des clusters de services (cf. § VI.4.5),
- 274 -
Chapitre IX IMPLEMENTATION ET EXPERIMENTATION
- 275 -
Chapitre IX IMPLEMENTATION ET EXPERIMENTATION
Rechercher le service
Urbaniser les services
<<include>>
<<include>>
<<include>>
Créer le projet d'intégration Publier syntaxiquement le service
Serviciser
<<include>>
<<include>>
Définir le service
<<include>> <<include>>
<<include>>
Concepteur
Sémantifier Construire les mappings
Maîtrise d'œuvre
<<include>> (Intégrateur,
Construire les mappings syntaxiques
Développeur)
<<include>>
Décrire la sémantique des services Construire les mappings sémantiques
<<include>>
<<include>>
Construire la méta-ontologie Construire le squelette de OWL-S+
Utilisateur
Maîtrise d'ouvrage
Effectuer la médiation sémantique fonctionnelle
Effectuer la médiation sémantique de données
- 276 -
Chapitre IX IMPLEMENTATION ET EXPERIMENTATION
- 277 -
Chapitre IX IMPLEMENTATION ET EXPERIMENTATION
ODSOIF (Run-Time)
Service Brokering
Service d'Exécution
Sémantique
Référentiel Référentiel
Référentiels d'ontologies d'ontologies Référentiel
fondamentales de service UDDI
Sémantiques de services
OWL-E OWL-S
ODSOIF (Design-Time)
Construction Construction
Construction Service de Service de de la SOA
des ontologies des mappings Description Publication Référentiel
(SOA métier,
(syntaxiques ODSOIF
fondamentales et sémantiques) Sémantique Sémantique SOA IT,
Urbanisation)
- 278 -
Chapitre IX IMPLEMENTATION ET EXPERIMENTATION
- 279 -
Chapitre IX IMPLEMENTATION ET EXPERIMENTATION
- 280 -
Chapitre IX IMPLEMENTATION ET EXPERIMENTATION
Un fragment de notre référentiel est également fourni selon le format OWL en figure
IX.6.
- 281 -
Chapitre IX IMPLEMENTATION ET EXPERIMENTATION
constater, on peut effectuer les opérations de base telles que la création, la suppression,
la modification et la description (WSDL) de services d'entreprise.
- 282 -
Chapitre IX IMPLEMENTATION ET EXPERIMENTATION
/**
* Publication syntaxique des services d'entreprise
*/
public static BusinessService publishServiceImplementation (
String wsdlURL, String userid, String password, String businessKey,
String tModelKey, String inquiryURL, String publishURL)
throws Exception {
Element element;
ServiceDetail serviceDetail;
Vector tModelList = new Vector();
TModelInstanceInfo tModelInstanceInfo;
TModelInstanceDetails tModelInstanceDetails = new TModelInstanceDetails();
Vector tModelInstanceInfoList = new Vector();
InstanceDetails instanceDetails = new InstanceDetails();
OverviewDoc overviewDoc = new OverviewDoc();
- 283 -
Chapitre IX IMPLEMENTATION ET EXPERIMENTATION
- 284 -
Chapitre IX IMPLEMENTATION ET EXPERIMENTATION
Nous devons préciser que pour l'instant le logiciel de clustérisation utilisé (XLSTAT) ne
se lance pas de façon automatique. La raison est toute simple : nous n'avons pas encore
développé de module permettant d'intégrer cet outil. Aussi, dans la version 1.0 du
prototype, une fois que les degrés de similarité entre les services sont calculés, ces
derniers sont introduits manuellement dans le logiciel XLSTAT. Toutefois, des
améliorations sont prévues dans les futures versions du prototype.
Nous devons noter que l'exécution de certaines options des menus de l'interface
ODSOIF a pour effet de lancer l'éditeur d'ontologie utilisé pour la construction
d'ontologies fondamentales. La figure IX.13 fournit un exemple de construction d'une
ontologie fondamentale en utilisant l'éditeur d'ontologies Protégé qui constitue
l'environnement technique de développement d'ontologies dans notre cas.
- 285 -
Chapitre IX IMPLEMENTATION ET EXPERIMENTATION
- 286 -
Chapitre IX IMPLEMENTATION ET EXPERIMENTATION
- 287 -
Chapitre IX IMPLEMENTATION ET EXPERIMENTATION
La description sémantique des services repose sur l'ontologie OWL-S+. Rappelons que
OWL-S+ constitue une extension de OWL-S. La figure IX.16 montre un fragment
d'ontologie OWL-S+ contenant certaines extensions apportées à OWL-S.
Une fois que l'ontologie OWL-S+ construite (figure IX.16), nous avons implémenté un
module de description sémantique de services. La figure IX.17 montre le principe de la
description sémantique des services en utilisant une extension que nous avons définie à
l'interface de l'éditeur OWLS de SRI. Cette interface permet de créer manuellement ou
de visualiser de manière ergonomique des descriptions sémantiques.
- 288 -
Chapitre IX IMPLEMENTATION ET EXPERIMENTATION
En utilisant cette interface (figure IX.17), le concepteur peut renseigner les différentes
caractéristiques du service ou peut aussi utiliser la fonctionnalité semi-automatique
"WSDL2OWL-S+" (qui est une extension de celle proposée dans [SemWebcentral
2005]) qui permet de l'assister durant le processus de description en lui proposant une
traduction automatique de certains éléments de la description syntaxique WSDL au
format OWL-S+. La figure IX.18 montre le principe de fonctionnement du
convertisseur WSDL2OWLS+. Le système propose un squelette d'ontologie OWL-S+
qui est le résultat d'une traduction de certains éléments de WSDL au format OWL-S+.
Le concepteur complète l'ontologie de services (OWL-S+) : en renseignant les autres
caractéristiques de l'ontologie OWL-S+, en établissant les liens entre certains concepts
de OWL-S+ avec les autres ontologies fondamentales et enfin en remplissant le
grounding de OWL-S+ à partir des mappings syntaxiques précédemment définis (cf. §
IX.3.3.2.2).
- 289 -
Chapitre IX IMPLEMENTATION ET EXPERIMENTATION
- 290 -
Chapitre IX IMPLEMENTATION ET EXPERIMENTATION
Une fois que les champs de l'interface sont correctement saisis, le concepteur pourra
cliquer sur le bouton "Publish" qui va permettre de publier l'ontologie d'entreprise
(ontologie de service ou ontologie fondamentale) dans le référentiel d'ontologies.
/**
* Java beans pour la gestion du référentiel d'ontologies
* @version 1.0
*/
public class FundamentalOntologyVo {
private String name; private String description; private String type;
private String level; private String owner;
public FundamentalOntologyVo (String name, String description, String type, String level,
String owner) {
this.name = name;
this.description = description;
this.type = type;
this.level = level;
this.owner = owner; …}
public void setName(String name) {this.name = name;}
public String getDescription() {return description;}
public void setDescription(String description) {this.description = description;}
public String getType() {return type; }
public void setType(String type) {this.type = type; }
…}
//---------------------------------------------------------------------
public FundamentalServiceOntologyVo (String serviceName, String textDescription, String
contactInformation, byte[] serviceOntology) {
this.serviceName = serviceName;
this.textDescription = textDescription;
this.contactInformation = contactInformation;
this.serviceOntology = serviceOntology;
…}
…
private Connection getDbConnection() throws SQLException {
RDBMS r = null; // RDBMS est une classe permettant de gérer les connexions JDBC-mySQL
try {
r = new RDBMS();
} catch (Exception e) {e.printStackTrace();}
return (r.getDbConnection());
}
}
Figure IX.20. Fragment de code des Java Beans pour la gestion du référentiel d'ontologies
- 291 -
Chapitre IX IMPLEMENTATION ET EXPERIMENTATION
/**
* Publication d'une ontologie de service dans le référentiel d'ontologies
* @version 1.0
*/
/**
* Récupère le fichier OWL-S:Profile depuis le réféntiel d'ontologies
*/
public InputStream getServiceOntology(String serviceName) throws SQLException {
InputStream myServiceOntology = null;
String sql = "SELECT * FROM FundamentalServiceOntology WHERE serviceName ="+serviceName;
Connection con = getDbConnection();
PreparedStatement ps = null;
try {
ps = con.prepareStatement(sql);
ps.setString(1, serviceName);
ResultSet rs = ps.executeQuery();
myServiceOntology = new rs.getBytes("ServiceOntology");
return myServiceOntology;
} finally {
try { ps.close(); } catch (Exception e) { }
try { con.close(); } catch (Exception e) { }
}
}
65
De façon similaire, on dispose également de la méthode getFundamentalOntology() qui récupère les ontologies fondamentales.
- 292 -
Chapitre IX IMPLEMENTATION ET EXPERIMENTATION
- 293 -
Chapitre IX IMPLEMENTATION ET EXPERIMENTATION
Une fois que l'utilisateur clique sur le bouton "Discover", l'algorithme de comparaison
(tel que décrit dans la section VIII.4.3.2.1) est lancé. Ce dernier exploite la comparaison
de concepts pour calculer les indices élémentaires (cf. § VIII.4.3.2.3). La figure IX.25
fournit un extrait de code Java permettant de restituer les indices élémentaires et l'indice
global de similarité.
- 294 -
Chapitre IX IMPLEMENTATION ET EXPERIMENTATION
/* méthode de calcul des indices de similarité. Le tableau 'options' transmis en argument précise les types de
matchings à effectuer : matching de types (options[0]==1), matching de cluster (options[1]==1), matching de vues
(options[2]==1), matching d'inputs (options[3]==1),... Notez que typeThreshold, clusterThreshold, viewThreshold,…
sont des constantes qui définissent les seuils associés aux différents types de matchings. Notez aussi que typeWeight,
clusterWeight, viewWeight,…sont des poids associés aux différents types de matchings.
*/
public static double getServiceMatching(Request r, Service s, int [] options) {
// Context matching
double typeIndice = (options[0]==1)? matchServiceType(r, s): 1;
if(typeIndice <= typeThreshold) return 0;
double clusterIndice= (options[1]==1)? matchServiceCluster(r, s): 1;
if(clusterIndice <= clusterThreshold) return 0;
double viewIndice= (options[2]==1)? matchServiceViews(r, s): 1;
if(viewIndice <= viewThreshold) return 0;
double contextIndice= ((options[0]==1)|(options[1]==1)|(options[2]==1))? (Math.pow(clusterIndice, clusterWeight )*
Math.pow(typeIndice, typeWeight) * Math.pow(viewIndice, viewWeight)): 1;
// Signature matching
double inputIndice= (options[3]==1)? matchServiceInputs(r, s): 1;
if(inputIndice <= inputThreshold) return 0;
double outputIndice= (options[4]==1)? matchServiceOutputs(r, s): 1;
if(outputIndice <= outputThreshold) return 0;
double signatureIndice= ((options[3]==1)|(options[4]==1))? (Math.pow(inputIndice, inputWeight )*
Math.pow(outputIndice, outputWeight)): 1;
...
// Global matching
double globalIndice = contextIndice * signatureIndice * constraintIndice * nonFunctionalIndice;
return globalIndice;
}
public double matchServiceType(Request r, Service s){
ServiceType type = s.getServiceType(); OWLType typeClass = type.getParamType();
ServiceType requestType = s.getServiceType(); OWLType requestTypeClass = requestType.getParamType();
return getConceptMatching( requestTypeClass.getURI().toString(), typeClass.getURI().toString(),
r.serviceTypeOntology());
}
...
public double matchServiceViews(Request r, Service s){
ViewList serviceViews = s.getProfile().getViews();
ViewList requestViews = r.getProfile().getViews();
Iterator i = serviceViews.iterator(); double finalIndice = 0;
while( i.hasNext() ) {
View view = (View) i.next(); OWLType viewType = view.getParamType();
Iterator j = requestViews.iterator();
while( j.hasNext() ) {
View requestView = (View) j.next(); OWLType requestViewType = requestView.getParamType();
double matchIndice = getConceptMatching( requestViewType.getURI().toString(), viewType.getURI().toString(),
r.serviceViewOntology());
finalIndice = Math.max(matchIndice, finalIndice);
}
}
return finalIndice;
}
public static double matchServiceInputs(Request r, Service s){
InputList serviceInputs = s.getProfile().getInputs();InputList requestInputs = r.getProfile().getInputs();
Iterator i = serviceInputs.iterator(); double finalIndice = 0;
while( i.hasNext() ) {
Input input = (Input) i.next(); OWLType inputType = input.getParamType();
Iterator j = requestInputs.iterator();
while( j.hasNext() ) {
Input requestInput = (Input) j.next();OWLType requestInputType = requestInput.getParamType();
double matchIndice = getConceptMatching( requestInputType.getURI().toString(), inputType.getURI().toString(),
r.serviceDataOntology());
finalIndice = Math.max(matchIndice, finalIndice);
}
}
return finalIndice;
}
...
public static double getConceptMatching(String sourceConcept, String targetConcept, String ontology) {
double result = 0;
int[] d = getRacerAncestorDistance(sourceConcept, targetConcept, ontology);
result = 1 - Math.pow((Math.abs(d[0]-d[1])/(d[0]+d[1])), 1+Math.max(d[0],d[1]));
result = result * (1 - ((Math.max(d[0],d[1])-1)/(1+depth(ontology))));
result = result * (1-((Math.min(d[0],d[1])-1)/(1+depth(ontology))));
result = result * Math.pow((1/(Math.min(d[0],d[1]))),Math.log10(depth(ontology)));
return result;
}
- 295 -
Chapitre IX IMPLEMENTATION ET EXPERIMENTATION
Dans la version 1.0, les services de médiation sont développés sous formes de services
simples permettant de mettre en évidence le déroulement du processus de médiation.
Les figures IX.26 et IX.27 illustrent deux extraits de code permettant d'implémenter
respectivement le service de médiation de données et le service de médiation
fonctionnelle.
- 296 -
Chapitre IX IMPLEMENTATION ET EXPERIMENTATION
IX.4. Expérimentation
Cette section est consacrée à l'expérimentation sur un cas réel du prototype que nous
avons décrit précédemment. Le cas porte sur l'intégration sémantique de services dans le
domaine de la maintenance des équipements de production de la société
- 297 -
Chapitre IX IMPLEMENTATION ET EXPERIMENTATION
STMicroelectronics (cf. § I.2). Dans ce qui suit, nous allons tout d'abord présenter notre
cas d'étude. Ensuite nous allons, à travers une expérimentation du prototype développé,
mettre en pratique les principaux éléments issus de notre cadre méthodologique et qui
rappelons-le sont :
- la construction de l'architecture de services d'entreprise (ASE),
- la construction de l'architecture d'ontologies d'entreprise (AOE),
- et l'utilisation de l'architecture d'intégration d'entreprise (AIE).
Bien entendu, la mise en pratique de tous ces éléments nécessite un travail important.
Aussi nous nous sommes très souvent contentés de présenter les choses de façon
simples voire parfois de façon simplifiée afin de rendre aisée la lecture et montrer
surtout la pertinence de notre approche.
topographie de la FAB
TPMCenter SmartYield
(indicateurs)
- 298 -
Chapitre IX IMPLEMENTATION ET EXPERIMENTATION
postes de travail,
- LDM: application qui centralise les données sur les équipements,
- et SmartYield application qui gère les rendements.
IX.4.1.1. TPMCenter
IX.4.1.2. TracerTrack
66
ADCS est une application de gestion des documents techniques des équipements et qui sont particulièrement utilisés dans le cadre
de TPMCenter dans le but de connaître les gammes opératoires en ce qui concerne les tâches de maintenance.
67
STAP est une application qui permet de gérer les plans de production à court terme.
- 299 -
Chapitre IX IMPLEMENTATION ET EXPERIMENTATION
congés (Arhistote). Elle nécessite aussi des données sur les équipements issues du
système LDM. De plus, cette application peut gérer des notifications pour les
applications clientes concernant les changements qui peuvent s'opérer sur le statut des
personnes.
Les principaux services offerts par cette application sont :
- la qualification d’une personne sur tel équipement (manufacturing equipment
qualification);
- et la qualification d’une personne sur tel poste de travail (manufacturing
workstation qualification).
On doit préciser que TracerTrack est une application importante dans le cadre de la
gestion de la maintenance. Il doit jouer le rôle d’un serveur naturel pour les clients
TPMCenter et SmartYield qui sont demandeurs d’informations sur les statuts de
qualification des techniciens. Dans l’état actuel des choses, les réponses à ces requêtes
sont rendues de façon manuelle, d’où la nécessité de l’intégration orientée services pour
pouvoir réutiliser ces fonctionnalités de manière distante et de façon flexible.
IX.4.1.3. Raptor
IX.4.1.4. LDM
L'application LDM (Local Data Management) permet de centraliser les données issues
de Workstream (MES69) et du système APF (gestion des rebus ou des scraps) pour les
mettre à disposition d’autres applications, dont notamment TracerTrack et Raptor. Ces
données en entrée portent principalement sur le modèle du lot, le modèle équipement et
les activités humaines. Ce système intègre d'autres données importantes pour la
maintenance dont le calendrier partagé qui est issu du système MES. Toutes ces données
sont rendues disponibles aux autres applications. De ce fait, LDM constitue la référence
en ce qui concerne les données répliquées au niveau de TracerTrack et de Raptor.
Les principaux services offerts par cette application sont :
68
EDA (Engineering Data Analysis) est un système qui analyse les multiples données issues des équipements en vue de chercher les
causes expliquant les symptômes qui peuvent être constatés sur les données analysées.
69
Manufacturing Execution System.
- 300 -
Chapitre IX IMPLEMENTATION ET EXPERIMENTATION
IX.4.1.5. SmartYield
Comme nous l'avons déjà évoqué dans le chapitre VI, la construction de l'architecture de
services d'entreprise s'inscrit dans le cadre de la modernisation du système d'information
d'entreprise et constitue une tâche complexe du fait qu'elle nécessite des efforts
importants et la maîtrise d'un certain nombre de technologies nouvelles et complexes.
Pour cela, dans le cadre de notre expérimentation, et dans le but de simplifier le
processus de ré-ingénierie nécessaire pour la 'servicisation', nous sommes parfois
conduits à construire des "bouchons" qui simulent le comportement des modules
applicatifs, et d'utiliser ces bouchons en lieu et place des véritables modules applicatifs
qui eux ne sont pas encore totalement prêts à être déployés en tant que services
applicatifs.
Notons que dans le cadre de la construction de la couche de services, nous avons
principalement utilisé la plate-forme BEA-Weblogic qui permet de définir facilement
des wrappers à partir de modules Java, d'un certain nombre de bases de données et des
applications de certains éditeurs. La figure IX.29 illustre un exemple de génération d'un
service et de sa description syntaxique (WSDL) en utilisant l'outil BEA-Workshop.
- 301 -
Chapitre IX IMPLEMENTATION ET EXPERIMENTATION
Dans ce qui suit nous allons dérouler, dans le cadre de notre étude de cas, les différentes
étapes pour la construction de l'architecture de services (cf. § VI.4).
La construction de la SOA-IT (cf. § VI.4.2) dans le cadre de notre cas d'étude a permis
de définir les services applicatifs suivants :
- 302 -
Chapitre IX IMPLEMENTATION ET EXPERIMENTATION
Rappelons que ces services applicatifs découlent directement des modules des
applications existantes. Une fois définis, ces services applicatifs sont saisis dans notre
référentiel ODSOIF. L'étape suivante consiste à définir les services métier.
Sur la base des services précédents, nous avons défini un certain nombre de services
fonctionnels (cf. § VI.4.3) qui constituent la SOA-métier de notre architecture. Nous
avons reproduit ci-dessous les services fonctionnels issus des deux applications
TpmCenter et TracerTrack.
Sur la base des services applicatifs issus de l'application TpmCenter, nous avons pu
identifier les quatre services fonctionnels suivants : SFE_Maintenance_Planifier,
SFE_Maintenance_Suivre_Réalisation, SFE_Maintenance_Rapporter et
SFE_Maintenance_Avertir. Seuls ces services possèdent pour l'instant un sens métier et
un intérêt particulier dans le cadre de l'intégration de services de STMicroelectronics qui
nous pousse ainsi à les définir et à les publier en tant que services métier.
IX.4.2.2.1.1 SFE_Maintenance_Planifier
- 303 -
Chapitre IX IMPLEMENTATION ET EXPERIMENTATION
IX.4.2.2.1.2 SFE_Maintenance_Suivre_Réalisation
IX.4.2.2.1.3 SFE_Maintenance_Rapporter
Ce service permet d'effectuer des reportings à destination d'autres services (tels que
Raptor). On distingue deux types de reportings
- reportings portant sur les tâches de maintenance réalisées par un opérateur (tâches
réalisées avec qualification, tâches réalisées sans qualification)
- reportings portant sur les tâches de maintenance réalisées sur un équipement
(tâches réalisées à temps, tâches reportées)
IX.4.2.2.1.4 SFE_Maintenance_Avertir
Ce service permet d'envoyer des alarmes en ce qui concerne les tâches de maintenance
non effectuées. Les utilisateurs alertés se chargeront alors de gérer les tâches de
maintenance à leur niveau.
En résumé, il est possible de récapituler l'ensemble des services fonctionnels issus de
TpmCenter par le tableau suivant qui résume ainsi leurs caractéristiques principales.
Comme pour TpmCenter, nous avons pu identifier sur la base des services applicatifs
issus de TracerTrack les quatre services fonctionnels suivants :
SFE_Qualification_Planifier, SFE_Qualification_Suivre, SFE_Qualification_Predire et
- 304 -
Chapitre IX IMPLEMENTATION ET EXPERIMENTATION
IX.4.2.2.2.1 SFE_Qualification_Planifier
IX.4.2.2.2.2 SFE_Qualification_Suivre
Ce service permet de suivre au jour le jour les états de qualification des opérateurs et des
techniciens. Il est important de préciser que certaines formations ne sont pas qualifiantes
alors que d'autres le sont, et ce service ne s'intéresse qu'à celles qui sont qualifiantes. De
plus, il faut signaler que les qualifications possèdent une durée de validité au delà de
laquelle la personne concernée est considérée comme disqualifiée. Le principe de base
de ce service repose sur le fait qu'il surveille quotidiennement les événements qualifiants
(et disqualifiants) en relevant les qualifications expirées. Il avertit alors les services
et/ou les utilisateurs concernés par le biais d'alarmes de disqualification (en principe de
façon asynchrone). L'entrée de ce service est donc fondamentalement la date du jour
(date du système), tandis que la sortie est l'alarme de disqualification.
IX.4.2.2.2.3 SFE_Qualification_Predire
IX.4.2.2.2.4 SFE_Qualification_Rapporter
- 305 -
Chapitre IX IMPLEMENTATION ET EXPERIMENTATION
Une fois les services fonctionnels définis, ces derniers sont référencés au sein du
référentiel ODSOIF. Le référencement d'un service fonctionnel permet de décrire les
différents attributs qui caractérisent le service fonctionnel. Il permet notamment de
renseigner les champs sur la localisation de la description syntaxique du service (fichier
WSDL). A l'issue de cette phase, on dispose d'un référentiel ODSOIF contenant la
description de notre SOA métier. La figure qui suit illustre un extrait de ce référentiel.
Une fois que le référentiel de la SOA-métier est soigneusement rempli, nous exploitons
ses informations afin d'effectuer une urbanisation orientée services (cf. § VI.5). Nous
utilisons alors notre module de calcul des degrés de similarité qui nous délivre des
indices de similarité sur l'échantillon des services présenté en IX.4.2.2 (figure IX.31).
- 306 -
Chapitre IX IMPLEMENTATION ET EXPERIMENTATION
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:owl="http://www.w3.org/2002/07/owl#"
xmlns="http://www.owl-ontologies.com/odsof-normal.owl#"
xml:base="http://www.owl-ontologies.com/odsof-normal.owl">
<owl:Ontology rdf:about=""/>
<enterprise_service_view>
<Enterprise_Function_Service rdf:ID="SFE_Qualification_Rapporter">
<project rdf:resource="#STMicro_Integration_Project"/>
<publication rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean"
>false</publication>
<syntactic-description-file-uri rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
>C:/wsdl/qualif_rapporter.wsdl</syntactic-description-file-uri>
<service_visibility rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
>Public</service_visibility>
</Enterprise_Function_Service>
</enterprise_service_view>
<enterprise_service_view>
<Enterprise_Function_Service rdf:ID="SFE_Maintenance_Declencher_Alarme">
<syntactic-description-file-uri rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
>C:/wsdl/maint_Declencher.wsdl</syntactic-description-file-uri>
<project rdf:resource="#STMicro_Integration_Project"/>
<publication rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean"
>false</publication>
<service_visibility rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
>Private (Business)</service_visibility>
</Enterprise_Function_Service>
</enterprise_service_view>
<enterprise_service_view>
<Enterprise_Function_Service rdf:ID="SFE_Qualification_Predire">
<service_visibility rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
>Public</service_visibility>
<project rdf:resource="#STMicro_Integration_Project"/>
<syntactic-description-file-uri rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
>C:/wsdl/qualif_Predire.wsdl</syntactic-description-file-uri>
<publication rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean"
>false</publication>
</Enterprise_Function_Service>
</enterprise_service_view>
<enterprise_service_view>
<Enterprise_Function_Service rdf:ID="SFE_Qualification_Suivre">
<publication rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean"
>false</publication>
<syntactic-description-file-uri rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
>C:/wsdl/qualif_suivre.wsdl</syntactic-description-file-uri>
<service_visibility rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
>Private (Business)</service_visibility>
<description rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
></description>
<project rdf:resource="#STMicro_Integration_Project"/>
</Enterprise_Function_Service>
</enterprise_service_view>
</rdf:RDF>
<!-- Created with Protege (with OWL Plugin 2.1, Build 284) http://protege.stanford.edu -->
- 307 -
Chapitre IX IMPLEMENTATION ET EXPERIMENTATION
S1 SFE_Maintenance_Planifier S5 SFE_Qualification_Planifier
S2 SFE_Maintenance_Suivre_Réalisation S6 SFE_Qualification_Suivre
S3 SFE_Maintenance_Rapporter S7 SFE_Qualification_Predire
S4 SFE_Maintenance_Avertir S8 SFE_Qualification_Rapporter
Nous injectons ensuite ces données dans l'outil XLSTAT qui effectue la clustérisation
de services en appliquant l'algorithme de classification hiérarchique ascendant. Le
résultat de la clustérisation sur l'échantillon précédent est consigné dans la figure IX.32.
- 308 -
Chapitre IX IMPLEMENTATION ET EXPERIMENTATION
0.3750
0.5250
0.1750 S7
0.4750 S3
0.1000
0.5500
S5
S1
0.2250
0.4575 0.2500 S8
0.5000 S4
S6
0.1250
S2
0.4500
0,0539
Dans le cadre de notre étude, la publication syntaxique de nos services (cf. § VI.4.6) se
base sur l'utilisation d'un seul référentiel UDDI. Ce dernier devra évoluer à terme pour
devenir le référentiel du site Rousset70 de l'entreprise STMicroelectronics. D'autres
référentiels sont à prévoir lors de la généralisation du projet MiMISI. Nous reproduisons
dans la figure qui suit un extrait du référentiel UDDI utilisé pour publier les services
présentés précédemment en utilisant l'API find_service.
<serviceList generic=“2.0”
operator=”STMicroelectronics”
[truncated=”false”]
xmlns=”urn:uddi-org:api_v2”>
<serviceInfos>
<serviceInfo
serviceKey=”3D450068-EB79-5C09-AA00-99AF00000001”
businessKey=”01A001F5-45FB-2AF9-B78F-FE6700000001”>
<name>SFE_Maintenance_Planifier</name>
</serviceInfo>
<serviceInfo
serviceKey=”3D450068-EB79-5C09-AA00-99AF00000002”
businessKey=”01A001F5-45FB-2AF9-B78F-FE6700000001”>
<name>SFE_Maintenance_Suivre_Realisation</name>
</serviceInfo>
<serviceInfo
serviceKey=”3D450068-EB79-5C09-AA00-99AF00000003”
businessKey=”01A001F5-45FB-2AF9-B78F-FE6700000001”>
<name>SFE_Maintenance_Rapporter</name>
</serviceInfo>
<serviceInfo
serviceKey=”3D450068-EB79-5C09-AA00-99AF00000004”
businessKey=”01A001F5-45FB-2AF9-B78F-FE6700000001”>
<name>SFE_Maintenance_Avertir</name>
</serviceInfo>
</serviceInfos>
</serviceList>
70
Rappelons que Rousset est l'un des sites français de la société STMicroelectronics. Il est basé dans la commune de même nom se
trouvant dans le pays d'Aix en région PACA.
- 309 -
Chapitre IX IMPLEMENTATION ET EXPERIMENTATION
equipment
Maintenance
isPartOf Team
Equipment WorkArea Qualification
userTeam
userWorkArea concernsTeam
equipmentModel
hasQualification
family
Maintenance
Family
Model User
Maintenance
group
Calendar
concernsModel
user user
replannedEquipment Group
Curative
Maintenance
is-a
Preventive
Maintenance
is-a Maintenance maintenanceTask
orderEquipment Tasks
hasTypeFrequency
maintenanceTask
Planning
Type
Work Order Frequency
startDate
endDate
plannedEquipment Replanning
Date Replanning
Type
newDate
hasReplanningType
startingDate
- 310 -
Chapitre IX IMPLEMENTATION ET EXPERIMENTATION
hasWorkArea
AbsenceType WorkArea
Site
hasAbsenceType
hasSite
Fabrication
Absence Location
hasLocation
hasLocation hasFabrication
hasAbsence
hasFabrication
workShop
People WorkShop
Team
Equipment
workShop
equipment
team hasTeam
hasWorkStation
equipment
workStation
hasProfile WorkStation
Rotation Training
Profile
group group training
training
functions Group
shift
hasQualification
Offering
Shift Function
is-a
is-a Qualification
concernsEquipment
WorkStation Equipment
Qualification Qualification
isPartOf
isPartOf
Manufacturing Manufacturing Manufacturing
Location Resource Site
is-a is-a
is-a
hasLocation
hasWorkArea Manufacturing
Cost-Center Manufacturing Groupe
WorkArea
WorkTeam
hasWorkArea hasWorkTeam hasGroup
hasCostCenter
isPartOf
Manufacturing Manufacturing
People Manufacturing
Equipment
WorkStation
hasStatus
hasEquipmentType
hasQualification hasWorkStationType
Manufacturing Status Manufacturing
Equipment Manufacturing WorkStation
Type Qualification Type
is-a is-a
concernsEquipmentType concernsWorkStationType
Manufacturing
Manufacturing
Equipment
WorkStation
Qualification
Qualification
needsWorkStationType
isPartOf
- 311 -
Chapitre IX IMPLEMENTATION ET EXPERIMENTATION
De même que pour les données, nous avons construit les ontologies fonctionnelles de
notre cas d'étude. Les figures IX.38, IX.39, IX.40 présentent des extraits des ontologies
fonctionnelles. Les deux premières figures concernent les ontologies fonctionnelles
locales tandis que la dernière figure concerne l'ontologie fonctionnelle de domaine.
is-a is-a
Maintenance Task
Management Function
is-a is-a
is-a is-a
is-a is-a
Qualification
Management Function
is-a is-a
Qualification Qualification
Qualification Qualification
Tracking Reporting
Planification Prediction
is-a is-a
Qualification Availability
Prediction Prediction
is-a is-a
Equipment WorkStation
Qualification Qualification
Prediction Prediction
- 312 -
Chapitre IX IMPLEMENTATION ET EXPERIMENTATION
Maintenance
Function
is-a is-a
is-a is-a
Qualification Maintenance Task
is-a Management Function Management Function is-a
Qualification Qualification Qualification Qualification Maint. Task Maint. Task Maint. Task Maint. Task
Creation Function Updating Function Deletion Function Query Function Creation Function Updating Function Deletion Function Query Function
is-a is-a
Une fois que les ontologies locales ont été construites, nous avons procédé à la
construction des ontologies de mappings syntaxiques (cf. § VII.6.4). Nous fournissons
ci-dessous (figure IX.41) un extrait de cette ontologie qui a été remplie en utilisant le
module présenté précédemment et qui mappe dans cet exemple précis la description
syntaxique du service SFE_Maintenance_Rapporter avec l'ontologie locale de données
correspondante.
<SourceOntology rdf:ID ="MaintenanceDataLocalOntology"/>
<TargetSyntaxe rdf:ID ="SFE_Maintenance_Rapporter"/>
<SyntacticMapping rdf:ID="WorkArea-WSDLWorkArea">
<targetComponent>
<SyntacticComponent rdf:ID="WorkAreaType"/>
</targetComponent>
<type>
<TypeMapping rdf:ID="Concept-Type"/>
</type>
<sourceComponent>
<OntologyComponent rdf:ID="WorkArea"/>
</sourceComponent>
</SyntacticMapping>
<SyntacticMapping rdf:ID="MaintenanceUser-WSDLOperator">
<sourceComponent>
<OntologyComponent rdf:ID="PopulationType"/>
</sourceComponent>
<targetComponent>
<SyntacticComponent rdf:ID="ManufacuringPeople"/>
</targetComponent>
<type rdf:resource="#Concept-Type"/>
</SyntacticMapping>
<SyntacticMapping rdf:ID="Equipment-WSDLEquipement">
<targetComponent>
<SyntacticComponent rdf:ID="EquipmentType"/>
</targetComponent>
<sourceComponent>
<OntologyComponent rdf:ID="Equipment"/>
</sourceComponent>
<type rdf:resource="#Concept-Type"/>
</SyntacticMapping>
...
- 313 -
Chapitre IX IMPLEMENTATION ET EXPERIMENTATION
Nous avons ensuite construit les squelettes d'ontologies de service (cf. § VII.6.6) grâce
au module de conversion (cf. § IX.3.3.2.3) que nous avons ensuite complétés (en
utilisant l'outil de construction de l'ontologie de service (cf. § IX.3.3.2.3)) afin d'avoir
des ontologies de service exploitables (cf. § VII.6.7). Nous fournissons ci-dessous un
extrait de l'ontologie de profil de service fondamental qui décrit le service
SFE_Maintenance_Rapporter.
Nous pouvons constater, sur la figure IX.43, que nous avons écrit en caractères gras
surlignés certains aspects spécifiques de notre ontologie de service. Ces aspects qui
constituent l'ontologie OWL-S+ sont implémentés au sein de l'ontologie importée dont
l'URI est "http://www.owl-ontologies.com/eso.owl".
- 314 -
Chapitre IX IMPLEMENTATION ET EXPERIMENTATION
<rdf:RDF
xmlns:rdf="&rdf;#" xmlns:rdfs="&rdfs;#" xmlns:owl="&owl;#" xmlns:xsd="&xsd;#" xmlns:service="&service;#"
xmlns:profile="&profile;#" xmlns:process="&process;#" xmlns:grounding="&grounding;#" xmlns:eso="&eso;#"
xmlns:odsof="&odsof;#" xmlns:odsof-concept="&odsof-concept;#" xmlns:odsof-cluster="&odsof-cluster;#"
xmlns:odsof-view="&odsof-view;#" xmlns:odsof-visibility="&odsof-visibility;#"xmlns:odsof-qos="&odsof-qos;#"
xml:base="http://www.Odsof.org/2004/owl-s/1.1/SFE_Maintenance_Rapporter.owl"
>
<owl:Ontology rdf:about="">
<owl:imports rdf:resource="&eso;"/>
<owl:imports rdf:resource="&odsof;"/>
<owl:imports rdf:resource="&odsof-cluster;"/>
<owl:imports rdf:resource="&odsof-view;"/>
<owl:imports rdf:resource="&odsof-cluster;"/>
<owl:imports rdf:resource="&odsof-view;"/>
<owl:imports rdf:resource="&odsof-concept;"/>
<owl:imports rdf:resource="&odsof-qos;"/>
</owl:Ontology>
</rdf:RDF>
- 315 -
Chapitre IX IMPLEMENTATION ET EXPERIMENTATION
Une fois que les ontologies d'entreprise sont construites, nous leurs avons associés des
profils (cf. § VII.6.8) afin de pouvoir les publier par la suite. Nous reproduisons ci-
dessous quelques extraits de profils d'ontologies destinés à leur publication.
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:owl="http://www.w3.org/2002/07/owl#"
xmlns:meta-onto="http://www.owl-ontologies.com/meta-onto.owl#"
xmlns="http://www.owl-ontologies.com/metaOntology.owl#"
xml:base="http://www.owl-ontologies.com/metaOntology.owl">
<owl:Ontology rdf:about="">
<owl:imports rdf:resource="http://www.owl-ontologies.com/meta-onto.owl"/>
</owl:Ontology>
<meta-onto:EnterpriseOntologyProfile rdf:ID="MaintenanceTaskDataLocalOntologyProfile">
<meta-onto:ontology>
<meta-onto:EnterpriseOntology rdf:ID="MaintenanceTaskDataLocalOntology"/>
</meta-onto:ontology>
<meta-onto:ontologyLevel rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
>Local</meta-onto:ontologyLevel>
<meta-onto:version rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
>1.0</meta-onto:version>
<meta-onto:ontologyType rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
>Data</meta-onto:ontologyType>
<meta-onto:date rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
>2006-03-13</meta-onto:date>
<meta-onto:serviceCluster>
<meta-onto:ServiceCluster rdf:ID="MaintenanceTaskManagementDistrict"/>
</meta-onto:serviceCluster>
<meta-onto:name rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
>MaintenanceTaskDataLocalOntologyProfile</meta-onto:name>
</meta-onto:EnterpriseOntologyProfile>
<meta-onto:EnterpriseOntology rdf:ID="QualificationDataLocalOntology"/>
<meta-onto:ServiceCluster rdf:ID="QualificationManagementDistrict"/>
<meta-onto:EnterpriseOntologyProfile rdf:ID="QualificationDataLocalOntologyProfile">
<meta-onto:serviceCluster rdf:resource="#QualificationManagementDistrict"/>
<meta-onto:version rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
>1.0</meta-onto:version>
<meta-onto:name rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
>QualificationDataLocalOntologyProfile</meta-onto:name>
<meta-onto:ontologyType rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
>Data</meta-onto:ontologyType>
<meta-onto:ontologyLevel rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
>Function</meta-onto:ontologyLevel>
<meta-onto:ontology rdf:resource="#QualificationDataLocalOntology"/>
<meta-onto:date rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
>2006-03-13</meta-onto:date>
</meta-onto:EnterpriseOntologyProfile>
<meta-onto:EnterpriseOntology rdf:ID="MaintenanceDataDomainOntology">
<meta-onto:EnterpriseOntologyRepository>
<meta-onto:EnterpriseOntologyProfile rdf:ID="MaintenanceDataDomainOntologyProfile">
<meta-onto:version rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
>1.0</meta-onto:version>
<meta-onto:date rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
>2006-03-13</meta-onto:date>
<meta-onto:ontologyLevel rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
>Domain</meta-onto:ontologyLevel>
<meta-onto:serviceCluster>
<meta-onto:ServiceCluster rdf:ID="MaintenanceArea"/>
</meta-onto:serviceCluster>
<meta-onto:ontologyType rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
>Data</meta-onto:ontologyType>
<meta-onto:name rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
>MaintenanceDataDomainOntologyProfile</meta-onto:name>
</meta-onto:EnterpriseOntologyProfile>
</meta-onto:EnterpriseOntologyRepository>
</meta-onto:EnterpriseOntology>
…
- 316 -
Chapitre IX IMPLEMENTATION ET EXPERIMENTATION
Une fois que les méta-ontologies sont construites (cf. § VII.6.8), et en particulier la
partie portant sur les profils d'ontologies, nous procédons alors à leur publication. Ceci
va permettre aux divers modules de run-time de pouvoir localiser dynamiquement les
ontologies dont ils ont besoin. Pour cela, nous avons mis en place un référentiel
implanté dans sa version 1.0 sous forme d'une base de données relationnelle (mySQL).
De même que pour le référentiel de services, le référentiel d'ontologies devra évoluer à
terme pour devenir le référentiel sémantique (d'ontologies) du site Rousset de
l'entreprise STMicroelectronics. D'autres référentiels sont, bien entendu, à prévoir lors
de la généralisation du projet MiMISI (cf. § I.2).
Une fois que l'architecture de services et l'architecture d'ontologies ont été construites,
les utilisateurs pourront alors définir des scénarios d'intégration en utilisant les modules
de run-time de notre prototype.
Rappelons que parmi les requêtes auxquelles le module de run-time (dans sa version
actuelle) peut répondre nous pouvons citer (cf. § VIII.4.1.2.3) :
- les requêtes de découverte qui comprennent les requêtes de service, les requêtes de
données, les requêtes fonctionnelles,
- les requêtes de médiation qui comprennent les requêtes de médiation de données et
les requêtes de médiation fonctionnelle,
- et les requêtes d'invocation qui permettent d'exécuter un service particulier.
La figure IX.45 permet de rappeler les utilisations typiques de notre prototype en mode
run-time dans le cadre de notre étude de cas.
Comme illustré sur la figure IX.45, le module de run-time exploite les ontologies de
service (OSE - Ontologie de Service d'Entreprise) et les ontologies fondamentales71
pour effectuer certaines tâches d'intégration dont les plus typiques sont celles portant sur
la découverte de services et celles portant sur la médiation de services.
Dans le cadre de notre expérimentation, nous avons principalement testé les
fonctionnalités du module run-time qui portent sur la découverte et la médiation de
services au niveau données.
71
Signalons aussi que le terme "ontologie fondamentale locale" utilisé dans la figure est quelque peu ambigu du fait qu'il renvoie
réellement à deux ontologies fondamentales locales dans notre cas et qui sont : l'ontologie de données locale et l'ontologie
fonctionnelle locale.
- 317 -
Chapitre IX IMPLEMENTATION ET EXPERIMENTATION
Questions typiques:
Q1(découverte): Je veux un service qui
Prototype ODSOIF me donne les qualifications des
opérateurs ?
(Module Run-Time)
Q2 (médiation): Est ce que le service S1
est connectable avec le service S2 ? Si
oui quel niveau de connectivité ?
…
Quartier 1: Gestion des Tâches de maintenance Quartier 2: Gestion des opérateurs de maintenance
OSE
OSE
Réponse
OSE OSE
OSE OSE
SFE_Maint_Suivre SFE_Qualif_Suivre
SFE_Maint_Rapporter SFE_Qualif_Rapporter
SFE_Maint_Avertir SFE_Qualif_Predire
Ontologie Ontologie
fondamentale fondamentale
locale 1 locale 2
Ontologie
Domaine
- 318 -
Chapitre IX IMPLEMENTATION ET EXPERIMENTATION
- 319 -
Chapitre IX IMPLEMENTATION ET EXPERIMENTATION
- 320 -
Chapitre IX IMPLEMENTATION ET EXPERIMENTATION
Dans notre cas, la transformation dirigée par la sémantique des données exploite les
ontologies de données locales (OWL-D-1 et OWL-D-2) et l'ontologie de données de
domaine (OWL-DD) ainsi que les mappings sémantiques et les mappings syntaxe-
sémantique.
L'ontologie de données locale OWL-D-1 qui est l'opérationnalisation de l'ontologie de
données locale du quartier MaintenanceOperatorDistrict, est déjà présentée sous forme
conceptuelle en figure IX.36. De même, l'ontologie de données locale OWL-D-2 est
l'opérationnalisation de l'ontologie de données locale du quartier
MaintenanceTaskDistrict. Elle est présentée sous forme conceptuelle en figure IX.35.
Quant à l'ontologie de données de domaine OWL-DD, elle est l'opérationnalisation de
l'ontologie de données de domaine de la zone MaintenanceArea. Elle est déjà présentée
sous forme conceptuelle en figure IX.37.
Les mappings sémantiques qui relient les ontologies de données locales à l'ontologie de
domaine) sont tels que décrits dans la section IX.4.3.3. Ce sont ces mappings qui
permettent ensuite d'établir les liens qui peuvent exister entre les concepts des deux
ontologies locales. Nous avons présenté sur la figure quelques exemples de mappings. Il
s'agit des mappings qui permettent de lier la propriété manufacturingPeople de
l'ontologie de domaine aux deux propriétés maintenaceUser et people des ontologies
locales des deux quartiers.
Les mappings syntaxe-sémantique qui relient les ontologies de données locales aux
schémas syntaxiques de données sont tels que décrits dans la section IX.4.3.2. Ce sont
ces mappings qui permettent d'établir les liens qui peuvent exister entre les concepts des
ontologies locales avec les éléments des fichiers WSDL. Plus précisément, les mappings
syntaxe-sémantique permettent de relier l'ontologie locale OWL-D-1 à la description
syntaxique XSD-1 et l'ontologie locale OWL-D-2 à la description syntaxique XSD-2.
En exploitant ces différents éléments, le module de médiation transforme les données de
sortie du premier service en données d'entrée du second service. Cette médiation est
typiquement effectuée à la volée. Ceci apporte de la flexibilité mais rend le système plus
lent du fait que le chemin d'exécution est long. Ceci constitue la principale limitation de
notre module de médiation. Afin d'augmenter les performances, des améliorations sont
prévues. Il s'agit en particulier de dériver de façon automatique la transformation
syntaxique (en utilisant XSLT ou XQuery) et de la sauvegarder pour une utilisation
ultérieure, permettant ainsi une intégration statique des systèmes industriels.
Nous devons également noter que les tests effectués sont relativement simples. Nous
n'avons pas encore effectué des transformations complexes. Pour prendre en charge les
transformations complexes, nous avons déjà envisagé d'utiliser la possibilité de
mappings complexes, tels que nous les avons prévus, en utilisant des langages de
transformation standardisés tels que XSLT ou XQuery. Ceci permettrait de renforcer le
module de médiation en le dotant de routines plus performantes permettant d'effectuer
des transformations complexes.
- 321 -
Chapitre IX IMPLEMENTATION ET EXPERIMENTATION
S1 S2
Output Intput
SFE_Qualification_Predire Médiation au SFE_Maintenance_Planifier
niveau données
<equipementQualification> <qualification>
<duration> <startDateTime>2006-05-12-17:00</startDateTime>
<startTime>2006-05-12-17:00</startTime> <endDateTime>2006-05-12-22:00</endDateTime>
D onnées X M L
D onnées X M L
<endTime>2006-05-12-22:00</endTime> <qualifFirstDateTime>2006-01-10-18:00</qualifFirstDateTime>
</duration> <qualFirstTime>true</qualFirstTime>
<userEquimentQualification> <qualifTime>100</qualifTime>
<qualifStartTime>2006-01-10-18:00</qualifStartTime> <equipment>equip-01-1</equipment>
<qualifFirstTime>true</qualFirstTime> <qualifUser>001</qualifUser>
<qualifDuration>100</qualifDuration> </qualification>
<qualifEquipment>equip-01-1</qualifEquipment>
<qualifUser>001</qualifUser>
Instanciation
Instanciation
</userEquimentQualification>
</equipmentQualification>
<xsd:element name="equipementQualification">
<xsd:complexType> <xsd:element name="qualification">
<xsd:sequence> <xsd:complexType>
<xsd:element ref="duration"/> <xsd:sequence>
<xsd:element ref="userEquipmentQualification"/> <xsd:element ref="startDateTime"/>
</xsd:sequence> <xsd:element ref="endDateTime"/>
<owl:Class rdf:ID="EquipementQualification">
<rdfs:subClassOf> <owl:Class rdf:ID="Qualification"/>
<owl:Class rdf:ID="Qualification"/> <owl:DatatypeProperty rdf:ID="startDateTime">
</rdfs:subClassOf> <rdfs:domain rdf:resource="#Qualification"/>
O ntologie de D onnéesLocale (O W L-D -1)
<rdf:type
<owl:Class rdf:ID="ManufacturingEquipementQualification">
<rdfs:subClassOf>
O ntologie de D onnées de D om aine (O W L-D D )
<owl:Class rdf:ID="ManufacturingQualification"/>
</rdfs:subClassOf>
Mappings sémantiques </owl:Class> Mappings sémantiques
<owl:DatatypeProperty rdf:ID="startTime">
<rdfs:domain rdf:resource="#ManufacturingQualification"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>
<rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/>
</owl:DatatypeProperty>
<owl:FunctionalProperty rdf:ID="manufacturingPeople">
<rdfs:domain rdf:resource="#ManufacturingQualification"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
<rdfs:range rdf:resource="#ManufacturingPeople"/>
</owl:FunctionalProperty>
<owl:FunctionalProperty rdf:ID="concernsEquipmentType">
<rdfs:range rdf:resource="#ManufacturingEquipmentType"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
<rdfs:domain rdf:resource="#ManufacturingEquipementQualification"/>
</owl:FunctionalProperty>
<owl:FunctionalProperty rdf:ID="firstTime">
<rdfs:domain rdf:resource="#ManufacturingQualification"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
<rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/>
</owl:FunctionalProperty>
….
322
Chapitre IX IMPLEMENTATION ET EXPERIMENTATION
IX.5. Conclusion
- 323 -
CONCLUSION
Chapitre X
CONCLUSIONS ET PERSPECTIVES
Les travaux décrits dans cette thèse portent sur la problématique d'intégration
sémantique des applications d'entreprise, et en particulier des applications du secteur de
la microélectronique. Ces travaux sont réalisés dans le contexte d'une collaboration
industrielle entre l'Ecole des Mines de Saint-Étienne et la société STMicroelectronics,
dans le cadre du projet MiMISI (Microelectronics Manufacturing Information System
Integration). Ces travaux s'inscrivent dans le cadre de la démarche d’intégration initiée
par cette société pour répondre à la problématique d'intégration flexible des applications
industrielles. Ils viennent compléter certains travaux de [Chapron 2006] qui viennent de
s'achever et qui portent sur la problématique de gestion de l'évolution des systèmes
d'information dans un environnement réactif.
Ces travaux ont pour principal objectif de concevoir une architecture d'intégration
flexible pouvant permettre de mieux interconnecter les applications industrielles. Ils se
sont focalisés sur trois sous-problématiques complémentaires qui sont respectivement la
problématique de construction (ou de migration vers) d'une architecture de services
(PSyn), la problématique d'enrichissement sémantique des services (PSem), la
problématique de construction de l'architecture d'intégration permettant d'offrir des
mécanismes d'intégration basés sur la sémantique (PInt).
Une étude de l'art sur l'intégration des Systèmes d'Information nous a permis de retenir
principalement deux types d'approches d'intégration qui peuvent être mises en œuvre
dans le domaine industriel, et en particulier dans le domaine de la microélectronique et
qui sont : les approches syntaxiques et les approches sémantiques. Nous nous sommes
intéressés à ces dernières car elles constituent le moyen le plus flexible intégrer des
applications d'entreprise. L'analyse des solutions d'intégration sémantique actuelles, et
en particulier des approches basées sur la notion de services sémantiques, a montré un
certain nombre de limites. Il s'agit notamment des limites liées aux architectures des
ontologies actuelles, au manque de méthodologies efficaces pour construire les
ontologies d'entreprise et les services sémantiques, au manque de maturité des
mécanismes de description et de découverte de services et enfin au manque de
mécanismes de médiation de services. Partant de ce constat, nous nous sommes
intéressés à la recherche d'une méthodologie et d'une solution flexible d'intégration
pouvant être appliquée dans le cadre de grandes entreprises en générale et dans le cadre
du projet MiMISI en particulier. Nous avons alors proposé une approche flexible basée
Chapitre X CONCLUSIONS ET PERSPECTIVES
sur les services sémantiques, que nous appelons approche ODSOI (Ontology-Driven
Service-Oriented Integration).
- 328 -
Chapitre X CONCLUSIONS ET PERSPECTIVES
Le travail présenté dans cette thèse est guidé par les nombreuses questions issues des
préoccupations industrielles. Comme la problématique d'intégration est généralement
complexe, nous nous sommes efforcés tout au long de ce travail de prendre
suffisamment de recul afin de proposer un cadre relativement global et complet afin de
mieux guider les utilisateurs dans leur processus d'intégration flexible. Cependant, le
travail présenté demeure incomplet et limité du fait que certaines limitations ont été
effectuées. Il s'agit en particulier des limites liées à :
- la construction de l'architecture de services,
- la construction de l'architecture d'ontologies,
- la construction de l'architecture d'intégration,
- l'implémentation du prototype,
- et l'expérimentation du prototype.
Les principales limites que nous pouvons mentionner vis à vis de notre architecture de
services portent sur la simplification de notre approche d'urbanisation de services. En
effet, cette dernière est relativement rudimentaire. Elle se base sur la technique TF-IDF
pour la détermination des indices de similarité entre les services. Le choix de cette
technique est principalement motivé par des raisons de simplicité de mise en œuvre. Il
devient alors intéressant d'apporter certaines améliorations afin de rendre plus efficace
- 329 -
Chapitre X CONCLUSIONS ET PERSPECTIVES
le processus d'urbanisation de services. Une autre limite tient au fait que le processus
d'urbanisation n'est pas totalement automatique. Ceci veut dire qu'actuellement, le
module de calcul des degrés de similarité délivre des résultats qui sont ensuite saisis
manuellement dans l'outil externe de clustérisation (dans notre XLSTAT). Des
améliorations sont toutefois prévues afin d'intégrer cet outil externe.
Les principales limites que nous pouvons mentionner en ce qui concerne notre
architecture d'ontologies sont :
- La complexité du modèle sémantique : Le modèle sémantique que nous avons
proposé est relativement complexe du fait qu'il a pour ambition d'apporter une
solution relativement complète. Cette complexité doit, à notre sens, être masquée
par des outils appropriés qui vont assister les utilisateurs dans leur processus de
construction d'ontologies, et c'est dans cet objectif que nous avons proposé de
développer un prototype.
- Le peu d'automatisation du processus de construction d'ontologies fondamentales :
Le processus de construction des ontologies fondamentales tel que nous le
préconisons jusqu'à présent est principalement manuel. Toutefois ce processus peut
grandement gagner en efficacité s'il est supporté par des outils semi-automatiques
d'extraction de la sémantique. Ces outils semi-automatiques devront normalement
se baser sur les clusters définis lors de la construction de l'architecture de services
et déduire des esquisses des ontologies locales, puis des esquisses des ontologies de
domaine et enfin une esquisse de l'ontologie globale, en se basant notamment sur
les descriptions des services issus de ces clusters. Ces esquisses seront présentées
aux utilisateurs (cogniticiens, intégrateurs, etc.) qui vont alors leur apporteront les
ajustements nécessaires.
- La non prise en compte de la maintenance des ontologies : Une autre limite, ou
plutôt une lacune, non moins importante est l'absence du processus de maintenance
des ontologies. En effet, notre approche s'est focalisée sur la construction des
ontologies et a totalement négligé l'aspect maintenance.
Les principales limites que nous pouvons citer en ce qui concerne notre architecture
d'intégration sont :
- La non exhaustivité de l'étude menée : Notre étude est relativement incomplète du
fait que nous avons négligé certains aspects d'intégration, notamment l'intégration
au niveau des données, l'intégration au niveau du processus et la distribution. En
effet, l'intégration au niveau des données qui ne fait intervenir que les services de
données n'a pas été traitée mais il a été prévu qu'elle soit traitée dans le cadre des
travaux de [Ghurbhurn 2006]. Quant à l'intégration au niveau du processus, qui
peut s'apparenter à un prolongement de l'intégration au niveau des fonctions, elle
n'a pas été totalement traitée dans le cadre de ces travaux. Nous nous sommes
contraints, faute de temps, à négliger ces aspects. De plus, l'architecture
d'intégration que nous avons proposée est semi centralisée voire centralisée lors de
l'implémentation des référentiels logiques, ce qui peut limiter sensiblement la
flexibilité de notre approche.
- 330 -
Chapitre X CONCLUSIONS ET PERSPECTIVES
Les principales limites que nous pouvons formuler concernant notre expérimentation
portent principalement sur son périmètre qui est relativement restreint. Ce périmètre
porte, rappelons-le, sur la gestion de la maintenance des équipements de fabrications de
produits microélectroniques au sein de la société STMicroelectronics. Cette restriction a
pour conséquence que les éléments de notre cadre méthodologique et/ou de notre
prototype n'ont pas tous été testés sur l'étude de cas en raison du nombre encore limité
de services disponibles. Ceci découle en grande partie du fait que le processus de
construction de services nécessite d'importants efforts, notamment lors de la ré-
ingénierie de certains applicatifs pour les exposer sous forme de services d'entreprise.
- 331 -
Chapitre X CONCLUSIONS ET PERSPECTIVES
- 332 -
Chapitre X CONCLUSIONS ET PERSPECTIVES
Conscients des limites que présentent nos travaux et soucieux de la continuité des
travaux qui peut être mise en œuvre, nous avons envisagé les perspectives principales
suivantes :
Amélioration de la technique d'urbanisation des services : Améliorer la technique
d'urbanisation des services en expérimentant d'autres techniques d'identification des
degrés de similarité, et en se basant en particulier sur des approches plus évoluées
comme LSI, les approches floues ou encore les approches orientées ontologies. Une
autre perspective importante consiste à outiller le processus d'interprétation du
dendrogramme pour la détermination des clusters.
Extraction semi-automatique des ontologies fondamentales : Il serait intéressant et utile
de définir des mécanismes d'extraction semi-automatiques de la sémantique à partir des
composants du système d'information existant.
Maintenance des services et des ontologies d'entreprise : Ce point est important du fait
qu'il permet de mettre en œuvre des mécanismes qui vont gérer la cohérence de
l'architecture de services et de l'architecture des ontologies lors du processus de
maintenance.
Amélioration du modèle sémantique : Cette amélioration porte sur certains besoins et
souhaits que les utilisateurs ont formulé a posteriori, une fois que cette thèse est
terminée. Il s'agit notamment de la possibilité de gérer de façon plus efficace la
duplication des données au sein de l'entreprise. Par exemple, les utilisateurs désirent
savoir quel est le service de référence qui produit une donnée particulière. Ceci
permettrait alors de mieux connaître les véritables sources des informations qui
transitent au sein de l'entreprise.
Amélioration du service de découverte sémantique : Cette amélioration doit permettre
au service de découverte de prendre en charge des requêtes plus complexes incluant des
contraintes comportant des valeurs numériques pour mieux cibler la recherche de
certains services.
Amélioration du service de découverte sémantique : Cette amélioration doit permettre
au service de découverte de prendre en charge des requêtes plus complexes incluant des
contraintes comportant des valeurs numériques pour mieux cibler la recherche de
certains services. Par exemple, il serait possible de formuler une contrainte de type:
fiabilité du service > 0.9.
Optimisation des performances du prototype et passage à l'échelle : Des optimisations
peuvent être apportées à notre prototype, notamment en ce qui concerne l'amélioration
de certains modules comme le module de gestion des ontologies (afin de mieux assister
l'utilisateur dans la création et la gestion de ses ontologies) et le module de médiation
sémantique (en ce qui concerne le choix de stockage des règles de mapping et du moteur
de raisonnement). Ceci permet d'améliorer l'efficacité de l'outil. Un autre point
important est l'intégration de ce prototype au sein d'une infrastructure du marché
(idéalement un ESB) pour pouvoir faire le passage à l'échelle permettant ainsi
d'effectuer des tests en grandeur réelle.
Hiérarchisation de l'approche en niveaux de complexité : Afin d'apporter plus de
flexibilité et d'adaptation lors de la mise en œuvre de l'approche, il devient nécessaire de
proposer plusieurs niveaux ou couches de complexité. Plus précisément, nous
envisageons de nous inspirer du principe de structuration en couches du langage OWL
pour définir les trois niveaux de complexité de notre approche qui sont: ODSOI Lite,
- 333 -
Chapitre X CONCLUSIONS ET PERSPECTIVES
ODSOI Medium, ODSOI Full. Chaque approche de niveau supérieur doit inclure
l'approche de niveau inférieur. Ces différentes approches devraient ainsi couvrir la
problématique d'intégration d'un large spectre d'entreprises allant des petites et
moyennes entreprises (en appliquant l'approche ODSOI Lite) jusqu'aux très grandes
entreprises (en appliquant l'approche ODSOI Full).
Extension de l'approche à l'intégration par le processus et à l'intégration extra-
entreprise : Un dernier point important porte sur l'extension de ces travaux à
l'intégration par le processus et à l'intégration extra-entreprise (B2B - Business to
Business). L'intégration par le processus a été déjà entamée dans le cadre de ces travaux
à travers notamment la définition des services processus et la construction des
ontologies métier. En revanche, l'intégration extra-entreprise qui est aussi importante a
été totalement ignorée tout au long de cette thèse.
Il est clair qu'atteindre tous ces objectifs laissés en perspectives nécessitera un travail de
longue haleine et dont l'aboutissement prendra sans doute plusieurs années. Cependant,
nous demeurons convaincus, compte tenu de son intérêt, que ce travail doit être soutenu
et poursuivi.
- 334 -
BIBLIOGRAPHIE
BIBLIOGRAPHIE
[Abiteboul et al. 2000] Abiteboul S., Buneman P., and Suciu D., "Data on the Web -
from relations semistructured data and XML". Morgan Kaufann, San fransisco,
CA, 2000.
[Accary-Barrier et Calabretto 2002] Accary-Barrier T. et Calabretto S., "XML :
Syntaxe". Techniques de l'Ingénieur, H3500 (1-15), 2002.
[Acharya 2003] Acharya R., "EAI: A business perspective". eAI Journal, [On Line]
www.bijonline.com/PDF/Apr03Acharya.pdf, 2003.
[Akehurst et Kent 2002] Akehurst D. h., and Kent S., "A relational approach to defining
transformations in a meta-model". In Jean-Marc Jézéquel, Heinrich Hussmann,
and Stephen Cook, editors, UML Model Engineering, 2002.
[Alexaki et al. 2001] Alexaki S., Christophides V., Karvounarakis V., Plexousakis D.,
and Tolle K., "The ICSFORTH RDFSuite: Managing Voluminous RDF
Description Bases". 2nd International Workshop on the Semantic Web
(SemWeb'01), in conjunction with Tenth International World Wide Web
Conference (WWW10), pp. 1-13, Hong Kong, 2001.
[Alonso 2002] Alonso G., "Web services: Concepts, Architectures and Applications".
ETH Zürich, 2002.
[AMICE 1993] AMICE, "CIMOSA: Open System Architecture for CIM". Second
extended and revised version, Springer-Verlag, Berlin, 1993.
[Amiour 1999] Amiour M., "Vers une fédération de composants interopérables pour les
environnements centrés procédés logiiels". Thèse de Doctorat, Université Joseph
Fourier, Grenoble I, France, 1999.
[Andrews et al. 2003] Andrews T., Curbera F., Dholakia h., Goland Y. Klein J.,
Leymann F., Liu K., Roller D., and Smith D., "Specification: Business Process
Execution Language for Web Services Version 1.1". [On Line]
http://www.ibm.com/developerworks/library/ws-bpel/, 2003.
[Apache 2005] Apache, "Apache Beehive". [On Line] http://beehive.apache.org/, 2005.
[Arabie et al. 1996] Arabie P., Hubert L.J., and De Soete G., "Clustering and
Classification". Wold Scientific, Singapore, 1996.
[Arens et al. 1993] Arens Y., Chee C. Y., Hsu C. N., and Knoblock C. A., "Retrieving
and integrating data from multiple information sources". In the International
Journal on Intelligenet and Cooperative Information Systems, vol 2(2) pp: 127-
158 [On Line] http://citeseer.ist.psu.edu/arens93retrieving.html, 1993.
[Athena 2005] Athena, "Athena Project deliverables". [OnLine] http://www.athena-
ip.org, 2005.
BIBLIOGRAPHIE
- 338 -
BIBLIOGRAPHIE
[Bobillo et al. 2005] Bobillo F., Gomez-Gomero J., and Perez-Perez R., "Towards
Semantic Web Services: A brief Overview". In P. Isaías & M. B. Nunes
(Editors.), Proceedings of the IADIS international conference (WWW/Internet),
2005.
[Boehm et Abts 1999] Boehm B., and Abts C., "COTS Integration: Plug and Play ?".
IEEE Computer, Vol. 32 (No. 1), pp. 135-138, 1999.
[Booch 1992] Booch G., "Conception orientée objets et applications". Editions Addison-
Wesley, 1992.
[Borst 1997] Borst W. N., "Construction of Engineering Ontologies for Knowledge
Sharing and Reuse". PhD thesis, Tweente University, Enschede, NL- Centre for
Telematica and Information Technology, 1997.
[Bowers et Delcambre 2000] Bowers S., Delcambre L., "Representing and
Transforming Model-Based Information". In Proceedings of the Workshop on
the Semantic Web at ECDL-00; Lisbon, Portugal, 2000.
[Boyer 1994] Boyer F., "Coordination entre outils dans un environnement intégré de
développement de logiciels". Thèse de Doctorat, Université Joseph Fourier,
Grenoble I, France, 1994.
[BPMI 2003] BPMI, "Business Process Modeling Language (BPML), Proposed
Recommendation". Business process Management Initiative (BPMI). [On Line]
http://www.bpmi.org, 2003.
[Brockschmidt 1995] Brockschmidt A., "Inside OLE". 2nd edition, Microsoft Press,
1995.
[Broekstra et al. 2001] Broekstra J., Kampman A., and van Harmelen F., "Sesame: a
Generic Architecture for Storing and Querying RDF and RDF Schema". in the
1st International Semantic Web Conference (ISWC2002), Sardinia, Italy, 2002.
[Bruijn 2003] De Bruijn J., "Using Ontologies". TR, Digital Enterprise Research
Institute (DERI), 2003.
[Bruijn 2003-b] De Bruijn J., "Semantic information Integration". Master Thesis,
Digital Enterprise Research Institute (DERI), 2003.
[Bruijn et al. 2005] Bruijn J., Lausen H., Krummenacher R., Polleres A., Kifer M. and
Fensel D., "Deliverable D16.1v0.2, The Web Service Modeling Language
WSML". Final Draft, WSMO project, [On Line] http://www.wsmo.org/
TR/d16/d16.1/v0.2/20050320/, 2005.
[Bruijn et Polleres 2004] Bruijn J. and Polleres A., "Towards an Ontology Mapping
Specification Language for the Semantic Web". DERI Technical report 2004-06-
30, Digital Enterprise Research Institute (DERI), 2004.
[Bruno et al. 2005] Bruno M., Canfora G., Di Penta M., and Scognamiglio R., "An
approach to support web ser-vice classification and annotation". In Proceedings
of the IEEE International Conference on e-Technology, e-Commerce and e-
Services (EEE 2005), Honk-Kong, 2005.
[Bussler 2003] Bussler C., "Semantic Web Services: Reflections on Web Service
Mediation and Composition". Proceedings of the Fourth International
Conference on Web Information Systems Engineering (WISE’03), 2003.
[Bussler 2003-b] Bussler C., "The Role of Semantic Web Technology in Enterprise
Application Integration". In the Bulletin of the IEEE Computer Society Technical
Committee on Data Engineering, Vol 26 (No. 4) pp. 62-68, 2003.
- 339 -
BIBLIOGRAPHIE
[Bussler 2003-c] Bussler C., "Semantic Web Services: Reflections on Web Service
Mediation and Composition". In the Proceedings of the Fourth International
Conference on Web Information Systems Engineering (WISE’03), 2003.
[Bussler 2004] Bussler C., "Semantic Web Services". ICWE'04, Munich, 2004.
[Bussler et al. 2002] Bussler C., Fensel D., and Maedche A., "A Conceptual
Architecture for Semantic Web Enabled Web Services". ACM-SIGMOD, Special
Section on Semantic Web and Data Management, [On Line]
http://www.sigmod.org/record/ issues/0212/SPECIAL/4.Bussler1.pdf, 2002.
[Bussler et al. 2004] Bussler C. et al., WSMO. The Eleventh International Conference
on Artificial Intelligence: Methodology, Systems, 2004.
[C4ISR 1998] C4ISR Interoperability Working Group, "Levels of Information Systems
Interoperability (LISI)". Department of Defense, Washington, DC, 1998.
[Cabral et al. 2004] Cabral L., Domingue J., Motta E., Payne T., and Hakimpour F.,
"Approaches to Semantic Web Services: An Overview and Comparisons".
European Semantic Web Symposium (ESWS'04), 2004.
[Calvanese et al. 2001] Calvanese D., De Giacomo G., and Lenzerini M., "A framework
for ontology integration". Proceedings of the 1st Internationally Semantic Web
Working Symposium (SWWS) 303-317, 2001.
[Candillier 2004] Candillier L., "La classification non supervisée". [On Line]
http://www.grappa.univ-lille3.fr/~candillier/rapports/prstClustering.ps, 2004.
[Cangemi et al. 2003] Cangemi A., Guarino N., Masolo C., and Oltramari A.,
"Sweetening Wordnet with DOLCE". AI magazine, Vol. 24 (No. 3) pp.13-24,
2003.
[Cardoso 2006] Cardoso J., "Approaches to Developing Semantic Web Services".
International Journal of Computer Science, Vol. 1 (No. 1), ISSN 1306-4428,
2006.
[Cardoso et al. 2002] Cardoso J., Bussler C., Sheth A., and Fensel D., "Semantic Web
Services and Processes: semantic Composition and Quality of Service". Tutorial
at International Federated Conferences: DOA/ODBASE/CooPIS, 2002.
[Cardoso et Sheth 2004] Cardoso J., and Sheth A., "Semantic Web services and web
processes composition". Springer-Verlag, New York Inc, 2004.
[Cardoso et Sheth 2005] Cardoso J., Sheth A., "Introduction to Semantic Web Services
and Web Process Composition". In Semantic Web Process: powering next
generation of processes with Semantics and Web Services, Lecture Notes in
Computer Science, Springer, 2005.
[Casati et al. 2000] Casati F., Ilnicki S., and Jin L., "Adaptive and dynamic service
composition in EFlow". In Proceedings of 12th International Conference on
Advanced Information Systems Engineering (CAiSE), Stockholm, Sweden,
Springer Verlag, 2000.
[Casati et al. 2001] Casati F., Sayal M., and Shan M. C., "Developing e-services for
composing e-services". In Proceedings of 13th International Conference on
Advanced Information Systems Engineering (CAiSE), Interlaken, Switzerland,
Springer Verlag, 2001.
[CEN 2006] CEN/ISO DIS 19440, "Constructs for Enterprise Modelling", 2006.
[Chakraborty et al. 2001] Chakraborty D., Perich F., Avancha S., Joshi A., "DReggie:
Semantic Service Discovery for M-Commerce Applications". In Workshop on
- 340 -
BIBLIOGRAPHIE
- 341 -
BIBLIOGRAPHIE
meeting point ?". Data & Knowledge Engineering Vol. 46 (No. 1) pp. 41-64,
Elsevier, 2003.
[Corcho et al. 2003-b] Corcho O., Gomez-Perez A., Leger A., Rey C., and Toumani F.,
"An ontology-based mediation architecture for e-commerce applications". In
Proceedings of Intelligent Information Systems (IIS2003), [On Line]
http://citeseer.ist.psu.edu/corcho03ontologybased.html, 2003.
[Corella et Castells 2006] Corella M. A., and Castells P., "A Heuristic Approach to
Semantic Web Services Classification". 10th International Conference on
Knowledge-Based & Intelligent Information & Engineering Systems (KES
2006), Invited Session on Engineered Applications of Semantic Web (SWEA).
Bournemouth, UK, Springer Verlag Lecture Notes in Artificial Intelligence,
2006.
[Cousot et Cousot 2002] Cousot P. and Cousot R., "Systematic Design of Program
Transformation Frameworks by Abstract Interpretation". POPL ’02, Portland,
USA, ACM SIGPLAN Notices Vol. 31 (No 1), pp. 178-190 [On Line]
http://citeseer.ist.psu.edu/cousot02systematic.html, 2002.
[Crubézy et Musen 2003] Crubézy M., and Musen M. A., "Ontologies in Support of
Problem Solving". In Staab S. and Studer R., editors, Handbook on ontologies,
pp. 321-342 Springer, 2003.
[Dang Ngoc 2003] Dang Ngoc T. T., "Fédération de données semi-structurées avec
XML". Université de Versailes, France, 2003.
[Davidson et Kosky 1997] Davidson S. B., Kosky A., "WOL: A language for database
transformations and constraints". In Proceedings of the 13th International
Conference on Data Engineering (ICDE), pages 55–65. IEEE Computer Society,
1997.
[Dayal et al. 2001] Dayal U., Hsu M., and Ladin R., "Business Process Coordination:
State of the Art, Trends, and Open Issues". In Proceedings of the 27th
International Conference on Very Large DataBases, 2001.
[Denis 2003] Denis A., "Contribution à la conception d'une plate-forme haute
performance d'intégration d'exécutifs communicants pour la programmation des
grilles de calcul". Thèse de doctorat, Université de Rennes 1, IRISA, Rennes,
France, 2003.
[Derwester et al. 1990] Derwester S., Dumais S.T., Furnas G.W., Landauer T.K. and
Harshmann R., "Indexing by Latent Semantic Analysis". Journal of the
American Society for Informartion Science, pp. 391-407, 1990.
[Devogele 1997] Devogele T., “Processus d'intégration et d'appariement de bases de
données géographiques. Application à une base de données routières multi-
échelles”. Thèse de Doctorat de l’Université de Versailles, 1997.
[Dieng et al. 2001] Dieng R., Corby O., Gandon F., Giboin A., Golebiowska J., Matta
N., et Ribière M., "Méthodes et outils pour la gestion des connaissances : une
approche pluridisciplinaire du knowledge management". Dunod Edition
Informatiques, Séries Systèmes d’Information, 2001.
[Ding 2002] Ding Y., "Ontology Research and Development - Part 1: A Review of
Ontology Generation". Journal of Information Science, Vol. 28, (No. 2), pp.
123-136, 2002.
- 342 -
BIBLIOGRAPHIE
[Ding 2002-b] Ding Y., "Ontology Research and Development - Part 2: a review of
ontology mapping and evolving". Journal of Information Science, Vol. 28 (No.
5), pp. 383-396, 2002.
[Dip 2005] DIP Project, "DIP Deliverables". [On Line] http://dip.semanticweb.org,
2005.
[Doan et al. 2002] Doan A., Madhavan J., Domingos P., and Halevy A., "Learning to
Map Between Ontologies on the Semantic Web". In The Eleventh International
WWW Conference (WWW'02), Hawaii, US, [On Line] http://citeseer.ist.psu.edu
/doan02learning.html, 2002.
[Dogac 2004] Dogac A., "Semantic Web Services". Conference on Web Engineering
(ICWE'04), Munich, 2004.
[Dong et al. 2004] Dong X., Halevy A., Madhavan J., Nemes E., and Zhang J.,
"Similarity Search for Web Services". Proceedings of the 30th VLDB
Conference, Toronto, Canada, [On Line]
http://www.vldb.org/conf/2004/RS10P1.PDF, 2004.
[Dou et al. 2003] Dou D., McDermott D., and Qi P., "Ontology translation on the
semantic web". In International Conference on Ontologies, Databases and
Applications of Semantics (ODBASE'03), Catania, Italy, 2003.
[Downing 1998] Downing T. B., "RMI : Developing Distributed Java Applications with
Remote Method Invocation and Object Serialization". IDG Books, San Mateo,
CA, USA, 1998.
[Duineveld et al. 1999] Duineveld J. A., Stoter R., Weiden R. M., Kenepa B., and
Benjamins R. V., "WonderTools ? A comparative study of ontological
engineering tools". International Journal of HumanComputer Studies, Vol.
52(No. 6), pp.1111-1133, 1999.
[ebXML 2001] ebXML Requirements Team, "ebXML requirements specification
v1.06". Technical report, ebXML, 2001.
[ECIMF 2001] ECIMF, "E-Commerce Integration Meta-Framework – General
Methodology (ECIMF-GM)”, CEN/ISSS/WS-EC/ECIMF Draft, version 0.3,
2001.
[ECIMF 2005] ECIMF, "E-Commerce Integration Meta-Framework". [On Line]
http://www.ecimf.org/, 2005.
[EIF 2004] European Commission, "EIF: European Interoperability Framework". White
Paper, Brussels, [OnLine] http://www.comptia.org, 2004.
[Erl 2004] Erl T., "Service-Oriented Architecture - A Field Guide to Integrating XML
and Web Services". Printice Hall, 2004.
[Ermes 1994] ERMES- Groupe ESCP, "Systèmes d'Information: La perspective du
management". Masson, 1994.
[Espinasse 2002] Espinasse B., "Présentation générale du langage de modélisation objet
UML". Cours DEA - G2I, Université Aix-Marseille 3, 2002.
[EU-NSF 2002] EU-UNSF, "Semantic Web: Workshop Report and Recommandations".
Sophia Antipolis, 2002.
[Euzenat 2001] Euzenat J., "Towards a principled approach to semantic
interoperability". Proceedings of the IJCAI-01, Workshop on Ontologies and
Information Sharing, 2001.
- 343 -
BIBLIOGRAPHIE
[Euzenat et Valtchev 2004] Euzenat J., and Valtchev P., "Similarity-based ontology
alignment in OWL-Lite". In the 16th European Conference on Artificial
Intelligence (ECAI'04), 2004.
[Evans 2003] Evans C., "Web Services Reliability (WS-Reliability) Ver1.0". 2003.
[Fensel 2001] Fensel D.," Ontologies: A Silver Bullet for Knowledge Management and
Electronic Commerce". Springer, 2001.
[Fensel et al. 2003] Fensel D., Motta, E. Benjamins V., Decker S., Gaspari M.,
Groenboom R., Grosso W., and Musen M., "The unified problem-solving
method development language UPML". Knowledge and Information Systems
(KAIS): An international journal, Vol. 5 (No.1), 2003.
[Fensel et Bussler 2002] Fensel D., and Bussler C., "The Web Service Modeling
Framework WSMF". In Electronic Commerce Research and Applications, 1(2),
Elsevier, Scinces B. V., 2002.
[Fernandez et al. 1997] Fernandez M., Gomez-Perez A., and Juristo N.,
"METHONTOLOGY". Proceedings of the AAAI97, Spring Symposium Series
on Ontological Engineering, Stanford, USA, pp. 33-40, 1997.
[Fürst 2002] F. Fürst, "Ingénierie ontologique". Rapport de Recherche, Institut de
Recherche en Informatique de Nantes, 2002.
[Gandon 2002] Gandon F., "Distributed Artificial Intelligence and Knowledge
Management: ontologies and multi-agent systems for a corporate semantic web".
PhD Thesis, INRIA and University of Nice - Sophia Antipolis, 2002.
[Gangemi et al. 2003] Cangemi A., Guarino N., Masolo C., and Oltramari A.,
"Sweetening wordnet with DOLCE". AI magazine, Vol. 24 (No. 3), pp.13-24,
2003.
[Geib 2000] Geib J. M., et Merle P., "CORBA : des concepts à la pratique". Techniques
de l'ingénieur, 2000.
[Ghurbhurn 2006] Ghurbhurn R., Beaune P., et Solignac H., "Accès à des données
hétérogènes par des processus métiers intégrés". Revue des sciences et
technologies de l'information, Thème: Ingénierie des Systèmes d'Information,
Vol. 11 (No. 3) pp. 1633-1311, 2006.
[Giunchiglia et Walsh 1992] Giunchiglia F., and Walsh T., "A Theory of Abstraction".
Artificial Intelligence, Vol. 57 (No. 2-3) pp. 323–390, 1992.
[Go 2004] Go Albert France, "AMI: Fondations techniques". 2004.
[Goh 1997] Goh C. H., "Representing and Reasoning about Semantic Conflicts in
Heterogeneous Information Sources". Phd Thesis, MIT, 1997.
[Gomez-Perez 2000] Gomez-Perez A., "Développements récents en matière de
conception, de maintenance et d'utilisation d'ontologies". 3èmes rencontres
Terminologie et intelligence artificielle TIA, Vol 19, pp. 9-20, 2000.
[Gomez-Perez 2001] Gomez-Perez, A, "Evaluation of Ontologies". International
Journal of Intelligent Systems, Vol. 16 (No. 3), 2001.
[Gomez-Perez 2003] Gomez-Perez A., "Ontology Engineering". Springer Verlag, 2003.
[Gonzàlez-Castillo et al. 2001] Gonzàlez-Castillo J., Trastour D., Bartolini C.,
"Description Logics for Matchmaking of Services". In KI-2001 Workshop on
Applications of Description Logics Vienna, Austria, [On-Line]
http://sunsite.informatik.rwth-aachen.de/Publications/CEUR-WS/Vol-44, 2001.
- 344 -
BIBLIOGRAPHIE
- 345 -
BIBLIOGRAPHIE
[Hohpe et Woolf 2003] Hohpe G., and Woolf B., "Enterprise Integration Patterns".
Adison Wesley, 2003.
[Hohpe et Woolf 2004] Hohpe G., Woolf B., "Enterprise Integration Patterns:
Designing, Building and Deploying Messaging Solutions". Peason Education, 2004.
[Huang et al. 2004] Huang K., Zhou Z., Han Y., Li G., and Wang J., "An Algorithm for
Calculating Process Similarity to Cluster Open-Source Process Designs". GCC
Workshops, pp. 107-114, 2004.
[Huet 2002] Huet F., "Objets mobiles : conception d’un middleware et évaluation de la
communication". Thèse de doctorat, Université de Nice – Sophia Antipolis,
Projet OASIS, 2002.
[IAC 2003] Industry Advisory Council (IAC), "Interoperability Strategy: Concepts,
Challenges and Recommendations". Concept Level White Paper, developped for
the Federal Enterprise Architecture, 2003.
[IBM 2005] IBM., "Web Services Coordination". [On Line] http://www-
128.ibm.com/developerworks/library/specification/ws-tx/, 2005.
[IBM et al. 2005 ] IBM, BEA Systems, Microsoft, SAP AG, Siebel Systems,
"BPEL4WS - Business Process Execution Language for Web Services version
1.1". [On Line] http://www-128.ibm.com/developerworks/library/specification
/ws-bpel/, 2005.
[Ideas 2003] IDEAS, "IDEAS Project Deliverables (WP1-WP7)". Public reports, [On-
line] www.ideas-roadmap.net, 2003.
[IEC 2002] IEC - International Electrotechnical Commission, "IEC-65-290-DC - TC65:
Industrial Process Measurement and Control". IEC, 2002.
[Interop 2005] INTEROP, "Deliverables of INTEROP Project". [On Line]
www.interop-ne.org, 2005.
[ISO 14258] ISO, "ISO-14258, Concepts and Rules for Enterprise Models". 1998.
[ISO-OSI] ISO/IEC ISP 12061, "Technologies de l’information. Interconnexion de
systèmes ouverts (OSI)".
[Izza et al. 2004] Izza S., Vincent L., Burlat P., Solignac H., et Lebrun P., "Intégration
d'applications: Etat de l'art et Perspectives". Journées de l'Informatique de
l'Entreprise (JIE 2' 04), Algérie, pp. 242-253, 2004.
[Izza et al. 2005-a] Izza S., Vincent L., and Burlat P., "A Framework for Semantic
Enterprise Integration". In Proceedings of INTEROP-ESA'05, Geneva,
Switzerland, pp-78-89, 2005.
[Izza et al. 2005-b] Izza S., Vincent L., and Burlat P., "A Unified Framework for
Application Integration : an Ontology-driven Service-oriented Approach". Chin-
Sheng Chen, Joaquim Filipe, Isabel Seruca, José Cordeiro (Eds.): ICEIS 2005,
Proceedings of the Seventh International Conference on Enterprise Information
Systems, Miami, USA, pp. 165-170, 2005.
[Izza et al. 2005-c] Izza S., Vincent L., and Burlat P., "Exploiting the Combination of
Web Services and Semantic Web in Achieving Semantic Application
Integration". 6ème Congrès de Génie Industriel (GI 2005), Besançon, France,
pp-175-185, 2005.
[Izza et al. 2005-d] Izza S., Vincent L., and Burlat P., "Ontology Urbanization for
Semantic Integration: Dealing with Semantics within Large Enterprises of
Heterogeneous and Autonomous Application Systems". The 9th IEEE
International EDOC Conference, Enschede, The Netherlands, pp. 83-94, 2005.
- 346 -
BIBLIOGRAPHIE
[Izza et al. 2006-a] Izza S., Vincent L., Burlat P., Lebrun P., and Solignac H.,
"Extending OWL-S to Solve Enterprise Application Integration Issues".
Interoperability for Enterprise Software and Applications Conference (I-
ESA'06), Bordeaux, France, 2006.
[Izza et al. 2006-b] Izza S., Vincent L., Burlat P., Lebrun P., and Solignac H., "An
Ontology-Driven Data Mediation Framework for Enterprise Application
integration". 12th IFAC Symposium on Information Control Problems in
Manufacturing (INCOM'06), Saint-Etienne, France, 2006.
[Izza et al. 2006-c] Izza S., Vincent L., and Burlat P., "Dealing with Semantic
Application Integration Withn Large and Dynamic Enterprises". International
Journal of Cooperative Information systems, Vol. 15, No. 4, pp. 507-533,
[OnLine] http://www.worldscinet.com/ijcis/15/1504/S02188430061504.html,
2006.
[Izza et al. 2006-d] Izza S., Vincent L., and Burlat P., "A Framework for Semantic
Enterprise Integration". In Konstantas D., Bourrières J. P., Léonard M.,
Boudjlida N., Editors, Interoperability of Enterprise Software and Applications.
Springer-Verlag, London, 2006.
[Jacobson 1993] Jacobson I., "Le génie logiciel orienté objet". Addison Wesley, 1993.
[jduNet 2006] 01Net, "Intégration, nouvelle génération". 01Net, 2006.
[Johannesson et Perjons 2001] Johannesson P., and Perjons E., "Design principles for
process modelling in enterprise application integration". Information System
Vol. 26, pp. 165-184, 2001.
[Kadima et Monfort 2003] Kadima H., et Monfort V., "Les Web Services". Dunod,
2003.
[Kalfoglou et Schorlemmer 2003] Kalfoglou Y., and Schorlemmer M., "IF-Map: an
ontology mapping method based on information flow". Journal on Data
semantics, Vol. 1 (No. 1) pp. 98-127, 2003.
[Kalfoglou et Schorlemmer 2003-b] Kalfoglou Y., and Schorlemmer M., "Ontology
Mapping: The State of The Art". The Knowledge Engineering Review, Vol. 18
(No. 1), pp. 1-31, Cambridge University Press, 2003.
[Kassel 2002] Kassel G., "OntoSpec : une méthode de spécification semi-informelle
d’ontologies". in Actes des journées francophones d’Ingénierie des
Connaissances (IC’2002), pp. 75-87, 2002.
[Kavouras 2003] Kavouras M., "A unified ontological framwork for semantic
integration". International Workshop on Next Generation Geospatial
Information, Cambridge, UK, 2003.
[Kellert et Toumani 2003] Kellert P., and Toumani F., "Les web services sémantiques".
Research Report LIMOS/RR 03-1511, 2003.
[Klein 2001] Klein M., "Combining ans relating ontologies: an analysis of problems and
solutions". International Joint Conferences on Artificial Intelligence (IJCAI),
Workshop on Ontologies and Information Sharing, Seattle, USA, 2001.
[KnowledgeWeb 2004] KnowledgeWeb, "Deliverables of KWEB Project". EU-IST-
2004-507482, [On Line] http://knowledgeweb.semanticweb.org/, 2004.
[Kontogiannis et al. 2002] Kontogiannis K., Smith D., and O'Brien L., "On the Role of
Services in Enterprise Application Integration". In the Proceedings of the 10th
International Workshop on Software Technology and Engineering, 2002.
- 347 -
BIBLIOGRAPHIE
- 348 -
BIBLIOGRAPHIE
[Maedche et al. 2002] Maedche A., Motik B., Silva N., and Volz R., "MAFRA -
MApping FRAmework for Distributed Ontologies". In Proc. of the 13th
European Conf. on Knowledge Engineering and Knowledge Management
EKAW-02, 2002.
[Maedche et Staab 2002] Maedche A., and Staab S., "Measuring Similarity between
Ontologies". In Proc. of the 13th European Conf. on Knowledge Engineering
and Knowledge Management EKAW-02, 2002.
[Manouvrier 2001] Manouvrier B., "EAI - Intégration des applications d'entreprise".
Hermes, 2001.
[Mathieu 2004] Mathieu H., "Modélisation conjointe de l'infrastructure et des processus
pour l'administration pro-active de l'entreprise distribuée". Thèse de Doctorat,
INSA de Lyon, France, 2004.
[Mayer 1995] R. J. Mayer, "Information Integration for Concurent Engineering (IICE),
DEF3 Process Description Capture Method Report". AL-TR-81-4023, Air Force
Material Laboratory, Wright Patterson AFB, Ohio 45433, 1995.
[McBride 2001] McBride B., "Jena: Implementing the RDF Model and Syntax
Specification". In Steffen Staab et al (eds.): Proceedings of the Second
International Workshop on the Semantic Web (SemWeb2001), 2001.
[McGuinness et al. 2000] McGuinness D. L., Fikes R., Rice J., and Wilder S., "The
Chimaera Ontology Environment". In Proceedings of the 17th National
Conference on Artificial Intelligence (AAAI), 2000.
[McIlraith et al. 2001] McIlraith S., Son T., and Zeng H., "Semantic Web Services".
IEEE Intelligent Systems Vol. 16 (No. 2), pp. 46-53, 2001.
[Medjahed 2004] Medjahed B. "Semantic Web Enabled Composition of Web Services".
PhD Thesis, Virginia Polytechnic Institute and State University, USA, 2004.
[Meinadier 2002] Meinadier J.-P., "Le métier d'intégration des systèmes". Lavoisier-
Hermes, 2002.
[Melnik et Decker 2000] Melnik S. and Decker S., "A layered approach to information
modeling and interoperability on the Web". In Proceedings of the European
Conference on Digital Libraries (ECDL'00) Workshop on the Semantic Web,
Lisbon, Portugal, 2000.
[Mena el al. 1996] Mena E., Kashyap V., Sheth A., and Illarramendi A., "OBSERVER:
An approach for query processing in global information systems based on
interoperability across pre-existing ontologies". In Proceedings 1st International
Conference on Cooperative Information Systems (IFCIS), Brussels, 1996.
[Mena et al. 2000] Mena E., Illarramendi A., Kashyap, V., and Sheth, A. P., "Observer:
An approach for query processing in global information systems based on
interoperation across pre-existing ontologies". Distributed and Parallel
Databases, Vol. 8 (No. 2) pp. 223-271, 2000.
[Meteo-s 2005] METEOR-S, "METEOR-S project deliverables". [On Line] http://lsdis.
cs.uga.edu/Projects/METEOR-S/, 2005.
[Microsoft 1992] Microsoft Corporation, "ODBC specification". ftp://ftp.microsoft.com
/developr/ODBC, 1992.
[Microsoft 1996] Microsoft Corporation, "Distributed Component Object Model
Protocol DCOM 1.0". Internet Draft, Network working group, 1996.
- 349 -
BIBLIOGRAPHIE
- 350 -
BIBLIOGRAPHIE
[Odsadzinski 1988] Odsadzinski A., "The Network File System (NFS)". Computer
Standards & Interfaces, Vol. 8, The Netherlands, 1988.
[Ogbuji 2000] Ogbuji U., "Supercharging WSDL with RDF". [On Line] http://www-
128.ibm.com/developerworks/library/ws-rdf/?dwzone=ws, 2000.
[Oki et al. 1993] Oki B., Pflueg M., Siegel D. and Skeen D., "The Information Bus - An
architecture for extensible Distributed Systems". Operating Systems Review,
Vol. 27(No. 5), pp. 58-68 , 1993.
[Oldham et al. 2004] Oldham N., Thomas C., Sheth A., and Verma K., "METEOR-S
Web Service Annotation Framework with Machine Learning Classification". In
Proceedings of the 1st International Workshop on Semantic Web Services and
Web Process Composition (SWSWPC’04) at the the 2nd International Conference
on Web Services (ICWS ’04), California, 2004.
[OMG-CORBA 1998] Object Management Group, "The Common Object Request
Broker : Architecture and Specification, revision 2.2". OMG, USA, OMG TC
Document formal/98-07-01, [On Line] http://www.omg.org/corba/corbiiop.htm,
1998.
[OMG-CWM 2005] Object Management Group, "Data Warehousing". CWM and MOF
Resource Page, [On Line] http ://www.omg.org/cwm/, 2005.
[OMG-MDA 2006] Object Management Group, "OMG Model Driven Architecture".
[On Line] http://www.omg.com/mda, 2006.
[OMG-MOF 2005] Object Management Group, "Meta-Object Facility (MOF), version
1.4". [On Line] http ://www.omg.org/technology/documents/formal/mof.htm,
2005.
[OntoMat 2002] ONTOMAT SOEP, "An ontology editor that includes features for
semantic annotation of Web pages". Un-Supported and The Attick, [On Line]
http://kaon.semanticweb.org/Members/rvo/Folder.2002-08-22.4813/ontomat_
soep, 2002.
[OntoWeb 2000] OntoWeb Consortium, "Deliverable 1.3: A survey on ontology tools -
OntoWeb Ontology-based information exchange for knowledge management
and electronic commerce". IST Project IST-2000-29243, 2000.
[OSF DCE 1995] OSF DCE, "Introduction to OSF DCE. Révision 1.1". Open Software
Foundation, 1995.
[OWL 2004] OWL Coalition, "OWL - Web Ontology Language - (W3C
Recommendation 10 February 2004)". W3C, [On Line] http://www.w3.org/
TR/2004/REC-owl-guide-20040210/, 2004.
[OWLSC 2004] OWL-S Coalition, "OWL-S: Semantic Markup for Web Services".
OWL-S Coalition, [On Line] http://www.daml.org/services/, 2004.
[Ozsu et Valduriez 1999] Ozsu M.T., and Valduriez P., "Principles of Distributed
database systems". Prentice Hall, 1999.
[Paolucci et al. 2002] Paolucci M., Kawamura T., Payne T. R., and Sycara K.,
"Semantic Matching of Web Services Capabilities". in Proceedings The First
International Semantic Web Conference (ISWC), Sardinia, Italy, 2002.
[Paolucci et al. 2003] Paolucci M., Ankolekar A., Srinivasan N., and Sycara, K., "The
DAML-S virtual machine". In Proceedings of the Second International Semantic
Web Conference, 2003.
- 351 -
BIBLIOGRAPHIE
[Papazoglou et Heuvel 2006] Papazoglou M. P., and van den Heuvel W. J., "Service
Oriented Architectures: Approaches, Technologies, and Research Issues". To
appear in VLDB Journal, 2006.
[Parent et Spaccapietra 1998] Parent C., Spaccapietra S., "Issues and approaches of
database integration". Communications of the ACM, 41(5):166–178,1998.
[Peer 2002] Peer J., "Bringing together Semantic Web and Web services". In
Proceedings of the First International Semantic Web Conference (ISWC),
number 2342 in Lecture Notes in Computer Science, pp. 279-291, Springer-
Verlag, 2002.
[Peltier et al. 2001] Peltier M., Bézivin J. and Guillaume G., "MTRANS: A general
framework, based on XSLT, for model transformations". Workshop on
Transformations in UML (WTUML), Genova, Italy, 2001.
[Petrie 1992] Petrie C., editor, "Enterprise Integration Modelling". The MIT Press,
Cambridge, MA, 1992.
[Pontacq 2002] Pontacq M., "Commerce électronique sur Internet, Architecture des
solutions". Techniques de l'ingénieur, H5304, pp.1-13, 2002.
[Pottinger et Bernstein 2003] Pottinger R., Bernstein P. A., "Merging models based on
given correspondences". In Proceedings of the 29th International Conference on
Very Large Data Bases (VLDB), pages 826–837. Morgan Kaufmann, 2003.
[Printz 2000] Printz J., Morganti G., et Wajnflasz J., "Programmation et systèmes
transactionnels". Techniques de l'ingénieur, H2708, pp. 1-19, 2000.
[Programmez 2003] Thévenon, D., Gueguen, E., Galpultos, M., Kolawa, A., et K'Dual,
E., "Réussir votre intégration: XML, EAI, WS". Revue Programmez! Hors Série,
Go-o2 SARL, 2003.
[Psyché et al. 2003] Psyché V., Mendes O., et Bourdeau J., "Apport de l'ingénierie
ontologique aux environnements de formation à distance". Revue Sciences et
Technologies de l´Information et de la Communication pour l´Éducation et la
Formation, Vol. 10, [On Line] http://sticef.univ-lemans.fr/num/vol2003/psyche-
06s/sticef_2003_psyche_06s.htm, 2003.
[Quinot 2003] Quinot T., "Conception et réalisation d’un intergiciel schizophrène pour
la mise en œuvre de systèmes répartis interopérables". Thèse de doctorat de
l’Université Paris VI — Pierre-et-Marie-Curie, France, 2003.
[Rao et Su 2004] Rao J. and Su. X., "A survey of automated Web service composition
methods". In Proceedings of the First International Workshop on Semantic Web
Services and Web Process Composition, SWSWPC'2004, LNCS, San Diego,
USA, Springer-Verlag. 2004.
[Reiss 1990] Reiss P., "Connecting Tools Using Message Passing in the Field
Environment". IEEE Software, pp. 57-66, 1990.
[Reix 1995] Reix R., "Systèmes d'Information de Gestion". Editions d'Organisation,
1995.
[Rhizomik 2005] Rhizomik, "XML Schema to OWL". [On Line] http://rhizomik.
upf.edu/, 2005.
[Ribière 1998] Ribière G., "Communication et traitement en mode message avec
MQSeries". Techniques de l’ingénieur, Rapport technique H2-768, 1998.
[Rivard et Plantain 2003] Rivard F., et Plantain T., "L'EAI par la pratique". Eyrolles,
2003.
- 352 -
BIBLIOGRAPHIE
[Riveill et al. 2000] Riveill M., Balter R., et Boyer F.," Communication synchrone entre
programmes par RPC et RMI". Techniques de l'ingénieur, 2000.
[Robertson et Jones 1976] Robertson S., and Jones S. K., "Relevance weighting of
search terms". Journal of the American Society for Information Science, No. 27,
pp. 129-146, 1976.
[RogueWave 2005] RogueWave, "Lightweight Enterprise Integration Framework". [On
Line] http://www.roguewave.com/products/leif/, 2005.
[RosettaNet 2002] RosettaNet, "Rosetta Implementation Framework (RNIF): Core
specification". Technical report, RosettaNet, 2002.
[Ross 1977] Ross D. T., "SADT, un langage pour communiquer". Softech Inc, USA,
1977.
[Rumbaugh et al. 1991] Rumbaugh J., Blaha M., Premerlani W., Eddy S., and Lorensen
W., "Object-Oriented Modeling and Design". Englewood Cliffs NJ Prentice
Hall, 1991.
[Rumbaugh et al. 2005] Rumbaugh J., Jacobson I., and Booch G., "UML 2.0 : Guide de
Référence". Campus Press France, 2005.
[SAP 2005] SAP France, "SAP Netweaver". [On Line] http://www.sap.com/france/
solutions/netweaver/index.epx, 2005.
[Sassoon 1998] Sassoon J., "Urbanisation des systèmes d'information". Hermes, 1998.
[Schmidt 2000] Schmidt J., "Enabling next generation enterprises". eAI Journal, 2000.
[Schneider 2002] Schneider M. Interopérabilité et intégration des systèmes
d'information, Revue "Ingénierie des systèmes d'information", Volume 6, n°3,
Hermes, Paris, 2002.
[Sciore et al. 1994] Sciore E., Siegel M., Rosenthal A., "Using semantic values to
falilitate interoperability among heterogeneous information systems". ACM
Transactions on Database Systems, 19(2):254–290, 1994.
[Sekt 2004] Sekt, "Deliverables of SEKT Project". [On Line] http://www.sekt-
project.com/, 2004.
[Semwebcentral 2005] SemWebCentral, "WSDL2OWL-S". [On Line] http://projects.
semwebcentral.org/projects/wsdl 2owl-s/, 2005.
[Serain 2001] Serain D., "Enerprise Application Integration - L'architecture des
solutions e-Business". Dunod, 2001.
[Serviceoriented 2003] Serviceoriented.org, "WS-Transaction". 2003.
[Sharon et Kemmerer 1999] Sharon and Kemmerer, "STEP, the Grand Experience".
NIST special publication 939, National Institute of Standards and Technology,
Gaithersburg, MD, 1999.
[Sheth 1999] Sheth A., "Changing focus on interoperability in information systems:
from system, syntax, structure to semantics". In Norwell, Massachusetts: Kluwer
Academic Publishers, 1999.
[Sheth et Kashyap 1993] Sheth A., and Kashyap V., "So far schematically yet so near
semantically". In Proceeding IFIP TC2/WG2.6 [On Line] http://citeseer.ist.
psu.edu/sheth93so.html, 1993.
[Shoe 2001] Shoe, "The SHOE Knowledge Annotator". [On Line] http://www.cs.umd.
edu/projects/plus/SHOE/KnowledgeAnnotator.html, 2001.
[Singh et Huhns 2005] Singh M., and Huhns M., "Service-Oriented Computing,
Semantics, processes, agents". Wiley, 2004.
- 353 -
BIBLIOGRAPHIE
[Sirin et al. 2002] Sirin E., Hendler J., and Parsia B., "Semi-automatic composition of
Web services using semantic descriptions". In Proceedings of Web Services:
Modeling, Architecture and Infrastructure workshop in conjunction with
ICEIS2003, 2002.
[Sivashanmugam et al. 2003] Sivashanmugam K. Sheth A., Miller J., and Verma K.,
"Metadata and Semantics for Web Services and Processes". Book Chapter,
Datenbanken und informationsystem, Publication Hagen , 2003.
[Smith et Welty 2001] Smith B., and Welty C., "Ontology: Towards a New Synthesis".
Formal Ontologies in Information Systems (FOIS'01), ACM, 2001.
[Soley et Stone 1995] Soley R. M., and Stone C. M., "Object Management Architecture
Guide, revision 3.0". Object Management Group, Inc. et John Wiley & Sons,
Inc., USA, 1995.
[Sonic et al. 2005] Sonic Software Corporation, Amberpoint Inc., BearingPoint Inc., and
Systinet Corporation, "A new SOA Maturity Model". [On Line]
https://bpxstream1.bitpipe.com/xm/FdfAction/post, 2005.
[Spring 1996] Spring M. B., "Reference model for data interchange standards". IEEE
Computer, Vol. 29, pp. 87-88, 1996.
[Srinivasan et al. 2006] Srinivasan N., Paolucci M., and Sycara K., "Semantic Web
service Discovery in the OWL-S IDE". In the Proceedings of the 39th Hawaii
International Conference on System Sciences, 2006.
[Stohr et Nickerson 2001] Stohr E., and Nickerson J. V., "Intra Enterpise Integration:
Methods and direction". Addison Wesley, 2001.
[Stojanovic et al. 2003] Stojanovic N., Studer R., and Stojanovic A., "An Approach for
the Ranking of Query Results in the SemanticWeb". In Proceedings of the
Second International Semantic Web Conference (ISWC), Vol. 2870 of Lecture
Notes in Computer Science, pp. 500-516. Springer-Verlag, 2003.
[Stonebraker 1999] Stonebraker M., "Integrating Islands of Information". eAI Journal,
1999.
[Stuckenschmidt 2000] Stuckenschmidt H., "Ontologies for Semantic Information
Integration: Opportunities and Open Problems". EKAW-00, [On Line]
http://www.cs.vu.nl/~heiner/public/EKAW-00.pdf, 2000.
[Stumme et Madche 2001] Stumme G., and Madche A., "FCA-Merge: Bottom-up
merging of ontologies". In 7th International. Conference on Artificial
Intelligence (IJCAI'01), pp. 225-230, Seattle, WA, 2001.
[Sumo 2005] SUMO home page, [On Line] http://ontology.teknowledge.com, 2005.
[Sun-JDBC 2005] Sun, "Java Database Connectivity (JDBC)". [On Line]
http://java.sun.com/products/jdbc/, 2005.
[Sure et al. 2002] Sure Y., Erdmann M., Angele J., Staab S., Studer R. and Wenke D.,
"OntoEdit: Collaborative Ontology Engineering for the Semantic Web". In
Proceedings of the International Semantic Web Conference 2002 (ISWC 2002),
Sardinia, Italia, 2002.
[Swartout et al. 1997] Swartout B., Patil R., Knight K. and Russ T., "Use of Large-Scale
Ontologies". Spring Symposium Series on Ontological Engineering. Stanford
University, CA, pp. 138-148, 1997.
[Sycara et al. 2002] Sycara K., Widoff S., Klusch M., and Lu J., "Larks : Dynamic
matchmaking among heterogeneous software agent in cyberspace". Autonomous
Agents and Multi-Agent Systems, Vol. 5, pp. 173–203, 2002.
- 354 -
BIBLIOGRAPHIE
[Tardieu et al. 2002] Tardieu H., Rochfeld A., et Rolland C., "La méthode Merise
Principes et Outils". Editions d'organisation, 2002.
[Tessier 1995] Tessier C., "La pratique des méthodes en informatique de gestion:
typologie, analyse comparative, choix et mise en œuvre". Editions
d'organisation, 1995.
[Tolk 2003] Tolk, Andreas. "Beyond Technical Interoperability – Introducing a
Reference Model for Measures of Merit for Coalition Interoperability". 8th
International Command and Control Research and Technology Symposium
(ICCRTS), Washington, DC, Washington DC: Command and Control Research
Program (CCRP), 2003.
[Tolk et Muguira 2003] Tolk A., Muguira J. A., "The Levels of Conceptual
Interoperability Model". Fall Simulation Interoperability Workshop Orlando,
Florida, 2003.
[Tosic et al. 2001] Tosic V., Mennie D., and Pagurek B., "On dynamic Service
Composition and Its Applicability to E-business Software Systems". WOOBS'01
(Workshop on Object-Oriented Business Solutions) workshop (at ECOOP 2001),
Budapest, Hungary, 2001.
[Toublant et al. 2002] Toublant P. J., Crepet S., Rafii N., et Graton Y., "Traitement des
données industrielles par micro-informatique". Techniques de l'ingénieur,
S8190, pp.1-13, 2002.
[Tuyet 2004] Tuyer L. A., "Fédération: une architecture logicielle pour la construction
d'applications dirigée par les modèles". Thèse de Doctorat, Université Joseph
Fourier de Grenoble, France, 2004.
[Ullman 1997] Ullman J. D., "Information integration using logical views. In
Proceedings of the International Conference on Database Theory (ICDT),
volume 1186, pages 19–40. Lecture Notes in Computer Science, 1997.
[Uschold et Gruninger 1996] Uschold M., and Gruninger M., "Ontologies: Principes,
Methods and Applications". Knowledge Engineering Review, Vol. 11(No. 2),
1996.
[Uschold et Gruninger 2002] Uschold M., and Gruninger M., "Creating Semantically
Integrated Communities on the World Wide Web". In Semantic Web Workshop,
Honolulu, Hawaii-Invited Tallk, 2002.
[Valtchev et Euzenat 1997] Valtchev P., and Euzenat J., "Dissimilarity measure for
collections of objects and values". In Proceedings Coen X. Liu and M. Berthold,
editors, Proc. 2nd Symposium on Intelligent Data Analysis., Vol. 1280, pp. 259–
272, 1997.
[Van Heijst et al. 1997] Van Heijst G., Schreiber A. Th., and Wielinga B. J., "Using
explicit ontologies in KBS development". International Journal of Human-
Computer Studies, Vol. 46 (No. 2/3) pp.183-292, 1997.
[Verjus 2001] Verjus H., "Conception et construction de fédérations de progiciels".
Thèse de Doctorat, Université de Savoie, France, 2001.
[Vernadat 1996] Vernadat F. B., "Enterprise modelling and integration: Principles and
and applications". Chapman & Hall, London, 1996.
[Vernadat 1999] F. Vernadat, "Techniques de Modélisation en Entreprise. Applications
aux processus opérationnels". Economica, 1999.
- 355 -
BIBLIOGRAPHIE
[Vernadat 2002] Vernadat F. B., "Enterprise modeling and integration (EMI)- Current
status and research perspectives". Pergamon - Annual Reviews in Control, Vol.
26, pp. 15-25, 2002.
[Villalobos 2003] Villalobos J., "Fédération de composants: Une architecture logicielle
pour la composition par coordination". Thèse de Doctorat, Université Joseph
Fourier de Grenoble, France, 2003.
[Visser et Stuckenschmidt 2002] Visser U., and Stuckenschmidt H., "Interoperability in
GIS - Enabling Technologies". In Proceeding of 5th AGILE Conference on GIS,
Spain, 2002.
[W3C 2006] W3C, "The World Wide Web Consortium". [On Line] http://www.w3.org/,
2006.
[W3C-RDFS 2002] W3C, "RDFS - Resource Description Framework Schema
Specification". [On Line] http ://www.w3.org/TR/rdf-schema/, 2002.
[W3C-WSA 2006] W3C, "Web Services Activity". [On Line]
http://www.w3.org/2002/ws/, 2006.
[W3C-XML 2004] World Wide Web Consortium (W3C), "XML". [OnLine]
http://www.w3.org/XML, 2004.
[W3C-XSD 2005] W3C, "XML Schema Part 0: Primer Second Edition". W3C
Recommendation 28 October 2004. [On Line]
http://www.w3.org/TR/2004/REC-xmlschema-0-20041028/, 2004.
[W3C-XSLT 1999] W3C, "XSLT". [On Line] http://www.w3.org/TR/xslt, 1999.
[Wache et al. 1999] Wache H., Scholz Th., Stieghahn H., and Konig-Ries B., "An
integration method for the specification of rule–oriented mediators". Proceedings
of DANTE’99, pp. 109-112, Kyoto, Japan, 1999.
[Wache et al. 2001] Wache H., Vögele T., Visser U., Stuckenschmidt H., Schuster G.,
Neumann H., and Hübner S., "Ontology-Based Integration of Information - A
Survey of Existing Approaches". In Stuckenschmidt, H., editor, IJCAI-2001
Workshop on Ontologies and Information Sharing, pp., 2001.
[Wangler et Paheerathan 2000] Wangler B., and Paheerathan S., "Horizontal and
vertical integration of organizational IT systems". Information Systems
Engineering, 2000.
[Ward 1963] Ward J. H., "Hierrachical grouping to optimize an objective function".
Journal of the American statistical association, Vol 58, pp. 238-244, 1963.
[Wasserman 1990] Wasserman A I., "Tool Integration in Software Engineering
Environments". In Software Engineering Environments: Work-shop on
Environments, Berlin, 1990.
[Wegner 1996] Wegner P., "Interoperability". ACM Computing Survey, Vol. 28 (No. 1),
pp. 285-7, 1996.
[Weston 1993] Weston R. H., "Steps towards enterprise wide integration: a definition of
needs and first generation open solutions". International Journal of Production
Research, 31(9), 2235-2254, 1993.
[WfMC 2000] Workflow Management Coalition, "The Workflow reference model".
Document Number WFMC-TC-1003, Workflow Management Coalition, 2000.
[Wiederhold 1992] Wiederhold G., "Mediators in the Architecture of Future Information
Systems". IEEE Computer, Vol. 25 (No. 3), pp. 38-49, 1992.
- 356 -
BIBLIOGRAPHIE
- 357 -
ii
Ecole Nationale Supérieure des Mines
de Saint-Etienne
Order N° : 418 I
Abstract :
Over the last decade, the field of industrial information systems was deeply transformed under the
influence of the evolution of software technologies (objects, components, web services,…), the
evolution of hardware technologies (Moore law), and also the evolution of organisations (fusions,
acquisitions, globalisation). Consequently, the information systems became more and more complex
and heterogeneous. Those need to be integrated in order to make them communicate and cooperate. It
is the problem of information system integration. This work treats this latter problem and precisely
the semantic integration one. It proposes a flexible approach that is based on semantic services and
that combines both ontologies and web services in order to overcome some issues related to the
semantic integration problem.
After having exposed our research problematic, we reviewed the most important related works that
concern the integration of industrial information systems. The analysis of the state of the art let us to
consider mainly two integration levels: syntactic and semantic integration. This latter constitutes a
crucial problem that is not is not correctly addressed by today's integration solutions that focus mainly
on the syntactical integration. Addressing the semantic aspect will promote the integration by
providing it more consistency and robustness.
Focalising our work on semantic services, that constitute the most efficient and flexible approaches
that deal with semantic integration, allowed us to note some important limitations that are mainly: the
discrepancy of current ontology architectures to correctly capture the semantics of industrial
applications, the lack of methodologies in order to build ontologies and also semantic services, the
lack of pertinent discovery and mediation approaches for intra-entreprise integration issues, and the
complexity of the technologies related to the exploitation of the enterprise semantics.
Thus, we have proposed a flexible approach for integrating industrial applications that is named
ODSOI (Ontology-Driven Service-Oriented Integration). This approach focuses on three
complementary problematics that are respectively: the building of the architecture of enterprise
services (PSyn) that defines and structures enterprise services, the building of the semantic architecture
(PSem) that semantically describes enterprise services, and the building of the integration architecture
(PInt) that defines integration mechanism based on enterprise semantics. Our approach is based on
three major principles that are openness, unification and urbanisation. First, the openness principle
imposes us to use and to conform to industrial standards such as WSDL and OWL. Second, the
unification principle allows to make information system components uniform. Third, the urbanisation
principle allows to correctly structuring the service architecture, the semantic architecture and also the
integration architecture.
Basing on these three complementary architectures, we implement a prototype that creates, manages
and exploits integration projects. Finally, we led various experimentations of the prototype that
concern the domain of preventive maintenance within an industrial enterprise.
iii
Ecole Nationale Supérieure des Mines
de Saint-Etienne
N° d’ordre : 418 I
Spécialité : Informatique
Résumé :
Le domaine des systèmes d'information industriels s'est profondément transformé ces dernières années
sous l'influence de l'évolution des technologies logicielles (objets, composants, service web, …), de
l'évolution des technologies matérielles (loi de Moore), et aussi de l'évolution des organisations
(fusions, acquisitions, mondialisation). Conséquence de tous ces facteurs, les systèmes d'information
deviennent de plus en plus complexes et hétérogènes qu'il convient alors d'intégrer afin de les faire
communiquer et les faire coopérer. Il s'agit du problème d'intégration des systèmes d'information.
Notre travail s'inscrit dans cette problématique, et plus précisément dans le cadre de l'intégration
sémantique de systèmes d'information de grandes entreprises industrielles. Il propose une approche
flexible basée sur les services sémantiques, en combinant à la fois les ontologies et les Services Web.
Après avoir exposé la problématique, nous avons présenté les différentes techniques d'intégration des
systèmes d'information industriels. L'analyse de l'état de l'art nous a permis de retenir deux niveaux
d'intégration: l'intégration syntaxique et l'intégration sémantique. Cette dernière constitue un problème
crucial de l’intégration des systèmes d'information. Jusqu'à présent, ce problème n’est toujours pas
correctement traité. Les solutions actuelles se focalisent plutôt sur les techniques d’intégration
syntaxique. La prise en compte de l’aspect sémantique peut promouvoir l'intégration en lui apportant
plus de consistance et de flexibilité.
En nous focalisant sur les services sémantiques, nous avons constaté un certain nombre de lacunes
dont l'inadéquation des architectures actuelles des ontologies à capturer de façon flexible et efficace la
sémantique des applications industrielles, le manque de méthodologie à mettre en œuvre pour définir
les ontologies et aussi les services sémantiques, le manque d'approches de découverte et de médiation
de services dans le contexte intra-entreprise, et la complexité inhérente à l'utilisation des technologies
associées à l'exploitation de la sémantique.
Partant de ce constat, nous avons alors proposé une approche flexible d'intégration des applications
industrielles qui s'intitule ODSOI (Ontology-Driven Service-Oriented Integration). Cette approche se
focalise principalement sur trois sous-problématiques complémentaires qui sont respectivement la
construction d'une architecture de services (PSyn) permettant de définir et de structurer les services
d'entreprise, la construction d'une architecture sémantique (PSem) permettant de définir et de structurer
les ontologies d'entreprise servant à enrichir sémantiquement les services d'entreprise, et la
construction d'une architecture d'intégration (PInt) permettant d'offrir des mécanismes d'intégration
basés sur la sémantique. Notre approche repose sur trois principes majeurs qui sont l'ouverture,
l'unification et l'urbanisation. Le principe d'ouverture impose de s'inscrire dans le cadre d'utilisation de
standards industriels tels que WSDL et OWL. Le principe d'unification permet d'uniformiser les
composants du système d'information. Et en dernier lieu, le principe d'urbanisation permet de mieux
structurer l'architecture des services, l'architecture sémantique et aussi l'architecture d'intégration.
Nous basant sur ces trois architectures, nous avons implémenté un prototype permettant de créer, de
gérer, et de mettre en œuvre des projets d'intégration. Nous avons enfin réalisé diverses
expérimentations portant sur le domaine de la maintenance préventive en milieu industriel.
iv