Brevet FR2849561A1 — publié le 20040702

Système de communication multi-protocoles." La présente invention se rapporte à un système de communication pour rendre des données présentes dans une pluralité 5 de sources de données hétérogènes accessibles à une pluralité de terminaux hétérogènes via un réseau de communication informatique. Le réseau de communication de type Internet est accessible à de nombreux terminaux différents. Cependant, dans la plupart des cas, les terminaux de même nature communiquent selon un protocole 10 prédéterminé inaccessible à d'autres types de terminaux. C'est ainsi que les terminaux de communication WAP par exemple ne permettent pas normalement une consultation de données HTML sur Internet. La présente invention a pour but de proposer un nouveau système de communication permettant à tout type de terminal de 15 communication tel que les assistants numériques personnels (PDA "Personal Digital Assistant" en langue anglaise), les téléphones portables, les ordinateurs fixes et portables, d'accéder de façon uniforme, optimisée et en temps réel à toute source de données. On atteint cet objectif avec un système de communication 20 permettant de rendre des données présentes dans une pluralité de sources de données hétérogènes accessibles à une pluralité de terminaux hétérogènes via un réseau de communication informatique, ce système comprenant un serveur de communication doté : - d'un premier frontal de communication vers les 25 terminaux pour traduire des données provenant des différents terminaux en des données selon un protocole générique et inversement, - d'un second frontal de communication vers les bases de données pour traduire des données provenant des différentes 30 sources de données en des données selon le protocole générique et inversement, - et d'une application serveur pour gérer la communication entre les deux frontaux et traiter les données provenant du frontal de communication vers les sources de 35 données. Le serveur de communication peut être une machine intégrable dans les locaux d'une entreprise. Elle peut comprendre une connexion - 2 à une ligne spécialisée à haut débit, sur laquelle arrivent et repartent les requêtes et les résultats des terminaux. Il peut également comprendre un accès réseau vers les différentes sources de données à rendre accessible. Les terminaux peuvent par exemple être 5 des ordinateurs fixes et portables, des assistants numériques personnels et des téléphones portables. Les sources de données peuvent par exemple être des bases de données, des systèmes de gestion d'entreprise (ERP "Enterprise Resource Planning" en langue anglaise), des serveurs de messages électroniques... Un frontal de communication est, de façon générale, un composant de liaison. Il permet de recevoir des requêtes et d'y répondre. Selon l'invention, les frontaux de communications définis ont pour premier but celui d'homogénéiser la communication avec les terminaux ou sources de données. Chacun des frontaux de 15 communication est constitué de différents modules indépendants les uns des autres. Ainsi, toute mise à jour du serveur de communication se fera par le remplacement ou l'ajout de modules, et ceci sans interrompre le fonctionnement du serveur de communication. Le frontal de communication vers les terminaux, ou FCT, vise à 20 rendre homogène le support des terminaux. Ainsi, chacun des modules, dédié à un langage ou protocole spécifique, devra traduire les requêtes transmises par les terminaux utilisant ce langage ou ce protocole en des données sous un protocole générique à tous les modules. Le FCT est composé de modules ayant tous une connexion 25 directe vers les terminaux intégrant les protocoles de communication dédiés. Ces modules peuvent communiquer entre eux, par exemple, le module WAP pourra rediriger ses requêtes vers le module HTTP. Inversement, ces modules du FCT ont pour rôle d'émettre des informations provenant de l'application serveur vers les terminaux, 30 en respectant les particularités intrinsèques (protocole, langage) de chaque terminal. Le FCT peut comprendre les modules suivants - un module http ("HyperText Transport Protocol") ce module écoute un port en TCP/IP; Il peut être contacté par les terminaux 35 directement ou par d'autres modules, comme celui gérant le protocole WAP; Les requêtes HTTP sont analysées, puis représentées sous forme d'objet transmis vers l'application serveur, pour traitement; 3 3 Réciproquement, les réponses aux requêtes, reçues sous forme d'objets, sont retranscrites sous forme de message HTTP, puis sont expédiées aux terminaux; - un module WAP ("Wireless Application Protocol") ce module constitue l'interface avec les téléphones portables compatibles WAP; Il réceptionne les requêtes sur le protocole dédié, et les décode; Il peut retransmettre les requêtes sous forme de messages HTTP au module HTTP, qui les réexpédiera sous forme d'objet vers l'application serveur. Les réponses, provenant de ce même module 10 HTTP, sont retranscrites puis transmis aux clients WAP; - un module IMAP ("Internet Message Access Protocol") ce module permet de rendre disponible les accès e-mail par le protocole IMAP; Ce protocole est utilisé par tous les principaux logiciels de messagerie. Le frontal de communication vers les sources de données, ou FCS, vise à rendre homogène, pour l'application serveur, l'accès aux sources de données. Les modules du FCS reçoivent des requêtes sous formes d'objets provenant de l'application serveur, traduisent ces objets en un langage compréhensible par une source de données 20 prédéterminée. Après réception de la réponse de la part de la source de données, chaque module du FCS peut construire son objet pour représenter de façon plus homogène la réponse à l'application serveur. Les modules du FCS ont donc une mission symétrique de celle 25 des modules du FCT. Ils reçoivent des requêtes dans un langage unique, de la part de l'application serveur, et les traitent puis communiquent avec différentes sources de données dans des langages hétérogènes. Le FCS peut comprendre des modules dédiés aux sources de 30 données suivantes: - des bases de données SQL ("Structure Query Langage") : Le FCS comprend un module capable de transformer un objet provenant de l'application serveur en une requête SQL pour une recherche dans des bases de données; Après réception de la réponse, le module construit 35 un objet réponse destiné à l'application serveur; - 4 - des CRM ("gestion de la relation client") Le FCS peut comprendre plusieurs modules capables de se connecter aux différents CRM; - des ERP ("Enterprise Resource Planning") De même que pour les CRM, Le FCS peut comprendre plusieurs modules capables de se connecter aux différents ERP. Le langage de communication de l'application serveur peut être le XML "extensible Markup Language" qui est un langage basique pour la création de document de type HTML "HyperText Markup Language" sur 10 le réseau Internet. L'application serveur est le coeur du serveur de communication. Elle permet en effet d'orienter différents flux tout en leur appliquant des traitements tels que l'agrégation. L'agrégation permet de rassembler l'ensemble des données obtenues en réponse à 15 une requête émise par un terminal. Ces données peuvent avantageusement provenir de plusieurs sources de données qui ont été explorées en parallèle de façon à accélérer les recherches. L'application serveur a également pour rôle de sécuriser le système en octroyant des droits particuliers aux utilisateurs des 20 terminaux, de filtrer les données issues d'une recherche en éliminant par exemple les données inutiles et en limitant la taille des images, de personnaliser les réponses en fonction notamment des éléments introduits par les utilisateurs des terminaux, d'optimiser les différents traitements en comprimant les données. Plus précisément, le FCT peut comprendre une interface de recherche pour traduire vers l'application serveur les requêtes provenant des terminaux, ainsi qu'une interface d'analyse pour traduire vers les terminaux les données provenant de l'application serveur. Les tâches des différents modules sont ainsi scindées en 30 deux entités. De préférence, l'application serveur comprend un gestionnaire de profil et de présentation pour personnaliser et paramétrer les interfaces à partir des terminaux. Selon un mode de mise en oeuvre avantageux de l'invention, 35 l'application serveur peut comporter une pluralité d'agents d'agrégation pour traiter les requêtes provenant des terminaux et - 5 les données provenant des sources de données. Par agent on entend une application informatique qui: - est capable d'agir dans son environnement; - peut communiquer avec d'autres agents; - est doué d'autonomie et est mue par un ensemble de tendances (objectifs individuels); - possède des ressources propres; - est capable de percevoir son environnement et de s'adapter à des modifications; - ne dispose que d'une représentation partielle de son environnement; - possède des compétences et offre des services; - peut éventuellement se reproduire. Chaque module du second frontal FCS peut être constitué d'un 15 agent de service apte à effectuer une recherche dans une source de données en réponse à une consigne provenant d'un agent d'agrégation associé. Chaque agent d'agrégation est associé à au moins un agent de service. Le rôle d'un agent d'agrégation est d'assurer la communication avec les interfaces d'analyse et de recherche, ainsi 20 que de transmettre des consignes vers les agents de service et de traiter les résultats obtenus par ces agents de service. Le traitement consiste notamment à agréger ces données en tenant compte des critères d'optimisation, de filtrage et de préférences des utilisateurs des terminaux. Plusieurs agents d'agrégation sont aptes à prendre en compte une même requête et transmettre des consignes vers des agents de service associés. Par ailleurs, plusieurs agents de service sont aptes à traiter des consignes provenant d'un même agent d'agrégation, ce qui permet 30 des recherches parallèles. Pour une requête émise par un terminal, l'application serveur peut comprendre des moyens pour confronter des données obtenues par plusieurs agents d'agrégation avant de transmettre ces données vers le terminal émetteur. La confrontation peut alors consister par 35 exemple en une fusion des données obtenues ou en une élimination d'une partie des données obtenues. - 6 De préférence, pour améliorer la vitesse de traitement du système, seuls les agents de service ayant trouvés des données recherchées dans un intervalle temporel prédéterminé transmettent leurs données vers les agents d'agrégation. Avantageusement, l'application serveur comprend des moyens pour créer de façon dynamique des agents d'agrégation et de service de façon à réaliser une chaîne de transmission entre le terminal ayant émise une requête et la source de données dans laquelle des données correspondantes à la requête ont été obtenues. L'utilisateur 10 du terminal ayant émis la requête peut alors consulter en temps réel la source de données considérée. Cette chaîne de transmission peut être créée en réponse à une consigne provenant du terminal émetteur de la requête. Cette consigne peut par exemple être un accord que le terminal transmet 15 lorsqu'il reçoit de la part du serveur de communication le résultat correspondant à sa requête. La chaîne de transmission peut consister en un clonage des agents d'agrégation et de service ayant servis à l'obtention des données recherchées. On crée ainsi de nouveaux agents dédiés à la 20 liaison entre un terminal donné et une source de données prédéterminée. Suivant encore l'invention, l'application serveur peut comprendre des moyens de filtrage et de compression adaptée et autoadaptable au type de flux de façon à limiter la taille des données 25 transmises vers les terminaux. Ces flux peuvent être des flux client/serveur ou uniquement basé sur les ressources du serveur. Par ailleurs, chaque terminal peut comprendre une application cliente apte à fournir des informations sous la forme d'une icône sur l'état de la communication et des données devant être 30 transmises. L'application serveur peut en outre comprendre des moyens pour reconnaître automatiquement les terminaux ainsi que leurs ressources associées et pour adapter en conséquence et le cas échéant automatiquement les informations envoyées. Avantageusement, le serveur de communication peut comprendre des moyens pour réaliser des bases de connaissance géographique sur la qualité du service: zone de coupures de réseaux, réseaux - 7 disponibles par zone, services disponibles par zone et tout autre type de service et informations liant les réseaux télécoms et la géographie. L'application serveur peut encore comprendre des moyens pour 5 pré-charger dans les terminaux des informations non encore demandées par des utilisateurs desdits terminaux. Une base de connaissance sur les requêtes peut être réalisée, ces requêtes étant ensuite classées par type de population et par ordre de fréquences. On peut prévoir des algorithmes d'extraction de connaissance afin d'anticiper les 10 demandes les plus probables des utilisateurs et pré-charger les terminaux distants. Les terminaux peuvent également comprendre des moyens pour paramétrer des besoins d'utilisation. Ces paramètres peuvent être reconfigurés automatiquement en fonction des situations et lieux 15 géographiques o ils se trouvent. Le serveur de communication comprend des moyens d'accès à distance à des fins de mise à jour de logiciels embarqués, de sauvegarde de données, et d'analyse des ressources disponibles (logicielles et matérielles). Les données sont transmises depuis une 20 application cliente. De préférence, avant d'être enregistrées dans les sources de données, les données sont préalablement stockées sur le serveur afin d'être validées par une tierce personne notamment sous la forme de check-list. Selon l'invention, l'application serveur peut comprendre des moyens pour: stocker les flux de données transmis depuis une application cliente d'un terminal de façon horodatée et/ou chiffrée à des fins de certification ultérieure, - gérer à tous niveaux le passage d'un type de réseau à un autre automatiquement en fonction des ressources géographiques disponibles. D'autres avantages et caractéristiques de l'invention apparaîtront à l'examen de la description détaillée d'un mode de 35 mise en oeuvre nullement limitatif, et des dessins annexés sur lesquels: - 8 La figure l illustre un schéma modulaire du serveur de communication selon l'invention; - La figure 2 est un schéma illustrant le serveur de communication développée selon une approche multi-agent; - La figure 3 est un schéma fonctionnel d'un agent d'agrégation mis en oeuvre dans le serveur de communication; - La figure 4 est un schéma fonctionnel d'un agent de service destiné à rechercher des données dans des sources de données et à rapatrier ces données au sein du serveur de communication; Les figures 5 à 12 sont des schémas illustrant différentes étapes de déroulement d'une recherche de données. Sur la figure 1, on distingue le serveur de communication 1 disposé en tant que passerelle entre plusieurs sources de données 6, qui peuvent être intégrées au sein d'un réseau interne d'une 15 entreprise, et des terminaux mobiles 5 extérieurs à cette entreprise. Le serveur de communication comprend un premier frontal de communication 2 vers les terminaux et un second frontal de communication 3 vers les sources de données. Il comprend également une application serveur 4 pour traiter l'ensemble des données 20 transitant entre les deux frontaux de communication 2 et 3. Le frontal de communication 2 comprend plusieurs modules, chacun adaptés à communiquer avec un terminal dédié. Ces modules comprennent notamment le protocole "FDDP" pour une communication avec des terminaux tels que les palms et ou via le Web, un protocole 25 "http" pour une communication avec les pockets PC, un protocole "SMTP" pour l'envoi de message électronique, et un protocole "WAP" pour une communication avec les téléphones cellulaires. Chaque module est apte à communiquer avec l'application serveur 4 selon un langage générique. Ce langage générique tel que par exemple le XML, 30 sert également pour la communication entre l'application serveur 4 et le second frontal de communication 3. Ce second frontal de communication 3 comprend plusieurs modules chacun spécialisé pour une communication avec une source de données. Ces communications peuvent être selon un protocole "SQL", "JDBC", "LDAP", "IMAP", ou 35 "http". Sur la figure 2, on retrouve les terminaux 5 qui peuvent encore être des ordinateurs portables, des ordinateurs fixes ou encore des assistants numériques personnels (PDA). On retrouve également les sources de données 6 dans lesquelles on peut citer des 5 documents de type "HTML", des bases de données de type "SQL" ou encore des messages électroniques. Avantageusement, le premier frontal de communication 2 peut être implémenté sous forme de trois éléments tels que: - une interface de recherche d'informations destinées à recevoir 10 les requêtes provenant des terminaux 5 et à transmettre ces requêtes selon le langage XML; - une interface d'analyse 8 destinée à recevoir des données en langage XML et les transmettre vers un terminal donné selon un langage spécifique et une mise en page adaptée à ce terminal; - un gestionnaire de profil de présentation 9 destiné à recevoir des données de la part des utilisateurs des terminaux de façon à paramétrer les interfaces 7 et 8. Les interfaces 7 et 8 sont alors personnalisés en fonction de chaque utilisateur. L'application serveur 4 peut principalement être 20 implémentée sous forme d'agent d'agrégation 10, ces agents sont des applications intelligentes communicant en langage XML. Chaque agent d'agrégation est spécialisé pour une tâche particulière. On peut par exemple distinguer un agent pour la lecture des messages électroniques, un agent pour la recherche Internet ou encore un 25 agent pour une recherche dans des annuaires tels que l'annuaire de l'entreprise, les pages blanches ou encore les pages jaunes. Le gestionnaire de profil et de présentation 9 a la possibilité de créer et de détruire de façon dynamique des agents personnalisés. Le second frontal de communication 3 peut être implémenté sous forme d'une pluralité d'agents de service 11. Ces agents de service sont également des applications intelligentes, chaque agent étant dédié à une source de données particulière. On peut trouver des agents pour interroger des moteurs de recherche spécifique, pour 35 retrouver des messages électroniques sur des serveurs POP3/SMTP par exemple, pour retrouver des entrées dans un annuaire interne, pour retrouver des mots clefs dans des fichiers personnels ou - 10 Word/Excel/text, pour la recherche d'informations spécifiques dans les annuaires d'agences de voyage, journaux en ligne, pages jaunes, pages blanches... Ces agents sont capables de traduire les données obtenues à 5 partir de différentes sources de données et sous différents langages vers le langage XML avant de les transmettre aux agents d'agrégation. Chaque agent d'agrégation est associé à plusieurs agents de service. Chaque agent de service est appelé pour une tâche particulière. Dans la mesure o un agent de service n'est pas sr 10 d'obtenir un résultat en explorant une source de données particulière, on associe à un agent d'agrégation des agents de service dont plusieurs peuvent exécuter la même tâche. L'agent d'agrégation a la capacité de choisir une réponse parmi toutes les réponses que les agents de service lui auront fournies. Cet agent de 15 service aura ensuite la lourde tâche d'imposer la réponse choisie parmi d'autres réponses proposées par d'autres agents d'agrégation ayant également étaient activés pour la même requête. C'est pour cela qu'un agent d'agrégation doit choisir les agents de service qui correspondent au mieux aux attentes de l'utilisateur. Les agents de 20 service choisis doivent être rapides, fiables et présenter un contenu acceptable. Lorsque plusieurs agents de service fournissent des réponses à partir de source de données complètement différentes (un n0 de téléphone peut se trouver dans un carnet d'adresses personnelles ou dans un annuaire de pages blanches). L'agent 25 d'agrégation doit alors décider de façon dynamique laquelle des sources est la plus fiable ou s'il est possible de fusionner les différentes données obtenues. Les agents d'agrégation sont donc des applications intelligentes qui doivent être capables d'évaluer les aptitudes de 30 chaque agent de service, être capables de choisir entre plusieurs réponses, être capables d'agréger plusieurs données, et être capables d'imposer une réponse face à d'autres réponses proposées par d'autres agents d'agrégation. Chaque agent d'agrégation doit également comporter un niveau de qualité qui est mesuré en fonction 35 du niveau de satisfaction des utilisateurs des terminaux. 11 Sur la figure 3, on distingue un schéma fonctionnel d'un agent d'agrégation. Chaque agent d'agrégation comprend une base d'apprentissage 12. En 13, l'agent d'agrégation écoute les requêtes provenant des terminaux 5. Lorsqu'une requête arrive en 14, l'agent 5 d'agrégation vérifie en fonction de ces capacités s'il est capable de répondre à cette requête. Cette vérification est effectuée en fonction de la base d'apprentissage 12. Lorsque l'agent d'agrégation estime qu'il est possible de répondre à cette requête, il vérifie en 15 s'il existe déjà une 10 chaîne de communication. S'il existe aucune chaîne, il active plusieurs autres agents d'agrégation en 16 spécialisés pour la tâche demandée. Par contre, lorsqu'une chaîne existe la requête est directement transmise via cette chaîne en 17. Lorsque la requête est transmise, l'agent d'agrégation reste en écoute d'une réponse en 18 15 et 19. L'agent d'agrégation écoute s'il y a une réponse pendant un temps prédéterminé. Ce temps est décompté au cours d'une étape 20 inscrite dans une boucle passant par les étapes 16 ou 17, 18 et 19. Lorsque l'agent d'agrégation reçoit une réponse de la part d'un agent de service, il vérifie s'il existe d'autres agents 20 d'agrégation concurrents en 21. Si tel est le cas, il se déroule alors en 22 une étape de négociation entre l'ensemble des agents d'agrégation concurrents. Si le présent agent d'agrégation en sort vainqueur à l'étape 23 ou s'il n'existe aucun autre agent d'agrégation concurrent, l'agent de service ayant fourni la réponse 25 est retenue à l'étape 24 comme un agent de service fiable et cette information est mémorisée dans la base d'apprentissage 12. A l'étape 25, l'agent d'agrégation transmet les données vers l'interface d'analyse pour une traduction en un langage spécifique au terminal ayant émis la requête. A l'étape 26 l'agent d'agrégation reste en 30 attente d'une information d'évaluation émise par le terminal via l'interface de recherche. Cette information d'évaluation est un avis que l'utilisateur du terminal émet vis-à-vis de l'information qu'il a reçue. Cela peut par exemple être un avis très positif parce que l'information obtenue est exactement l'information recherchée. A 35 l'étape 27 l'agent d'agrégation met à jour sa base d'apprentissage en intégrant l'information d'évaluation. - 12 Les étapes 13,16,17,18,22,25 et 26, sont des étapes au cours desquelles l'agent d'agrégation est en communication avec des éléments extérieurs. Les autres étapes consistent en un traitement interne. L'agent d'agrégation est associé à plusieurs agents de service pour lesquels la figure 4 en représente un schéma fonctionnel. A l'étape 28, un agent de service est à l'écoute des agents d'agrégation. Lorsqu'il reçoit un message de la part d'un agent d'agrégation, il s'interroge à l'étape 29 s'il est capable de 10 fournir une réponse. S'il n'en est pas capable il retourne à l'étape 28. Au cas contraire, il interroge à l'étape 30 la source de données à laquelle il est associé. Lorsqu'il trouve une réponse, il le transmet directement à l'agent d'agrégation à l'étape 31. Si à l'étape 32 la connexion n'est pas terminée, l'agent de service 15 continu à écouter le même agent d'agrégation à l'étape 33 de façon à vérifier s'il existe une autre requête à l'étape 34. Si une seconde requête arrive, l'agent de service reprend à l'étape 30 une interrogation de la source de données. Lorsque la connexion est terminée, l'agent de service retourne 20 à l'étape d'écoute 28. Les résultats qu'un agent de service obtiennent sont transmis en langage XML vers l'agent d'agrégation associé. On va maintenant décrire en référence aux figures 5 à 12, un processus de recherche d'information faisant intervenir un 25 ordinateur portable 35, un serveur de communication pour lequel seuls les agents d'agrégation 38 et les agents de service 39 sont représentés, et deux sources de données sous forme d'un serveur mail 36 et un serveur WEB 37. Sur la figure 5, l'ordinateur portable 35 émet une 30 requête pour une information spécifique. Cette information peut par exemple être un numéro de téléphone. La requête est alors traduite par l'interface de recherche d'information (non représentée) en un langage générique tel que le langage XML. Parmi les agents d'agrégation disponibles A, B, C, D, seuls deux agents d'agrégation 35 B et D pensent être capables d'apporter une réponse à cette requête. Sur la figure 6, les agents d'agrégation B et D transmettent le - 13 message à leurs agents de service associés respectivement a, D et r. b. Parmi tous les agents de service ayant reçu un message de la part d'un agent d'agrégation, seuls les agents de service f, y et 8 pense pouvoir apporter une réponse à la requête. Il pourrait par exemple 5 s'agir de deux agents y et b ayant accès à un annuaire "les pages blanches" via le serveur WEB 37 et l'autre agent de service P ayant accès à des annuaires internes via le serveur mail par exemple. Ces trois agents de service effectuent alors une recherche dans les sources de données associées. Les agents de service P et y les plus 10 rapides, transmettent les informations obtenues à leurs agents d'agrégation associés. L'agent de service b n'ayant toujours pas obtenu un résultat ne sera pas pris en compte parce que trop lent. Sur la figure 9, les agents d'agrégation B et D confrontent leurs informations. Cette confrontation peut aboutir à une fusion 15 des deux informations. C'est l'étape d'agrégation. Sur la figure 10, c'est l'agent d'agrégation D qui est désigné pour transmettre l'information vers l'ordinateur portable 35 via une interface d'analyse (non représentée) qui se charge de traduire les informations transmises à partir d'un langage générique XML vers un 20 langage prédéterminé et sous un format de présentation prédéterminé. Sur la figure 11, l'utilisateur de l'ordinateur portable 35 confirme l'exactitude des informations trouvées. Les agents d'agrégation et de service ayant contribués à obtenir la réponse exacte créent des clonages D' et y' de façon à réaliser une chaîne 25 de transmission, c'est à dire une connexion en temps réel entre l'ordinateur portable 35 et la source de données dans laquelle les informations ont été obtenues comme on le voit sur la figure 12. La présente invention peut favorablement s'appliquer à une entreprise comprenant diverses sources de données et désireuse de 30 faire partager l'ensemble d'information contenu dans ces sources de données, en tempsréel et à tout moment, avec ses commerciaux qui travaillent à l'extérieur et disposent de divers terminaux de communications portables. - 14 Bien sr, l'invention n'est pas limitée aux exemples qui viennent d'être décrits et de nombreux aménagements peuvent être apportés à ces exemples sans sortir du cadre de l'invention. - REVENDICATIONS 1. Système de communication pour rendre des données présentes dans une pluralité de sources de données hétérogènes accessibles à une 5 pluralité de terminaux hétérogènes via un réseau de communication informatique, ce système comprenant un serveur de communication doté - d'un premier frontal de communication vers les terminaux pour traduire des données provenant des différents terminaux en des 10 données selon un protocole générique et inversement, - d'un second frontal de communication vers les bases de données pour traduire des données provenant des différentes sources de données en des données selon le protocole générique et inversement, - et d'une application serveur pour gérer la communication entre les deux frontaux et traiter les données provenant du frontal de communication vers les sources de données. 2. Système selon la revendication 1, caractérisé en ce que le 20 premier frontal de communication vers les terminaux comprend une interface de recherche pour traduire vers l'application serveur les requêtes provenant des terminaux, ainsi qu'une interface d'analyse pour traduire vers les terminaux les données provenant de l'application serveur. 3. Système selon la revendication 2, caractérisé en ce que l'application serveur comprend un gestionnaire de profil et de présentation pour personnaliser et paramétrer les interfaces à partir des terminaux. 4. Système selon l'une quelconque des revendications 1 à 3, caractérisé en ce que l'application serveur comprend une pluralité d'agents d'agrégation pour traiter les requêtes provenant des terminaux et les données provenant des sources de données, chaque 35 agent d'agrégation étant associé à au moins un agent de service, et en ce qu'une pluralité d'agents de service, disposés dans le second frontal de communication, effectuent une recherche dans une source - 16 de données en réponse à une consigne provenant d'un agent d'agrégation associé. 5. Système selon la revendication 4, caractérisé en ce que plusieurs 5 agents d'agrégation sont aptes à prendre en compte une même requête et transmettre des consignes vers des agents de service associés. 6. Système selon la revendication 4 ou 5, caractérisé en ce que plusieurs agents de service sont aptes à traiter des consignes 10 provenant d'un même agent d'agrégation. 7. Système selon l'une quelconque des revendications 4 à 6, caractérisé en ce que pour une requête émise par un terminal, l'application serveur comprend des moyens pour confronter des 15 données obtenues par plusieurs agents d'agrégation avant de transmettre ces données vers le terminal émetteur. 8. Système selon la revendication 7, caractérisé en ce que la confrontation consiste en une fusion des données obtenues. 20 9. Système selon la revendication 7 ou 8, caractérisé en ce que la confrontation consiste en une élimination d'une partie des données obtenues. 10. Système selon l'une quelconque des revendications 4 à 9, caractérisé en ce que seuls les agents de service ayant trouvés des données recherchées dans un intervalle temporel prédéterminé transmettent leurs données vers les agents d'agrégation. 11. Système selon l'une quelconque des revendications 4 à 10, caractérisé en ce que l'application serveur comprend des moyens pour créer de façon dynamique des agents d'agrégation et de service de façon à réaliser une chaîne de transmission entre le terminal ayant émise une requête et la source de données dans laquelle des données 35 correspondantes à la requête ont été obtenues. - 17 12. Système selon la revendication 11, caractérisé en ce que l'application serveur comprend des moyens pour créer la chaîne de transmission en réponse à une consigne provenant du terminal émetteur de la requête. 13. Système selon la revendication Il ou 12, caractérisé en ce que la chaîne de transmission consiste en un clonage des agents d'agrégation et de service ayant servis à l'obtention des données recherchées. 14. Système selon l'une quelconque des revendications précédentes, caractérisé en ce que l'application serveur comprend des moyens de filtrage et de compression adaptée et auto-adaptable au type de flux de façon à limiter la taille des données transmises vers les terminaux. 15. Système selon l'une quelconque des revendications précédentes, caractérisé en ce que chaque terminal comprend une application cliente apte à fournir des informations sous la forme d'une icône 20 sur l'état de la communication et des données devant être transmises. 16. Système selon l'une quelconque des revendications précédentes, caractérisé en ce que l'application serveur comprend des moyens pour 25 reconnaître automatiquement les terminaux ainsi que leurs ressources associées et pour adapter en conséquence les informations envoyées. 17. Système selon l'une quelconque des revendications précédentes, caractérisé en ce que le serveur de communication comprend des 30 moyens pour réaliser des bases de connaissance géographique sur la qualité du service. 18. Système selon l'une quelconque des revendications précédentes, caractérisé en ce que l'application serveur comprend des moyens pour 35 pré-charger dans les terminaux des informations non encore demandées par des utilisateurs desdits terminaux. - 18 19. Système selon l'une quelconque des revendications précédentes, caractérisé en ce que les terminaux comprennent des moyens pour. paramétrer des besoins d'utilisation, et en ce que ces paramètres sont reconfigurées automatiquement en fonction des situations et lieux géographiques o ils se trouvent. 20. Système selon l'une quelconque des revendications précédentes, caractérisé en ce que le serveur de communication comprend des moyens d'accès à distance à des fins de mise à jour de logiciels 10 embarqués, de sauvegarde de données et d'analyse des ressources disponibles. 21. Système selon l'une quelconque des revendications précédentes, caractérisé en ce qu'avant d'être enregistrée dans les sources de 15 données, les données sont préalablement stockées sur le serveur afin d'être validée par une tierce personne. 22. Système selon l'une quelconque des revendications précédentes, caractérisé en ce que l'application serveur comprend des moyens pour 20 stocker les flux de données transmis depuis une application cliente d'un terminal de façon horodatée à des fins de certification ultérieure. 23. Système selon l'une quelconque des revendications précédentes, 25 caractérisé en ce que l'application serveur comprend des moyens pour stocker les flux de données transmis depuis une application cliente d'un terminal de façon chiffrée à des fins de certification ultérieure. 24. Système selon l'une quelconque des revendications précédentes, caractérisé en ce que l'application serveur comprend des moyens pour gérer le passage d'un type de réseau à un autre automatiquement en fonction des ressources géographiques disponibles.