FR2888069A1 - METHOD OF EXCHANGING DATA BETWEEN A SERVER AND A CUSTOMER, SYSTEM SERVER COMPRISING THIS SERVER, CUSTOMER OF THIS SYSTEM, PROGRAMS FOR A COMPUTER FORMING A SERVER AND A COMPUTER FORMING A CLIENT - Google Patents

METHOD OF EXCHANGING DATA BETWEEN A SERVER AND A CUSTOMER, SYSTEM SERVER COMPRISING THIS SERVER, CUSTOMER OF THIS SYSTEM, PROGRAMS FOR A COMPUTER FORMING A SERVER AND A COMPUTER FORMING A CLIENT Download PDF

Info

Publication number
FR2888069A1
FR2888069A1 FR0506670A FR0506670A FR2888069A1 FR 2888069 A1 FR2888069 A1 FR 2888069A1 FR 0506670 A FR0506670 A FR 0506670A FR 0506670 A FR0506670 A FR 0506670A FR 2888069 A1 FR2888069 A1 FR 2888069A1
Authority
FR
France
Prior art keywords
server
client
request
response
information
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
Application number
FR0506670A
Other languages
French (fr)
Inventor
Christian Bertin
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orange SA
Original Assignee
France Telecom SA
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by France Telecom SA filed Critical France Telecom SA
Priority to FR0506670A priority Critical patent/FR2888069A1/en
Priority to PCT/FR2006/001530 priority patent/WO2007003774A1/en
Publication of FR2888069A1 publication Critical patent/FR2888069A1/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Ce procédé d'échange de données entre au moins un premier serveur (14) et un client (12) comprend une étape (52) de formulation d'une requête à l'attention d'un second serveur (14, 14') qui, le cas échéant, peut être le premier serveur, fournissant des données structurées, notamment de type XML et une étape préalable (36) de fourniture par le premier serveur (14) au client (12) d'informations relatives aux structures de requête (40) et de réponse (42) conformes à la structure de données en vigueur sur le second serveur (14, 14').De préférence, l'étape (36) de fourniture d'informations est complétée par une étape de présentation (50) de ces informations par un programme d'interface exécuté par le client. Ce programme génère une interface de présentation des informations relatives aux structures de requête et de réponse.This method of exchanging data between at least a first server (14) and a client (12) comprises a step (52) of formulating a request for a second server (14, 14 ') which , where appropriate, may be the first server, providing structured data, in particular of XML type, and a preliminary step (36) of supply by the first server (14) to the client (12) of information relating to the query structures ( 40) and response (42) in accordance with the data structure in effect on the second server (14, 14 '). Preferably, the information providing step (36) is completed by a presentation step (50). ) of this information by an interface program executed by the client. This program generates an interface for presenting information about query and response structures.

Description

La présente invention concerne un procédé d'échange de données structuréesThe present invention relates to a method for exchanging structured data

entre au moins un serveur et un client, un serveur, un système comprenant ce serveur, un client de ce système, un programme pour un ordinateur formant un serveur et un programme pour un ordinateur formant le client de ce système.  between at least one server and a client, a server, a system comprising this server, a client of this system, a program for a computer forming a server and a program for a computer forming the client of this system.

Elle s'applique en particulier à l'exploitation automatique par le client d'informations proposées par le serveur.  It applies in particular to the automatic exploitation by the client of information proposed by the server.

Les informations se présentent sous forme de données dont la structure est généralement spécifique au serveur fournissant ces données. Ainsi un utilisateur client souhaitant accéder à ces données doit connaître la structure de données du serveur.  The information is in the form of data whose structure is generally specific to the server providing the data. Thus a client user wishing to access this data must know the data structure of the server.

II est connu d'échanger des données entre un client et un serveur reliés entre eux par le réseau Internet.  It is known to exchange data between a client and a server interconnected by the Internet.

Ainsi, dans le cas particulier d'un serveur proposant les services d'un moteur de recherche, le client accède à une page Internet d'accueil et formule une requête en saisissant par exemple des mots clefs dans un champ de saisie de cette page d'accueil.  Thus, in the particular case of a server offering the services of a search engine, the client accesses a home web page and makes a request by entering for example keywords in an input field of this page d 'Home.

La page d'accueil est généralement créée en langage de balisage de texte HTML (acronyme anglais de HyperText Markup Language).  The home page is usually created in HTML markup language (HyperText Markup Language).

En réponse à la requête, le moteur de recherche propose généralement une page en HTML contenant des citations comportant chacune les références d'un site Internet (dont les pages contiennent les mots clefs saisis) et un lien permettant d'accéder à ce site.  In response to the request, the search engine generally offers an HTML page containing citations each containing the references of a website (whose pages contain the key words entered) and a link to access this site.

L'exploitation automatique des informations contenues dans la réponse fournie par le moteur de recherche peut être réalisée par le client en exécutant un programme d'analyse de cette page de réponse. Le programme d'analyse identifie des repères particuliers dans la page. Toutefois, si la présentation de la page de réponse évolue, les repères et le programme d'analyse deviennent caduques et doivent être remis à jour.  The automatic exploitation of the information contained in the response provided by the search engine can be performed by the client by executing an analysis program of this response page. The analysis program identifies particular marks in the page. However, if the presentation of the response page changes, the marks and the analysis program become obsolete and must be updated.

Pour faciliter l'obtention automatique d'informations par un client, il a été proposé dans l'état de la technique de normaliser la présentation des informations fournies par un serveur, par exemple conformément aux spécifications du type TV-Anytime ou du type à syndication vraiment simple RSS (conformément à l'acronyme anglais Really Simple Syndication).  To facilitate the automatic obtaining of information by a client, it has been proposed in the state of the art to standardize the presentation of the information provided by a server, for example in accordance with the specifications of the TV-Anytime type or the syndication type. really simple RSS (according to the acronym Really Simple Syndication).

Ces spécifications permettent d'organiser un échange de données structurées entre un serveur et un client en langage de balisage extensible XML (conformément à l'acronyme anglais eXtensible Markup Language).  These specifications make it possible to organize a structured data exchange between a server and a client in extensible XML markup language (in the acronym eXtensible Markup Language).

Toutefois, la définition des spécifications de type TV-Anytime ou RSS requiert un travail de consultation des fournisseurs de services intéressés et de standardisation relativement important pour décrire la syntaxe et la sémantique des requêtes et réponses.  However, the definition of the TV-Anytime or RSS type specifications requires a consultation work with interested service providers and relatively important standardization to describe the syntax and semantics of the requests and responses.

De plus, bien que l'accès d'un utilisateur client aux données soit simplifié, celui-ci doit se familiariser avec les spécifications précitées de la structure de données avant de pouvoir l'utiliser.  In addition, although the access of a client user to the data is simplified, the user must become familiar with the aforementioned specifications of the data structure before he can use it.

Enfin, les spécifications de type TV-Anytime ou RSS sont chacune propre à un domaine particulier, à savoir le domaine audiovisuel pour la spécification de TV-Anytime et le domaine journalistique pour la spécification RSS. Par conséquent, ces spécifications ne sont pas prévues pour être transposées à d'autres domaines.  Finally, the TV-Anytime or RSS type specifications are each specific to a particular domain, namely the audiovisual domain for the TV-Anytime specification and the journalistic domain for the RSS specification. Therefore, these specifications are not intended to be transposed to other areas.

L'invention a notamment pour but de faciliter l'échange de données structurées, notamment de type XML, entre un client et un serveur sans recourir à des travaux importants de normalisation.  The purpose of the invention is notably to facilitate the exchange of structured data, in particular of the XML type, between a client and a server without resorting to major standardization work.

A cet effet, l'invention a pour objet un procédé d'échange de données entre au moins un premier serveur et un client, le procédé étant du type comprenant une étape de formulation d'une requête à l'attention d'un second serveur qui, le cas échéant, peut être le premier serveur, fournissant des données structurées, notamment de type XML, caractérisé en ce qu'il comprend une étape préalable de fourniture par le premier serveur au client d'informations relatives aux structures de requête et de réponse conformes à la structure de données en vigueur sur le second serveur.  For this purpose, the subject of the invention is a method for exchanging data between at least a first server and a client, the method being of the type comprising a step of formulating a request for the attention of a second server. which, if necessary, can be the first server, providing structured data, in particular of XML type, characterized in that it comprises a preliminary step of providing the first server to the client with information relating to the request and request structures. response consistent with the data structure in effect on the second server.

Cette étape préalable permet de rendre facilement accessible au client des données proposées par un serveur, ceci sans qu'il soit nécessaire de recourir à des systèmes de normes spécifiques à des domaines particuliers et difficiles à établir.  This preliminary step makes it possible to make the data proposed by a server easily accessible to the customer, without it being necessary to resort to standards systems specific to particular and difficult to establish domains.

Le cas échéant, l'accès au serveur peut se faire automatiquement au moyen d'un programme d'accès établi à partir des structures de requête et de réponse communiquées par le serveur.  If necessary, access to the server can be done automatically by means of an access program established from the request and response structures communicated by the server.

Sur Internet, ces structures sont généralement indépendantes de la présentation de la page HTML qui, habituellement, permet l'accès aux services proposés par un serveur. Une modification de la présentation de cette page est donc sans conséquence sur le fonctionnement du programme d'accès aux données.  On the Internet, these structures are usually independent of the presentation of the HTML page, which usually allows access to the services offered by a server. A modification of the presentation of this page has no consequence on the operation of the data access program.

L'utilisateur client peut donc, à partir d'un site Internet hébergé par un premier serveur, générer une requête vers un second serveur, dont le contenu est mentionné par ce site, par exemple sous forme de publicité, et sa base de données, en fonction des informations que cette base est susceptible de lui fournir.  The client user can therefore, from an Internet site hosted by a first server, generate a request to a second server, whose content is mentioned by this site, for example in the form of advertising, and its database, depending on the information that this database is likely to provide.

Grâce à l'invention, le client est informé des structures de requête et de réponse applicables aux données de la base du serveur fournisseur de données, même si ces structures sont spécifiques et non normées. Ceci permet au client de recueillir, éventuellement de façon automatique, des données de la base du serveur en s'affranchissant du format de la page Internet de présentation d'un service proposé par le serveur.  Thanks to the invention, the client is informed of the query and response structures applicable to the data of the database of the data provider server, even if these structures are specific and not standardized. This allows the client to collect, possibly automatically, data from the server base by dispensing with the format of the Internet presentation page of a service offered by the server.

Les informations relatives à la structure de requête comprennent au moins une définition choisie parmi une définition d'un protocole de transfert de la requête, une définition d'une adresse de serveur, une définition d'une commande, et une définition d'au moins un paramètre identifié par un nom, un type et une unité, s'il est de type numérique.  The query structure information includes at least one of a definition of a request transfer protocol, a definition of a server address, a definition of a command, and a definition of at least one of a parameter identified by a name, a type and a unit, if it is of numeric type.

De manière optionnelle, ces informations peuvent également comprendre: un groupe d'au moins deux paramètres, mis en relation à l'aide d'opérateurs logiques; - pour chaque paramètre, un commentaire descriptif, une liste de valeurs attendus, une valeur minimale, une valeur maximale et une valeur par défaut; une liste d'éléments à inclure dans la réponse.  Optionally, this information may also include: a group of at least two parameters, connected by logical operators; - for each parameter, a descriptive comment, a list of expected values, a minimum value, a maximum value and a default value; a list of elements to include in the answer.

Par ailleurs, les informations relatives à la structure de réponse et fournies au client comprennent au moins une définition choisie parmi une définition d'un nom de structure de données attendue en réponse et une définition d'au moins un élément de la réponse. identifié par un nom, un type et une unité, s'il est de type numérique.  In addition, the response structure information provided to the client includes at least one of a definition of a data structure name expected in response and a definition of at least one element of the response. identified by a name, a type and a unit, if it is of numeric type.

