FR2852121A1 - Procede de creation d'un document de description en langage de balisage d'un service global fourni sur un chemin de communication - Google Patents
Procede de creation d'un document de description en langage de balisage d'un service global fourni sur un chemin de communication Download PDFInfo
- Publication number
- FR2852121A1 FR2852121A1 FR0302578A FR0302578A FR2852121A1 FR 2852121 A1 FR2852121 A1 FR 2852121A1 FR 0302578 A FR0302578 A FR 0302578A FR 0302578 A FR0302578 A FR 0302578A FR 2852121 A1 FR2852121 A1 FR 2852121A1
- Authority
- FR
- France
- Prior art keywords
- blocks
- node
- communication path
- intermediate node
- received
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/133—Protocols for remote procedure calls [RPC]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Document Processing Apparatus (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Un procédé de création d'un document de description en langage de balisage d'un service global fourni par au moins deux noeuds successifs d'un chemin de communication du réseau de communication, à partir des documents de description d'un service unitaire fourni par chacun desdits noeuds du chemin de communication, chaque document de description d'un service unitaire fourni par un noeud comprenant une liste de blocs reçus par ledit noeud lors de la mise en oeuvre dudit service unitaire, comprend une étape de détermination (E306) d'un ensemble de blocs comprenant l'union des blocs reçus par chaque noeud du chemin de communication lors de la mise en oeuvre du service global ; une étape d'inscription (E305, E307, E308) d'une première balise incluant ladite union des blocs reçus ; une étape de détermination (E314-E316, E318) pour chaque noeud du ou des traitements associés respectivement aux blocs de ladite union des blocs reçus ; et une étape d'inscription (E317, E319) d'une seconde balise spécifiant le ou les traitements associés auxdits blocs à chaque noeud du chemin de communication.Utilisation pour décrire un service global sur un chemin de communication d'un réseau.
Description
i
La présente invention concerne un procédé de création d'un document en langage de balisage d'un service global fourni par au moins deux noeuds successifs d'un chemin de communication d'un réseau de communication.
Elle concerne également un procédé d'identification des blocs à 10 inclure dans un message, un procédé de découverte d'un travail effectué par un noeud intermédiaire du réseau de communication et un procédé de découverte des blocs émis par un noeud intermédiaire du réseau de communication.
Elle concerne également un document de description en langage de balisage d'un service global fourni par au moins deux noeuds successifs d'un 15 chemin de communication d'un réseau de communication.
Enfin, elle concerne un procédé de création d'un document de description en langage de balisage d'un service partiel fourni par un noeud intermédiaire d'un chemin de communication.
Au sein d'un réseau de communication informatique du type Internet, 20 des ordinateurs-serveurs offrent de plus en plus souvent des services à d'autres ordinateurs, appelés ordinateurs-clients, de ce réseau de communication.
En pratique, l'ordinateur-client envoie un message comprenant des données à l'ordinateur-serveur qui traite ces données et retourne un résultat.
De tels services sont appelés services-Web.
Du fait de l'augmentation de ces services disponibles sur un réseau de communication, les protocoles d'échanges de données entre des ordinateurs sont fréquemment standardisés.
Ainsi, le protocole SOAP est un protocole permettant d'échanger des informations structurées au-dessus du réseau Internet.
Selon ce protocole SOAP, les informations échangées sont structurées au moyen de balises XML (acronyme du terme anglais "eXtended Mark-up Langage").
SOAP est un protocole de communication qui permet d'accéder ainsi à des services distants.
Cette norme SOAP définit la structure générale des messages échangés ainsi que des traitements devant être réalisés par un ordinateur envoyant ou recevant des messages SOAP.
Un message SOAP est composé d'un ou plusieurs blocs, répartis en deux grandes catégories: les blocs d'en-têtes (en anglais "header"), encapsulés dans une balise <header>, et des blocs de corps (en anglais "body"), encapsulés dans une balise <body>.
Ces blocs sont destinés soit à un récepteur final, par exemple un serveur fournissant un service, soit à l'un des noeuds intermédiaires du réseau de communication disposés sur un chemin de communication lors du transfert du message de l'émetteur au récepteur.
Chaque bloc est adressé à un noeud du réseau au moyen d'un 15 attribut "ROLE" qui peut ainsi être spécifié indépendamment pour chaque bloc du message.
La valeur de cet attribut est soit l'adresse électronique de l'intermédiaire (exemple: http://example.org/intermedl), soit encore la définition du rôle joué par cet intermédiaire (par exemple "cash manager") .
On connaît par ailleurs un langage de description d'un service informatique WSDL (acronyme du terme anglais "Web Service Description Langage") qui permet de décrire des services Internet, et notamment des services définis par la norme SOAP.
Un document WSDL contient ainsi la liste des services offerts par un 25 ordinateur-serveur d'un réseau de communication.
Ce langage WSDL est lui-même une application du langage de balisage XML.
On trouvera une description du langage WSDL 1.1 sur le site informatique à l'adresse http://www.w3.orW/TR/2001/NOTE-wsdl-20010315.
En pratique, un document électronique de description d'un service en langage WSDL comporte deux parties.
Une première partie, appelée "partie abstraite", est adaptée à décrire les messages échangés entre ordinateurs du réseau de communication lors de la fourniture d'un service.
En particulier, cette première partie permet de définir le type de 5 données échangées, le type de messages utilisés lors de l'exécution du service, ainsi que les opérations mises en oeuvre, définies par les messages qui sont échangés lors de l'exécution du service.
Une opération peut donc être vue comme un service élémentaire, luimême implémenté par un ou plusieurs messages suivant une suite logique 10 d'organisation des messages.
Le document de description d'un service WSDL comporte également une seconde partie adaptée à définir des informations relatives à la transmission des messages sur le réseau de communication.
Elle permet d'indiquer en particulier comment les messages sont 15 encodés pour être transmis sur le réseau et quel protocole de communication est effectivement utilisé.
La figure la représente ainsi un schéma classique d'utilisation d'un document WSDL, en l'absence d'intermédiaire entre un ordinateur-client et un ordinateur-serveur du réseau de communication.
L'ordinateur-client dialogue ainsi avec l'ordinateur-serveur par le biais de requêtes et de réponses.
Le type et le contenu de ces messages, et l'ordre de leurs échanges sont décrits dans un unique fichier WSDL mémorisé au niveau de l'ordinateurserveur.
Or, de manière classique, dans un réseau de communication, les messages sont destinés à transiter sur un chemin de communication comprenant plusieurs noeuds successifs permettant de relayer les messages de l'ordinateur-client jusqu'à l'ordinateur-serveur et vice-versa.
La figure 1 b représente ainsi un schéma classique d'un tel réseau de 30 communication, dans lequel deux ordinateurs intermédiaires Il et 12, adaptés à modifier les messages émis par l'ordinateur-client et l'ordinateur-serveur sont disposés sur le chemin de communication entre l'ordinateur-client et l'ordinateur-serveur.
Dans l'état actuel de la technique, trois documents de description d'un service WSDL1, WSDL2 et WSDL3 sont nécessaires pour décrire les 5 services fournis de manière unitaire par l'ordinateur-serveur R et les noeuds intermédiaires Il et 12.
Dans une telle situation, chaque document de description d'un service unitaire WSDL1, WSDL2 et WSDL3 comprend la liste des blocs reçus par chaque noeud 11, 12, S lors de la mise en oeuvre du service unitaire, comme 10 si chaque noeud fournissait un service indépendant.
La présente invention a pour but de résoudre les inconvénients précités et de proposer un document de description de services amélioré.
La présente invention vise selon un premier aspect un procédé de création d'un document de description en langage de balisage d'un service 15 global fourni par au moins deux noeuds successifs d'un chemin de communication du réseau de communication, à partir des documents de description d'un service unitaire fourni par chacun desdits noeuds du chemin de communication, chaque document de description d'un service unitaire fourni par un noeud comprenant une liste de blocs reçus par ledit noeud lors de la mise en 20 oeuvre dudit service unitaire.
Selon l'invention, ce procédé de création comprend les étapes suivantes: détermination d'un ensemble de blocs comprenant l'union des blocs reçus par chaque noeud du chemin de communication lors de la mise en 25 oeuvre du service global; - inscription d'une première balise incluant ladite union des blocs reçus; - détermination pour chaque noeud du ou des traitements associés respectivement aux blocs de ladite union des blocs reçus; et - inscription d'une seconde balise spécifiant le ou les traitements associés auxdits blocs à chaque noeud du chemin de communication.
Il est ainsi possible de créer à partir des documents de description de service unitaire fourni par chaque noeud d'un réseau de communication, un unique document permettant de décrire de manière fictive un service global fourni sur le réseau de communication, en regroupant l'ensemble des blocs transitant sur un chemin de communication lors de l'exécution du service.
Selon une caractéristique préférée de l'invention, l'étape de détermination du ou des traitements comprend pour chaque noeud du chemin de communication les étapes suivantes: - lecture de la liste des blocs reçus par ledit noeud à partir du 10 document de description d'un service unitaire associé audit noeud; - calcul d'un sous-ensemble de blocs comprenant l'union des blocs reçus par les noeuds suivant ledit noeud dans le chemin de communication; et - identification des blocs de ladite liste n'appartenant pas audit 15 sous-ensemble de blocs de manière à déterminer les blocs consommés par ledit noeud.
Parmi les traitements pouvant être mis en oeuvre au niveau d'un noeud de communication, il est possible d'identifier et d'inscrire dans le document de description d'un service global conforme à l'invention l'ensemble 20 des blocs consommés par chaque noeud du chemin de communication.
Selon une autre caractéristique préférée de l'invention, l'étape de détermination du ou des traitements comprend, pour chaque noeud du chemin de communication, les étapes suivantes: - lecture de la liste des blocs reçus par ledit noeud à partir du 25 document de description d'un service unitaire associé audit noeud; - calcul d'un sous-ensemble de blocs comprenant l'union des blocs reçus par les noeuds suivant ledit noeud dans le chemin de communication; et - identification des blocs dudit sous-ensemble de blocs 30 n'appartenant pas à ladite liste des blocs reçus par ledit noeud de manière à déterminer les blocs produits par ledit noeud du chemin de communication.
Comme précédemment, il est possible d'identifier et d'inscrire dans le document de description d'un service global conforme à l'invention l'ensemble des blocs produits par chaque noeud du chemin de communication.
De préférence, la seconde balise est adaptée à spécifier un 5 traitement choisi parmi la production d'un bloc, la consommation d'un bloc ou la transformation d'un bloc d'un message transitant sur le chemin de communication.
En pratique, lorsque le service global fourni comporte plusieurs messages transitant sur le chemin de communication, le procédé de création 10 d'un document de description d'un service global comprend, pour chaque message décrit dans le document, une étape d'inscription d'une première balise incluant l'union des blocs reçus lors du transfert dudit message et une étape d'inscription d'une seconde balise spécifiant le ou les traitements associés auxdits blocs de ladite union à chaque noeud du chemin de communication.
Afin d'associer, pour chaque message du service global, la description des blocs et les traitements associés, la seconde balise est associée à une référence identifiant ladite première balise pour chaque message décrit dans le document de description en langage de balisage.
Selon un autre aspect de l'invention, elle concerne un procédé 20 d'identification des blocs à inclure dans un message destiné à transiter sur un chemin de communication comprenant au moins deux noeuds successifs du réseau de communication, à partir d'un document de description d'un service global fourni sur ledit chemin de communication.
Selon l'invention, ce procédé d'identification des blocs comprend les 25 étapes suivantes: - détermination de l'ensemble des blocs consommés par chaque noeud du chemin de communication; - détermination de l'ensemble des blocs produits par chaque noeud du chemin de communication; et identification des blocs dudit ensemble de blocs consommés n'appartenant pas audit ensemble de blocs produits de manière à déterminer les blocs à inscrire dans le message.
Grâce au document de description d'un service global conforme à l'invention, il est possible d'identifier au niveau d'un ordinateurclient les blocs devant être émis dans un message à destination d'un ordinateur-serveur lorsque ce message est destiné à transiter sur plusieurs noeuds intermédiaires du réseau de communication.
Selon un troisième aspect de l'invention, elle concerne un procédé de découverte d'un travail effectué par un noeud d'un chemin de communication d'un réseau de communication, à partir d'un document de description d'un service global fourni sur ledit chemin de communication.
Ce procédé de découverte d'un travail comprend les étapes suivantes: lecture pour ledit noeud du ou des traitements et desdits blocs associés à ces traitements spécifiés dans une balise du document de
description d'un service global;
- lecture de la définition desdits blocs lus spécifiés dans une autre balise du document de description d'un service global; et - fourniture d'une réponse incluant la liste des blocs lus associés respectivement auxdites définitions.
Il est ainsi possible au niveau de chaque noeud d'un réseau de 20 communication d'afficher le travail réalisé par ce noeud, lors de la mise en oeuvre d'un service global sur le réseau de communication.
Selon un quatrième aspect de l'invention, elle concerne un procédé d'identification des blocs émis par un noeud intermédiaire d'un chemin de communication d'un réseau de communication, à partir d'un document de 25 description d'un service global fourni sur ledit chemin de communication.
Ce procédé d'identification des blocs émis par un noeud intermédiaire comprend les étapes suivantes: - détermination des blocs émis par un émetteur selon le procédé d'identification des blocs à inclure dans message conforme au second aspect 30 de la présente invention; détermination de l'ensemble des blocs produit par des noeuds antérieurs audit noeud intermédiaire sur le chemin de communication; - détermination de l'ensemble des blocs consommés par lesdits noeuds antérieurs audit noeud intermédiaire sur le chemin de communication; - détermination desdits blocs produits par ledit noeud intermédiaire du chemin de communication; - détermination desdits blocs consommés par ledit noeud intermédiaire du chemin de communication; et - identification des blocs appartenant à un premier ensemble regroupant les blocs émis par l'émetteur, les blocs produits par lesdits noeuds antérieurs, et les blocs produits par ledit noeud intermédiaire, et n'appartenant 10 pas à un second ensemble regroupant les blocs consommés par lesdits noeuds antérieurs et les blocs consommés par ledit noeud intermédiaire, de manière à déterminer les blocs émis par ledit noeud intermédiaire.
Selon un cinquième aspect, l'invention concerne un document de description en langage de balisage d'un service global fourni par au moins deux 15 noeuds successifs d'un chemin de communication du réseau de communication.
Selon l'invention, ce document de description en langage de balisage d'un service global comprend une première balise comprenant l'union des blocs reçus par chaque noeud et une seconde balise spécifiant respectivement pour lesdits blocs, le ou les traitements mis en oeuvre et l'identification dudit noeud du 20 chemin de communication adapté à traiter ledit bloc.
Selon une caractéristique préférée, le traitement est choisi parmi la production d'un bloc, la consommation d'un bloc ou la transformation d'un bloc d'un message transitant sur le chemin de communication.
Ce document de description conforme à l'invention permet ainsi de 25 décrire les traitements mis en oeuvre selon la norme SOAP par les différents noeuds d'un réseau de communication.
Selon une caractéristique avantageuse de l'invention, la seconde balise est associée à une référence identifiant une première balise, de telle sorte que pour chaque message décrit dans ce document de description, la 30 première balise, décrivant de manière abstraite les blocs échangés lors du transfert d'un message sur le réseau de communication, puisse être associée à une seconde balise définissant les traitements et le lieu de ces traitements pour chacun des blocs du message.
Ce document de description conforme à l'invention est ainsi présenté dans un format du type WSDL et correspond ainsi à un document de
description d'un service WSDL amélioré.
Selon un sixième aspect, l'invention concerne également un procédé de création d'un document de description en langage de balisage d'un service partiel fourni par un noeud intermédiaire d'un chemin de communication d'un réseau de communication lors de la mise en oeuvre d'un service global fourni 10 par au moins deux noeuds successifs dudit chemin de communication, à partir des documents de description d'un service unitaire fourni par chaque noeud du chemin de communication, chaque document de description d'un service unitaire fourni par un noeud comprenant une liste de blocs reçus par ledit noeud lors de la mise en oeuvre dudit service unitaire.
Ce procédé de création d'un document de description en langage balisage d'un service partiel comprend les étapes suivantes: - lecture de la liste des blocs reçus par ledit noeud intermédiaire à partir du document de description d'un service unitaire associé audit noeud intermédiaire; calcul d'un sous-ensemble de blocs comprenant l'union des blocs reçus par les noeuds suivant ledit noeud intermédiaire dans le chemin de communication; - identification des blocs de ladite liste des blocs reçus par ledit noeud intermédiaire n'appartenant pas audit sous-ensemble de blocs de 25 manière à déterminer les blocs consommés par ledit noeud intermédiaire; et - inscription d'une première balise incluant lesdits blocs consommés par ledit noeud intermédiaire.
Selon une variante de ce sixième aspect de l'invention, ce procédé de création d'un document comprend en outre les étapes suivantes: identification des blocs dudit sous-ensemble de blocs n'appartenant pas à ladite liste des blocs reçus par ledit noeud intermédiaire de manière à déterminer les blocs produits par ledit noeud intermédiaire du chemin de communication; et - inscription d'une seconde balise incluant lesdits blocs produits par ledit noeud intermédiaire.
Corrélativement, la présente invention concerne un dispositif de création d'un document de description en langage de balisage d'un service global fourni par au moins deux noeuds successifs d'un chemin de communication du réseau de communication, à partir des documents de description d'un service unitaire fourni par chacun desdits noeuds du chemin de 10 communication, chaque document de description d'un service unitaire fourni par un noeud comprenant une liste de blocs reçus par ledit noeud lors de la mise en oeuvre dudit service unitaire comprenant: - des moyens de détermination d'un ensemble de blocs comprenant l'union des blocs reçus par chaque noeud du chemin de 15 communication lors de la mise en oeuvre du service global; - des moyens d'inscription d'une première balise incluant ladite union des blocs reçus; - des moyens de détermination pour chaque noeud du ou des traitements associés respectivement aux blocs de ladite union des blocs reçus; 20 et - des moyens d'inscription d'une seconde balise spécifiant le ou les traitements associés auxdits blocs à chaque noeud du chemin de communication.
La présente invention concerne également un dispositif 25 d'identification des blocs à inclure dans un message destiné à transiter sur un chemin de communication comprenant au moins deux noeuds successifs du réseau de communication, à partir d'un document de description d'un service global fourni sur ledit chemin de communication, comprenant: - des moyens de détermination de l'ensemble des blocs 30 consommés par chaque noeud du chemin de communication; - des moyens de détermination de l'ensemble des blocs produits par chaque noeud du chemin de communication; et il - des moyens d'identification des blocs dudit ensemble de blocs consommés n'appartenant pas audit ensemble de blocs produits de manière à déterminer les blocs à inscrire dans le message.
L'invention concerne en outre un dispositif de découverte d'un travail 5 effectué par un noeud d'un chemin de communication d'un réseau de communication, à partir d'un document de description d'un service global fourni sur ledit chemin de communication, comprenant: - des moyens de lecture pour ledit noeud du ou des traitements et desdits blocs associés à ces traitements spécifiés dans une balise du document 10 de description d'un service global; - des moyens de lecture de la définition desdits blocs lus spécifiés dans une autre balise du document de description d'un service global; et - des moyens de fourniture d'une réponse incluant la liste des blocs lus associés audite définition.
Elle concerne en outre un dispositif d'identification des blocs par un noeud intermédiaire d'un chemin de communication d'un réseau de communication, à partir d'un document de description d'un service global fourni sur ledit chemin de communication, comprenant: - des moyens de détermination des blocs émis par un émetteur 20 selon le procédé d'identification des blocs à inclure dans un message conforme au second aspect de l'invention; - des moyens de détermination de l'ensemble des blocs produit par des noeuds antérieurs audit noeud intermédiaire sur le chemin de communication; - des moyens de détermination de l'ensemble des blocs consommé par lesdits noeuds antérieurs audit noeud intermédiaire sur le chemin de communication; - des moyens de détermination desdits blocs produits par ledit noeud intermédiaire du chemin de communication; - des moyens de détermination desdits blocs consommés par ledit noeud intermédiaire du chemin de communication; et - des moyens d'identification des blocs appartenant à un premier ensemble regroupant les blocs émis par l'émetteur, les blocs produits par lesdits noeuds antérieurs et les blocs produits par ledit noeud intermédiaire, et n'appartenant pas à un second ensemble regroupant les blocs consommés par 5 lesdits noeuds antérieurs et les blocs consommés par ledit noeud intermédiaire, de manière à déterminer les blocs émis par ledit noeud intermédiaire.
Enfin, la présente invention concerne selon un autre mode de réalisation un dispositif de création d'un document de description en langage de balisage d'un service partiel fourni par un noeud intermédiaire d'un chemin de 10 communication d'un réseau de communication lors de la mise en oeuvre d'un service global fourni par au moins deux noeuds successifs dudit chemin de communication, à partir des documents de description d'un service unitaire fourni par chaque noeud du chemin de communication, chaque document de description d'un service unitaire fourni par un noeud comprenant une liste de 15 blocs reçus par ledit noeud lors de la mise en oeuvre dudit service unitaire, comprenant: - des moyens de lecture de la liste des blocs reçus par ledit noeud intermédiaire à partir du document de description d'un service unitaire associé audit noeud intermédiaire; des moyens de calcul d'un sous-ensemble de blocs comprenant l'union des blocs reçus par les noeuds suivant ledit noeud intermédiaire dans le chemin de communication; - des moyens d'identification des blocs de ladite liste des blocs reçus par ledit noeud intermédiaire n'appartenant pas audit sous-ensemble de 25 blocs de manière à déterminer les blocs consommés par ledit noeud intermédiaire; et - des moyens d'inscription d'une première balise incluant lesdits blocs consommés par ledit noeud intermédiaire.
Ces dispositifs de création, ce dispositif d'identification des blocs à 30 inclure dans un message ou émis par un noeud intermédiaire, et ce dispositif de découverte d'un travail effectué par un noeud intermédiaire présentent des caractéristiques et avantages analogues à ceux des procédés qu'ils mettent en oeuvre.
La présente invention concerne également un ordinateur-serveur d'un réseau de communication comprenant des moyens adaptés à mettre en 5 oeuvre un procédé de création d'un document conforme au premier aspect ou au sixième aspect de la présente invention.
Elle concerne également un ordinateur-client d'un réseau de communication comprenant des moyens adaptés à mettre oeuvre le procédé d'identification des blocs à inclure dans un message conforme à un second 10 aspect de l'invention.
Plus généralement, elle concerne un réseau de communication adapté à mettre en oeuvre les procédés décrits ci-dessus selon les différents aspects de l'invention.
Elle concerne également un moyen de stockage d'informations, 15 éventuellement totalement ou partiellement amovible, lisible par un système informatique, comprenant des instructions pour un programme informatique adapté à mettre en oeuvre les procédés décrits précédemment selon les différents aspects de la présente invention, lorsque ce programme est chargé et exécuté par le système informatique.
Enfin, elle concerne un programme d'ordinateur lisible par un microprocesseur, comprenant des portions de codes logiciels adaptées à mettre en oeuvre les procédés décrits précédemment pour les différents aspects de la présente invention, lorsque ce programme d'ordinateur est chargé et exécuté par le microprocesseur.
Ces ordinateur-serveur, ordinateur-client, réseau de communication, moyen de stockage d'informations et programme d'ordinateur présentent des caractéristiques et avantages analogues à ceux des procédés qu'ils mettent en oeuvre.
D'autres particularités et avantages de l'invention apparaîtront 30 encore dans la description ci-après.
Aux dessins annexés donnés à titre d'exemple non limitatif: - les figures la et lb illustrent l'état de la technique antérieur décrit précédemment; - la figure lc est un schéma illustrant le principe d'un document de description en langage de balisage d'un service global conforme à un premier mode de réalisation de l'invention; - la figure Id illustre le principe d'un document de description en langage de balisage d'un service partiel conforme à un deuxième mode de réalisation de l'invention; - les figures 2a et 2b illustrent un cas pratique de transfert de 10 messages sur un chemin de communication d'un réseau de communication; - la figure 3 illustre un procédé de création d'un document de description en langage de balisage d'un service global conforme à un mode de réalisation de l'invention; - la figure 4 illustre un procédé d'identification des blocs à inclure 15 dans un message conforme à un mode de réalisation de l'invention; - la figure 5 est un algorithme illustrant un procédé de découverte d'un travail effectué par un noeud conforme à un mode de réalisation de l'invention; - la figure 6 est un algorithme illustrant un procédé de découverte 20 de blocs émis par un noeud intermédiaire conforme à un mode de réalisation de l'invention; - la figure 7 est un algorithme illustrant un procédé de création d'un document de description en langage de balisage d'un service partiel fourni par un intermédiaire conforme à un mode de réalisation de l'invention; et - la figure 8 est un schéma bloc illustrant un dispositif adapté à mettre en oeuvre la présente invention.
On va décrire tout d'abord en référence aux figures lc et Id le principe général de la présente invention.
On se place dans le cas particulier o un service global fourni sur le 30 réseau de communication à un client C est mis en oeuvre sur un chemin de communication comprenant plusieurs intermédiaires, ici deux intermédiaires Il et 12, permettant de relayer les messages entre le client C et un serveur S fournissant le service principal.
Grâce à l'invention, un document de description en langage de balisage du service global est capable de décrire les traitements effectués par les différents noeuds 11, 12 et S du réseau de communication.
Ce service global, correspondant à la combinaison des services partiels fournis par chacun des noeuds 11, 12 et S est décrit dans un unique document WSDL, mémorisé au niveau du serveur S. Dans le mode de réalisation décrit à la figure lc, un unique 10 document WSDL est mémoriséau niveau du serveur.
En variante, ce document global peut être scindé en plusieurs parties, une partie principale décrivant le service fourni par le serveur S étant mémorisée au niveau du serveur S et des documents de description d'un service partiel WSDL' et WSDL", permettant respectivement de décrire des 15 services fournis par les intermédiaires Il, 12, sont mémorisés respectivement au niveau des noeuds intermédiaires Il et 12.
De manière générale, les documents de description en langage de balisage conformes à l'invention correspondent à des documents du type WSDL, dont la structure à été modifiée, notamment au niveau du contenu et de 20 la sémantique de la balise <message> et par l'ajout d'une balise <messagePath>.
Comme illustré sur la figure lb illustrant l'état de la technique antérieur, lors de l'exécution d'un service par le serveur S à destination du client C par l'intermédiaire des noeuds Il et 12, plusieurs messages individuels rl, rn', 25 rn" sont échangés sur réseau de communication, de noeud en noeud sur le chemin de communication s'étendant entre le client C et le serveur S. Ces messages sont en réalité plusieurs variantes dans le temps d'un même message, ce message étant successivement modifié par les différents noeuds du chemin de communication.
Ainsi, comme illustré à la figure lb, le client C émet un premier message rn à destination du serveur S. Un premier noeud intermédiaire Il reçoit ce message rn le modifie puis retransmet ce message modifié rn' à un second noeud intermédiaire 12. Celui-ci reçoit ce message modifié r' et le modifie à son tour avant de retransmettre un message rn" au serveur S. Ainsi, le message rn a connu trois états différents, avec des modifications de blocs.
Dans la suite, on considère qu'un intermédiaire du réseau de communication peut effectuer différents traitements sur les blocs d'un message construit selon la norme SOAP.
En particulier, un noeud du réseau peut modifier les blocs qui lui sont destinés, les traiter et éventuellement générer de nouveaux blocs.
Les blocs consommés (en anglais "consumed") sont retirés définitivement du message transmis; les blocs produits (en anglais "produced") sont ajoutés au message transmis; et éventuellement des blocs transformés (en anglais "transformed") sont effacés puis réinserrés dans le message transmis. Ces blocs transformés sont par exemple des blocs encryptés par un 15 noeud intermédiaire du réseau de communication.
On notera dans la suite de la description que ces blocs transformés peuvent également être vus au niveau d'un noeud comme équivalents à un bloc consommé par le noeud et à un nouveau bloc produit par ce noeud dans le message transitant sur le réseau de communication.
Ainsi, en se reportant à la figure lb, le message rn a connu sur le chemin de communication différents états, avec des suppressions, ajouts et transformations des blocs.
A titre d'exemple, on peut considérer le message tel qu'illustré dans l'exemple de la figure 2a.
Le message initial rn comprend trois blocs, Bi, B2, et B3. Le noeud intermédiaire Il consomme le bloc BI et produit un nouveau bloc B4 qui est ajouté au message r' qui se trouve alors contenir les blocs B2, B3, B4.
Le noeud intermédiaire 12 recevant le message modifié ni' consomme également le bloc B2 et transforme le bloc reçu B3 en un nouveau bloc B3'.
Le message reçu par le serveur S comprend alors les blocs B3' et B4 qui sont consommés au niveau du serveur.
Selon l'état de technique actuel, la norme WSDL prévoit un document de description d'un service WSDL1, WSDL2, WSDL3 associé à chaque noeud du réseau de communication, et adapté à lister dans sa balise <message> l'ensemble des blocs qui sont reçus par ce noeud.
Ainsi en particulier, cette balise <message> liste les blocs qui sont reçus par les noeuds intermédiaires Il, 12 ainsi que les blocs qui sont reçus et consommés par le serveur S. On donne ci-après un exemple du contenu de la balise <message> d'un document WSDL1 au format de la norme WSDL actuelle: 10...
<message name="req-in"> <part name="Bl"/> <part name="B2"/> <part name="B3"/> 15 </message> <message name="req-out"> <part name="B2"/> <part name="B3"/> <part name="B4"/> 20 </message> <message name="resp-in"> <part name="B5"/> </message> <message name="resp-out"> 25 <part name="B5"/> </message> <operation name="request"> <input ref="req-in"/> <output ref="req-out"/> 30 </operation> <operation name="response"> <input ref="resp-in"/> <output ref="resp-out"/> </operation> 35...
On indique ainsi ci-dessus que deux messages vont transiter sur le réseau, I'un entre le client C et le noeud intermédiaire Il ("req-in"), I'autre entre les noeuds intermédiaires Il et 12 ("req-out"). Il s'agit ainsi de la requête relayée par l'intermédiaire I1.
Puis deux autres messages vont transiter sur le réseau, I'un entre les intermédiaires 12 et Il ("resp-in"), I'autre entre le noeud intermédiaire Il et le client ("resp-out"). Il s'agit ainsi de la réponse relayée par le noeud intermédiaire il.
La réponse peut consister comme dans cet exemple en un unique bloc B5.
Un tel document de description d'un service au niveau du document intermédiaire Il ne permet pas d'indiquer un lien existant entre les deux messages de requête et les deux messages de réponse.
Selon la présente invention, on considère comme illustré à la figure lc que l'ensemble des noeuds intermédiaires Il, 12 et du serveur S sur le 10 chemin de communication fournissent un service global décrit dans un
document de description d'un service unique WSDL.
Ce document de description d'un service comprend tout d'abord dans une première balise <message> l'union des blocs reçus par chaque noeud du chemin de communication.
Ainsi, cette balise <message> contient l'ensemble des blocs contenus à un moment donné dans un même message circulant sur le chemin de communication, c'est-à-dire la liste complète des blocs produits, consommés ou transformés par un quelconque des noeuds du chemin de communication, indépendamment du noeud auquel est destiné ce bloc.
Ainsi, cela revient à considérer non pas chaque message individuellement mais l'union des messages individuels d'une même opération.
Ainsi, la présente invention consiste à considérer qu'il n'y a eu qu'un seul message RI (voir figure 2b), correspondant à la combinaison de tous les autres messages rl, rn' et rn" c'est-à-dire un message contenant la liste de tous 25 les blocs apparus dans l'un ou l'autre des messages rn, rn' ou r ".
Comme illustré à la figure 2b; le message combiné RI comprend dans l'exemple précédent illustré à la figure 2a, quatre blocs BI, B2, B3 et B4.
Cette partie du document de description WSDL amélioré correspond
à l'exemple suivant:
<message> <part name="B1"1> <part name="B2"/> <part name="B3"/> <part name="B4"I> </message> On notera qu'on décrit ci-dessus un message virtuel qui n'existe à aucun moment sur le réseau.
Il est intéressant de noter que le document de description d'un 5 service classique WSDL permettant de décrire le service fourni par le serveur S eut été le suivant en l'absence de l'invention <message> <part name="B3"/> <part name="B4"I> </message> En effet, on aurait ainsi simplement décrit le service fourni par le serveur S, sans référencer les services fournis sur le chemin de communication par les noeuds intermédiaires Il et 12.
Le document de description d'un service amélioré WSDL permet en 15 particulier à un ordinateur-client de connaître à partir du document WSDL les blocs, ici BI, B2 et B3 qui doivent être intégrés à un message à destination de l'ordinateur-serveur S. En l'absence de la présente invention, l'ordinateur-client aurait cru à la lecture du document WSDL classique qu'il devait émettre des blocs B3 et B4. 20 On notera toutefois que cette première balise comprenant l'union des blocs reçus par chaque noeud du chemin de communication n'est pas suffisante pour décrire intégralement le service fourni.
Il est en effet nécessaire d'indiquer quels noeuds du chemin de communication doivent produire, consommer, et éventuellement transformer tel 25 ou tel bloc du message.
A cet égard, le document de description en langage de balisage conforme à l'invention comprend une seconde balise, nommée <messagePath>, permettant de spécifier pour chaque bloc le ou les traitements mis en oeuvre et l'identification du noeud du chemin de communication adapté à 30 traiter ce bloc.
De préférence cette seconde balise, qui contient les informations d'adressage, est intégrée dans une partie concrète du document WSDL, adaptée à décrire les protocoles de communication utilisés par les messages décrits dans la partie abstraite du document.
Bien entendu, on pourrait éventuellement annoter les balises <part> de la première balise <message> directement dans la partie abstraite du document.
A titre d'exemple, le contenu de la balise <messagePath> 5 correspondant au message décrit précédemment peut se présenter de la manière suivante: <messagePath> <node> <address>11 </address> <consumes>B1 </consumes> <produces>B4</produces> <transforms></transforms> </node> <node> <address>12</address> <consumes>B2</consumes> <produces></produces> <transforms>B3</transforms> </node> <node> <add ress> R</add ress> <consumes>B3,B4</consumes> <produces></produces> <transforms></transforms> 25 </node> </message> Les traitements ainsi décrits dans cette seconde balise sont choisis parmi les traitements exécutables par les noeuds du réseau de communication selon la norme SOAP.
En particulier, le traitement peut correspondre à la production d'un bloc, à la consommation d'un bloc ou encore à la transformation d'un bloc d'un message transitant sur le chemin de communication.
La balise <messagePath> appartient conceptuellement à la section de couplage <binding> du document WSDL. Elle pourrait éventuellement être 35 rattachée à une section <service>.
Toutefois, dans un mode de réalisation préférentiel, il est intéressant d'intégrer cette balise <messagePath> directement à la suite de la section global <message>.
Il existe une section <message> par message transitant sur le réseau, une opération élémentaire correspondant en général à la combinaison de plusieurs messages.
Par conséquent, il y aura autant de sections <messagePath> que de sections <message>.
Pour cela, chaque section <messagePath> pointera vers la section <message> à laquelle elle s'applique.
De manière classique dans un langage de balisage XML, on associera à la seconde balise <messagePath> une référence, via un attribut 10 <ref> permettant d'identifier la première balise associée <message>.
L'exemple de présentation décrit ci-dessus pour le contenu de la seconde balise <messagePath> peut éventuellement être modifiée de la manière suivante: <messagePath> <part ref="Bl"> <consumed>l1 </consumed> </part> <part ref="B2"> <consumed>12</consumed> 20 </part> <part ref="B3"> <transformed>12</transformed> <consumed>R</consumed> </part> <part ref="B4"> <consumed>R</consumed> </part> </message> Ce type de présentation permet de décrire plus facilement les 30 traitements exécutés, sachant qu'un même noeud du réseau de communication peut mettre en oeuvre plusieurs traitements sur un message et que ces traitements pour un même noeud peuvent varier au cours du temps.
Il est ainsi préférable, contrairement à l'exemple précédent dans lequel pour chaque noeud, les traitements associés aux blocs traités sont 35 décrits, de décrire au contraire pour chaque bloc, les noeuds adaptés à réaliser un traitement de ce bloc..
On obtient ainsi dans un unique document de description d'un service la description d'un service global fourni sur le réseau de communication.
A titre de variante, et comme illustré sur la figure Id, ce fichier de description pourrait être scindé en plusieurs parties, une partie principale 5 adaptée à décrire le service fourni par l'ordinateur-serveur S, et une ou plusieurs parties secondaires décrivant les services partiels fournis par les noeuds intermédiaires.
Dans l'exemple précédent, il existe deux documents de description d'un service partiel WSDL' et WSDL", respectivement pour les noeuds 10 intermédiaires Il et 12.
Dans un tel cas, ce document de description d'un service conforme à l'invention permet de ne décrire que le travail effectué par le noeud intermédiaire.
En particulier, contrairement à l'état de la technique, et au document 15 WSDL1 décrit précédemment, les blocs qui sont simplement relayés par le noeud intermédiaire et ne sont pas traités au niveau du noeud ne sont pas décrits dans ce document de description d'un service partiel conforme à l'invention.
Ainsi, au niveau du premier noeud intermédiaire 11, la partie 20 <message> du document de description d'un service WSDL' se présenterait de la manière suivante: <message name="req-in"> <part name="BI"/> </message> <message name="req-out"> <part name="B4"/> </message> <message name="resp-in"> </message> <message name="resp-out"> </message> Alternativement, on peut se limiter à la description des messages d'entrée d'un noeud intermédiaire dès lors que la description des messages de sortie sera couverte par le document de description d'un service partiel WSDL d'un second intermédiaire 12 ou par la description d'un service global WSDL associé à l'ordinateur- serveur S. Le document de description d'un service partiel WSDL au niveau du noeud Il pourra ainsi se présenter de la manière suivante: <message name="req-in"> <part name="Bl"/> </message> <message name="resp-in"> </message> Par ailleurs, on introduit une balise <relay> au niveau de la balise <operation> pour indiquer que certains messages ne sont que relayés par l'intermédiaire.
En effet, un fichier WSDL se place impérativement du point de vue d'un fournisseur de service. La balise <input> indique donc les messages 15 provenant du client et la balise <output> les réponses retournées à ce client.
Ici, la balise <relay> indique la présence d'un troisième noeud distinct du client.
<operation name="request-response"> <input ref="req-in"/> <relay ref="resp-out"/> <relay ref="resp-in"/> <output ref="resp-out"/> </operation> Enfin, on remplace le nom de la balise <service> par <intermediary> 25 pour indiquer que la description est celle d'un intermédiaire, et donc ne liste pas l'ensemble des blocs relayés, mais uniquement ceux traités par l'intermédiaire.
De plus, on autorise la balise <soap:body> a être optionnelle au sein de la balise <soap:binding>, puisqu'en effet les intermédiaires ne traitent pas les blocs de corps.
En variante, on conserve la balise <service>, mais on remplace les balises <soap:binding> et <soap:header> par, respectivement, <soapintermediary:binding> et <soap-intermediary:header>, pour obtenir les mêmes effets que ci-dessus.
On va décrire à présent en référence à la figure 3 et selon un premier aspect de l'invention un procédé de création d'un document de description en langage de balisage d'un service global fourni tel que décrit précédemment.
Un tel procédé de création correspond à une combinaison judicieuse 5 des documents de description d'un service unitaire fourni par les différents noeuds sur le chemin de communication d'un réseau de communication.
Une étape d'acquisition E301 est adaptée tout d'abord à lire et mémoriser les documents de description d'un service unitaire fourni respectivement par les noeuds successifs d'un chemin de communication sur 10 lequel transitent les messages lors de la mise en oeuvre du service global.
On rappelle comme expliqué précédemment que chaque document de description d'un service unitaire fourni par un noeud comprend la liste des blocs reçus par ce noeud lors de la mise oeuvre du service unitaire.
Une étape de création E302 d'un nouveau document de description 15 d'un service WSDL est ensuite mise en oeuvre.
En pratique on inscrit tout d'abord dans une étape d'écriture E303 une balise <wsdl> en tête du document puis une étape de détermination et d'inscription E304 d'une section <type> est mise en oeuvre. Cette section contient l'union des sections <type> des documents de description unitaires.
Une étape d'inscription E305 est adaptée à inscrire une balise ouvrante <message>.
Une étape de détermination E306 d'un ensemble de blocs UB permet de déterminer l'union des blocs reçus par chaque noeud du chemin de communication lors de la mise en oeuvre du service global.
Comme expliqué précédemment, cette étape de détermination E306 permet d'identifier tous les blocs qui transitent à un moment sur le réseau de communication lors du transfert du message entre l'ordinateur-client et l'ordinateur-serveur.
Une étape d'inscription E307 permet d'inscrire cette liste UB à la suite 30 de la balise ouvrante <message>.
Ensuite, une étape d'inscription E308 est adaptée à inscrire la balise fermante </message>.
On vérifie ensuite dans une étape de test E309 s'il existe une autre définition de message dans l'un des documents de description unitaires.
Dans l'affirmative, on réitère les étapes E305 à E308 sur ce nouveau message de telle sorte que le document comporte autant de balises 5 <message> qu'il existe de messages échangés lors de la mise en oeuvre du service.
On met ensuite en oeuvre différentes étapes pour permettre l'inscription d'une seconde balise <messagePath> pour spécifier les traitements associés à chaque bloc et à chaque noeud du chemin de communication.
En pratique, une étape d'inscription E310 est adaptée à inscrire une balise ouvrante <messagePath>.
Dans une étape de sélection E31 1, on considère le premier noeud N du chemin de communication.
Dans l'exemple précédent, ce noeud peut être successivement les 15 noeuds intermédiaires Il et 12 et le serveur S. Dans une étape d'inscription E312, on inscrit une balise ouvrante <node> permettant de décrire ce noeud.
Pour cela, une étape d'inscription E313 d'une balise <address> est mise en oeuvre pour identifier l'adresse électronique du noeud N. Cette adresse 20 sera soit l'adresse du noeud N dans le chemin de communication, soit un identificateur permettant d'identifier le rôle joué par cet intermédiaire lors du traitement d'un message.
Une étape de lecture E314 permet de lire la liste des blocs reçus BN par le N, à partir du document de description d'un service unitaire associé à ce 25 noeud N. Une étape de calcul E315 est adaptée à calculer un sousensemble de blocs UBsuivant comprenant l'union des blocs reçus par les noeuds suivants du noeud N dans le chemin de communication.
Cette détermination des blocs reçus par les noeuds suivants est 30 également réalisée à partir de chaque document de description d'un service unitaire associé à chaque noeud suivant le noeud considéré N. Une étape d'identification E316 est mise en oeuvre en calculant la différence entre la liste des blocs reçus BN et l'union des blocs suivants UBsuivant.
On identifie ainsi les blocs consommés C par le noeud N en déterminant les blocs de la liste BN qui n'appartiennent pas au sous-ensemble de blocs UBsuivant.
Une étape d'inscription E317 est adaptée à inscrire une balise <consumed> permettant d'identifier un traitement dans lequel des blocs sont consommés, cette balise ayant la valeur C des blocs consommés déterminés à l'étape précédente E316.
Une seconde étape d'identification E318 est mise en oeuvre afin d'identifier les blocs produits par le noeud N. En pratique, on calcule la différence entre l'union des blocs suivants UBsuivant et la liste des blocs reçus BN par le noeud.
Les blocs produits P par le noeud N correspondent ainsi aux blocs du 15 sous-ensemble UBsuivant qui n'appartiennent pas à la liste des blocs BN reçus par le noeud N. Une étape d'inscription E319 est ensuite mise en oeuvre pour inscrire une balise <produced> permettant de spécifier un traitement au cours duquel des blocs sont produits, cette balise ayant pour valeur l'ensemble P des blocs 20 produits déterminé à l'étape précédente E318.
Une étape d'inscription E320 d'une balise fermante </node> est ensuite mise en oeuvre pour clore cette balise permettant de spécifier les traitements associés aux blocs à chaque noeud du chemin de communication.
On vérifie ensuite dans une étape de test E321 s'il existe un autre 25 noeud intermédiaire ou final sur ce chemin de communication. Dans l'affirmative, une étape de sélection E322 permet de sélectionner le noeud suivant et on réitère l'ensemble des étapes E312 à E321 pour ce nouveau noeud. Lorsqu'à l'issue de l'étape de test E321, tous les noeuds du chemin de communication ont été examinés, l'écriture du document WSDL peut se 30 poursuivre de manière classique par une étape de détermination et d'inscription E323 d'une section décrivant les opérations mises en oeuvre dans le service global, correspondant à l'union des sections <opération> décrites dans les documents de description d'un service unitaire associés respectivement à chaque noeud du chemin de communication.
Dans ce mode de réalisation, la balise <messagePath> référençant les traitements de chaque bloc à chaque noeud du chemin de communication est intégrée dans la partie abstraite du document de description d'un service.
Bien entendu, cette balise <messagePath> pourrait être introduite dans la partie concrète du document, et plus particulièrement dans la section de couplage <binding>.
En pratique, le procédé de création d'un document de description 10 d'un service décrit à la figure 3 se poursuit par une étape de détermination et d'inscription E324 d'une section de couplage <binding>, puis une étape de détermination et de description E325 d'une section <service> décrivant le service, toutes deux obtenues par combinaison des sections <binding> et <service>, respectivement, des documents de description unitaires.
Une étape d'inscription E326 d'une balise fermante </wsdl> est ensuite mise en oeuvre pour terminer ce document.
Une étape de sauvegarde E327 permet de manière classique de mémoriser ce document de description d'un service dans une mémoire de l'ordinateurserveur S. Cet algorithme permet ainsi de combiner plusieurs fichiers classiques WSDL, associés respectivement à un noeud du chemin de communication, en un unique document conforme à l'invention.
On notera que cet algorithme de transformation de document, en l'absence d'informations supplémentaires, n'est pas capable d'identifier 25 automatiquement des blocs transformés, tel que le bloc B3 dans l'exemple décrit précédemment en référence à la figure 2a.
En effet, dans un tel cas, le procédé de création d'un document considérera qu'il s'agit de deux blocs indépendants, un premier bloc étant consommé par le noeud et un second bloc étant produit par ce noeud sans 30 qu'un lien de causalité puisse être établi entre ces deux blocs.
De préférence, le procédé de création d'un document de description est mis en oeuvre dans l'ordre des noeuds présents sur le chemin de communication du réseau de communication.
On va décrire à présent en référence à la figure 4 un procédé 5 d'identification des blocs à inclure dans un message, c'est-à-dire des blocs émis par l'ordinateur-client C pour la mise en oeuvre d'un service global tel que décrit dans un document de description d'un service global conforme à l'invention.
Une étape de lecture E401 est tout d'abord mise en oeuvre pour lire les informations décrites dans ce document de description d'un service global 10 WSDL.
Une étape de détermination de l'ensemble des blocs UT transformés par chaque noeud du chemin de communication est mise en oeuvre.
On notera que cette étape peut être éventuellement omise lorsque les seuls traitements apparaissant dans le document WSDL sont des 15 traitements permettant de consommer ou de produire des blocs.
Une étape de détermination E403 de l'ensemble des blocs consommés Uc par chaque noeud du chemin de communication est ensuite mise en oeuvre, ainsi qu'une étape de détermination E404 de l'ensemble des blocs produits Up par chaque noeud du chemin de communication.
En pratique, cette détermination des blocs consommés Uc et des blocs produits Up est réalisée à partir des informations mémorisées dans la balise <messagePath> du document de description d'un service conforme à l'invention.
Une étape d'identification des blocs PE à inscrire dans le message 25 est ensuite mise en oeuvre en calculant la différence entre les blocs appartenant à l'union des blocs consommés Uc, et éventuellement à l'union des blocs transformés UT, et n'appartenant pas à l'ensemble des blocs produits Up.
Les blocs à émettre sont en effet les blocs qui seront consommés ou transformés le long du chemin de communication, mais non produits par l'un 30 des noeuds de ce chemin.
Cette étape d'identification E405 permet ainsi d'identifier les blocs PE devant être inscrits dans le message pour mettre en oeuvre un service global sur le chemin de communication.
Ce procédé d'identification des blocs PE peut se terminer par une 5 étape d'envoi E406 de la liste des blocs PE ainsi identifiés, notamment à l'attention de l'ordinateur-client C. Alternativement, la liste des blocs PE peut être transmise à un outil d'aide à la programmation pour génération automatique d'un message au bon format. Cette liste peut être aussi affichée directement à l'utilisateur pour 10 consultation.
On notera que ce procédé d'identification des blocs peut être mis en oeuvre soit au niveau du serveur S, à partir du document WSDL qu'il mémorise, soit directement au niveau de l'ordinateur-client C, après réception du document WSDL fourni par l'ordinateur-serveur S. On va décrire à présent, selon un autre aspect de l'invention, un procédé de découverte d'un travail effectué par un noeud du chemin de communication, également mis en oeuvre à partir du document de description d'un service global conforme à l'invention.
Comme illustré à la figure 5, une étape de lecture E501 est tout 20 d'abord mise en oeuvre afin d'acquérir et de lire le contenu du document de
description d'un service global WSDL.
Une étape de recherche E502 de la section de ce document comportant la balise <messagePath> est ensuite mise en oeuvre afin d'identifier la section du document décrivant les différents traitements réalisés par les 25 noeuds du chemin de communication.
Une étape de recherche E503 est ensuite adaptée à rechercher à l'intérieur de cette balise <messagePath> le noeud correspond à l'adresse fournie, pour laquelle le travail à effectuer doit être identifié.
Une étape de lecture E504 est adaptée à lire pour ce noeud le ou les 30 traitements et la liste des blocs associés à ce traitement.
En particulier, on identifie les blocs produits P, les blocs consommés C, et éventuellement les blocs transformés T. Une étape de recherche E505 est ensuite mise en oeuvre pour identifier la section <message> dans le document de description du service global.
En particulier, lorsqu'il existe plusieurs balises <message> 5 l'identification de la balise correspondante peut être faite au moyen d'un pointeur prévu au niveau de la balise <messagePath>. Classiquement, ce pointeur peut être constitué d'une référence introduite dans la balise <messagePath> au moyen d'un attribut "réf'.
Une étape de lecture E506 permet de lire dans la balise <message> 10 la définition des blocs lus précédemment, c'est-à-dire des blocs produits P,transformés T ou consommés C. Une étape de fourniture E507 d'une réponse incluant la liste des blocs lus associés respectivement aux définitions est ensuite mise en oeuvre.
Cette étape de fourniture E507 permet d'afficher par exemple au 15 niveau du noeud intermédiaire, uniquement les blocs et les traitements associés à ce noeud à partir du document de description d'un service global fourni sur le chemin de communication.
Alternativement, cette information peut être utilisée par un outil de test d'un noeud intermédiaire, pour vérifier par exemple que le noeud traite les 20 blocs d'un message de test de façon conforme à la description du service global.
On va décrire à présent en référence à la figure 6 un procédé d'identification des blocs émis par un noeud intermédiaire à partir d'un document de description d'un service global conforme à l'invention.
Une étape de lecture E601 permet d'acquérir et de lire le document
de description d'un service global WSDL.
Une étape détermination E602 permet tout d'abord de calculer les blocs PE émis par un émetteur, typiquement l'ordinateur-client C. Cette étape de détermination des blocs émis PE est mise en oeuvre à 30 partir du procédé d'identification des blocs à inclure dans un message tel que décrit précédemment en référence à la figure 4.
Ensuite, une étape de détermination E603 de l'ensemble des blocs produits par des noeuds antérieurs au noeud intermédiaire considéré I est mise en oeuvre.
Cette étape de détermination E603 des blocs produits par les noeuds 5 antérieurs Upavant est mise en oeuvre grâce aux informations mémorisées dans la section <messagePath> du document de description d'un service, dans les sections <produced> des noeuds précédents du chemin de communication.
De manière similaire, une étape de détermination E604 est mise en oeuvre de la même manière pour déterminer l'union des blocs consommés 10 Ucavant par les noeuds antérieurs au noeud intermédiaire considéré 1.
Une étape de détermination E605 des blocs produits Pl par le noeud intermédiaire est également mise en oeuvre, toujours à partir des informations mémorisées dans le document de description d'un service, (section <messagePath>, sous-section <produced> du noeud intermédiaire).
De même, une étape de détermination E606 des blocs consommés CI par le noeud intermédiaire I est mise en oeuvre (section <messagePath>, soussection <consumed> du noeud intermédiaire).
A partir de ces éléments, il est possible dans une étape d'identification E607 de déterminer les blocs El émis ou réémis par le noeud 20 intermédiaire 1. En pratique, ces blocs El correspondent aux blocs appartenant à un premier ensemble regroupant les blocs émis PE par l'émetteur, les blocs produits Pl par le noeud intermédiaire I et les blocs produits Upavant par les noeuds antérieurs, et n'appartenant pas à un second ensemble regroupant les blocs consommés Ucavant par les noeuds antérieurs et les blocs consommés Ci 25 par le noeud intermédiaire 1.
Cet ensemble de blocs ainsi déterminé El peut ensuite être envoyé dans une étape d'envoi E608 sur le réseau de communication, à l'attention d'un ordinateur-serveur par exemple, ou encore être affiché sur un écran associé à un ordinateur. Ces informations peuvent aussi servir comme précédemment à 30 vérifier le fonctionnement correct d'un noeud intermédiaire.
On va décrire enfin en référence à figure 7 un autre mode de réalisation d'un procédé de création d'un document de description d'un service.
Il s'agit ici d'un document de description d'un service partiel WSDL', associé à un noeud intermédiaire du chemin de communication comme décrit précédemment en référence à la figure Id.
Une étape d'acquisition E701 est adaptée tout d'abord à lire et 5 mémoriser les documents de description d'un service unitaire fourni respectivement par les noeuds successifs d'un chemin de communication sur lequel transitent les messages lors de la mise en oeuvre du service global.
On rappelle comme expliqué précédemment que chaque document de description d'un service unitaire fourni par un noeud comprend la liste des 10 blocs reçus par ce noeud lors de la mise oeuvre du service unitaire.
Une étape de création E702 d'un nouveau document de description d'un service WSDL' est ensuite mise en oeuvre.
En pratique on inscrit tout d'abord dans une étape d'écriture E703 une balise <wsdl> en tête du document puis une étape de détermination et 15 d'inscription E704 d'une section <type> est mise en oeuvre. Comme précédemment, cette section est l'union des sections des documents de description unitaires. + On sélectionne tout d'abord un premier noeud N dans une étape de sélection E705 et on vérifie dans une étape de test E706 s'il s'agit du noeud 20 intermédiaire I pour lequel on souhaite établir le document WSDL'. Dans la négative, on sélectionne le noeud suivant dans une étape de sélection E707.
Lorsqu'il s'agit du noeud intermédiaire 1, une étape de lecture E708 est adaptée à lire la liste des blocs reçus BI par le noeud I à partir du document de
description d'un service unitaire.
Ensuite, une étape d'inscription E709 est adaptée à inscrire une balise ouvrante <message>.
Une étape de calcul E710 est adaptée à calculer un sous-ensemble de blocs UBsuivant comprenant l'union des blocs reçus par les noeuds suivants le noeud I dans le chemin de communication.
Cette détermination des blocs reçus par les noeuds suivants est également réalisée à partir de chaque document de description d'un service unitaire associé à chaque noeud suivant le noeud considéré 1.
Une étape d'identification E711 est mise en oeuvre en calculant la différence entre la liste des blocs reçus Bi et l'union des blocs suivants UBsuivant.
On identifie ainsi les blocs consommés C par le noeud I en déterminant les blocs de la liste BI qui n'appartiennent pas au sous-ensemble de blocs UBSuivant.
Une étape d'inscription E712 est adaptée à inscrire la valeur C des blocs consommés déterminés à l'étape précédente E711.
Une étape d'inscription E713 d'une balise fermante </message> est mise en oeuvre pour clore la balise message. Cette balise correspond au 10 message reçu par le noeud intermédiaire 1. Dans l'exemple de la figure 2a, il s'agit du message n.
Une seconde balise ouvrante <message> est ensuite inscrite dans
une étape d'inscription E714.
Une seconde étape d'identification E715 est mise en oeuvre afin 15 d'identifier les blocs produits par le noeud 1.
En pratique, on calcule la différence entre l'union des blocs suivants UBsuivant et la liste des blocs reçus BI par le noeud 1.
Les blocs produits P par le noeud I correspondent ainsi aux blocs du sousensemble UBsuivant qui n'appartiennent pas à la liste des blocs BI reçus par 20 le noeud 1.
Une étape d'inscription E716 est ensuite mise en oeuvre pour inscrire la valeur de l'ensemble P des blocs produits déterminé à l'étape précédente E715.
Une étape d'inscription E717 d'une balise fermante </message> est 25 ensuite mise en oeuvre pour clore cette balise. Cette balise correspond au message relayé par le noeud intermédiaire 1. Dans l'exemple de la figure 2a, il s'agit du message r'1.
L'écriture du document WSDL' peut se poursuivre de manière classique par une étape de détermination et d'inscription E719 d'une section 30 décrivant les opérations mises en oeuvre dans le service global, correspondant à l'union des sections <opération> décrites dans les documents de description d'un service unitaire associés respectivement à chaque noeud du chemin de communication.
En pratique, le procédé de création d'un document de description d'un service décrit à la figure 7 se poursuit par une étape de détermination et 5 d'inscription E720 d'une section de couplage <binding>, puis une étape de détermination et de description E721 d'une section <intermediary> précisant que le document WSDL' n'est pas un document complet de description d'un service global mais uniquement d'un service partiel.
Une étape d'inscription E722 d'une balise fermante <Iwsdl> est 10 ensuite mise en oeuvre pour terminer ce document.
Une étape de sauvegarde E723 permet de manière classique de mémoriser ce document de description d'un service dans une mémoire de l'ordinateur intermédiaire 1.
Afin de mettre en oeuvre les procédé de création d'un document de 15 description en langage de balisage d'un service global, d'identification des blocs à inclure dans un message destiné à transiter sur un chemin de communication, de découverte d'un travail effectué par un noeud d'un chemin de communication d'un réseau de communication, d'identification des blocs émis par un noeud intermédiaire d'un chemin de communication d'un réseau de communication et 20 de création d'un document de description en langage de balisage d'un service partiel, les dispositifs associés à ces procédés peuvent être incorporés dans un ordinateur tel qu'illustré à la figure 8.
En particulier, les dispositifs de création de document de description d'un service global ou partiel peuvent être incorporés dans un ordinateur25 serveur S d'un réseau de communication alors que le dispositif d'identification des blocs à inclure dans un message destiné à transiter sur un chemin de communication peut être incorporé dans un ordinateur-client C d'un réseau de communication.
Bien entendu, les dispositifs destinés à mettre en oeuvre les 30 différents procédés de la présente invention peuvent être mis en oeuvre dans un même ordinateur ou bien dans des stations différentes du réseau de communication.
Plus précisément, les différents moyens adaptés à mettre en oeuvre les étapes des procédés conformes à l'invention peuvent être incorporés dans un microprocesseur 100, une mémoire morte 101 ("Read-only memory" ou ROM) étant adaptée à mémoriser un programme de création d'un document de 5 description en langage de balisage d'un service global, d'identification des blocs à inclure dans un message destiné à transiter sur un chemin de communication, de découverte d'un travail effectué par un noeud d'un chemin de communication d'un réseau de communication, d'identification des blocs émis par un noeud intermédiaire d'un chemin de communication d'un réseau de communication et 10 de création d'un document de description en langage de balisage d'un service partiel.
Une mémoire vive 102 ("Random access memory" ou RAM) est adaptée à mémoriser dans des registres les valeurs modifiées lors de l'exécution du programme de création d'un document de description en langage 15 de balisage d'un service global, d'identification des blocs à inclure dans un message destiné à transiter sur un chemin de communication, de découverte d'un travail effectué par un noeud d'un chemin de communication d'un réseau de communication, d'identification des blocs émis par un noeud intermédiaire d'un chemin de communication d'un réseau de communication et de création 20 d'un document de description en langage de balisage d'un service partiel.
Le microprocesseur 100 est intégré à un ordinateur qui peut être connecté à différents périphériques et à d'autres ordinateurs d'un réseau de communication 10. En particulier, cet ordinateur correspond à un ordinateurserveur S, un ordinateur-client C ou un ordinateur intermédiaire 11, 12 de ce 25 réseau de communication 10.
Cet ordinateur S, C, 11, 12 comporte de manière connue une interface de communication 110 relié au réseau de communication pour recevoir ou transmettre des messages.
L'ordinateur comporte en outre des moyens de stockage de 30 documents, tel qu'un disque dur 106, ou est adapté à coopérer au moyen d'un lecteur de disque 107 (disquettes, disques compacts ou cartes informatiques) avec des moyens de stockage de documents amovibles, tels que des disques 7. Ces moyens de stockage fixes ou amovibles peuvent comporter le code des procédés conformes à l'invention.
* Ils sont également adaptés à mémoriser un document électronique de description d'un service tel que défini par la présente invention.
A titre de variante, ces programmes peuvent être stockés dans la mémoire morte 101.
En seconde variante, ces programmes pourront être reçus pour être stockés comme décrit précédemment par l'intermédiaire. du réseau de communication 10.
L'ordinateur S, C, 11, 12 possède également un écran 103 permettant par exemple de servir d'interface avec un opérateur à l'aide du clavier 104 ou de la souris 105 ou de tout autre moyen.
L'unité centrale 100 (CPU) exécutera alors les instructions relatives à la mise en oeuvre de l'invention. Lors de la mise sous tension, les programmes 15 et méthodes relatives à l'invention stockés dans une mémoire non volatile, par exemple la mémoire 101, sont transférés dans la mémoire 102 qui contiendra alors le code exécutable de l'invention ainsi que les variables nécessaires à la mise en oeuvre de l'invention.
Le bus de communication 112 permet la communication entre les 20 différents sous-éléments de l'ordinateur ou liés à lui.
La représentation de ce bus 112 n'est pas limitative et notamment le microprocesseur 100 est susceptible de communiquer des instructions à tout sous-élément directement ou par l'intermédiaire d'un autre sous- élément.
Bien entendu, de nombreuses modifications peuvent être apportées 25 aux exemples de réalisation décrits précédemment sans sortir du cadre de l'invention.
Claims (41)
1. Procédé de création d'un document de description en langage de 5 balisage d'un service global fourni par au moins deux noeuds successifs d'un chemin de communication du réseau de communication, à partir des documents de description d'un service unitaire fourni par chacun desdits noeuds du chemin de communication, chaque document de description d'un service unitaire fourni par un noeud comprenant une liste de blocs reçus par ledit noeud 10 lors de la mise en oeuvre dudit service unitaire, caractérisé en ce qu'il comprend les étapes suivantes: - détermination (E301) d'un ensemble de blocs comprenant l'union des blocs reçus par chaque noeud du chemin de communication lors de la mise en oeuvre du service global; - inscription (E305, E307, E308) d'une première balise incluant ladite union des blocs reçus; - détermination (E314-E316, E318) pour chaque noeud du ou des traitements associés respectivement aux blocs de ladite union des blocs reçus; et - inscription (E317, E319) d'une seconde balise spécifiant le ou les traitements associés auxdits blocs à chaque noeud du chemin de communication.
2. Procédé de création conforme à la revendication 1, caractérisé en ce que l'étape de détermination du ou des traitements comprend, pour 25 chaque noeud du chemin de communication, les étapes suivantes: - lecture (E314) de la liste des blocs reçus (BN) par ledit noeud (N) à partir du document de description d'un service unitaire associé audit noeud; calcul (E315) d'un sous-ensemble de blocs (UBSuivant) comprenant l'union des blocs reçus par les noeuds suivant ledit noeud (N) dans le chemin de 30 communication; et - identification (E316) des blocs de ladite liste n'appartenant pas audit sous-ensemble de blocs de manière à déterminer les blocs consommés (C) par ledit noeud (N).
3. Procédé de création conforme à l'une des revendications 1 ou 2, 5 caractérisé en ce que l'étape de détermination du ou des traitements comprend, pour chaque noeud du chemin de communication, les étapes suivantes: - lecture (E314) de la liste des blocs reçus (BN) par ledit noeud (N) à partir du document de description d'un service unitaire associé audit noeud; - calcul (E315) d'un sous-ensemble de blocs (UBsuivant) comprenant 10 l'union des blocs reçus (UBsuivant) par les noeuds suivant ledit noeud (N) dans le chemin de communication; et identification (E318) des blocs dudit sous-ensemble de blocs n'appartenant pas à ladite liste des blocs reçus par ledit noeud de manière à déterminer les blocs produits (P) par ledit noeud (N) du chemin de 1 5 communication.
4. Procédé de création conforme à l'une des revendications 1 à 3, caractérisé en ce que ladite seconde balise est adaptée à spécifier un traitement choisi parmi la production d'un bloc, la consommation d'un bloc ou la transformation d'un bloc d'un message transitant sur le chemin de 20 communication.
5. Procédé de création conforme à l'une des revendications 1 à 4, dans lequel le service global fourni comporte plusieurs messages transitant sur le chemin de communication, caractérisé en ce qu'il comprend, pour chaque message décrit dans le document de description en langage de balisage, une 25 étape d'inscription d'une première balise incluant l'union des blocs reçus lors du transfert dudit message et une étape d'inscription d'une seconde balise spécifiant le ou les traitements associés auxdits blocs de ladite union à chaque noeud du chemin de communication.
6. Procédé de création conforme à la revendication 5, caractérisé 30 en ce que pour chaque message, ladite seconde balise est associée à une référence identifiant ladite première balise.
7. Procédé d'identification des blocs à inclure dans un message destiné à transiter sur un chemin de communication comprenant au moins deux noeuds successifs du réseau de communication, à partir d'un document de description d'un service global fourni sur ledit chemin de communication, caractérisé en ce qu'il comprend les étapes suivantes: - détermination (E403) de l'ensemble des blocs consommés (Uc) par chaque noeud du chemin de communication; - détermination (E404) de l'ensemble des blocs produits (Up) par chaque noeud du chemin de communication; et - identification (E405) des blocs dudit ensemble de blocs consommés (Uc) n'appartenant pas audit ensemble de blocs produits (Up) de manière à déterminer les blocs (PE) à inscrire dans le message.
8. Procédé de découverte d'un travail effectué par un noeud d'un chemin de communication d'un réseau de communication, à partir d'un 15 document de description d'un service global fourni sur ledit chemin de communication, caractérisé en ce qu'il comprend les étapes suivantes: - lecture (E504) pour ledit noeud du ou des traitements et desdits blocs associés à ces traitements spécifiés dans une balise du document de
description d'un service global;
- lecture (E506) de la définition desdits blocs lus spécifiés dans une autre balise du document de description d'un service global; et fourniture (E507) d'une réponse incluant la liste des blocs lus associés respectivement auxdites définitions.
9. Procédé d'identification des blocs émis par un noeud 25 intermédiaire (1) d'un chemin de communication d'un réseau de communication, à partir d'un document de description d'un service global fourni sur ledit chemin de communication, caractérisé en ce qu'il comprend les étapes suivantes: détermination (E602) des blocs émis (PE) par un émetteur selon le procédé d'identification des blocs à inclure dans un message conforme à la 30 revendication 7; - détermination (E603) de l'ensemble des blocs produits (Upavant) par des noeuds antérieurs audit noeud intermédiaire (1) sur le chemin de communication; - détermination (E604) de l'ensemble des blocs consommés 5 (Ucavant) par lesdits noeuds antérieurs audit noeud intermédiaire (1) sur le chemin de communication; - détermination (E605) desdits blocs produits (Pl) par ledit noeud intermédiaire (1) du chemin de communication; - détermination (E606) desdits blocs consommés (CI) par ledit 10 noeud intermédiaire (1) du chemin de communication; et identification (E607) des blocs (El) appartenant à un premier ensemble regroupant les blocs émis (PE) par l'émetteur, les blocs produits (Upavant) par lesdits noeuds antérieurs, et les blocs produits (Pi) par ledit noeud intermédiaire, et n'appartenant pas à un second ensemble regroupant les blocs 15 consommés (Ucavant) par lesdits noeuds antérieurs et les blocs consommés (CI) par ledit noeud intermédiaire (1), de manière à déterminer les blocs émis (El) par ledit noeud intermédiaire (1).
10. Document de description en langage de balisage d'un service global fourni par au moins deux noeuds successifs d'un chemin de 20 communication du réseau de communication, caractérisé en ce qu'il comprend une première balise comprenant l'union des blocs reçus par chaque noeud adaptée à contenir l'ensemble des blocs circulant d'un message sur le chemin de communication lors de la mise en oeuvre du service global, et une seconde balise adaptée à spécifier respectivement pour lesdits blocs des informations 25 d'adressage, telles que le ou les traitements mis en oeuvre et l'identification dudit noeud du chemin de communication adapté à traiter ledit bloc.
11. Document de description conforme à la revendication 10, caractérisé en ce que le traitement est choisi parmi la production d'un bloc, la consommation d'un bloc ou la transformation d'un bloc d'un message transitant 30 sur le chemin de communication.
12. Document de description conforme à l'une des revendications 10 ou 11, caractérisé en ce que ladite seconde balise est associée à une référence identifiant une première balise.
13. Document de description conforme à l'une des revendications 10 à 12, caractérisé en ce qu'il est présenté dans un format du type WSDL.
14. Procédé de création d'un document de description en langage de balisage d'un service partiel fourni par un noeud intermédiaire d'un chemin de communication d'un réseau de communication lors de la mise en oeuvre d'un service global fourni par au moins deux noeuds successifs dudit chemin de 10 communication, à partir des documents de description d'un service unitaire fourni par chaque noeud du chemin de communication, chaque document de description d'un service unitaire fourni par un noeud comprenant une liste de blocs reçus par ledit noeud lors de la mise en oeuvre dudit service unitaire, caractérisé en ce qu'il comprend les étapes suivantes: - lecture de la liste des blocs reçus par ledit noeud intermédiaire à partir du document de description d'un service unitaire associé audit noeud intermédiaire; - calcul d'un sous-ensemble de blocs comprenant l'union des blocs reçus par les noeuds suivant ledit noeud intermédiaire dans le chemin de 20 communication; - identification des blocs de ladite liste des blocs reçus par ledit noeud intermédiaire n'appartenant pas audit sous-ensemble de blocs de manière à déterminer les blocs consommés par ledit noeud intermédiaire; et - inscription d'une première balise incluant lesdits blocs 25 consommés par ledit noeud intermédiaire.
15. Procédé de création d'un document conforme à la revendication 14, caractérisé en ce qu'il comprend en outre les étapes suivantes: identification des blocs dudit sous-ensemble de blocs n'appartenant pas à ladite liste des blocs reçus par ledit noeud intermédiaire de 30 manière à déterminer les blocs produits par ledit noeud intermédiaire du chemin de communication; et - inscription d'une seconde balise incluant lesdits blocs produits par ledit noeud intermédiaire.
16. Dispositif de création d'un document de description en langage de balisage d'un service global fourni par au moins deux noeuds successifs d'un 5 chemin de communication du réseau de communication, à partir des documents de description d'un service unitaire fourni par chacun desdits noeuds du chemin de communication, chaque document de description d'un service unitaire fourni par un noeud comprenant une liste de blocs reçus par ledit noeud lors de la mise en oeuvre dudit service unitaire, caractérisé en ce qu'il 10 comprend: - des moyens de détermination (100, 101, 102) d'un ensemble de blocs comprenant l'union des blocs reçus par chaque noeud du chemin de communication lors de la mise en oeuvre du service global; - des moyens d'inscription (100, 101, 102) d'une première balise 15 incluant ladite union des blocs reçus; - des moyens de détermination (100, 101, 102) pour chaque noeud du ou des traitements associés respectivement aux blocs de ladite union des blocs reçus; et des moyens d'inscription (100, 101, 102) d'une seconde balise 20 spécifiant le ou les traitements associés auxdits blocs à chaque noeud du chemin de communication.
17. Dispositif de création conforme à la revendication 16, caractérisé en ce qu'il comprend: - des moyens de lecture (100, 101, 102) de la liste des blocs reçus 25 par ledit noeud à partir du document de description d'un service unitaire associé audit noeud; - des moyens de calcul (100, 101, 102) d'un sous-ensemble de blocs comprenant l'union des blocs reçus par les noeuds suivant ledit noeud dans le chemin de communication; et - des moyens d'identification (100, 101, 102) des blocs de ladite liste n'appartenant pas audit sous-ensemble de blocs de manière à déterminer les blocs consommés par ledit noeud.
18. Dispositif de création conforme à l'une des revendications 16 ou 17, caractérisé en ce qu'il comprend: - des moyens de lecture (100, 101, 102) de la liste des blocs reçus par ledit noeud à partir du document de description d'un service unitaire associé audit noeud; - des moyens de calcul (100, 101, 102) d'un sous-ensemble de blocs comprenant l'union des blocs reçus par les noeuds suivant ledit noeud dans le chemin de communication; et - des moyens d'identification (100, 101, 102) des blocs dudit sous10 ensemble de blocs n'appartenant pas à ladite liste des blocs reçus par ledit noeud de manière à déterminer les blocs produits par ledit noeud du chemin de communication.
19. Dispositif d'identification des blocs à inclure dans un message destiné à transiter sur un chemin de communication comprenant au moins deux 15 noeuds successifs du réseau de communication, à partir d'un document de description d'un service global fourni sur ledit chemin de communication, caractérisé en ce qu'il comprend: - des moyens de détermination (100, 101, 102) de l'ensemble des blocs consommés par chaque noeud du chemin de communication; - des moyens de détermination (100, 101, 102) de l'ensemble des blocs produits par chaque noeud du chemin de communication; et - des moyens d'identification (100, 101, 102) des blocs dudit ensemble de blocs consommés n'appartenant pas audit ensemble de blocs produits de manière à déterminer les blocs à inscrire dans le message.
20. Dispositif de découverte d'un travail effectué par un noeud d'un chemin de communication d'un réseau de communication, à partir d'un document de description d'un service global fourni sur ledit chemin de communication, caractérisé en ce qu'il comprend: - des moyens de lecture (100, 101, 102) pour ledit noeud du ou 30 des traitements et desdits blocs associés à ces traitements spécifiés dans une balise du document de description d'un service global; - des moyens de lecture (100, 101, 102) de la définition desdits blocs lus spécifiés dans une autre balise du document de description d'un service global; et - des moyens de fourniture (100, 101, 102) d'une réponse incluant la liste des blocs lus associés audite définition.
21. Dispositif d'identification des blocs émis par un noeud intermédiaire d'un chemin de communication d'un réseau de communication, à partir d'un document de description d'un service global fourni sur ledit chemin de communication, caractérisé en ce qu'il comprend: - des moyens de détermination (100, 101, 102) des blocs émis par un émetteur selon le procédé d'identification des blocs à inclure dans un message conforme à la revendication 7; - des moyens de détermination (100, 101, 102) de l'ensemble des blocs produit par des noeuds antérieurs audit noeud intermédiaire sur le chemin 15 de communication; - des moyens de détermination (100, 101, 102) de l'ensemble des blocs consommé par lesdits noeuds antérieurs audit noeud intermédiaire sur le chemin de communication; - des moyens de détermination (100, 101, 102) desdits blocs 20 produits par ledit noeud intermédiaire du chemin de communication; des moyens de détermination (100, 101, 102) desdits blocs consommés par ledit noeud intermédiaire du chemin de communication; et - des moyens d'identification (100, 101, 102) des blocs appartenant à un premier ensemble regroupant les blocs émis par l'émetteur, 25 les blocs produits par lesdits noeuds antérieurs et les blocs produits par ledit noeud intermédiaire, et n'appartenant pas à un second ensemble regroupant les blocs consommés par lesdits noeuds antérieurs et les blocs consommés par ledit noeud intermédiaire, de manière à déterminer les blocs émis par ledit noeud intermédiaire.
22. Dispositif de création d'un document de description en langage de balisage d'un service partiel fourni par un noeud intermédiaire d'un chemin de communication d'un réseau de communication lors de la mise en oeuvre d'un service global fourni par au moins deux noeuds successifs dudit chemin de communication, à partir des documents de description d'un service unitaire fourni par chaque noeud du chemin de communication, chaque document de description d'un service unitaire fourni par un noeud comprenant une liste de 5 blocs reçus par ledit noeud lors de la mise en oeuvre dudit service unitaire, caractérisé en ce qu'il comprend: - des moyens de lecture (100, 101, 102) de la liste des blocs reçus par ledit noeud intermédiaire à partir du document de description d'un service unitaire associé audit noeud intermédiaire; - des moyens de calcul (100, 101, 102) d'un sous-ensemble de blocs comprenant l'union des blocs reçus par les noeuds suivant ledit noeud intermédiaire dans le chemin de communication; - des moyens d'identification (100, 101, 102) des blocs de ladite liste des blocs reçus par ledit noeud intermédiaire n'appartenant pas audit sous15 ensemble de blocs de manière à déterminer les blocs consommés par ledit noeud intermédiaire; et - des moyens d'inscription (100, 101, 102) d'une première balise incluant lesdits blocs consommés par ledit noeud intermédiaire.
23. Dispositif de création conforme à la revendication 22, caractérisé 20 en ce qu'il comprend en outre: - des moyens d'identification (100, 101, 102) des blocs dudit sousensemble de blocs n'appartenant pas à ladite liste des blocs reçus par ledit noeud intermédiaire de manière à déterminer les blocs produits par ledit noeud intermédiaire du chemin de communication; et - des moyens d'inscription (100, 101, 102) d'une seconde balise incluant lesdits blocs produits par ledit noeud intermédiaire.
24. Ordinateur-serveur d'un réseau de communication, caractérisé en ce qu'il comprend des moyens adaptés à mettre en oeuvre le procédé de création d'un document conforme à l'une des revendications 1 à 6.
25. Ordinateur-serveur d'un réseau de communication, caractérisé en ce qu'il comprend des moyens adaptés à mettre en oeuvre le procédé de création d'un document conforme à l'une des revendications 14 ou 15.
26. Ordinateur-client d'un réseau de communication, caractérisé en ce qu'il comprend des moyens adaptés à mettre en oeuvre le procédé d'identification des blocs à inclure dans un message conforme à la revendication 7.
27. Réseau de communication, caractérisé en ce qu'il comprend des moyens adaptés à mettre en oeuvre le procédé de création d'un document
conforme à l'une des revendications 1 à 6.
28. Réseau de communication, caractérisé en ce qu'il comprend des moyens adaptés à mettre en oeuvre le procédé d'identification des blocs à 10 inclure dans un message conforme à la revendication 7.
29. Réseau de communication, caractérisé en ce qu'il comprend des moyens adaptés à mettre en oeuvre le procédé de découverte d'un travail effectué par un noeud dudit réseau conforme à la revendication 8.
30. Réseau de communication, caractérisé en ce qu'il comprend des 15 moyens adaptés à mettre en oeuvre un procédé d'identification des blocs émis par un noeud intermédiaire conforme à la revendication 9.
31. Réseau de communication, caractérisé en ce qu'il comprend des moyens adaptés à mettre en oeuvre le procédé de création d'un document
conforme à l'une des revendications 14 ou 15.
32. Moyen de stockage d'informations, éventuellement totalement ou partiellement amovible, lisible par un système informatique, caractérisé en ce qu'il comprend des instructions pour un programme informatique adaptées à mettre en oeuvre le procédé de création d'un document de description d'un service global conforme à l'une des revendications 1 à 6, lorsque ce programme 25 est chargé et exécuté par le système informatique.
33. Moyen de stockage d'informations, éventuellement totalement ou partiellement amovible, lisible par un système informatique, caractérisé en ce qu'il comprend des instructions pour un programme informatique adaptées à mettre en oeuvre le procédé d'identification des blocs à inclure dans un 30 message conforme à la revendication 7.
34. Moyen de stockage d'informations, éventuellement totalement ou partiellement amovible, lisible par un système informatique, caractérisé en ce qu'il comprend des instructions pour un programme informatique adaptées à mettre en oeuvre le procédé de découverte d'un travail conforme à la revendication 8.
35. Moyen de stockage d'informations, éventuellement totalement ou 5 partiellement amovible, lisible par un système informatique, caractérisé en ce qu'il comprend des instructions pour un programme informatique adaptées à mettre en oeuvre le procédé d'identification des blocs émis par un noeud intermédiaire conforme à la revendication 9.
36. Moyen de stockage d'informations, éventuellement totalement ou 10 partiellement amovible, lisible par un système informatique, caractérisé en ce qu'il comprend des instructions pour un programme informatique adaptées à mettre en oeuvre le procédé de création d'un document de description d'un service partiel conforme à l'une des revendications 14 ou 15.
37. Programme d'ordinateur lisible par un microprocesseur, 15 caractérisé en ce qu'il comprend des portions de codes logiciels adaptées à mettre en oeuvre le procédé de création d'un document de description d'un service global conforme à l'une des revendications 1 à 6, lorsque ce programme d'ordinateur est chargé et exécuté par le microprocesseur.
38. Programme d'ordinateur lisible par un microprocesseur, 20 caractérisé en ce qu'il comprend des portions de codes logiciels adaptées à mettre en oeuvre le procédé d'identification des blocs à inclure dans un message conforme à la revendication 7.
39. Programme d'ordinateur lisible par un microprocesseur, caractérisé en ce qu'il comprend des portions de codes logiciels adaptées à 25 mettre en oeuvre le procédé de découverte d'un travail conforme à la revendication 8.
40. Programme d'ordinateur lisible par un microprocesseur, caractérisé en ce qu'il comprend des portions de codes logiciels adaptées à mettre en oeuvre le procédé d'identification des blocs émis par un noeud 30 intermédiaire conforme à la revendication 9.
41. Programme d'ordinateur lisible par un microprocesseur, caractérisé en ce qu'il comprend des portions de codes logiciels adaptées à mettre en oeuvre le procédé de création d'un document de description d'un service partiel conforme à l'une des revendications 14 ou 15.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0302578A FR2852121A1 (fr) | 2003-03-03 | 2003-03-03 | Procede de creation d'un document de description en langage de balisage d'un service global fourni sur un chemin de communication |
US10/545,610 US20070130189A1 (en) | 2003-03-03 | 2004-03-03 | Method of creating a description document in markup language of a global service provided on a communication path |
PCT/IB2004/000935 WO2004079566A2 (fr) | 2003-03-03 | 2004-03-03 | Procede de realisation en langage balise d'un document de description d'un service global mis en oeuvre sur une voie de communication |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0302578A FR2852121A1 (fr) | 2003-03-03 | 2003-03-03 | Procede de creation d'un document de description en langage de balisage d'un service global fourni sur un chemin de communication |
Publications (1)
Publication Number | Publication Date |
---|---|
FR2852121A1 true FR2852121A1 (fr) | 2004-09-10 |
Family
ID=32865196
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR0302578A Pending FR2852121A1 (fr) | 2003-03-03 | 2003-03-03 | Procede de creation d'un document de description en langage de balisage d'un service global fourni sur un chemin de communication |
Country Status (3)
Country | Link |
---|---|
US (1) | US20070130189A1 (fr) |
FR (1) | FR2852121A1 (fr) |
WO (1) | WO2004079566A2 (fr) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0425860D0 (en) * | 2004-11-25 | 2004-12-29 | Ibm | A method for ensuring the quality of a service in a distributed computing environment |
FR2911200A1 (fr) * | 2007-01-09 | 2008-07-11 | Canon Kk | Procede et dispositif de traitement de documents a partir de schemas enrichis et procede et dispositif de decodage correspondants |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8001189B2 (en) * | 2001-10-16 | 2011-08-16 | Microsoft Corporation | Routing of network messages |
US20030188039A1 (en) * | 2002-03-26 | 2003-10-02 | Liu James C. | Method and apparatus for web service aggregation |
US7194482B2 (en) * | 2002-09-26 | 2007-03-20 | International Business Machines Corporation | Web services data aggregation system and method |
US7689430B2 (en) * | 2002-12-16 | 2010-03-30 | International Business Machines Corporation | Access to web services |
US7774831B2 (en) * | 2002-12-24 | 2010-08-10 | International Business Machines Corporation | Methods and apparatus for processing markup language messages in a network |
US20050060431A1 (en) * | 2003-09-12 | 2005-03-17 | Lewontin Stephen Paul | System, apparatus, and method for using reduced web service messages |
-
2003
- 2003-03-03 FR FR0302578A patent/FR2852121A1/fr active Pending
-
2004
- 2004-03-03 WO PCT/IB2004/000935 patent/WO2004079566A2/fr active Application Filing
- 2004-03-03 US US10/545,610 patent/US20070130189A1/en not_active Abandoned
Non-Patent Citations (4)
Title |
---|
AJAMU WESLEY: "WSFL in action, Part 1 - When Web services cooperate", INTERNET PUBLICATION, 1 January 2002 (2002-01-01), XP002271098, Retrieved from the Internet <URL:http://www-106.ibm.com/developerworks/webservices/library/ws-wsfl1/> [retrieved on 20040220] * |
AJAMU WESLEY: "WSFL: No Web service is an island - When Web services cooperate", INTERNET PUBLICATION, 1 February 2002 (2002-02-01), XP002271099, Retrieved from the Internet <URL:http://www-106.ibm.com/developerworks/webservices/library/ws-wsfl2/> [retrieved on 20040220] * |
FRANK LEYMANN: "Web Services Flow Language (WSFL 1.0)", INTERNET PUBLICATION, XP002271101, Retrieved from the Internet <URL:http://www-306.ibm.com/software/solutions/webservices/pdf/WSFL.pdf> [retrieved on 20040220] * |
JAMES SNELL: "Web services insider, Part 7: WSFL and recursive composition", INTERNET PUBLICATION, 1 July 2001 (2001-07-01), XP002271100, Retrieved from the Internet <URL:http://www-106.ibm.com/developerworks/webservices/library/ws-ref7/> [retrieved on 20040220] * |
Also Published As
Publication number | Publication date |
---|---|
WO2004079566A2 (fr) | 2004-09-16 |
WO2004079566A3 (fr) | 2004-11-04 |
US20070130189A1 (en) | 2007-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
FR2844370A1 (fr) | Document electronique de description d'un service informatique | |
CA2564108A1 (fr) | Systeme et procede de tracabilite de contenus sur internet | |
FR2939535A1 (fr) | Procede et systeme de traitement pour la configuration d'un processseur exi | |
FR2907567A1 (fr) | Procede et dispositif de generation de motifs de reference a partir d'un document ecrit en langage de balisage et procedes et dispositifs de codage et de decodage associes. | |
FR2906383A1 (fr) | Referentiel semantique de services web et procede utilisant ce referentiel | |
EP1977365B1 (fr) | Procede de gestion de documents electroniques | |
FR2851389A1 (fr) | Procede et dispositif de gestion de requetes dans une architecture du type client-serveur | |
EP1754189A1 (fr) | Procede de telechargement avec insertion publicitaire et player specifique | |
FR2930661A1 (fr) | Procede d'acces a une partie ou de modification d'une partie d'un document xml binaire, dispositifs associes | |
FR2826749A1 (fr) | Description d'une interface applicable a un objet informatique | |
FR2852121A1 (fr) | Procede de creation d'un document de description en langage de balisage d'un service global fourni sur un chemin de communication | |
FR2901037A1 (fr) | Procede et dispositif de generation de motifs structurels de reference aptes a representer des donnees hierarchisees | |
EP1681646A1 (fr) | Procédé de navigation automatique en mode interposition | |
WO2009092809A1 (fr) | Procédé d'alimentation d'un mandataire de contenu multimédia, mandataire, et produit programme d'ordinateur correspondant. | |
WO2001038977A1 (fr) | Procede de creation de fichiers de configuration d'objets inclus dans un systeme informatique | |
FR2911200A1 (fr) | Procede et dispositif de traitement de documents a partir de schemas enrichis et procede et dispositif de decodage correspondants | |
FR2852177A1 (fr) | Procede de proposition d'un service fourni par un ordinateur serveur dans un reseau de communication | |
EP1872279A1 (fr) | Procede de traitement d'une structure de donnees arborescente | |
WO2004056071A1 (fr) | Procede de communication entre serveurs avec conversion de format des donnees et dispositif pour sa mise en oeuvre | |
FR3011661A1 (fr) | Procede de dematerialisation d'une demarche | |
EP1999649A2 (fr) | Procede de generation d'un fichier de description d'un flux binaire, dispositif et produit programme d'ordinateur correspondants | |
FR2827403A1 (fr) | Procede de generation et de traitement d'un document adapte a etre represente sous forme de blocs d'information | |
FR2881541A1 (fr) | Procede de filtrage d'un flot de donnees xml | |
FR2795536A1 (fr) | Procede de traduction, de transfert et de mise a jour d'un objet informatique sur un reseau de communication informatique | |
WO2023247172A1 (fr) | Système de gestion de jumeaux numériques, procédé de gestion associé |