Brevet FR2851390A1 — publié le 20040820

Dispositif et procédé de mise en communication de modules de mise en oeuvre d'un bouquet de services et plate-forme de mise en oeuvre d'un bouquet de services correspondante. L'invention concerne le domaine de la fourniture de services sur un réseau informatique et, en particulier, sur le réseau Internet. Comme on le sait, des portails proposés par des fournisseurs d'accès ou par des opérateurs permettent d'accéder à un bouquet de services, c'est-àdire à une agrégation de différents services 10 accessibles à partir d'une interface unique. Dans un tel portail, les adresses URL d'accès (" Universal Ressource Locator ") sont accessibles à partir d'une seule page Web, la sélection d'une interface spécifique du portail mettant en oeuvre un serveur ou module pour fournir le service sélectionné. Ce type d'architecture présente un inconvénient majeur, notamment en raison du fait que cette agrégation de services ne constitue qu'une juxtaposition des services, lesquels sont séparément accessibles depuis le portail. Les bouquets de services sont donc généralement conçus comme une juxtaposition de services rigides et 20 non évolutifs. Le but de l'invention est de pallier cet inconvénient et de fournir une architecture de mise en communication de modules de mise en oeuvre d'un bouquet de services qui permette, d'une part, une intégration aisée de services préexistants qui ont été développés de 25 façon indépendante et, d'autre part, une modification aisée de l'architecture, par exemple par ajout, sans mise en cause de la conception et de la cohérence globale de l'architecture. L'invention propose donc un dispositif de mise en communication d'un module de mise en oeuvre d'un service d'un 30 bouquet de services avec d'autres modules dudit bouquet de services. Selon une caractéristique générale de ce dispositif, celui-ci comporte une interface de mise en communication et de raccordement physique dudit module à un bus de communication qui s'appuie sur un protocole de communication XML et auquel lesdits autres modules sont destinés à être raccordés, et un étage de transcription réversible d'un programme de mise en oeuvre du service en un langage dudit protocole de communication XML. Il est ainsi possible d'établir une communication directe entre les modules du bouquet de services et ce, selon un langage compréhensible par tous ces modules. Selon une autre caractéristique de ce dispositif, le module de 10 mise en oeuvre du service est raccordé à un serveur du bus de communication. Selon un mode de réalisation, l'interface de communication et de raccordement comporte un étage logiciel de communication adapté pour communiquer avec ledit bus de communication selon le protocole 15 sur lequel s'appuie ledit bus. Selon une autre caractéristique du dispositif selon l'invention, le bus de communication est un bus logiciel. Il appartient par exemple à un système de communication de type poste à poste (P2P). Selon un mode de réalisation, l'étage de transcription comporte 20 un fichier de description, dans le langage de balisage extensible (XML), de l'ensemble des entrées/sorties dudit module de mise en oeuvre du service et une bibliothèque de procédures logicielles d'interprétation de ces entrées/sorties Selon l'invention, il est également proposé une plate-forme de 25 mise en oeuvre d'un bouquet de services, comprenant un ensemble de modules de mise en oeuvre desdits services raccordés en réseau. Chaque module comporte une interface de mise en communication et de raccordement physique dudit module à un bus de communication s'appuyant sur un protocole de communication XML et 30 auquel sont raccordés lesdits modules et un étage de transcription réversible d'un programme de mise en oeuvre du service en un langage du protocole sur lequel s'appuie le bus de communication. Enfin, l'invention a également pour objet un procédé de raccordement d'un module de mise en oeuvre d'un service d'un bouquet de services comportant les étapes consistant à: - élaborer un fichier de description, dans un langage de 5 balisage extensible (XML), de l'ensemble des entrées/sorties du module de mise en oeuvre du service; - élaborer une bibliothèque de procédures logicielles d'interprétation de ces entrées/sorties décrites; raccorder le module à un bus de communication 10 s'appuyant sur un protocole de communication XML, sur lequel sont raccordés les autres modules du bouquet de service, par l'intermédiaire d'une interface de mise en communication et de raccordement dudit module au bus de communication et d'un étage de transcription incorporant le fichier de description et la bibliothèque de procédures 15 logicielles, ladite interface comprenant un étage logiciel de communication adapté pour communiquer avec le bus de communication selon le protocole sur lequel s'appuie le bus de communication. D'autres buts, caractéristiques et avantages de l'invention 20 apparaîtront à la lecture de la description suivante, donnée uniquement à titre d'exemple non limitatif et faite en référence aux dessins annexés sur lesquels: - la figure 1 est un schéma synoptique illustrant l'architecture générale d'un ensemble de modules de mise en oeuvre d'un bouquet de 25 services raccordés sur un réseau informatique; - la figure 2 est un schéma illustrant la structure générale d'un dispositif de mise en communication d'un module conforme à l'invention, et - la figure 3 est un organigramme illustrant les principales 30 phases d'un procédé de raccordement de modules conforme à l'invention. Dans la suite de la description, on va décrire, à titre d'exemple, un dispositif de mise en communication d'un module de mise en òuvre d'un service appartenant à un bouquet de services proposé, par exemple, par un fournisseur d'accès ou un opérateur. Par "module", on entend, dans le cadre de la présente demande, tout moyen matériel ou logiciel capable de fournir un service à un utilisateur distant. L'invention s'applique, de manière générale, à la mise en communication de modules accessibles depuis un portail, par 10 l'intermédiaire d'un réseau informatique. Sur la figure 1, on a représenté la structure générale d'une plate-forme d'accès à un bouquet de services. Cette plate-forme comporte un ensemble de modules, désignés par les références numériques générales 10, 12, 14, 16, 18, 20, 22 et 24, mettant en 15 oeuvre chacun un service spécifique. Ces modules sont raccordés à un bus de communication 26. Le bus 26 assurant le raccordement des modules les uns avec les autres est constitué par un bus dit "logiciel", c'est-à-dire un bus qui est pourvu d'un certain nombre de serveurs qui implémentent le 20 protocole de communication utilisé et qui mettent en oeuvre l'adressage pour le routage des messages. En se référant à la figure 2, afin de garantir l'interopérabilité des modules 10, 12, 14, 16, 18, 20, 22, et 24, et en particulier afin de permettre une coopération entre ces modules, un dispositif de 25 communication, désigné par la référence numérique générale 28, est utilisé pour le raccordement de chacun des modules au bus logiciel 26. Comme on le voit sur la figure 2, ce dispositif 28 comporte, pour chaque module, tel que 10, une interface de communication et de raccordement 32 comprenant une interface de connexion proprement 30 dite 34 et un étage 36 logiciel de communication assurant la communication du module 10 avec les autres modules par l'intermédiaire du bus logiciel 26, selon le protocole de ce réseau. En particulier, selon une caractéristique de l'invention, le protocole utilisé est un protocole XML, c'est-à-dire un protocole écrit dans, ou s'appuyant sur le langage de balisage extensible XML (" eXtensible Markup Language "). Un tel langage permet de 5 représenter tout ensemble de données issues des modules sous une forme normalisée et indépendante des logiciels qui les ont produites. Une telle forme est donc aisément transmissible par les protocoles du réseau et peut être directement exploitable par chacun des modules, après conversion dans le langage du logiciel qui l'a produite. A cet effet, le dispositif de mise en communication 28 comporte en outre un étage 38 de transcription qui assure la transcription bidirectionnelle des données issues des modules en langage XML. Pour pouvoir procéder à une telle transcription, l'étage 38 de transcription comporte un fichier descriptif 40, préalablement 15 élaboré, regroupant l'ensemble des entrées/sorties du module 10 en langage XML, lorsque ce dernier est mis en oeuvre, ainsi qu'une bibliothèque logicielle 42 regroupant les procédures logicielles d'interprétation des entrées/sorties stockées dans le fichier 40, qui correspondent aux opérations du service à rendre. L'utilisation de ce 20 fichier descriptif et de cette bibliothèque permet de faire correspondre au logiciel du service un code en langage XML susceptible par la suite d'être transmis sur le bus logiciel 26 en utilisant l'étage logiciel de communication 36, lequel gère les communications selon le protocole du réseau utilisé. Ainsi, en se référant à la figure 3, pour procéder au raccordement d'un serveur de service ou, en d'autres termes, pour intégrer ce service à un bouquet de services, il convient tout d'abord, lors d'une première étape 44, d'élaborer le fichier 40 de description des entrées/sorties du serveur en langage XML, lequel fichier 30 correspond à une représentation en langage XML des entrées/sorties du serveur, puis, lors d'une étape 46 suivante, d'élaborer la bibliothèque logicielle 42 sachant interpréter et traiter les messages XML élaborés lors de l'étape 44 précédente. Lors de l'étape 48 suivante, on élabore également une bibliothèque logicielle permettant de gérer les flux entrant et sortant 5 pour mettre en oeuvre les traitements correspondant à un service à fournir. On dote alors le serveur de l'interface de connexion 34 (étape 50) permettant son raccordement physique au bus logiciel. A partir de la bibliothèque gérant les entrées/sorties élaborées lors de l'étape 46 10 précédente, on incorpore alors, lors de l'étape 52 suivante, un aiguillage dans la gestion des flux entrant, puis on compile l'ensemble (étape 54). Comme on le conçoit, l'invention qui vient d'être décrite, qui utilise un étage de conversion des logiciels de services en langage 15 XML, permet d'établir un dialogue entre des serveurs d'un bouquet de services et permet ainsi de faire interagir ces serveurs entre eux. En outre, à la différence des portails conventionnels, qui se contentent de recevoir des requêtes d'accès à des services, il est possible d'implémenter le point d'accès au bouquet de services sous la 20 forme d'une application exécutable, connectée elle-même à un bus logiciel auquel sont raccordés les serveurs du bouquet de services. L'utilisateur a dès lors la possibilité d'établir une réelle communication avec les serveurs. Ainsi, par exemple, pour un bouquet de services proposant, 25 d'une part, un service d'élaboration de résumés de documents et, d'autre part, un service d'information permettant de disposer de documents provenant de groupes de presse, il est possible de faire interagir les deux services de manière à disposer d'un résumé d'un document de presse. On notera enfin que l'invention n'est pas limitée au mode de réalisation décrit. En effet, dans ce qui précède, on a considéré que le serveur du service ne dispose que d'une interface de programmation et ne comporte aucun moyen de communication, et n'est donc adapté que pour rendre le service demandé. Pour le rendre communicant, il est donc nécessaire de lui adjoindre l'interface de connexion 34, l'étage logiciel de communication 36 et l'étage de transcription 38. 5 Cependant, dans le cas o le serveur dispose d'une interface de connexion 34 et de l'étage de communication 36, on lui ajoute l'étage de transcription 38. Enfin, dans le cas o le serveur dispose des fonctions de communication et connaît le protocole XML, on lui fournit une passerelle pour établir une communication entre son 10 protocole et celui du bus logiciel. Tel serait le cas d'un serveur dont le protocole de communication est le " SOAP ", qui est un protocole de communication s'appuyant sur le XML et le HTTP, et qui permet l'intéropérabilité des applications à travers le Web. REVENDICATIONS 1. Dispositif de mise en communication d'un module (10, 12, 14, 16, 18, 20, 22, 24). de mise en òuvre d'un service d'un bouquet de services avec d'autres modules dudit bouquet de services, 5 caractérisé en ce qu'il comporte une interface (28) de mise en communication et de raccordement physique dudit module à un bus (26) de communication s'appuyant sur un protocole de communication XML, auquel sont raccordés lesdits modules, et un étage (38) de transcription réversible d'un programme de mise en oeuvre du service 10 en un langage dudit protocole de communication (XML). 2. Dispositif selon la revendication 1, caractérisé en ce que le module de mise en oeuvre du service est raccordé à un serveur du bus (26) de communication. 3. Dispositif selon l'une des revendications 1 et 2, 15 caractérisé en ce que l'interface de communication et de raccordement comporte un étage logiciel (36) de communication adapté pour communiquer avec ledit bus de communication selon le protocole sur lequel s'appuie ledit bus. 4. Dispositif selon la revendication 3, caractérisé en ce que 20 le bus de communication (26) est un bus logiciel. 5. Dispositif selon l'une quelconque des revendications 1 à 4, caractérisé en ce que l'étage de transcription comporte un fichier (40) de description, dans le langage de balisage extensible (XML), de l'ensemble des entrées/sorties dudit module de mise en oeuvre du 25 service et une bibliothèque (42) de procédures logicielles d'interprétation de ces entrées/sorties. 6. Plate-forme de mise en oeuvre d'un bouquet de services, comprenant un ensemble de modules (10, 12, 14, 16, 18, 20, 22, 24) de mise en oeuvre desdits services raccordés en un réseau 30 informatique, caractérisé en ce que chaque module comporte une interface (28) de mise en communication et de raccordement physique dudit module à un bus de communication s'appuyant sur un protocole de communication XML auquel sont raccordés lesdits modules et un étage (38) de transcription réversible d'un programme de mise en oeuvre du service en un langage sur lequel s'appuie ledit bus de communication. 7. Procédé de raccordement d'un module de mise en oeuvre d'un service d'un bouquet de services, caractérisé en ce qu'il comporte les étapes consistant à: - élaborer un fichier (40) de description, dans un langage 10 de balisage extensible (XML), de l'ensemble des entrées/sorties du module de mise en oeuvre du service; - élaborer une bibliothèque (42) de procédures logicielles d'interprétation de ces entrées/sorties décrites; - raccorder le module à un bus de communication (26) 15 s'appuyant sur un protocole de communication XML, sur lequel sont raccordés les autres modules du bouquet de service, par l'intermédiaire d'une interface (28) de mise en communication et de raccordement dudit module au bus (26) et d'un étage (38) de transcription incorporant lesdites bibliothèques, ladite interface 20 comprenant un étage logiciel de communication adapté pour communiquer avec le système de communication poste à poste selon le protocole sur lequel s'appuie ledit bus (26).