Avantageusement, elles peuvent également comprendre, pour chaque élément, un nom, un type, une liste de valeurs possibles, un commentaire descriptif et, si l'élément est de type numérique, une unité et une cardinalité.  Advantageously, they can also include, for each element, a name, a type, a list of possible values, a descriptive comment and, if the element is of numeric type, a unit and a cardinality.

Cela permet en effet de pouvoir replacer à la réception de la réponse, le contenu de chaque élément à l'endroit approprié, par exemple, dans une base de données client, avec ou sans conversion du codage du serveur au codage chez le client.  This makes it possible to be able to replace the content of each element at the appropriate place, for example, in a client database, with or without conversion of the coding of the server to the coding at the client, upon reception of the response.

Selon un mode de réalisation particulier de l'invention, le premier et le second serveurs forment un seul et même serveur.  According to a particular embodiment of the invention, the first and second servers form a single server.

De manière optionnelle, l'étape de fourniture d'informations est complétée par une étape de présentation desdites informations à l'aide d'un programme d'interface exécuté par le client.  Optionally, the step of providing information is completed by a step of presenting said information using an interface program executed by the client.

Le programme d'interface génère, selon un mode de réalisation particulier, au moins une fenêtre présentant ces informations, par exemple sous forme de page HTML.  The interface program generates, according to a particular embodiment, at least one window presenting this information, for example in the form of an HTML page.

Le contenu de cette fenêtre est généralement rédigée dans un langage ordinaire, accessible par un utilisateur qui n'est pas familier des langages informatiques.  The content of this window is usually written in ordinary language, accessible by a user who is not familiar with computer languages.

Le programme d'interface peut en outre présenter, d'une part, des éléments descriptifs décrivant les informations relatives aux structures de requête et de réponse et, d'autre part, des éléments d'assistance à la formulation d'une requête.  The interface program may further comprise, on the one hand, descriptive elements describing the information relating to the request and response structures and, on the other hand, assistance elements for the formulation of a request.

Le cas échéant, au moins un des éléments descriptifs comprend une liste d'informations susceptibles de faire partie d'une réponse, les éléments d'assistance à la formulation d'une requête permettant de réaliser un choix parmi les informations de cette liste.  If necessary, at least one of the descriptive elements comprises a list of information that may be part of a response, the assistance elements for the formulation of a request making it possible to make a choice among the information items of this list.

Cette liste peut être notamment une liste de valeurs affectées à un paramètre. Par exemple, différentes valeurs NOM1 , NOM2 , etc. peuvent être affectées à un paramètre nom de société .  This list can be in particular a list of values assigned to a parameter. For example, different values NAME1, NOM2, etc. can be assigned to a company name parameter.

L'invention évite ainsi à l'utilisateur d'avoir à formuler sa requête directement en langage XML, cette requête étant créée par choix de valeurs dans la liste proposée à l'aide d'un élément d'assistance associé au paramètre correspondant.  The invention thus avoids the user having to formulate his query directly in XML, this request being created by choosing values in the proposed list using a support element associated with the corresponding parameter.

L'étape de formulation de requête peut en outre comprendre l'incorporation dans la requête de données propres au client.  The request formulation step may further include incorporating client-specific data into the request.

Le procédé peut comprendre une étape d'émission de la requête vers le second serveur à la suite d'une action volontaire d'un utilisateur sur le client.  The method may include a step of transmitting the request to the second server as a result of a voluntary action of a user on the client.

Le procédé peut également comprendre une étape d'émission automatique de la requête par le client vers le second serveur, par exemple conformément à une séquence programmée par un utilisateur dans le client.  The method may also include a step of automatic transmission of the request by the client to the second server, for example according to a sequence programmed by a user in the client.

Ainsi, une requête susceptible d'être utilisée périodiquement, par exemple une requête de cours de valeurs boursières, peut être mémorisée par le client (ce qui évite de la reformuler chaque fois) et transmise automatiquement au serveur correspondant.  Thus, a request that can be used periodically, for example a stock quote request, can be stored by the client (which avoids the need to reformulate each time) and automatically transmitted to the corresponding server.

De manière optionnelle, l'étape de présentation d'informations est initialisée par l'activation volontaire d'un lien dans une page Internet présentée par le premier serveur.  Optionally, the information presentation step is initiated by the voluntary activation of a link in an Internet page presented by the first server.

Ainsi, l'utilisateur client reçoit les informations relatives à la structure de données du serveur uniquement s'il envisage de formuler une requête à l'attention de ce serveur, ce qui évite d'utiliser les ressources du client inutilement.  Thus, the client user receives information about the data structure of the server only if he plans to make a request to the attention of this server, which avoids using the resources of the client unnecessarily.

Le procédé comprend également une étape de transmission de réponse par le second serveur, la réponse étant conforme à la structure de réponse transmise préalablement au client.  The method also includes a response transmission step by the second server, the response being in accordance with the response structure previously transmitted to the client.

L'invention a également pour objet un serveur caractérisé en ce qu'il comprend des moyens de fourniture à un client d'informations relatives aux structures de requête et de réponse conformes à la structure de données en vigueur sur un serveur fournissant des données structurées, notamment de type XML.  The invention also relates to a server characterized in that it comprises means for supplying a client with information relating to the request and response structures in accordance with the data structure in effect on a server providing structured data, in particular XML type.

Optionnellement, les deux serveurs décrits ci-dessus forment un seul et même serveur.  Optionally, the two servers described above form a single server.

L'invention a également pour objet un système comprenant un serveur et un client reliés entre eux au moyen d'un réseau, le client comportant des moyens de formulation de requête à l'attention d'un second serveur qui, le cas échéant, peut être le premier serveur, fournissant des données, notamment de type XML, caractérisé en ce que le premier serveur est tel que défini ci-dessus.  The invention also relates to a system comprising a server and a client interconnected by means of a network, the client having means for formulating a request for a second server which, if necessary, can be the first server, providing data, including XML type, characterized in that the first server is as defined above.

L'invention a également pour objet un client d'un système tel que défini ci-dessus, caractérisé en ce qu'il comprend des moyens de présentation des informations fournies par le premier serveur.  The invention also relates to a client of a system as defined above, characterized in that it comprises means for presenting the information provided by the first server.

Optionnellement, le client comprend des moyens d'incorporation de données qui lui sont propres dans la requête à l'attention du second serveur.  Optionally, the client includes data embedding means specific to it in the request to the attention of the second server.

Le client peut également comprendre des moyens d'émission de la requête vers le second serveur, automatiquement ou à la suite d'une action volontaire d'un utilisateur.  The client may also include means for sending the request to the second server, automatically or as a result of a voluntary action of a user.

De façon optionnelle, le client selon l'invention comprend également des moyens d'activation d'un lien dans une page Internet proposée par le premier serveur, déclenchant la fourniture d'informations par ce serveur.  Optionally, the client according to the invention also comprises means for activating a link in an Internet page proposed by the first server, triggering the provision of information by this server.

L'invention a également pour objet un programme pour un ordinateur formant un serveur tel que décrit ci-dessus, caractérisé en ce qu'il fournit automatiquement au client des informations relatives aux structures de requête et de réponse conformes à la structure de données d'un second serveur.  The subject of the invention is also a program for a computer forming a server as described above, characterized in that it automatically provides the client with information relating to the query and response structures conforming to the data structure of the server. a second server.

L'invention a également pour objet un programme pour un ordinateur formant un client d'un système tel que défini ci-dessus, caractérisé en ce qu'il génère une interface de présentation d'informations fournies au client par le serveur.  The invention also relates to a program for a computer forming a client of a system as defined above, characterized in that it generates an interface for presenting information provided to the client by the server.

De manière optionnelle, l'interface générée par ce programme d'ordinateur: - comprend une fenêtre, permettant d'afficher par exemple une page HTML, donnant accès ou présentant les informations fournies au client par le serveur; - présente, d'une part, des éléments descriptifs décrivant les informations relatives aux structures de requête et de réponse et, d'autre part, des éléments d'assistance à la formulation d'une requête.  Optionally, the interface generated by this computer program: - includes a window, for example to display an HTML page, giving access or presenting the information provided to the client by the server; - presents, on the one hand, descriptive elements describing the information relating to the request and response structures and, on the other hand, assistance elements for the formulation of a request.

L'invention sera mieux comprise à la lecture de la description qui va suivre, donnée uniquement à titre d'exemple et faite en se référant aux dessins dans lesquels: la figure 1 est un schéma d'un système d'échange de données selon un mode de réalisation particulier de l'invention; la figure 2 représente les étapes successives d'un procédé d'échange de données selon l'invention, mis en oeuvre dans le système de la figure 1; la figure 3 est un schéma d'une structure de requête et de réponse susceptible d'être présentée en langage XML. 35  The invention will be better understood on reading the description which follows, given solely by way of example and with reference to the drawings in which: FIG. 1 is a diagram of a data exchange system according to a particular embodiment of the invention; FIG. 2 represents the successive steps of a data exchange method according to the invention, implemented in the system of FIG. 1; Figure 3 is a diagram of a request and response structure that can be presented in XML. 35

On a représenté sur la figure 1 un système 10 selon l'invention pour l'échange de données entre un client 12 et un serveur 14 par l'intermédiaire d'un réseau classique 16 reliant le client 12 et le serveur 14, par exemple le réseau Internet.  FIG. 1 shows a system 10 according to the invention for exchanging data between a client 12 and a server 14 via a conventional network 16 connecting the client 12 and the server 14, for example the Internet network.

Le client 12 comprend un ordinateur comportant une unité centrale 20 munie d'un processeur 20P, d'une mémoire 20M, par exemple de type RAM (acronyme anglais de Random Access Memory), et d"entrées-sorties 20A, 20B. L'ordinateur comporte également des éléments 22 d'interface pour un utilisateur, par exemple un clavier, un écran et une souris, et une base de données 24.  The client 12 comprises a computer comprising a central unit 20 equipped with a processor 20P, a memory 20M, for example RAM (Random Access Memory), and input-output 20A, 20B. computer also includes interface elements 22 for a user, for example a keyboard, a screen and a mouse, and a database 24.

Le serveur 14 comprend un ordinateur comportant une unité centrale 26 et une base 10 de données 28. L'unité centrale 26 est munie, en général, d'un processeur 26P, d'une mémoire 26M et d'entrées-sorties 26A, 26B.  The server 14 comprises a computer comprising a central unit 26 and a data base 28. The central unit 26 is generally equipped with a processor 26P, a memory 26M and an input-output 26A, 26B .

La base 24 du client 12 peut, le cas échéant, être renseignée par des données de la base 28 du serveur 14, comme précisé par la suite.  The base 24 of the client 12 may, if necessary, be filled with data from the base 28 of the server 14, as specified below.

En variante, le client 12 et/ou le serveur 14 peuvent comprendre plusieurs bases de 15 données. De même, le système 10 peut comprendre un serveur central donnant accès à différents serveurs fournissant des données.  Alternatively, the client 12 and / or the server 14 may comprise several databases. Similarly, the system 10 may include a central server giving access to different servers providing data.

On décrira ci-dessous, en référence à la figure 2, un procédé d'échange de données mis en oeuvre par le système 10.  Below will be described, with reference to FIG. 2, a data exchange method implemented by the system 10.

Dans ce qui suit, on appellera utilisateur client, un utilisateur du client 12.  In the following, we will call client user, a user of the client 12.

