Télécharger le fichier pdf d’un mémoire de fin d’études
Classification des applications d’entreprise
Dans la littérature des systèmes d’information on rouvet une panoplie de classifications selon des critères différents :
• Classification des applications selon trois tiers [1] :
o Front-end, ensemble d’applications qui interagissent directement avec l’utilisateur.
o Back-end, ensembles d’applications liées aux systèmes de production de l’entreprise dans lesquels se concentre la valeur ajoutée de l’entreprise.
o Middle-end, comprend l’ensemble des applications et des technologies nécessaires pour interconnecter le front-end et leback-end.
• Classification selon les couches logiques d’une application [1] :
o Architecture 1-tiers, correspond aux applications monolithiques construites sur
le principe d’un niveau physique qui englobe les trois couches logiques (couche présentation, couche applicative et couchedonnées).
o Architecture 2-tiers, correspond aux applications construites selon le mode client/serveur.
o Architecture 3-tiers, implique une séparation physique des trois couches logiques au sein des applications.
• Classification selon le mode de traitement des évènements [4];
o Les applications batch (AB) : qui sont les applications les plus anciennes et qui sont conçues avec une philosophie d’application mon olithique 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.
o Les applications transactionnelles (AT) : qui sont des applications qui permettent de traiter les évènements les uns aprèsles autres et dont la plus part peuvent assurer des interfaces avec les utilisateurs.
o 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 une requête que le serveur traite pour retourner ses réponses à l’application appelante.
o Les applications Web (AW) : qui sont une forme particulière d’applications transactionnelles qui tournent sur une technologie Web.
o 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) pour communiquer avec d’autres applications. Elles fonctionnent selon des logiques qui peuvent relevé à la fois des modes batch et transactionnel.
Dimensions des applications d’entreprise
Les applications peuvent être analysées selon troisprincipales caractéristiques, qui sont [9] [10] : l’autonomie, la distribution et l’hétérogénéité. La figure I.3 montre ces dimensions avec quelques approches générales permettant de les gére(flèches en pointillées).
Une quatrième dimension est rajoutée par certains uteursa comme M. Singh et M. Huhns [11], il s’agit du dynamisme, en effet les applications peuvent évoluées avec le temps, ceci est dû aux évolutions et aux changements qui s’opèrentdans leur environnement.
Autonomie :
L’autonomie des applications désigne le fait qu’elles peuvent être conçues et exécutées indépendamment les unes des autres. D’après M.T. Ozsu et P. Valduriez [12] l’autonomie possède plusieurs aspects :
– Autonomie de conception, qui signifie qu’une application est indépendante d’autres applications dans sa conception intrinsèque (son modèle de données, son modèle de traitement, etc.).
– Autonomie de communication, qui signifie qu’une application peut localement choisir avec quelles applications elle peut communiquer.
– Autonomie d’exécution, qui signifie l’indépendance de l’application pour gérer les interactions avec son environnement extérieur.
Distribution :
La distribution désigne le fait que les applications sont très souvent réparties physiquement sur le réseau d’entreprise. Cette distribution des applications est réalisée grâce à des technologies telles que CORBA, Java/RMI, COM/DCOM, etc. (voir section I.5.1.3).
Hétérogénéité :
Dans un système interopérable les hétérogénéitésuventpe survenir à différents niveaux. G. Wiederhold [13] distingue : (1) l’hétérogénéité techniquequi correspond aux différences présentes dans les matériels et les logiciels (ordinateurs, réseaux, plates formes). (2) l’hétérogénéité syntaxiquequi correspond aux différences présentes dans lesformats de données et des interfaces. (3)l’hétérogénéité sémanti quie correspond aux différences liées à l’interprétation et au sens associé aux données teaux fonctions d’une application.
Dans le domaine des données D. Benslimane [14] distingue (1) l’hétérogénéité syntaxiquequi traduit la diversité des choix au niveau des modèles logiques des données. (2) l’hétérogénéité structurelle qui concerne la structure des objets réels et leur classification qui varient d’un système à un autre. Elle inclut la différence de types de données et leur agrégation. (3) l’hétérogénéité sémantiquequi concerne la différence de perception des objets réels d’un système à un autre. Elle concerne les noms des éléments de schémas (attributs, classes), les valeurs (différence d’échelles ou d’unités) etc.
Dans le cadre de nos travaux nous nous focalisons sur la dimension d’hétérogénéité des applications des systèmes d’information, et plus précisément sur l’hétérogénéité sémantique, qui présente plus de difficultés et freine l’interopérabilité des systèmes d’informations. Nous allons décrire la notion de sémantique et une classification de l’hétérogénéité liée à cette notion dans le deuxième chapitre (§ II.2)
Dynamisme :
Les systèmes d’information sont ouverts sur un environnement en perpétuels changements et qui constituent le défit majeur qu’affrontent les entreprises. Pour faire face à ce problème les applications doivent s’adapter de manière souple et rapide et évoluer de façon dynamique.
Coopération et interopérabilité des systèmesd’information
Comme nous l’avons déjà mentionné, le travail de echerche que nous présentons se focalise sur le paradigme de systèmes d’information coopératifs. De ce fait, nous tenons à le définir, et à présenter la notion d’interopérabilité qui le caractérise.
Définition des systèmes d’information coopératifs (SIC)
D’après Benslimane et al. [14], un SIC est un système ayant la capacité de supporter le partage de données et le traitement coopératif inter-applications. Comme le montre la figure I.4, une application X, appelée client, peut inter-opérer avec un ensemble de systèmes (sources de données) Yi i=1,2,…,n, appelés fournisseurs si et seulement si : (1) la demande de service de l’application X peut être correctement nterprétéei par chacun des systèmes iY, et (2) les réponses des systèmes Yi peuvent être correctement interprétées par l’application X. Cette définition des SIC peut être vue comme une généralisation de l’approche client/serveur à deux notion [14] :
La notion de compréhension mutuelle entre le clientet ses fournisseurs : le client ne s’adapte pas à la sémantique du fournisseur. Il exprime sa requête dans son propre contexte. De la même manière, le fournisseur répond à la requête nsda son propre contexte. La compréhension mutuelle entre l’application X et les différents fournisseurs Yi est réalisée au travers de l’utilisation d’un contexte de référencequi conceptualise un domaine d’application.
La notion de découverte de fournisseur: le client exprime ses besoins en matière de données sans avoir au préalable une connaissance sur les fournisseurs existants. L’ensemble des Y i qui peuvent coopérer au traitementd’une demande de X est déterminé dynamiquement.
Interopérabilité et intégration
« L’intégration des systèmes consiste à assembler esl différentes parties d’un système et à assurer leur compatibilité ainsi que le bon fonctionnement du système complet », d’après LAROUSSE.
Il s’agit de faire tomber les barrières fonctionneles et organisationnelles au sein des entreprises afin que l’ensemble soit vu comme un tout cohérent. [5].
L’intégration n’est pas un but en soi, c’est un moyen d’assurer la cohérence fonctionnelle et informationnelle de l’entreprise. L’interopérabilit des systèmes, n’est elle aussi qu’un moyen, parmi d’autres pour faciliter l’intégration. On util se généralement dans la littérature le vocable d’interopérabilité de systèmes quand les systèmes oncerné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 [20].
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 quel’on cherche à préserver l’hétérogénéité et l’autonomie des systèmes constituants [1].
L’objectif de notre travail de recherche est d’assu rer l’interopérabilité technique et sémantique des systèmes d’information en proposant une architecture adéquate pour cela. Aussi, nous décrivons dans ce qui suit les outils permettant l’interopérabilité technique et syntaxique. Le deuxième chapitre sera consacré à l’étude des outils techniques et conceptuels permettant la mise en œuvre de l’interopérabilité sémantique.
Avantages des architectures orientées services
Les architectures orientées services :
favorisent la réutilisation, permettent l’interopérabilité, encapsulent la complexité, et conservent l’existant grâce à leur couplage faib le.
Description des services Web
Définition
Nous devons préciser que les services Web sont eux aussi des intergiciels, mais de haut niveau, car ils sont implantés sur des intergicielsde base tels que les serveurs d’applications. Vu l’importance des services Web, plusieurs définitions de ces derniers ont été mises en avant, nous retenons les suivantes:
– « Un Service Web est un composant implémenté dans ‘importen quel langage, déployé sur n’importe quelle plate-forme et enveloppé dansune couche de standards dérivés du XML. Il doit pouvoir être découvert et invoqué dynamiquement par d’autres services » [121].
– «Un service Web est un logiciel identifié par une URI (Uniforme Ressource Identifier), dont l’interface est publique et les liaisons sont définies et décrites en utilisant XML. L’environnement du service offre le moyen à d’autres logiciels de découvrir celui-ci. Ce service interagit avec les autres services Web en respectant cette définition, donc en utilisant des messages basés sur XML acheminés par des protocoles Internet.» [26].
Définition des rôles
Les services Web sont une technologie permettant à des applications de dialoguer via Internent, par l’échange de messages fondés sur destandards, et ceci indépendamment des plates-formes et des langages sur lesquelles elles reposent [27].
Il ya trois acteurs dans l’utilisation des services Web qui interagissent ensemble (figure I.8):
• le fournisseur de service, qui publie le service.
• le demandeur de service qui demande l’utilisation d’un service.
• l’annuaire de services, permettant de répertorier ‘ensemble des fournisseurs de services.
Les fonctions et les normes de base des services Web
Les services Web s’appuient sur un ensemble de fonctions et de protocoles standards. Dans cette section nous allons présenter les fonctions de base, et les normes qui les supportent. Les fonctions permettent d’assurer la [27]:
– découverte:comment identifier et localiser les services Web.
– description: comment exposer les fonctions des services Web.
– échange:comment échanger les messages entre les services Web.
Ces fonctions sont supportées par les normes suivantes [27]:
WSDL:
Cette norme est le résultat de la consolidation de NASL (Ariba), SCL (Microsoft) et SDL (IBM), est devenue un standard du W3C. WSDL (Web Service Description Language) est fondée sur XML [40]. Elle permet de spécifier le format des messages, les protocoles qui doivent être utilisés et la localisation des différentes machines qui mettent en œuvre un service Web. Elle définit un format de document quipermet de décrire l’interface d’un service Web. La récente version de WSDL est WSDL2.0 (recommandation de W3C en 2005) [41], dont nous présentons son méta-modèle dans la figureI.9 ci-après.
SOAP:
Le principal objectif du protocole SOAP est de permettre la normalisation des échanges de donnés. SOAP (Simple Object Access Protocol) est un standard du consortium W3C définissant un protocole indépendant du transport. Il assure l’interopérabilité entre composants en restant indépendant des plates formes et des langages de programmation. Il repose sur deux standards XML et HTTP respectivement pour la structure des messages et pour le transport.
Composition des services Web
La composition consiste à combiner les fonctionnali tés de plusieurs services Web au sein d’un même processus métier (ou business process) dans lebut de répondre à des demandes complexes qu’un seul service ne pourrait pas satisfaire [33] [34]. Ceci nous permet d’obtenir un ou des services Web dits ‘complexes’ modélisant un processus métier dans sa globalité plutôt qu’une de ses opérations [35]. Les langages de description de ces services Web complexes font apparaître plusieurs méthodes d’exécutions : orchestration (centralisée) ou chorégraphie.
Orchestration : un processus principal (service Web) prend le contrôle du déroulement de la composition et coordonne donc les différentes opérations des différents services Web [35]. Aucun service n’a connaissance de cette composition . L’orchestration est la méthode la plus utilisée en raison de sa simplicité.
Chorégraphie : Chaque service a une connaissance plus ou moins globale du processus métier dans lequel il se trouve. Chacun des service intervenant dans la composition sait exactement ce qu’il doit faire, quand il doit le faire et avec qui [35].
Plusieurs langages ont été développés pour répondreaux besoins de la composition : WSFL (Web Service Flow Language) [36], BPM (Business Process Modeling Language) [37], XLANG [38], et le récent langage est BPEL4WS (Business Process Entreprise Language for Web Services) [39] qui constitue une fusion de XLANG et WSFL et présente plusieurs avantages, il est basé sur XML, et supporte les protocoles standards des services Web.
Architecture guidée par les modèles
Le Model Driven Architecture (MDA) proposé par l’OMG (Object Management Group) est une approche qui propose un cadre méthodologique et Architectural de développement et d’intégration de systèmes qui assure la pérennisation des architectures métier de l’entreprise en les découplant des préoccupations technologiques.
Définition de MDA
MDA est une approche fondée sur la réalisation de modèles (représentations) de différents niveaux d’abstraction et offrant des règles de passage d’un niveau à l’autre. Il s’agit de modéliser pour réutiliser, et composer des modèlesentre eux, du niveau métier jusqu’au niveau technique, en misant sur L’interopérabilitédes modèles, sur leur indépendance entre les différents niveaux d’abstraction, et enfin, enapportant des solutions implémentées [27].
Modèles et niveau méta
Le MDA permet de séparer les spécifications fonctionnelles d’un système des spécifications de son implémentation sur une plate-forme donnée. Acette fin, elle définit une architecture de spécifications structurée en modèles du domaine (CIM : Computation Independent Model), en modèle indépendant des plates-formes (PIM : Platform Independent Model) et en modèles spécifiques (PSM : Platform Specific Model) [5] :
Modèle CIM : Le modèle CIM est un modèle conceptuel du domaine,dont le vocabulaire utilisé est celui du praticien du domaine. Il fait le pont entre les experts du domaine et les experts de la conception et construction des artéfacts qui satisfont les besoins du domaine. Ce modèle se définit suivant les exigences du client te représente l’application dans son environnement. Il ne contient pas d’informations sur la réalisation de l’application ni sur les traitements.
Modèle PIM : Le PIM de base représente uniquement les capacitésfonctionnelles métiers et le comportement du système, sans ‘’dégradations’’ par des considérations technologiques. La clarté de ce modèle doit permettre à des experts dudomaine de comprendre bien mieux qu’un modèle d’implémentation.
Modèle PSM : Une fois le PIM suffisamment détaillé, il est projeté vers un modèle spécifique (PSM). Pour obtenir un modèle spécifique, il faut hoisirc la ou les plates-formes d’exécution.
|
Table des matières
Introduction générale
a. Problématique et motivations
b. Contribution et objectifs
c. Organisation du document
Chapitre 1 : Caractéristiques des systèmes d’information coopératifs et interopérables
1.1. Introduction
1.2. Notion de système d’information d’entreprise
1.2.1. Définitions
1.2.1.1. Aspect organisationnel
1.2.1.2. Aspect systémique
1.2.2. Notion d’application d’entreprise
1.2.2.1.Définition
1.2.2.2.Classification des applications d’entreprise
1.2.2.3.Dimensions des applications d’entreprise
1.3. Coopération et interopérabilité des systèmes d’information
1.3.1. Définition des systèmes d’information coopératifs
1.3.2. Définitions de l’interopérabilité
1.3.3. Niveaux d’interopérabilité
1.3.3.1. Interopérabilité technique
1.3.3.2. Interopérabilité sémantique
1.3.3.3. Interopérabilité organisationnelle
1.4. Interopérabilité et intégration
1.5. Outils permettant l’interopérabilité technique
1.5.1. Intergiciels
1.5.1.1. Définition
1.5.1.2. Avantages des intergiciels
1.5.1.3. Typologie des intergiciels
1.5.2. Quelques notions sur les architectures orientées services
1.5.2.1. Définition
1.5.2.2. Définition du service
1.5.2.3. Notion de service métier
1.5.2.4. Différents types de service
1.5.2.5. Avantages des architectures orientées services
1.5.3. Description des services Web
1.5.3.1. Définition
1.5.3.2. Définition des rôles
1.5.3.3. Fonctions et normes de base des services Web
1.5.3.4. Composition des services Web
1.5.3.5. Bus de services d’entreprise
1.5.4. Architecture guidée par les modèles
1.5.4.1. Définition
1.5.4.2. Modèles et niveaux méta
1.5.4.3. Avantages des architectures guidées par les modèles
1.6. Synthèse de quelques travaux sur l’interopérabilité technique
1.7. Discussion
1.8. Conclusion
2. Chapitre 2 : Outils conceptuels et technologiques pour la mise en œuvre des mécanismes d’interopérabilité sémantique
2.1. Introduction
2.2. Notion de sémantique
2.2.1. Définition
2.2.2. Typologie des hétérogénéités sémantiques
2.2.3. Classification de la sémantique
2.2.4. Représentation de la sémantique
2.3. Apport des ontologies
2.3.1. Définitions
2.3.2. Rôle des ontologies
2.3.3. Structuration des ontologies
2.3.4. Classification d’ontologies
2.3.4.1. Classification selon le niveau de granularité
2.3.4.2. Classification selon le niveau de formalité
2.3.5. Méthodologies de construction d’ontologies
2.3.6. Langages de représentation et outils de développement des ontologies
2.3.6.1. Langages de représentation des ontologies
2.3.6.2. Outils de développement des ontologies
2.3.7. Approches d’utilisation des ontologies
2.3.7.1. Approche mono-ontologie
2.3.7.2. Approche multi-ontologie
2.3.7.3. Approche hybride
2.3.7.4. Evaluation des approches ontologiques
2.3.7.5. Approche de mapping d’ontologies
2.4. Classification des hétérogénéités des services web
2.4.1. Hétérogénéités des propriétés non fonctionnelles
2.4.2. Hétérogénéités des propriétés fonctionnelles
2.4.3. Hétérogénéités des données
2.5. Description sémantique de services web
2.5.1. Langages de description sémantique
2.5.2. Approches d’annotation des langages existant
2.6. Médiation des services Web
2.6.1. Définition
2.6.2. Classification de la médiation
2.7. Interopérabilité et intégration des services Web
2.7.1. Classification des approches d’intégration des services Web
2.7.2. Etude des travaux portant sur l’interopérabilité sémantique
2.7.3. Discussion
2.8. Conclusion
3. Chapitre 3 Une Architecture orientée services sémantiques pour l’interopérabilité des systèmes d’information
3.1. Introduction
3.2. Approche globale
3.3. Passage vers une architecture orientée services
3.3.1. Approche de construction de la SOA métier
3.3.2. Phase de construction des services métiers
3.3.3. Phase de construction des services applicatifs
3.3.4. Phase de publication
3.4. Construction de l’architecture sémantique
3.4.1. Construction du sous modèle sémantique des données (SMSD)
3.4.1.1. Notion de contexte et d’objet sémantique
3.4.1.2. Description du modèle sémantique des données
3.4.1.3. Approche de conception des ontologies
3.5. Mécanismes d’annotation sémantique
3.6. Architecture pour l’interopérabilité sémantique des services Web
3.6.1. Rôle du service Web broker
3.6.2. Publication sémantique
3.6.3. Découverte sémantique
3.6.4. Médiation sémantique
3.6.5. Exécution des services Web
3.7. Description de la médiation des services Web
3.7.1. Principe de médiation sémantique des données
3.7.2. Description de l’architecture de médiation
3.7.3. Fonctions de conversion et de transformation utilisées
3.8. Conclusion
4 . Chapitre 4 E t u d e d e c a s
4 . 1 . Introduction
4.2. Enoncé de l’étude de cas
4.3. Construction de l’architecture orientée services de l’entreprise SETA
4.3.1. Construction de la SOA applicative
4.3.2. Construction de la SOA métier
4.3.2.1. Définition des services fonctionnels
4.3.2.2. Définition des services métiers
4.3.3. Publication des services Web
4.3.4. Hétérogénéités sémantiques
4.4. Construction du modèle sémantique
4.4.1. Construction du sous modèle sémantique de données (SMSD)
4.4.2. Publication du modèle sémantique de données
4.5. Annotation des descriptions des services par le SMSD
4.6. Description de la médiation sémantique de données
4.7. Conclusion
Conclusion générale
Références bibliographiques
Télécharger le rapport complet