Caractéristiques des services Web
Les Services Web
De nos jours, les entreprises et les systèmes d’information expriment un grand besoin pour échanger des informations et des services. Ceci nécessite des langages communs de communication. Les efforts de standardisation de ces langages ont donne lieu a un nouveau domaine de recherche connu sous le nom de « protocoles B2B ». Une technologie émergeante dans ce domaine a permis de tracer quelques pistes intéressantes pour la communication entre entreprises. Cette technologie est celle de services Web. Les services Web sont un paradigme naissant qui vise à la transposition des architectures par composant dans le cadre du Web. Un service Web est un composant logiciel qui offre des services à travers une interface standardisé. La particularité des services Web est l’utilisation de la technologie Internet comme infrastructure pour la communication entre eux. Les fonctionnalités offertes par les services Web sont relativement simples, alors que les besoins des utilisateurs sont de plus en plus complexes, à tel point qu’un seul service Web ne peut pas les satisfaire. L’implication de la composition des services Web, dans le but de créer un nouveau service Web dit composite offre des nouvelles perspectives qui répondent aux exigences complexes des utilisateurs. Dans cette section, nous présenterons l’architecture orientée services et sa principale réalisation : les services Web. Nous donnons les définitions des services Web et décrivons brièvement leurs principaux standards et technologies. Enfin, nous abordons le concept de composition des services Web en explicitant les deux méthodes de composition : l’orchestration et la chorégraphie.
Architecture orientée services
Ces dernières années ont vu l’émergence d’architectures orientées services (SOA) conçues pour faciliter la création, l’exposition, l’interconnexion et la réutilisation d’applications à base de services. Plusieurs définitions attribués la notion d’architectures orientées services L’architecture orientée services [OASIS, 2006] « is a paradigm for organizing and utilizing distributed capabilities that may be under the control of different ownership domains » L’architecture orientée services [Eric et al., 2005] « SOA represents a model in which functionality is decomposed into small, distinct units (services), which can be distributed over a network and can be combined together and reused to create business applications. » L’architecture orientée services [Erl, 2005] « est une architecture logicielle visant à mettre en place un système d’information constitué de services applicatifs indépendants et interconnectés » L’architecture SOA permet la réutilisation des applications et des services existants, ainsi de nouveaux services peuvent être créés à partir d’une infrastructure informatique des systèmes déjà existante, en leur offrant une interopérabilité entre applications et technologies hétérogènes. L’objectif d’une architecture SOA est de décomposer une fonctionnalité en un ensemble de services et de décrire leurs interactions.
Dans une architecture SOA, comme le montre figure I.1, les fournisseurs de services publient (ou enregistrent) leurs services dans un annuaire de services (qui peut être publique ou local à un réseau d’entreprise par exemple). Cet annuaire est utilisé par les utilisateurs (i.e. les clients de services) pour trouver des services vérifiant certains critères ou correspondant à une certaine description. Si l’annuaire contient de tels services, il envoie au client les descriptions de ces services avec un contrat d’utilisation. Le client fait alors son choix, s’adresse au fournisseur et invoque le service Web.
SOAP
Les communications entre les différentes entités impliquées dans le dialogue avec le service web se font par l’intermédiaire du protocole SOAP (Simple Object Access Protocol). Ce protocole est normalisé par le W3C. Principe SOAP, est un standard du Consortium W3C définissant un protocole de transmission de messages permettant la normalisation des échanges de données. Il présente un ensemble de règles pour structurer des messages, qui peuvent être utilisées dans de simples transmissions unidirectionnelles, mais il est particulièrement utile pour exécuter des dialogues requête-réponse RPC (Remote Procedure Call) en utilisant http comme protocole de communication, mais aussi les protocoles SMTP (Simple Mail Transport Protocol) et POP (Post Office Protocol) [Mitra et al., 2003]. SOAP assure l’interopérabilité entre composants tout en restant indépendant des systèmes d’exploitation et des langages de programmation, donc, théoriquement, les clients et serveurs de ces dialogues peuvent fonctionner sur n’importe quelle plate-forme et être écrits dans n’importe quel langage à partir du moment où ils peuvent formuler et comprendre des messages SOAP. Il représente donc un composant de base pour développer des applications distribuées, qui exploitent des fonctionnalités publiées comme services par des intranets ou Internet. SOAP utilise principalement les deux standards HTTP et XML :
• HTTP comme protocole de transport des messages SOAP. Il constitue un bon moyen de transport en raison de sa popularité sur le web.
• XML pour structurer les requêtes et les réponses, indiquer les paramètres des méthodes, les valeurs de retours, et les éventuelles erreurs de traitements.
Structure du message SOAP Les messages échangés lors de l’utilisation du protocole SOAP sont basés sur le langage XML. Ils sont composés de deux parties, l’en-tête de protocole de transport et l’enveloppe SOAP (la Figure I.3).
Les ontologies L’utilisation de connaissances a pour but primordiale de permettre un dialogue, une coopération entre le système et les utilisateurs. Pour cela, le système doit avoir accès non seulement aux termes utilisés par l’être humain mais également à la sémantique qui leur est associée, afin qu’une communication efficace soit possible. En premier lieu, les ontologies sont devenues très populaires, en occupant une place de choix dans le domaine de l’ingénierie des connaissances et ont prouvé leur efficacité pour la représentation des connaissances. Dans le cadre de services Web, la technologie d’ontologie est utilisée pour décrire sémantiquement les services Web d’une part, et d’une autre part la représentation sémantique des données échangées entre les services Web est nécessaire pour les rendre explicites et compréhensibles par les machines. La combinaison des deux technologies, de services web et de l’ontologie a donné naissance de services Web sémantiques. Les services Web sémantiques sont des services Web simples enrichis par des descriptions supplémentaires définies dans des ontologies, explicites et compréhensibles par les machines. Les services Web sémantiques ont pour objectif de faciliter l’automatisation des taches issues des services Web telle que la découverte, la sélection, la composition et l’invocation de services Web. Dans ce chapitre nous nous intéressons aux ontologies et services Web sémantiques. Nous présentons dans ce chapitre les ontologies, les concepts de base liés aux ontologies, ainsi que leurs approches de construction, enfin une étude de services Web sémantique est effectuée.
Les ontologies constituent un enjeu stratégique dans la représentation et la modélisation des connaissances. Elles sont considérées comme un axe central pour diverses communautés particulièrement dans l’ingénierie des connaissances, la recherche d’information, le e-commerce et le web sémantique. Elles définissent les primitives indispensables pour la représentation des systèmes, ainsi que leur sémantique dans un contexte particulier. cette première partie du chapitre, nous nous attachons à décrire les différentes définitions du concept d’ontologie, ainsi que les différents éléments constituant l’ontologie. Un rapide aperçu des formalismes de représentation d’ontologies est ensuite donné. Puis, nous passons en revue les différentes étapes intervenant dans la construction des ontologies. Un résumé des principaux langages utilisés est présenté.
Le mot ontologie trouve sa racine du grec onto (le participe présent du verbe être) qui est l’étude de l’être en tant qu’être et logos qui signifie discours. Historiquement, l’ontologie est un concept philosophique. Il désigne la science de l’être en général. Plus tard, l’ontologie est apparue en pleine lumière dans le domaine de l’intelligence artificielle, afin de résoudre les problèmes de modélisation des connaissances. Ceci a engendré de nombreuses définitions dans la littérature. En résumé, Gruber [Gruber, 1993] introduit la notion d’ontologie comme « une spécification explicite d’une conceptualisation ». Cette définition a été légèrement modifiée par Borst [Borst, 1997]. Une combinaison des deux définitions peut être résumée ainsi : « une spécification explicite et formelle d’une conceptualisation partagée ». Cette définition s’explique ainsi [Studer, 1998] : explicite signifie que le « type des concepts et les contraintes sur leurs utilisations sont explicitement définies », formelle se réfère au fait que la spécification doit être lisible par une machine, partagée se rapporte à la notion selon laquelle une ontologie « capture la connaissance consensuelle, qui n’est pas propre à un individu mais validée par un groupe », conceptualisation se réfère à « un modèle abstrait d’un certain phénomène du monde reposant sur l’identification des concepts pertinents de ce phénomène ».
|
Table des matières
Liste des figures
Liste des tableaux
Liste d’abréviations
Introduction Générale
Chapitre I : Les Services Web
I.Introduction
II.Architecture orientée services
III. Services Web
III.1. Historique
III.2. Définition
III.3. Caractéristiques des services Web
III.4. Intérêt des services Web
III.5. Architecture des services Web
III.6. Standards de services Web
III.6.1. SOAP
III.6.2.UDDI
III.6.3.WSDL
IV.Quelques domaines d’application de services Web
V.Composition de services Web
V.1. Définition de composition de services Web
V.2. Les types de composition de services Web
VI.Avantages et inconvénients des services Web
VI.1.Avantages
VI.2. Inconvénients
VII. Conclusion
Chapitre II : Les ontologies
I.Introduction
II.Les ontologies
II.1. Définition d’ontologie
II.2. Eléments constitutifs de l’ontologie
II.2.1. Propriétés des concepts
II.2.2. Propriétés de relations
II.3. Typologie des ontologies
II.4. Construction des ontologies
II.4.1. Cycle de développement ontologique
II.4.2. Principes pour la construction des ontologies
II.4.3. Méthodologies de construction des ontologies
II.4.4. Formalismes de représentation des ontologies
II.4.5. Environnements et outils de développement d’ontologies
III. Services Web sémantiques
III.1. Définition de services Web sémantiques
III.2. Approches pour la réalisation des services Web sémantiques
III.2.1. OWL-S (Web Ontology Language for Services Web)
III.2.2.WSMO (Web Service Modeling Ontology)
III.2.3.WSDL-S (Web Service Description Language-Semantic)
III.2.4. SAWSDL (Semantic Annotations for WSDL and XML Schema)
III.3. Comparaison des approches
Conclusion
Chapitre III : Les techniques d’encodage d’ontologies
I.Introduction
II.Les méthodes d’encodage d’ontologies
II.1. Schéma d’étiquetage
II.2. Fermeture transitive et réflexive de la matrice d’adjacence
II.3. Encodage par vecteur de bit (Bit vector encoding)
III. Comparaison de méthodes d’encodage
Conclusion
Chapitre IV : Prototype
I.Introduction
II.Outils et environnement de développement
III. Présentation de la base
IV.Processus de développement logiciel
IV.1. Processus unifié
IV.2. Modélisation avec UML
IV.2.1. Diagramme de cas d’utilisation
IV.2.2. Diagramme de séquence
IV.2.3. Diagramme de classe
V.Les Algorithmes proposées
V.1. Fermeture transitive et réflexive de la matrice d’adjacence
V.2. Schéma d’étiquetage
VII.Présentation de l’IHM
VII. Expérimentations
VIII. Conclusion
Conclusion Générale
Références bibliographiques
Télécharger le rapport complet