Initialement (étape préliminaire 30), l'utilisateur client accède, par l'intermédiaire du réseau 16, à une page Internet proposée par le serveur 14. Cette page Internet présente des éléments formant des liens informatiques donnant accès à des données susceptibles d'être fournies par le serveur 14.  Initially (preliminary step 30), the client user accesses, via the network 16, to an Internet page proposed by the server 14. This Internet page presents elements forming computer links giving access to data likely to be provided by the server 14.

L'utilisateur client, intéressé par des données proposées par le serveur 14, active 25 volontairement un lien (étape 32) donnant accès à ces données à l'aide d'un élément 22 d'interface utilisateur.  The client user, interested in data proposed by the server 14, voluntarily activates a link (step 32) giving access to this data using a user interface element 22.

Cette étape 32 déclenche une étape 36 de fourniture, par le serveur 14, d'informations au client 12.  This step 32 triggers a step 36 of providing, by the server 14, information to the client 12.

Au cours de l'étape 36, des moyens classiques (comprenant notamment l'unité centrale 26 du serveur 14) fournissent au client 12 des informations 38 comprenant des définitions relatives à des structures de requête 40 et de réponse 42 conformes à la structure de données en vigueur sur le serveur 14. Ces moyens classiques comprennent notamment l'unité centrale 26 du serveur 14, sur lequel s'exécute un programme informatique.  During step 36, conventional means (including in particular the central unit 26 of the server 14) provide the client 12 with information 38 comprising definitions relating to the query and response structures 40 corresponding to the data structure. in force on the server 14. These conventional means include the central unit 26 of the server 14, on which runs a computer program.

Les informations 38 peuvent être transmises au client 12 dans un fichier de définition en langage XML programmé par un exploitant d'un service proposé par le serveur 14.  The information 38 may be transmitted to the client 12 in an XML definition file programmed by an operator of a service proposed by the server 14.

Les informations 38 relatives aux structures de requête 40 et de réponse 42 définissant ces structures peuvent être organisées de façon arborescente comme cela est schématisé sur la figure 3. Ainsi., la définition de la structure de requête 40 comprend au moins une définition du mode de la requête, c'est à dire du protocole de transfert de la requête. Cette dernière peut être par exemple de type 44a, conforme au protocole de transfert hypertexte HTTP (acronyme anglais de HyperText Transfer Protocol), ou de type 44b, conforme au protocole SOAP (acronyme anglais de Simple Object Access Protocol). Pour chaque protocole défini, la définition de la structure de requête 40 comprend également une adresse de serveur et une commande.  The information 38 relating to the query and response structures 40 defining these structures can be organized in a tree-like manner as shown schematically in FIG. 3. Thus, the definition of the request structure 40 comprises at least one definition of the mode of execution. the request, ie the transfer protocol of the request. The latter may for example be of type 44a, conforming to the hypertext transfer protocol HTTP (acronym for HyperText Transfer Protocol), or type 44b, compliant with the SOAP protocol (acronym for Simple Object Access Protocol). For each defined protocol, the definition of the request structure 40 also includes a server address and a command.

La définition de la structure de requête 40 peut également comprendre une définition 46 d'au moins un paramètre d'interrogation de la base de données 28 du serveur 14, celui-ci étant identifié par un nom, un type (booléen, entier, chaîne de caractères, etc.) et une unité, s'il est de type numérique.  The definition of the request structure 40 can also include a definition 46 of at least one interrogation parameter of the database 28 of the server 14, the latter being identified by a name, a type (boolean, integer, string characters, etc.) and a unit, if it is numeric.

La définition de la structure de requête 40 peut également comporter une définition d'un groupe d'au moins deux paramètres, mis en relation à l'aide d'opérateurs logiques, tels que OU ou ET. Chacun des paramètres de la structure de requête 40 peut être précisé par un commentaire descriptif, une liste de valeurs attendues, une valeur minimale, une valeur maximale et une valeur par défaut. La définition de la structure de requête 40 peut également comprendre une liste d'éléments à inclure dans la réponse, ces éléments étant à choisir parmi tous les éléments que peut fournir le serveur 14 dans la réponse.  The definition of the request structure 40 may also include a definition of a group of at least two parameters, related by logical operators, such as OR or AND. Each of the parameters of the request structure 40 may be specified by a descriptive comment, a list of expected values, a minimum value, a maximum value and a default value. The definition of the request structure 40 may also include a list of elements to be included in the response, these elements being to be chosen from all the elements that the server 14 can provide in the response.

La définition de la structure de réponse 42 peut comprend une définition 48 d'un nom d'une structure de données attendue en réponse, et une définition d'au moins un élément de cette structure, associé éventuellement à un ou plusieurs attributs pouvant prendre des valeurs particulières.  The definition of the response structure 42 may comprise a definition 48 of a name of a data structure expected in response, and a definition of at least one element of this structure, possibly associated with one or more attributes that may take steps. particular values.

Ainsi, dans le cas d'une base de données répertoriant des valeurs boursières de sociétés, nom de société et pays du marché boursier peuvent être des éléments. Ces éléments peuvent prendre différentes valeurs NOM1 , NOM2 , etc. et PAYS1 , PAYS2 , etc. Pour chaque élément, la définition de la structure de réponse 42 peut comprendre une définition d'un nom d'élément, d'un type (booléen, entier, chaîne de caractères, etc.), d'une liste de valeurs possibles, la signification de ces valeurs et d'une unité et d'une cardinalité, c'est-à- dire le nombre d'occurrences d'une identité, uniquement si les valeurs associées à l'élément sont numériques. Les définitions ci-dessus peuvent être appréhendées par le client 12 directement à partir d'un programme capable de comprendre une structure de données en syntaxe XML selon le schéma présenté ci-dessous: <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmins:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> < xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation= "./xml 2001.xsci'/> <!-- définition de l'élément principal de la structure de requête et de réponse --> <xs:element name="QueryResponseDescription"  Thus, in the case of a database listing stock values of companies, company name and country of the stock market may be items. These elements can take different values NAME1, NOM2, etc. and COUNTRY1, COUNTRY2, etc. For each element, the definition of response structure 42 may include a definition of an element name, a type (boolean, integer, character string, etc.), a list of possible values, the meaning of these values and a unit and a cardinality, that is, the number of occurrences of an identity, only if the values associated with the element are numeric. The above definitions can be apprehended by the client 12 directly from a program capable of understanding a data structure in XML syntax according to the diagram presented below: <? Xml version = "1.0" encoding = "UTF- 8 "?> <Xs: schema xmins: xs =" http://www.w3.org/2001/XMLSchema "elementFormDefault =" qualified "attributeFormDefault =" unqualified "> <xs: import namespace =" http: // www .w3.org / XML / 1998 / namespace "schemaLocation =" ./xml 2001.xsci '/> <! - definition of the main element of the query and response structure -> <xs: element name = "QueryResponseDescription"

type="QueryResponseDescription Type"/>  type = "QueryResponseDescription Type" />

<xs:complexType name="QueryResponseDescription Type"> < xs:sequence> <xs:element name= "QueryStructure" type= "QueryStructureType "/> <xs:element name= "ResponseStructure" type= "ResponseStructureType'/> </xs:sequence> <xs:attribute name="version" type="xs:integer" use="required'/> <1-- C'est une séquence de deux éléments: structure de requête puis structure de réponse --> </xs:complexType> <!-- Description de la structure de requête: au choix requête HTTP ou SOAP --> <xs:complexType name="QueryStructureType"> <xs:sequence> <xs: choice> < xs:element name="HTTPQuery" type= "HTTPQueryType "I> <xs:element name="SOAPQuery" type= "SOAPQueryType "I> </xs:choice> < xs:element narre="ParameterGroup" type="ParameterGoupType" minOccurs="O"/> </xs:sequence> </xs:complexType> < xs:complexType name="HTTPQueryType"> <xs:sequence> < xs:element name="EntryPoint" type="xs:string" minOccurs="O"/> < xs:element name="Command" type="xs:string" minOccurs="O"/> < /xs:sequence> </xs:complexType> <xs:complexType name= "SOAPQueryType "> <xs:sequence> <xs:element name="service" type= "service Type "/> </xs:sequence> </xs:complexType> <xs:complexType name="serviceType"> <xs:sequence> < xs:element name= "port" type= "portType "/> </xs:sequence> < xs:attribute name="name" type="xs:string"/> </xs:complexType> <xs:complexType narre= "portType "> <xs:sequence> < xs:element name= "SOAPaddress" type= "SOAPaddressType'/> < /xs:sequence> <xs:attribute name="name" type="xs:string'/> < /xs:complexType> <xs:complexType narre="SOAPaddressType"> < xs:attribute name="location" type="xs:anyURI"/> </xs: complexType> <!-- Liste des paramètres de la structure de requête avec groupement possible avec opérateurs AND et OR--> < xs:complexType name= "ParameterGoupType "> <xs:sequence> < xs:choice maxOccurs="unbounded"> <xs:element name="Parameter" type= "ParameterType'V> <xs:element narre="ParameterGroup" type="ParameterGoupType'/> </xs:choice> </xs:sequence> < xs:attribute name="binaryBooleanOperator" default="OR"> <xs: simpleType> <xs:restriction base="xs:string"> <xs:enumeration value= "AND "/> <xs: enumera tion value= "OR "/> < /xs:restriction> </xs: simpleType> </xs:attribute> < /xs: complexType> <!-- Description sémantique des paramètres de la structure de requête: texte, liste de valeurs, valeur minimale et/ou maximale --> <xs:complexType name="ParameterType"> 25 < xs:sequence> <xs:element name="Clarification" type="TextualBaseType" maxOccurs= "unbounded'/> <xs:element name="ValueList" type="ValueList Type" minOccurs="0'/> <xs:element name="Min Value" type="xs:string" minOccurs="O"/> <xs:element name="MaxValue" type="xs:string" minOccurs="0"/> <xs:element narre="AIIComparisonOperator" type="xs:boolean" minOccurs= "0'/> < /xs:sequence> <xs:attribute name="narre" type="xs:string" use="required'/> <xs:attribute name="type"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="xs:anyURI"/> <xs:enumeration value="xs:boolean'V> < xs:enumeration value="xs:dateTime'V> <xs:enumeration value = "xs: float'/> <xs:enumeration value="xs:integer'/> <xs:enumeration value="xs:string'V> </xs:restriction> </xs: simpleType> </xs:attribute> <xs:attribute name="multiple Value" type="xs:boolean" default="false"/> <xs:attribute name="unit" type="xs:string'/> <xs:attribute name="use"> <xs: simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="optional"/> <xs:enumeration value="required'/> < /xs:restriction> </xs:simpleType> </xs:attribute> <!-Nom du paramètre --> <!-- format du paramètre --:> <!-Possibilité de multiples valeurs ou pas pour le paramètre --> </xs: complexType> <!-- Possibilité de donner la signification du paramètre en plusieurs langues--> <xs:complexType name= "TextualBaseType "> <xs:simpleContent> <xs:extension base= "xs: string "> <xs:attribute ref="xml:lang" use="optional"/> < /xs:extension> </xs:simpleContent> </xs: complexType>  <xs: complexType name = "QueryResponseDescription Type"> <xs: sequence> <xs: element name = "QueryStructure" type = "QueryStructureType" /> <xs: element name = "ResponseStructure" type = "ResponseStructureType" /> </ xs: sequence> <xs: attribute name = "version" type = "xs: integer" use = "required '/> <1-- This is a sequence of two elements: query structure and response structure -> </ xs: complexType> <! - Description of the request structure: optionally HTTP or SOAP request -> <xs: complexType name = "QueryStructureType"> <xs: sequence> <xs: choice> <xs: element name = "HTTPQuery" type = "HTTPQueryType" I> <xs: element name = "SOAPQuery" type = "SOAPQueryType" I> </ xs: choice> <xs: element narrate = "ParameterGroup" type = "ParameterGoupType" minOccurs = "O" /> </ xs: sequence> </ xs: complexType> <xs: complexType name = "HTTPQueryType"> <xs: sequence> <xs: element name = "EntryPoint" type = "xs: string" minOccurs = "O" /> <xs: element name = "Command" type = "xs: string" minOccurs = "O" /> </ xs: sequence> </ xs: complexType> <xs: co mplexType name = "SOAPQueryType"> <xs: sequence> <xs: element name = "service" type = "service Type" /> </ xs: sequence> </ xs: complexType> <xs: complexType name = "serviceType" <xs: sequence> <xs: element name = "port" type = "portType" /> </ xs: sequence> <xs: attribute name = "name" type = "xs: string" /> </ xs: complexType> <xs: complexType narrate = "portType"> <xs: sequence> <xs: element name = "SOAPaddress" type = "SOAPaddressType '/> </ xs: sequence> <xs: attribute name =" name "type = "xs: string '/> </ xs: complexType> <xs: complexType narrate =" SOAPaddressType "> <xs: attribute name =" location "type =" xs: anyURI "/> </ xs: complexType> <! - - Parameter list of the query structure with possible grouping with AND and OR operators -> <xs: complexType name = "ParameterGoupType"> <xs: sequence> <xs: choice maxOccurs = "unbounded"> <xs: element name = "Parameter" type = "ParameterType'V> <xs: element narrate =" ParameterGroup "type =" ParameterGoupType '/> </ xs: choice> </ xs: sequence> <xs: attribute name = "binaryBooleanOperator" def ault = "OR"> <xs: simpleType> <xs: base restriction = "xs: string"> <xs: enumeration value = "AND" /> <xs: enumeration value = "OR" /> </ xs: restriction> </ xs: simpleType> </ xs: attribute> </ xs: complexType> <! - Semantic description of the parameters of the query structure: text, list of values, minimum and / or maximum value -> < xs: complexType name = "ParameterType"> 25 <xs: sequence> <xs: element name = "Clarification" type = "TextualBaseType" maxOccurs = "unbounded" /> <xs: element name = "ValueList" type = "ValueList Type "minOccurs =" 0 '/> <xs: element name = "Min Value" type = "xs: string" minOccurs = "O" /> <xs: element name = "MaxValue" type = "xs: string" minOccurs = "0" /> <xs: element narrate = "AIIComparisonOperator" type = "xs: boolean" minOccurs = "0 '/> </ xs: sequence> <xs: attribute name =" narrate "type =" xs: string " use = "required '/> <xs: attribute name =" type "> <xs: simpleType> <xs: base restriction =" xs: string "> <xs: enumeration value =" xs: anyURI "/> <xs: enumeration value = "xs: boolean'V> <xs: enumeration value =" xs: dateTime 'V> <xs: enumeration value = "xs: float' /> <xs: enumeration value =" xs: integer '/> <xs: enumeration value = "xs: string'V> </ xs: restriction> </ xs: simpleType> </ xs: attribute> <xs: attribute name = "multiple Value" type = "xs: boolean" default = "false" /> <xs: attribute name = "unit" type = "xs: string" /> <xs: attribute name = "use"> <xs: simpleType> <xs: base restriction = "xs: string"> <xs: enumeration value = "optional" /> <xs: enumeration value = "required" / > </ xs: restriction> </ xs: simpleType> </ xs: attribute> <! - Parameter name -> <! - parameter format -:> <! - Possibility of multiple values or not for the parameter -> </ xs: complexType> <! - Ability to give the meaning of the parameter in multiple languages -> <xs: complexType name = "TextualBaseType"> <xs: simpleContent> <xs: extension base = "xs : string "> <xs: attribute ref =" xml: lang "use =" optional "/> </ xs: extension> </ xs: simpleContent> </ xs: complexType>

<!-- Description de la structure de réponse -->  <! - Description of the response structure ->

<xs:complexType name= "ResponseStructureType "> <xs:choice> <xs:element name= "SchemaRef" type= "xs: anyURl "/> <xs:element name= "Element" type="ElementType'/> <!--Description de la structure de réponse soit à partir d'un schéma connu soit en décrivant la structure --> </xs:choice> </xs: complexType> <!-- Description d'un élément de la réponse avec ses attributs s'il en a --> <xs:complexType name="ElementType"> <xs:sequence> < xs:element name="Clarification" type="TextualBaseType" minOccurs="O" maxOccurs= "unbounded "/> <xs:choice> <xs:element name= "ValueList" type= "ValueListType" minOccurs= "0'/> <xs:element name="Element" type="ElementType" minOccurs="O" maxOccurs= "unbounded "/> </xs:choice> <xs:element name="Attribute" type= "Attri bute Type" minOccurs="O" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="name" type="xs:string" use="required'/> < xs:attribute name="unit" type="xs:string"/> <xs:attribute name="type" type="elementAttributeType"/> <xs:attribute name="number"> <xs: simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="0"/> <xs:enumeration value="1 "/> <xs:enumeration value="unbounded"/> < /xs:restriction> </xs: simpleType> </xs:attribute> <!-Précision de la sémantique de l'élément de réponse: nom de la balise, son unité, son type, sa multiplicité--> <!-- Possibilité d'indiquer la présence multiple de l'élément ou son absence possible --> < /xs:complexType> <xs:complexType name="AttributeType"> < xs:sequence> <xs:element narre="Clarification" type="TextualBaseType" minOccurs="O" maxOccurs= "unbounded'/> < xs:element name="Va,lueList" type="ValueListType" minOccurs="0'/> < /xs:sequence> <xs:attribute name="name" type="xs:string" use="required'/> <xs:attribute name="unit" type="xs:string'/> <xs:attribute name="type" type="elementAttributeType'/> </xs: complexType> <!-- Précision du type d'un élément ou d'un attribut d'élément de réponse --> <xs:simpleType narre="elementAttributeType"> <xs:restriction base="xs:string"> <xs:enumeration value= "xs:anyURl"/> <xs:enumeration value="xs:boolean'/> <xs:enumeration value=:"xs:da teTime'Y> < xs:enumeration value="xs:float'/> <xs:enumeration value== "xs: integer'/> <xs: enumera fion value= "xs: string'/> < /xs:restriction> </xs:simpleType> <!-- Liste de valeurs possibles de l'élément ou d'un attribut d'un élément dans la réponse -> <xs:complexType name="ValueListType"> <xs:sequence> < xs:element name= "Value" type= "Value Type" maxOccurs= "unbounded "/> </xs:sequence> </xs: complexType> <xs:complexType name="Value Type"> <xs:sequence> <xs:element name="Clarification" type="TextualBaseType" maxOccurs= "unbounded'/> </xs:sequence> <xs:attribute name="content" type="xs:string" use="required'/> <xs:attribute name="defaultValue" type="xs:boolean"/> </xs:complexType> </xs:schema> La structure générale des du fichier de définition contenant la description des structures de requêtes (40) et de réponse (42) est donc la suivante:  <xs: complexType name = "ResponseStructureType"> <xs: choice> <xs: element name = "SchemaRef" type = "xs: anyURl" /> <xs: element name = "Element" type = "ElementType" /> < ! - Description of the response structure either from a known schema or by describing the structure -> </ xs: choice> </ xs: complexType> <! - Description of an element of the response with its attributes if it has -> <xs: complexType name = "ElementType"> <xs: sequence> <xs: element name = "Clarification" type = "TextualBaseType" minOccurs = "O" maxOccurs = "unbounded" / <xs: choice> <xs: element name = "ValueList" type = "ValueListType" minOccurs = "0" /> <xs: element name = "Element" type = "ElementType" minOccurs = "O" maxOccurs = "unbounded "/> </ xs: choice> <xs: element name =" Attribute "type =" Attri bute Type "minOccurs =" O "maxOccurs =" unbounded "/> </ xs: sequence> <xs: attribute name =" name "type =" xs: string "use =" required '/> <xs: attribute name = "type" type = "xs: string" /> <xs: attribute name = "type" type = "elementAttributeType" /> <xs: attribute name = "number"> <xs: simpleType> <xs: base restriction = "xs: string"> <xs: enumeration value = "0" /> <xs: enumeration value = "1" /> <xs: enumeration value = "unbounded" /> </ xs: restriction> </ xs: simpleType> </ xs: attribute> <! - Precision of the semantics of the response element: name of the tag, its unit, its type, its multiplicity -> <! - Possibility of indicating the multiple presence of the element or its possible absence -> </ xs: complexType> <xs: complexType name = "AttributeType"> <xs: sequence> <xs: element narre = "Clarification" type = "TextualBaseType" minOccurs = "O" maxOccurs = "unbounded" /> <xs: element name = "Va, readList" type = "ValueListType" minOccurs = "0 '/> </ xs: sequence <xs: attribute name = "name" type = "xs: string" use = "required '/> <xs: attribute name =" unit "type =" xs: string "/> <xs: attribute name =" type "type =" elementAttributeType '/> </ xs: complexType> <! - Type Accuracy of an Element or Response Item Attribute -> <xs: simpleType narrate = "elementAttributeType"> <xs : restriction b ase = "xs: string"> <xs: enumeration value = "xs: anyURl" /> xs: enumeration value = "xs: boolean" /> <xs: enumeration value =: "xs: da teTime'Y> < xs: enumeration value = "xs: float" /> <xs: enumeration value == "xs: integer '/> <xs: will enumerate fion value =" xs: string' /> </ xs: restriction> </ xs: simpleType> <! - List of possible values of the element or attribute of an element in the response -> <xs: complexType name = "ValueListType"> <xs: sequence> <xs: element name = " Value "type =" Value Type "maxOccurs =" unbounded "/> </ xs: sequence> </ xs: complexType> <xs: complexType name =" Value Type "> <xs: sequence> <xs: element name =" Clarification "type =" TextualBaseType "maxOccurs =" unbounded "/> </ xs: sequence> <xs: attribute name =" content "type =" xs: string "use =" required '/> <xs: attribute name = " defaultValue "type =" xs: boolean "/> </ xs: complexType> </ xs: schema> The general structure of the definition file containing the description of the query (40) and response (42) structures is therefore the next:

<QueryResponseDescription><QueryResponseDescription>

<QueryStructure> </QueryStructure> <ResponseStructure>  <QueryStructure> </ QueryStructure> <ResponseStructure>

</ResponseStructure> </ QueryResponseDescription>  </ ResponseStructure> </ QueryResponseDescription>

Le procédé selon l'invention peut être réalisée par exemple selon les deux modes suivants.  The process according to the invention can be carried out for example according to the two following modes.

Dans le premier mode de réalisation, le serveur est interrogé à l'aide du protocole de transfert HTTP.  In the first embodiment, the server is queried using the HTTP transfer protocol.

Dans l'exemple de l'interrogation d'un serveur contenant des données boursières, selon ce premier mode de réalisation, la structure de requête 40 présentée dans le fichier de définition, sous la forme d'un programme en langage XML, peut être du type ci-dessous: <QueryStructure> < !-- requête de type HTTP avec adresse serveur et commande --> < HTTPQuery> <EntryPoint>adresse Internet serveur< /EntryPoint> <Command> table XML</Command> </HTTPQuery> <!-- Description des paramètres de la requête: nom, signification et contenu attendu pour chacun d'eux --> < ParameterGroup binaryBooleanOperator="AND"> <Parameter name="symbole" multipleValue="true"> <Clarification xml:lang="fr">Choisir le code de la valeur parmi la liste des valeurs indiquées ici. Exemple: "CODEZ" pour "SOCIETEI "</Clarification> <ValueList> <Value content="CODE2"> <Clarification> SOCIETE2</Clarification> </Value> <Value content=" CODE1 "> <Clarification> SOCIETE1</Clarification> </Value> </ValueList> </Parameter> <Parameter name="lanquage" use="optional"> <Clarification xml:lang="fr">Langage des éléments en réponse quand plusieurs langues sont disponibles< /Clarification> <ValueList> <Value content="fr" defaultValue="true"> <Clarifica tion>Français</Clarifica tion> </Value> <Value content="en"> <Clarifica tion> English</Clarifica tion> </Value> <NalueList> < /Parameter> </ParameterGroup> </QueryStructure> Dans le second mode de réalisation, le serveur est interrogé à l'aide du protocole de 45 transfert SOAP.  In the example of the interrogation of a server containing stock data, according to this first embodiment, the request structure 40 presented in the definition file, in the form of a program in XML language, may be the same. type below: <QueryStructure> <! - HTTP request with server address and command -> <HTTPQuery> <EntryPoint> server Internet address </ EntryPoint> <Command> XML table </ Command> </ HTTPQuery> <! - Description of the parameters of the request: name, meaning and expected content for each one -> <ParameterGroup binaryBooleanOperator = "AND"> <Parameter name = "symbol" multipleValue = "true"> <Clarification xml: lang = "en"> Choose the value code from the list of values shown here. Example: "CODE" for "COMPANY" </ Clarification> <ValueList> <Value content = "CODE2"> <Clarification> COMPANY2 </ Clarification> </ Value> <Value content = "CODE1"> <Clarification> COMPANY1 </ Clarification> </ Value> </ ValueList> </ Parameter> <Parameter name = "lanquage" use = "optional"> <Clarification xml: lang = "en"> Language of the elements in response when several languages are available </ Clarification > <ValueList> <Value content = "en" defaultValue = "true"> <Clarification> English </ Clarification> </ Value> <Value content = "in"> <Clarification> English </ Clarification> < / Value> <NalueList> </ Parameter> </ ParameterGroup> </ QueryStructure> In the second embodiment, the server is queried using the SOAP transfer protocol.

L'utilisateur client peut donc interroger le serveur à l'aide de ce protocole selon les spécifications suivantes, définissant les entrées et sorties, les codages et les liens à utiliser par les services de données: <?xml version="1.0"?> <definitions targetNamespace= "urn:anyRR: transport: wsdl:2005" xmins: this= "urn: anyRR: transport: wsdl:2005" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns="http://schemas. xmlsoap.org/wsdl/"> <documentation> Interface de Service WSDL pour toute API de fournisseur de données.  The client user can therefore query the server using this protocol according to the following specifications, defining the inputs and outputs, the encodings and the links to be used by the data services: <? Xml version = "1.0"?> <definitions targetNamespace = "urn: anyRR: transport: wsdl: 2005" xmins: this = "urn: anyRR: transport: wsdl: 2005" xmlns: soap = "http://schemas.xmlsoap.org/wsdl/soap/" xmlns = "http: // schemas.xmlsoap.org/wsdl/"> <documentation> WSDL Service Interface for any Data Provider API.

Ce document WSDL définit les appels de l'API pour le port d'accès < /documentation> <!-- Messages d'entrée et de sortie de base. --> <message name="get Data"> <part name="body" element= "this:get Data "/> </message> <message name="get Data_Result"> < part name="body" element="this:geLData_Result"/> </message> < message name="ErrorReportMessage"> <part name="body" element= "this: ErrorReport'/> </message> <!-- Les différents types de services (ports) avec leurs messages d'entrée et de sortie. --> < port Type name="get Data_Port"> <operation name= "get Data < input message="this:get Data"/> <output message= "this:get Data Result"/> <fault name="error" message="this:ErroReportMessage'/> </operation> </portType> <I-Le "binding" définit comment SOAP/HTTP sont utilises pour transporter le service. --> <binding name="get Data_SOAP" type="this:get Data_Port"> <documentation> any data provider get Data binding</documentation> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http'V> <operation name="get Data"> <soap:operation soapAction="get Data'/> <input> <soap:body use="literal" parts="body"/> </input> <output> <soap:body use="Iiteral" parts="body'/> </output> <fault name="error"> < soap:fault use="literal'/> </fault> </operation> < /binding> </definitions> La structure de requête présentée dans le fichier de définition se présente alors sous la forme suivante: < QueryStructure> <!-- requête de type SOAP avec adresse serveur et commande --> <SOAPQuery> <service name= "serveur"> < port name="get Data_serveur"> <SOAPaddress location="http://adresse_serveur/accesSOAP"/> </port> < /service> </SOAPQuery> <I-- Description des paramètres de la requête: nom, signification et contenu attendu pour chacun d'eux --> <ParameterGroup> définition des paramètres de même type que pour le premier mode de réalisation </ParameterGroup> 15 < /QueryStructure> La structure de réponse 42 présentée dans le fichier de définition, sous la forme d'un programme en langage XML., ne dépend pas du protocole utilisé et peut être du type ci-dessous: < ResponseStructure> <I--Description de la structure de la réponse à la requête ci-dessus --> <Element name="response"> < Clarification xml:lang="fr">Enveloppe de la réponse< /Clarification> <1-- Description (syntaxe et sémantique) des éléments de premier niveau de la structure de la réponse à la requête cidessus --> <Element name="Nom Valeur" type="xs:string"> < Clarification xml:lang="fr">Nom courant de la valeur< /Clarification> </Element> <Element name="Code Valeur" type="xs:string"> <Clarification xml:lang="fr">Code de la valeur selon la codification "xxxx". Exemple: "CODEZ" pour "SOCIETEI "< /Clarification> </Element> <Element name="Cours" type="xs:float" unit="EUR"> <Clarification xml:lang="fr">Cours de la valeur en Euros</Clarification> </Element> <I-Description d'un élément de premier niveau avec plusieurs valeurs possibles --> <Element name="Conseil" type="xs:integer"> < Clarification xml:lang="fr">Conseil des analystes</Clarification> <ValueList> <Value content="l "> <Clarification xml:lang="fr">Vendre</Clarification> </Value> <Value content="2"> <Clarification xml:lang="fr">Souspondérer< /Clarification> </Value> <Value content="3"> < Clarification xml:lang="fr">Conserver</Clarification> < /Value> <Value content="4"> <Clarification xml:lang="fr"> Surpondérer</Clarification> 45 50 </Value> <Value content="5"> <Clarification xml:lang="fr">Acheter< /Clarification> </Value> <NalueList> </Element> < /Element> <!-- Attribut du premier élément (response) du premier niveau --> <Attribute name="DateHeure" type="xs:dateTime"> < Clarification xml:lang="fr">Date et heure du cours de la valeur< /Clarification> </Attribute> </ResponseStructure> La structure de réponse 42 peut également être du type présenté ci-dessous. Elle diffère du type présenté précédemment en ce qu'elle permet de renvoyer une arborescence d'éléments, et, ainsi, dans le cadre de l'exemple, il est possible de renvoyer des informations boursières sur plusieurs sociétés dans la même réponse: <ResponseStructure> <!-Description de réponse. "response" est l'élément de premier niveau --> <Element name= "response "> <Clarification xml:lang="fr"> Enveloppe de la réponse</Clarification> <!-- Un seul type d'élément au deuxième niveau mais il peut y avoir plusieurs éléments de ce type dans la réponse --> <Element name="Valeur" number="unbounded"> <I-- Cet élément au deuxième niveau peut apparaître plusieurs fois dans la réponse comme indiqué par number="unbounded" ci dessus --> <!-- Premier élément à l'intérieur de l'élément "Valeur", donc au troisième niveau --> <Element name= "Code Valeur" type= "xs:string" > <Clarification xmislang="fr"> Code de la valeur selon la codification "xxxx". Exemple: "CODE1 " pour "SOCIETEI "</Clarification> </Element> <Element name="Cours" type="xs:float" unit="EUR"> <Clarification xmislang="fr">Cours de clôture de la valeur en Euros< /Clarification> </Element> <Element name="Variation" type="xs:float"> <Clarification xml:lang="fr">variation du cours par rapport au cours de clôture précédent en pourcent< /Clarification> </Element> <Element name="Lien" type="xs:anyURI"> <Clarification xml:lang="fr">URL pour accéder à la page complète des Echos sur la valeur courante</Clarification> </Element> </Element> <!-- Attribut du premier élément (response) du premier niveau --> <Attribute name="DateHeure" type="xs:dateTime"> <Clarification xml:lang="fr">Date et heure du cours de la ou des valeurs qui suivent</Clarification> < /Attribute> </Element> </ResponseStructure> A l'aide du fichier fourni par le serveur 14, par exemple du type d'au moins un des programme ci-dessus, le client 12 peut formuler une requête adaptée aux informations qu'il veut obtenir de la part du serveur 14.  This WSDL document defines API calls for access port </ documentation> <! - Basic input and output messages. -> <message name = "get Data"> <part name = "body" element = "this: get Data" /> </ message> <message name = "get Data_Result"> <part name = "body" element = "this: geLData_Result" /> </ message> <message name = "ErrorReportMessage"> <part name = "body" element = "this: ErrorReport '/> </ message> <! - The different types of services ( ports) with their input and output messages -> <port Type name = "get Data_Port"> <operation name = "get Data <input message =" this: get Data "/> <output message =" this : get Data Result "/> <fault name =" error "message =" this: ErroReportMessage '/> </ operation> </ portType> <I-The "binding" defines how SOAP / HTTP is used to transport the service. -> <binding name = "get Data_SOAP" type = "this: get Data_Port"> <documentation> any data provider get Data binding </ documentation> <soap: binding style = "document" transport = "http: // schemas .xmlsoap.org / soap / http'V> <operation name = "get Data"> <soap: operation soapAction = "get Data" /> <input> <soap: body use = "literal" parts = "body" /> </ input> <output> <soap: body use = "Iiteral" parts = "body" /> </ output> <fault name = "error"> <soap: fault use = "literal" /> </ fault> </ operation> </ binding> </ definitions> The query structure presented in the definition file is then in the following form: <QueryStructure> <! - SOAP type request with server address and command - > <SOAPQuery> <service name = "server"> <port name = "get Server_data"> <SOAPaddress location = "http: // server_address / accessSOAP" /> </ port> </ service> </ SOAPQuery> <I - Description of the parameters of the request: name, meaning and expected content for each of them -> <ParameterGroup> definition of parameters of the same type as for the first embodiment </ ParameterGroup> 15 </ QueryStructure> The structure The response 42 presented in the definition file, in the form of a program in XML language, does not depend on the protocol used and can be of the type below: <ResponseStructure> <I - Description of the structure of the response to the query above -> <Element name = "response"> <Clarification xml: lang = "en"> Envelope of the answer </ Clarification> <1-- Description (syntax and semantics ) first-level elements of the structure of the query response above -> <Element name = "Name Value" type = "xs: string"> <Clarification xml: lang = "en"> Current name of the value </ Clarification> </ Element> <Element name = "Code Value" type = "xs: string"> <Clarification xml: lang = "en"> Code of the value according to the coding "xxxx". Example: "CODE" for "COMPANY" </ Clarification> </ Element> <Element name = "Course" type = "xs: float" unit = "EUR"> <Clarification xml: lang = "en"> Course of the value in Euros </ Clarification> </ Element> <I-Description of a top-level element with several possible values -> <Element name = "Tip" type = "xs: integer"> <Clarification xml: lang = "en"> Analyst Advice </ Clarification> <ValueList> <Value content = "l"> <Clarification xml: lang = "en"> Sell </ Clarification> </ Value> <Value content = "2"> < Clarification xml: lang = "en"> Underweight </ Clarification> </ Value> <Value content = "3"> <Clarification xml: lang = "en"> Retain </ Clarification> </ Value> <Value content = " 4 "> <Clarification xml: lang =" en "> Overweight </ Clarification> 45 50 </ Value> <Value content =" 5 "> <Clarification xml: lang =" en "> Buy </ Clarification> </ Value > <NalueList> </ Element> </ Element> <! - Attribute of the first element (response) of the first level -> <Attribute name = "DateTime" type = "xs: dateTime"> <Clarifica xml: lang = "en"> Date and time of the value course </ Clarification> </ Attribute> </ ResponseStructure> The response structure 42 can also be of the type shown below. It differs from the type presented previously in that it allows to return a tree of elements, and thus, within the framework of the example, it is possible to return information on several companies in the same answer: <ResponseStructure > <! - Response description. "response" is the first-level element -> <Element name = "response"> <Clarification xml: lang = "en"> Response Envelope </ Clarification> <! - Only one type of element at second level but there may be several elements of this type in the response -> <Element name = "Value" number = "unbounded"> <I-- This element at the second level may appear multiple times in the response as indicated by number = "unbounded" above -> <! - First element inside the element "Value", therefore at the third level -> <Element name = "Code Value" type = "xs: string" > <Clarification xmislang = "en"> Code of the value according to the coding "xxxx". Example: "CODE1" for "COMPANY" </ Clarification> </ Element> <Element name = "Quote" type = "xs: float" unit = "EUR"> <Clarification xmislang = "en"> Closing price of the value in Euros </ Clarification> </ Element> <Element name = "Variation" type = "xs: float"> <Clarification xml: lang = "fr"> Price variation compared to the previous closing price in percent </ Clarification> </ Element> <Element name = "Link" type = "xs: anyURI"> <Clarification xml: lang = "en"> URL to access the complete Echos page on the current value </ Clarification> </ Element> </ Element> <! - Attribute of the first element (response) of the first level -> <Attribute name = "DateTime" type = "xs: dateTime"> <Clarification xml: lang = "en"> Date and time of the course or values that follow </ Clarification> </ Attribute> </ Element> </ ResponseStructure> Using the file provided by the server 14, for example the type of at least one of the programs ci above, the client 12 can formulate a request adapted to the information that he wants to get from the server 14.

La requête dont les éléments ont été explicités par un fichier de définition selon l'exemple peut être formulée à l'aide du protocole de transfert http, de la façon suivante: http://adresse lnternet senneur/tableXML?symbole=CODEZ+CODE2&language=fr.  The query whose elements have been clarified by a definition file according to the example can be formulated using the http transfer protocol, as follows: http: // address lnternet seiner / tableXML? Symbol = CODE + CODE2 & language = en.

L'utilisateur peut également formuler une requête en choisissant les éléments qu'il veut voir apparaître dans la réponse: http://adresse lnternetserveur/tableXML?symbole=CODE1&fields= /response/Code Valeur/Cours/text()+/response/Code Valeur/Varia tion/text( Selon le second mode de réalisation, la requête relative à l'exemple peut être formulée de la façon suivante: <get Data xmins=urn:anyRR:transport:2005...> <Query> <1-- liste des paramètres dans la requête --> <ParameterGroup BinaryBooleanOperator="AND"> <Parameter name="symbole" operator="EQ" value="CODE1+CODE2'%> <Parameter name= "langue" operator= "EQ" value="fr"/> </ParameterGroup> </Query> < Fields> <1-- liste des champs demandés dans la réponse --> < Field name='/response/Nom Valeur/text()'7> <Field name='/response/Code Valeur/text('/> <Field name='/response/Cours/text() "/> <Field name='/response/Lien/text() "/> </Fields> </get Data> Toutefois, pour que les informations 38 définissant les structures de requête 40 et de réponse 42 soient accessibles par un utilisateur qui n'est pas familier des langages informatiques, de préférence, le procédé comprend une étape 50 de présentation au cours de laquelle le client génère, à l'aide de moyens de présentation 20, une fenêtre contenant par exemple une page HTML, formant une interface donnant accès ou présentant des informations fournies au client 12 par le serveur 14, plus particulièrement présentant les définitions des structures 40, 42.  The user can also make a request by choosing the elements he wants to appear in the response: http: // address lnternetserveur / tableXML? Symbol = CODE1 & fields = / response / Code Value / Course / text () + / response / Code Value / Varia tion / text (According to the second embodiment, the request for the example can be formulated as follows: <get Data xmins = urn: anyRR: transport: 2005 ...> <Query> < 1-- list of parameters in the query -> <ParameterGroup BinaryBooleanOperator = "AND"> <Parameter name = "symbol" operator = "EQ" value = "CODE1 + CODE2 '%> <Parameter name =" language "operator = "EQ" value = "en" /> </ ParameterGroup> </ Query> <Fields> <1-- list of requested fields in the response -> <Field name = '/ response / Name Value / text ()' 7> <Field name = '/ response / Code Value / text (' /> <Field name = '/ response / Course / text () "/> <Field name =' / response / Link / text ()" /> </ Fields> </ get Data> However, for the information 38 defining the query structures e 40 and response 42 are accessible by a user who is not familiar with computer languages, preferably the method comprises a presentation step 50 during which the client generates, using presentation means 20, a window containing for example an HTML page, forming an interface giving access to or presenting information supplied to the client 12 by the server 14, more particularly having the definitions of the structures 40, 42.

Ces moyens de présentation 20 comprennent un programme d'interface non spécifique au serveur 14, téléchargé et installé au préalable sur le client. L'envoi au client 12 du programme d'interface peut être déclenché à la suite d'une commande de téléchargement volontaire du client 12.  These presentation means 20 comprise a non-specific interface program to the server 14, downloaded and installed in advance on the client. The sending to the client 12 of the interface program can be triggered following a voluntary download command from the client 12.

L'envoi au client 12 du fichier de définition avec son type MIME peut être déclenché par l'activation du lien prévue à l'étape 32.  The sending to the client 12 of the definition file with its MIME type can be triggered by the activation of the link provided in step 32.

L'exécution du programme d'interface par le client 12 est déclenchée automatiquement par la réception du fichier de définition envoyé par le serveur 14 qui comporte un type MIME ( par exemple: application/x-QRDprogram ) associé à ce programme. Par exemple, si le programme informatique est destiné à exécuter les fichiers de format .QRD , l'extension du fichier de définition est .QRD et le type MIME correspondant envoyé est alors application/x-QRD-program .Ce programme extrait les informations 38 contenues dans le fichier de définition pour créer, dans la page HTML de présentation affichée à l'écran du client 12, des éléments clairs décrivant les informations relatives aux structures de requête 40 et de réponse 42.  The execution of the interface program by the client 12 is triggered automatically by receiving the definition file sent by the server 14 which includes a MIME type (for example: application / x-QRDprogram) associated with this program. For example, if the computer program is intended to run the .QRD format files, the extension of the definition file is .QRD and the corresponding MIME type sent is then application / x-QRD-program. This program retrieves the information. contained in the definition file to create, in the presentation HTML page displayed on the client screen 12, clear elements describing the information relating to the query 40 and response 42 structures.

Les éléments descriptifs des structures 40, 42 apparaissant sur la page Internet sont par exemple des listes de valeurs ou un texte présentant les différents paramètres dans ce mode de réalisation.  The descriptive elements of the structures 40, 42 appearing on the Internet page are, for example, lists of values or a text presenting the various parameters in this embodiment.

De préférence, le programme d'interface crée également, dans la page HTML de présentation affichée à l'écran du client 12, des éléments d'assistance à la formulation de requêtes.  Preferably, the interface program also creates, in the presentation HTML page displayed on the client screen 12, assistance elements for the formulation of requests.

Ainsi, au moins un des éléments descriptifs de la page HTML de présentation peut comprendre une liste d'informations susceptibles de faire partie d'une réponse, les éléments d'assistance à la formulation d'une requête permettant de réaliser un choix parmi les informations de cette liste, par exemple à l'aide de boutons ou d'un champ de saisie.  Thus, at least one of the descriptive elements of the presentation HTML page may comprise a list of information that may be part of a response, the assistance elements for the formulation of a request making it possible to make a choice among the information from this list, for example using buttons or an input field.

Le programme d'interface est également utilisé pour décider de la destination des éléments contenus dans la réponse avec conversion éventuelle au codage utilisé chez le client.  The interface program is also used to decide the destination of the elements contained in the response with possible conversion to the coding used at the client.

L'étape 50 de présentation d'informations est suivie d'une étape 52 au cours de laquelle l'utilisateur client formule une requête à l'attention du serveur 14.  The step 50 of presenting information is followed by a step 52 during which the client user makes a request to the attention of the server 14.

Cette étape 52 peut comprendre une sous-étape 54 de formulation de la requête à l'aide des éléments d'assistance à la formulation de requête proposés par le programme d'interface et de moyens classiques tels qu'un élément d'interface 22 du client 12 (clavier, souris, etc.).  This step 52 may comprise a substep 54 of formulating the request using the assistance elements for the formulation of requests proposed by the interface program and conventional means such as an interface element 22 of the interface. client 12 (keyboard, mouse, etc.).

L'étape 52 peut également comprendre une sous-étape 56 d'incorporation dans la requête de données propres au client 12, plus particulièrement de données contenues dans la base 24 du client 12.  Step 52 may also include a substep 56 of incorporation in the client-specific data request 12, more particularly data contained in the client's database 24.

La sous-étape 56 peut être exécutée notamment à l'aide de moyens comportant un logiciel utilitaire non spécifique au serveur 14 stocké sur l'unité centrale 20 du client 12.  The substep 56 may be executed in particular using means comprising non-server specific utility software 14 stored on the central unit 20 of the client 12.

Après avoir formulé la requête, le client 12 émet cette requête vers le serveur 14, au cours d'une étape 58. Cette transmission peut se faire à la suite d'une action volontaire de l'utilisateur sur le client 12 (sousétape 60 de l'étape 58) ou automatiquement (sous-étape 62 de l'étape 58).  After having formulated the request, the client 12 sends this request to the server 14, during a step 58. This transmission can be done as a result of a voluntary action by the user on the client 12 (substep 60 of step 58) or automatically (substep 62 of step 58).

Ainsi, au cours de la sous-étape 60, l'utilisateur client peut déclencher manuellement la transmission de la requête par exemple en cliquant sur un bouton de la fenêtre de présentation. Au cours de la sous-étape 60, la transmission de la requête est pilotée par des moyens classiques du client comprenant un élément 22 d'interface utilisateur (clavier, souris, etc.) et l'unité centrale 20 du client 12. La requête est transmise au serveur 14 par l'intermédiaire du réseau 16.  Thus, during the substep 60, the client user can manually trigger the transmission of the request for example by clicking a button of the presentation window. During the substep 60, the transmission of the request is controlled by conventional means of the client comprising a user interface element 22 (keyboard, mouse, etc.) and the central unit 20 of the client 12. The request is transmitted to the server 14 via the network 16.

Au cours de la sous-étape 62, la requête est émise automatiquement par le client 12 vers le serveur 14, par exemple conformément à une séquence programmée par l'utilisateur dans le client 12.  During the substep 62, the request is automatically sent by the client 12 to the server 14, for example according to a sequence programmed by the user in the client 12.

Par exemple, au cours de la sous-étape 62, un formulaire est présenté à l'utilisateur client. Celui-ci indique, en remplissant des champs de saisies ou en cliquant sur des boutons numériques, à quelles échéances la requête doit être transmise automatiquement au serveur 14. Ce formulaire peut être généré par des moyens comprenant un logiciel utilitaire, par exemple le programme d'interface décrit ci-dessus, stocké dans l'unité centrale 20 du client 12.  For example, in the substep 62, a form is presented to the client user. The latter indicates, by filling fields of entries or by clicking on numerical buttons, to which deadlines the request must be transmitted automatically to the server 14. This form can be generated by means including a utility software, for example the program of interface described above, stored in the central unit 20 of the client 12.

Au cours de la sous-étape 62, la transmission de la requête est pilotée par des moyens classiques comprenant l'unité centrale 20 du client 12. La requête est transmise au serveur 14 par l'intermédiaire du réseau 16.  During the sub-step 62, the transmission of the request is controlled by conventional means comprising the central unit 20 of the client 12. The request is transmitted to the server 14 via the network 16.

Après réception de la requête par le serveur 14, celui-ci la traite et transmet une réponse au client 12 au cours d'une étape 64. La réponse est conforme à la structure de réponse 42, incluse dans le fichier de définition présenté au préalable à l'utilisateur client. Dans le cas de la structure de réponse 42 donnée en exemple, la réponse selon le premier mode de réalisation peut être la suivante: <response DateHeure="200502-01 T16:41:00"> <Nom Valeur>SOCI ETE 1 </Nom Valeur> < CodeValeur>CODE1</CodeValeur> <Cours>23.25</Cours> <Conseil>3</Conseil> </response> Selon le second mode de réalisation, la réponse à la requête donnée en exemple est: <?xml version." 1.0" encoding="LITF-8"?> <geLData_Result...> < response> <Nom Valeur>SOCIETE1 </Nom Valeur> <Code Valeur>CODE1 </CodeValeur> <Cours>23.25</Cours> < Lien>http:// adresse serveur/accesSOAP/symbole=CODE1 </Lien> < /response> </get Data_Result...> La réponse peut également être constituée par une arborescence d'éléments permettant de fournir plusieurs données distinctes, si bien qu'un seul envoi par le serveur 14 peut contenir toutes les données requises par le client 12. Le cas échéant, certaines données figurant dans la réponse du serveur 14 et provenant de la base 28 de ce serveur 14 sont affectées, avec conversion éventuelle au codage utilisé chez le client, au cours d'une étape 66, à la base de données 24 du client 12. Cette affectation peut être réalisée par un logiciel utilitaire stocké sur l'unité centrale 20 du client 12.  After reception of the request by the server 14, the latter processes it and sends a response to the client 12 during a step 64. The response is in accordance with the response structure 42 included in the definition file presented in advance. to the customer user. In the case of the response structure 42 given as an example, the response according to the first embodiment can be as follows: <response DateTime = "200502-01 T16: 41: 00"> <Name Value> SOCI SUM 1 </ Name Value> <ValueCode> CODE1 </ ValueCode> <Course> 23.25 </ Course> <Tip> 3 </ Tip> </ response> According to the second embodiment, the response to the example query is: <? xml version. "1.0" encoding = "LITF-8"?> <geLData_Result ...> <response> <Name Value> COMPANY1 </ Name Value> <Code Value> CODE1 </ ValueCode> <Course> 23.25 </ Course > <Link> http: // server address / accesSOAP / symbol = CODE1 </ Link> </ response> </ get Data_Result ...> The response can also be constituted by a tree of elements allowing to provide several distinct data so that a single sending by the server 14 can contain all the data required by the client 12. If necessary, some data in the server response 14 and from the base 28 of this s 14 are assigned, with possible conversion to the encoding used in the client, during a step 66, to the database 24 of the client 12. This assignment can be performed by a utility software stored on the CPU 20 of the customer 12.

Le système et le procédé décrits ci-dessus permettent donc à un utilisateur client de générer une requête vers un serveur 14 et d'exploiter au mieux sa réponse quelle que soit la structure de données en vigueur sur ce serveur 14.  The system and method described above thus allow a client user to generate a request to a server 14 and make the best use of its response regardless of the data structure in force on this server 14.

Le système d'échange de données selon l'invention ne se limite pas au mode de réalisation décrit ci-dessus.  The data exchange system according to the invention is not limited to the embodiment described above.

En particulier, comme illustré en pointillés sur la figure 1, le système peut comprendre deux serveurs, à savoir le serveur 14 en trait plein (premier serveur) et le serveur 14' en pointillés (second serveur) plutôt qu'un seul et même serveur comme décrit précédemment. Dans cette configuration, le premier serveur 14 fournit au client des informations relatives aux structures de requête et de réponse conformes à la structure de données en vigueur sur le second serveur 14'.  In particular, as illustrated in dashed lines in FIG. 1, the system may comprise two servers, namely the server 14 in full line (first server) and the server 14 'in dashed lines (second server) rather than one and the same server as previously described. In this configuration, the first server 14 provides the client with information on the request and response structures in accordance with the data structure in effect on the second server 14 '.

Claims (25)

REVENDICATIONS 1. Procédé d'échange de données entre au moins un premier serveur (14) et un client (12), le procédé étant du type comprenant une étape (52) de formulation d'une requête à l'attention d'un second serveur (14, 14') qui, le cas échéant, peut être le premier serveur, fournissant des données structurées, notamment de type XML, caractérisé en ce qu'il comprend une étape préalable (36) de fourniture par le premier serveur (14) au client (12) d'informations relatives aux structures de requête (40) et de réponse (42) conformes à la structure de données en vigueur sur le second serveur (14, 14').  A method for exchanging data between at least a first server and a client, the method being of the type comprising a step of formulating a request for a second server (14, 14 ') which, if necessary, can be the first server, providing structured data, in particular of the XML type, characterized in that it comprises a preliminary step (36) of provisioning by the first server (14) to the client (12) information relating to the request (40) and response (42) structures conforming to the data structure in effect on the second server (14, 14 '). 2. Procédé d'échange de données structurées selon la revendication 1, caractérisé en ce que les informations (38) relatives à la structure de requête (40), fournies au client (12), comprennent au moins une définition choisie parmi une définition (44a, 44b) d'un protocole de transfert de la requête, une définition d'une adresse de serveur, une définition d'une commande, et une définition (46) d'au moins un paramètre identifié par un nom et un type.  A method for exchanging structured data according to claim 1, characterized in that the information (38) relating to the request structure (40) supplied to the client (12) comprises at least one definition selected from a definition ( 44a, 44b) of a request transfer protocol, a definition of a server address, a definition of a command, and a definition (46) of at least one parameter identified by a name and a type. 3. Procédé d'échange de données structurées selon la revendication 2, caractérisé en ce que les informations (38) relatives à la structure de requête (40), fournies au client (12), peuvent comprendre: - un groupe d'au moins deux paramètres, mis en relation à l'aide d'opérateurs logiques; pour chaque paramètre, un commentaire descriptif, une liste de valeurs attendues, une valeur par défaut et, si ce paramètre est de type numérique, une unité, une valeur minimale et une valeur maximale; - une liste d'éléments et d'attributs à inclure dans la réponse.  A method for exchanging structured data according to claim 2, characterized in that the information (38) relating to the request structure (40) provided to the client (12) may comprise: - a group of at least two parameters, connected using logical operators; for each parameter, a descriptive comment, a list of expected values, a default value and, if this parameter is of numeric type, a unit, a minimum value and a maximum value; - a list of elements and attributes to include in the response. 4. Procédé d'échange de données structurées selon les revendications 1 à 3, caractérisé en ce que les informations (38) relatives à la structure de réponse (42), fournies au client (12), comprennent au moins une définition choisie parmi une définition d'un nom (48) de structure de données attendue en réponse et une définition d'au moins un élément de la réponse.  A method for exchanging structured data according to claims 1 to 3, characterized in that the information (38) relating to the response structure (42) provided to the client (12) comprises at least one definition selected from a defining a data structure name (48) expected in response and a definition of at least one element of the response. 5. Procédé d'échange de données structurées selon la revendication 4, caractérisé en ce que les informations (38) relatives à la structure de réponse (42), fournies au client (12), peuvent comprendre, pour chaque élément, un nom, un type, une liste de valeurs possibles, un commentaire descriptif et, si l'élément est de type numérique, une unité et une cardinalité, associé éventuellement à un ou plusieurs attributs, avec, pour chaque attribut, un nom, un type, une liste de valeurs possibles, un commentaire descriptif et, si l'attribut est de type numérique, une unité et une cardinalité.  A structured data exchange method according to claim 4, characterized in that the information (38) relating to the response structure (42) provided to the client (12) may include, for each element, a name, a type, a list of possible values, a descriptive comment and, if the element is of numeric type, a unit and a cardinality, possibly associated with one or more attributes, with, for each attribute, a name, a type, a list of possible values, a descriptive comment and, if the attribute is of numeric type, a unit and a cardinality. 6. Procédé d'échange de données structurées selon l'une quelconque des revendications 1 à 5, caractérisé en ce que l'étape (36) de fourniture d'informations est complétée par une étape de présentation (50) de ces informations à l'aide d'un programme d'interface exécuté par le client (12).  6. Method for exchanging structured data according to any one of claims 1 to 5, characterized in that the step (36) of providing information is completed by a step of presenting (50) this information to the user. using an interface program executed by the client (12). 7. Procédé d'échange de données structurées selon la revendication 6, caractérisé en ce que le programme d'interface génère une fenêtre, contenant par exemple une page HTML, présentant ces informations.  7. structured data exchange method according to claim 6, characterized in that the interface program generates a window, for example containing an HTML page, presenting this information. 8. Procédé d'échange de données structurées selon la revendication 6 ou 7, caractérisé en ce que le programme d'interface présente, d'une part, des éléments descriptifs décrivant les informations (38) relatives aux structures de requête (40) et de réponse (42) et, d'autre part, des éléments d'assistance à la formulation d'une requête.  Method for the exchange of structured data according to claim 6 or 7, characterized in that the interface program has, on the one hand, descriptive elements describing the information (38) relating to the request structures (40) and response (42) and, on the other hand, assistance elements in formulating a request. 9. Procédé d'échange de données structurées selon la revendication 8, caractérisé en ce qu'au moins un des éléments descriptifs comprend une liste d'informations susceptibles de faire partie d'une réponse, les éléments d'assistance à la formulation d'une requête permettant de réaliser un choix parmi les informations de cette liste.  9. Method for exchanging structured data according to claim 8, characterized in that at least one of the descriptive elements comprises a list of information likely to be part of a response, the elements of assistance to the formulation of a request to make a choice among the information in this list. 10. Procédé d'échange de données structurées selon l'une quelconque des revendications 1 à 9, caractérisé en ce que l'étape (52) de formulation de requête comprend l'incorporation (56) dans la requête de données propres au client.  A structured data exchange method according to any one of claims 1 to 9, characterized in that the query formulation step (52) comprises embedding (56) in the request data specific to the client. 11. Procédé d'échange de données structurées selon l'une quelconque des revendications 1 à 10, caractérisé en ce qu'il comprend une étape (60) d'émission de la requête vers le second serveur (14, 14') à la suite d'une action volontaire d'un utilisateur sur le client (12).  11. structured data exchange method according to any one of claims 1 to 10, characterized in that it comprises a step (60) for transmitting the request to the second server (14, 14 ') to the following a voluntary action by a user on the client (12). 12. Procédé d'échange de données structurées selon l'une quelconque des revendications 1 à 10, caractérisé en ce qu'il comprend une étape (62) d'émission automatique de la requête par le client (12) vers le second serveur (14, 14'), par exemple conformément à une séquence programmée par un utilisateur dans le client (12).  12. Method for exchanging structured data according to any one of claims 1 to 10, characterized in that it comprises a step (62) of automatic transmission of the request by the client (12) to the second server ( 14, 14 '), for example according to a sequence programmed by a user in the client (12). 13. Procédé d'échange de données structurées selon l'une quelconque des revendications 1 à 12, caractérisé en ce que l'étape (36) de fourniture d'informations est déclenchée par une étape (32) d'activation volontaire d'un lien dans une page Internet proposée par le premier serveur (14).  13. Method for exchanging structured data according to any one of claims 1 to 12, characterized in that the step (36) of providing information is triggered by a step (32) of voluntary activation of a link in an Internet page proposed by the first server (14). 14. Procédé d'échange de données structurées selon l'une quelconque des revendications 1 à 13, caractérisé en ce qu'il comprend une étape (64) de transmission au client (12) par le second serveur (14, 14') d'une réponse à la requête émise par ledit client (12), la réponse étant conforme à la structure de réponse (42).  14. structured data exchange method according to any one of claims 1 to 13, characterized in that it comprises a step (64) of transmission to the client (12) by the second server (14, 14 ') d a response to the request issued by said client (12), the response being in accordance with the response structure (42). 15. Serveur caractérisé en ce qu'il comprend des moyens (26) de fourniture à un client (12) d'informations (38) relatives aux structures de requête (40) et de réponse (42) conformes à la structure de données en vigueur sur un serveur (14, 14') fournisseur de données structurées.  A server characterized in that it comprises means (26) for providing a client (12) with information (38) relating to the request (40) and response (42) structures conforming to the data structure. force on a server (14, 14 ') structured data provider. 16. Serveur selon la revendication 15, caractérisé en ce qu'il forme le serveur (14) fournisseur de données structurées.  16. Server according to claim 15, characterized in that it forms the server (14) providing structured data. 17. Système comprenant au moins un premier serveur (14) et un client (12) reliés entre eux au moyen d'un réseau (16), le client (12) comportant des moyens (22) de formulation de requête à l'attention d'un second serveur (14, 14'), qui, le cas échéant, peut être le premier serveur, caractérisé en ce que le premier serveur (14) est selon la revendication 15.  17. System comprising at least a first server (14) and a client (12) interconnected by means of a network (16), the client (12) having means (22) for formulating a request for attention a second server (14, 14 '), which, where appropriate, may be the first server, characterized in that the first server (14) is according to claim 15. 18. Client d'un système selon la revendication 17, caractérisé en ce qu'il comprend des moyens de présentation (20) des informations (38) fournies par le premier serveur (14).  18. Customer of a system according to claim 17, characterized in that it comprises presentation means (20) of information (38) provided by the first server (14). 19. Client selon la revendication 18, caractérisé en ce qu'il comprend des moyens d'incorporation (20) de données qui lui sont propres dans la requête à l'attention du second serveur (14, 14').  19. Client according to claim 18, characterized in that it comprises means of incorporation (20) of data specific to it in the request to the attention of the second server (14, 14 '). 20. Client selon la revendication 18 ou 19, caractérisé en ce qu'il comprend des moyens d'émission (20, 22) de la requête vers le second serveur (14,14'), automatiquement ou à la suite d'une action volontaire d'un utilisateur.  20. Customer according to claim 18 or 19, characterized in that it comprises means for transmitting (20, 22) the request to the second server (14, 14 '), automatically or as a result of an action volunteer of a user. 21. Client selon l'une quelconque des revendications 18 à 20, caractérisé en ce qu'il comprend des moyens d'activation (20, 22) d'un lien dans une page Internet proposée par le premier serveur (14), déclenchant la fournitures des informations (38) par ledit serveur (14) au client (12).  21. Customer according to any one of claims 18 to 20, characterized in that it comprises means for activating (20, 22) a link in an Internet page proposed by the first server (14), triggering the providing information (38) by said server (14) to the client (12). 22. Programme pour un ordinateur formant serveur (14) selon la revendication 15, caractérisé en ce qu'il fournit automatiquement au client (12), suite à l'activation d'un lien par ledit client (12), des informations (38) relatives aux structures de requête (40) et de réponse (42) conformes à la structure de données d'un second serveur (14, 14').  22. Program for a server computer (14) according to claim 15, characterized in that it automatically provides the customer (12), following the activation of a link by said customer (12), information (38). ) relating to the request (40) and response (42) structures conforming to the data structure of a second server (14, 14 '). 23. Programme pour un ordinateur formant un client (12) d'un système selon la revendication 17, caractérisé en ce qu'il génère une interface de présentation d'informations fournies au client (12) par le premier serveur (14).  23. Program for a computer forming a client (12) of a system according to claim 17, characterized in that it generates an information presentation interface provided to the client (12) by the first server (14). 24. Programme d'ordinateur selon la revendication 23, caractérisé en ce que l'interface générée comprend au moins une fenêtre, contenant par exemple une page HTML, donnant accès ou présentant les informations fournies au client (12) par le premier serveur (14).  24. Computer program according to claim 23, characterized in that the generated interface comprises at least one window, for example containing an HTML page, giving access to or presenting the information provided to the client (12) by the first server (14). ). 25. Programme d'ordinateur selon la revendication 23 ou 24, caractérisé en ce que l'interface générée présente, d'une part, des éléments descriptifs décrivant les informations relatives aux structures de requête (40) et de réponse (42) et, d'autre part, des éléments d'assistance à la formulation d'une requête.  25. Computer program according to claim 23 or 24, characterized in that the generated interface has, on the one hand, descriptive elements describing the information relating to the request (40) and response (42) structures and, on the other hand, elements of assistance with the formulation of a request.
FR0506670A 2005-06-29 2005-06-29 METHOD OF EXCHANGING DATA BETWEEN A SERVER AND A CUSTOMER, SYSTEM SERVER COMPRISING THIS SERVER, CUSTOMER OF THIS SYSTEM, PROGRAMS FOR A COMPUTER FORMING A SERVER AND A COMPUTER FORMING A CLIENT Pending FR2888069A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR0506670A FR2888069A1 (en) 2005-06-29 2005-06-29 METHOD OF EXCHANGING DATA BETWEEN A SERVER AND A CUSTOMER, SYSTEM SERVER COMPRISING THIS SERVER, CUSTOMER OF THIS SYSTEM, PROGRAMS FOR A COMPUTER FORMING A SERVER AND A COMPUTER FORMING A CLIENT
PCT/FR2006/001530 WO2007003774A1 (en) 2005-06-29 2006-06-29 Method of exchanging data between a server and a client, server, system comprising said server, system client, programs for a server-forming computer and a client-forming computer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0506670A FR2888069A1 (en) 2005-06-29 2005-06-29 METHOD OF EXCHANGING DATA BETWEEN A SERVER AND A CUSTOMER, SYSTEM SERVER COMPRISING THIS SERVER, CUSTOMER OF THIS SYSTEM, PROGRAMS FOR A COMPUTER FORMING A SERVER AND A COMPUTER FORMING A CLIENT

Publications (1)

Publication Number Publication Date
FR2888069A1 true FR2888069A1 (en) 2007-01-05

Family

ID=35825342

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0506670A Pending FR2888069A1 (en) 2005-06-29 2005-06-29 METHOD OF EXCHANGING DATA BETWEEN A SERVER AND A CUSTOMER, SYSTEM SERVER COMPRISING THIS SERVER, CUSTOMER OF THIS SYSTEM, PROGRAMS FOR A COMPUTER FORMING A SERVER AND A COMPUTER FORMING A CLIENT

Country Status (2)

Country Link
FR (1) FR2888069A1 (en)
WO (1) WO2007003774A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019077124A1 (en) * 2017-10-19 2019-04-25 Amadeus S.A.S. Sharing search criteria across multiple search spaces
FR3072811A1 (en) * 2017-10-19 2019-04-26 Amadeus S.A.S. SHARING SEARCH CRITERIA BETWEEN MULTIPLE RESEARCH SPACES

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005052811A1 (en) * 2003-11-27 2005-06-09 International Business Machines Corporation Searching in a computer network

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005052811A1 (en) * 2003-11-27 2005-06-09 International Business Machines Corporation Searching in a computer network

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
AGARWAL S ET AL: "Surfing the Service Web", SECOND INTERNATIONAL SEMANTIC WEB CONFERENCE, vol. 2870, October 2003 (2003-10-01), pages 211 - 226, XP002370002, Retrieved from the Internet <URL:http://citeseer.ist.psu.edu/agarwal03surfing.html> [retrieved on 20060227] *
JANECEK J: "Efficient SOAP processing in embedded systems", ENGINEERING OF COMPUTER-BASED SYSTEMS, 2004. PROCEEDINGS. 11TH IEEE INTERNATIONAL CONFERENCE AND WORKSHOP ON THE BRNO, CZECH REPUBLIC 24-27 MAY 2004, PISCATAWAY, NJ, USA,IEEE, 24 May 2004 (2004-05-24), pages 128 - 134, XP010711447, ISBN: 0-7695-2125-8 *
MRISSA M ET AL: "A Mediation Framework for Web Services in a Distributed Healthcare Information System", MEDICAL INFORMATION SYSTEMS: THE DIGITAL HOSPITAL, 2004. IDEAS '04-DH. PROCEEDINGS. IDEAS WORKSHOP ON BEIJING, CHINA 01-03 SEPT. 2004, PISCATAWAY, NJ, USA,IEEE, 1 September 2004 (2004-09-01), pages 15 - 22, XP010779126, ISBN: 0-7695-2289-0 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019077124A1 (en) * 2017-10-19 2019-04-25 Amadeus S.A.S. Sharing search criteria across multiple search spaces
FR3072811A1 (en) * 2017-10-19 2019-04-26 Amadeus S.A.S. SHARING SEARCH CRITERIA BETWEEN MULTIPLE RESEARCH SPACES

Also Published As

Publication number Publication date
WO2007003774A1 (en) 2007-01-11

Similar Documents

Publication Publication Date Title
US10255303B1 (en) Methods and apparatus for enterprise application integration
US9398069B2 (en) Stateless microkernel web server architecture
World Wide Web Consortium The platform for privacy preferences 1.0 (P3P1. 0) specification
US8676886B2 (en) System and method for dynamically changing the content of an information display
US7962470B2 (en) System and method for searching web services
JP5779187B2 (en) Contextual support for publish-subscribe systems
US20080065974A1 (en) Template-based electronic presence management
US20080066080A1 (en) Remote management of an electronic presence
US20130132362A1 (en) Method and system of promoting human-assisted search
US20120117494A1 (en) System and method for expediting information display
FR2891077A1 (en) Business application implementing system for large enterprise, has automatic service calling server, with intermediation module, calling services, receiving data related to services and transforming them to be treated in application server
EP1193950A2 (en) Optimization method, by a network architecture element, for consulting data
US8620774B1 (en) Automated marketplace management service
US20120232985A1 (en) Advertising Using Mobile Devices
US20100088344A1 (en) System and method for ontology and rules based segmentation engine for networked content delivery
US20160241510A1 (en) Generating consistent suggested domain names from user feedback
FR2906383A1 (en) SEMANTIC WEB SERVICE REFERENTIAL AND METHOD USING THE REFERENTIAL
CN114064690A (en) Data processing method and device
US20160239900A1 (en) Modifying merchandising flow based on user feedback
FR2869133A1 (en) SYSTEM AND METHOD FOR TRACEABILITY OF SYNCHRONIZED ELECTRONIC CONTENTS VIA INTERNET-BASED COMMUNICATION NETWORK
Verborgh et al. Distributed affordance: an open-world assumption for hypermedia
FR2888069A1 (en) METHOD OF EXCHANGING DATA BETWEEN A SERVER AND A CUSTOMER, SYSTEM SERVER COMPRISING THIS SERVER, CUSTOMER OF THIS SYSTEM, PROGRAMS FOR A COMPUTER FORMING A SERVER AND A COMPUTER FORMING A CLIENT
KR20050063886A (en) Method and system for providing users with contents upon request
Kodali the design and implementation of an e-commerce Site for online book sales
EP1494147A1 (en) Method, system and program for visualizing network accessible information