



La présente invention concerne un procédé permettant de faire dialoguer des applications Web distinctes, exécutées chacune depuis un terminal serveur et affichées simultanément dans une même page de présentation, par exemple une page HTML présentée sur un terminal d'ordinateur au moyen d'un navigateur Web.The present invention relates to a method for dialoging separate Web applications, each executed from a terminal server and displayed simultaneously in the same presentation page, for example an HTML page presented on a computer terminal by means of a Web browser .
L'invention permet ainsi à des applications Web distinctes d'exécuter certaines opérations en réaction à des services mis en oeuvre par une autre application avec laquelle elles cohabitent au niveau de l'affichage, à l'intérieur d'une même page Web développée d'une façon modulaire à partir d'une pluralité de modules distincts et indépendants plus communément appelés "portlets", "widgets" ou "gadgets".The invention thus allows separate web applications to perform certain operations in response to services implemented by another application with which they cohabit at the display level, within the same developed web page. a modular way from a plurality of separate and independent modules more commonly called "portlets", "widgets" or "gadgets".
De tels modules ou portlets, aptes à servir de conteneur dans une page Web pour l'exécution et/ou l'affichage d'applications Web, sont notamment utilisés dans des développements de services ou d'applications du type Web 2.0, par exemple en s'appuyant sur les techniques AJAX (pour "Asynchronous JavaScript And XML" - ou " XML et Javascript asynchrones ").Such modules or portlets, able to serve as a container in a web page for executing and / or displaying web applications, are notably used in Web 2.0-type services or applications developments, for example in based on AJAX techniques (for "Asynchronous JavaScript And XML" - or "Asynchronous XML and Javascript").
A titre informatif, AJAX désigne une méthode informatique de développement d'applications Web. Il ne s'agit aucunement d'une technologie en elle-même, mais simplement d'un terme qui évoque l'utilisation conjointe d'un ensemble de technologies couramment utilisées sur le web, à savoir notamment :
Or, si de telles portlets permettent de faire cohabiter plusieurs composants applicatifs (encore appelés dans la suite et pour raison de simplification, applications) au sein d'une même page Web, et ceci de façon personnalisable (en termes de graphisme, d'agencement, etc.), elles présentent cependant pour principal inconvénient de ne pas permettre une connexion et/ou une interopérabilité entre plusieurs applications Web hébergées chacune par une portlet d'une même page Web, de sorte qu'il n'est pas possible, par exemple, de faire réagir dynamiquement une première application à l'exécution d'un service mis en oeuvre par une deuxième application (ou "portlets").However, if such portlets make it possible to combine several application components (also called hereinafter and for simplification purposes, applications) within the same Web page, and this in a customizable way (in terms of graphics, layout , etc.), however, they have the main disadvantage of not allowing a connection and / or interoperability between several Web applications each hosted by a portlet of the same Web page, so that it is not possible, by for example, to dynamically react a first application to the execution of a service implemented by a second application (or "portlets").
Par service, le lecteur comprendra toute fonction applicative susceptible de générer en sortie au moins une valeur de paramètre (une valeur d'évènement ou de données, par exemple et de façon non limitative), une telle valeur de paramètre étant susceptible de servir de paramètre d'entrée pour l'exécution d'une opération (un autre service, un processus, etc.) mise en oeuvre et exécutée par une autre application hébergée dans une même page web (par exemple, une page d'un portail web).By service, the reader will include any application function capable of outputting at least one parameter value (an event or data value, for example and without limitation), such a parameter value being able to serve as a parameter input to the execution of an operation (another service, a process, etc.) implemented and executed by another application hosted in the same web page (for example, a page of a web portal).
Le document : "
La présente invention offre une solution différente de celle décrite dans le document susmentionné et qui ne présente pas les inconvénients précités en proposant un procédé qui soit apte au contraire à permettre la communication dynamique d'informations entre applications distinctes hébergées dans une même page Web, ainsi qu'une interopérabilité dynamique entre ces applications souvent hétérogènes et développées indépendamment les unes des autres, et ce, sans aucune action nécessaire de la part de l'utilisateur.The present invention offers a solution different from that described in the aforementioned document and which does not have the aforementioned drawbacks by proposing a method which is capable on the contrary of enabling the dynamic communication of information between separate applications hosted in the same Web page, as well as dynamic interoperability between these often heterogeneous applications and developed independently of each other, without any necessary action on the part of the user.
A cet effet, l'invention concerne un procédé de communication entre une première application et au moins une deuxième application accessibles à l'intérieur d'une même page d'un navigateur Internet.To this end, the invention relates to a communication method between a first application and at least a second application accessible within the same page of an Internet browser.
Selon l'invention, un tel procédé comprend :
Un tel procédé permet donc avantageusement de favoriser l'interopérabilité dynamique et la communication/ l'échange d'informations entre applications Web (portlets) hébergées respectivement dans une même page Web, par exemple une page HTML et ainsi, d'améliorer la performance du service offert à l'usager.Such a method therefore advantageously makes it possible to promote dynamic interoperability and the communication / exchange of information between web applications (portlets) hosted respectively in the same web page, for example an HTML page, and thus, to improve the performance of the service offered to the user.
Elle offre en outre à l'utilisateur des possibilités de manipulation et d'interaction avec les services proposés par chacune des applications auxquelles il peut accéder dans une même page web d'un navigateur, beaucoup plus intuitive.It also offers the user the ability to manipulate and interact with the services offered by each of the applications he can access in the same web page of a browser, much more intuitive.
En effet, de part la mise en oeuvre d'un mécanisme de souscription d'une première application à au moins un service offert par au moins une autre application hébergées toutes deux dans une même page Web, il devient possible de créer un lien de communication entre au moins certaines applications d'une même page Web. Grâce à ce lien de communication, ces applications vont pouvoir "se connaître" et ainsi interopérer, au bénéfice de l'utilisateur.Indeed, by the implementation of a subscription mechanism of a first application to at least one service offered by at least one other application both hosted in the same web page, it becomes possible to create a communication link between at least some applications on the same web page. Thanks to this communication link, these applications will be able to "know each other" and interoperate for the benefit of the user.
Dans un mode de réalisation préféré de l'invention, la valeur du paramètre générée par l'exécution dudit service de la deuxième application sera représentative d'un évènement ou d'une donnée susceptible de servir de paramètre d'entrée pour l'exécution de ladite opération.In a preferred embodiment of the invention, the value of the parameter generated by the execution of said service of the second application will be representative of a event or data that may serve as an input parameter for executing said operation.
La solution proposée permet aux modules de :
En particulier, une fois réalisée l'étape de souscription de la première application à au moins un service d'au moins une deuxième application, ladite première application sera apte à déclencher automatiquement l'exécution d'une opération prédéterminée qui tiendra compte d'une valeur d'au moins une donnée mise à jour par l'exécution dudit au moins un service fourni par ladite deuxième application.In particular, once the subscription step of the first application to at least one service of at least one second application has been performed, said first application will be able to automatically trigger the execution of a predetermined operation which will take into account a value of at least one datum updated by the execution of said at least one service provided by said second application.
Cette valeur de donnée de type prédéterminée générée par un service de la deuxième application sera en effet communiquée dynamiquement par cette dernière à la première application ayant préalablement souscrit au service, avant d'être prise en compte par cette dernière qui déclenchera l'exécution d'une opération spécifique en tenant compte de cette valeur comme paramètre d'entrée.This value of predetermined type data generated by a service of the second application will indeed be communicated dynamically by the latter to the first application having previously subscribed to the service, before being taken into account by the latter which will trigger the execution of a specific operation taking into account this value as an input parameter.
Le transfert d'informations entre applications Web hébergées dans une même page Web s'effectue alors directement et dynamiquement entre ces dernières, dès lors qu'elles ont souscrites respectivement au(x) service(s) (évènements et/ou données générés) d'au moins une autre application.The transfer of information between web applications hosted in the same web page is then directly and dynamically between the latter, since they subscribed respectively to the service (s) (events and / or data generated) d at least one other application.
Ainsi, un autre avantage de cette approche selon l'invention, provient du fait qu'elle n'implique pas que l'utilisateur connaisse à l'avance l'opération à réaliser entre ladite première portlet et ladite deuxième portlet, ce qui favorise la simplicité d'usage et le caractère intuitif de l'utilisation des différents services qui lui sont proposés.Thus, another advantage of this approach according to the invention comes from the fact that it does not imply that the user knows in advance the operation to be performed between said first portlet and said second portlet, which favors the simplicity of use and the intuitive nature of the use of the different services offered to it.
De plus, il est possible d'imaginer aisément, dans une variante de mise en oeuvre du procédé précité, que les applications puissent souscrire également à des services mis en oeuvre par tout autre module (visible ou invisible pour l'utilisateur) qui serait hébergé à l'intérieur de la page Web et qui serait susceptible de générer ou produire une valeur de paramètre qui sera ensuite utilisée pour l'exécution de ladite opération exécutée par la première application. On peut par exemple imaginer qu'indépendamment des applications hébergées dans la page Web, une information dynamique contenue dans la page Web soit mise à jour et que celle-ci puisse être communiquée par un module de gestion de cette information dynamique (également hébergé dans la page Web) à une des applications qui utilisera cette information comme paramètre d'entrée d'une opération à exécuter.Moreover, it is possible to easily imagine, in an alternative implementation of the aforementioned method, that the applications can also subscribe to services implemented by any other module (visible or invisible to the user) that would be hosted within the web page and which would be able to generate or produce a parameter value which will then be used for executing said operation executed by the first application. One can for example imagine that independently of the applications hosted in the Web page, dynamic information contained in the Web page is updated and that this can be communicated by a module of management of this dynamic information (also hosted in the Web page) to one of the applications that will use this information as an input parameter of an operation to be executed.
Comme indiqué plus haut, un tel procédé de communication comprend une étape de transmission préalable par la deuxième application à une entité de gestion d'applications, d'une première liste associant à chaque service proposé par la deuxième application, au moins un paramètre de type prédéterminé dont une valeur sera générée à l'exécution dudit service.As indicated above, such a communication method comprises a step of prior transmission by the second application to an application management entity, of a first list associating with each service proposed by the second application, at least one parameter of the type predetermined value of which a value will be generated at the execution of said service.
Une telle caractéristique permet ainsi de répertorier auprès d'une entité tierce en charge de la communication entre applications distinctes hébergées dans une page Web d'un navigateur Internet, l'ensemble des types de paramètres (données ou évènements) pouvant être générés en sortie d'un service applicatif mis en oeuvre et exécuté au sein de la deuxième application.Such a characteristic makes it possible to list with a third entity in charge of the communication between separate applications hosted in a Web page of an Internet browser, all the types of parameters (data or events) that can be generated at the output of an application service implemented and executed within the second application.
Préférentiellement, ladite étape de souscription comprend avantageusement les sous-étapes suivantes de :
Cette étape du procédé de communication selon l'invention est particulièrement importante en ce qu'elle permet une mise en correspondance, au niveau de l'entité de gestion, de chaque service de ladite première liste avec au moins une opération susceptible d'être exécutée par ladite première application. La mise en correspondance s'effectue entre les types de paramètres (données ou évènements) répertoriés respectivement dans lesdites premières et deuxièmes listes. Une telle liste, laquelle se met à jour de manière dynamique en fonction des connexions/ déconnexions d'applications dans la page Web et en fonction des souscriptions/ dé souscriptions à des services, permet de créer un lien de communication entre les différentes applications hébergées et exécutées dans une même page Web, sans que ces dernières n'aient eu préalablement à se connaître et sans que ces dernières n'aient été développées spécifiquement pour pouvoir interagir et/ou interopérer entre les unes avec les autres, ce qui constitue un avantage certain propre à la présente invention.This step of the communication method according to the invention is particularly important in that it allows a mapping, at the management entity level, of each service of said first list with at least one operation that can be executed. by said first application. The mapping is performed between the types of parameters (data or events) respectively listed in said first and second lists. Such a list, which updates dynamically based on the connections / disconnections of applications in the web page and based on subscriptions / subscriptions to services, creates a communication link between the various hosted applications and executed in the same web page, without the latter having had to know each other beforehand and without the latter having been specifically developed to be able to interact and / or interoperate with each other, which constitutes a definite advantage specific to the present invention.
Avantageusement, cette troisième liste sert de base au déclenchement d'une opération (service ou processus, etc.) exécutée par la première application, sur la base de la génération d'une valeur de donnée et/ou d'évènement par un service de la deuxième application.Advantageously, this third list is used as a basis for triggering an operation (service or process, etc.) executed by the first application, on the basis of the generation of a data value and / or event by a data service. the second application.
Pour une sécurisation accentuée des communications entre les première et deuxième applications qui ne se "connaissent" pas à la base, des critères de sélection et/ou de contrôle des paramètres échangés entre les première et deuxième applications pourront être vérifiés par l'entité de gestion, voir dans un mode de réalisation possible, par la première application, pour conditionner l'exécution de ladite opération à une vérification préalable desdits critères précités.For an increased security of communications between the first and second applications that do not "know" at the base, criteria for selection and / or control of the parameters exchanged between the first and second applications may be verified by the management entity , see in a possible embodiment, by the first application, for conditioning the execution of said operation to a prior verification of said criteria above.
Dans un mode de réalisation avantageux de l'invention, un tel procédé comprend en outre une étape de création d'un lien de communication entre lesdites première et deuxième applications, ledit lien étant activé à partir de la deuxième application pour déclencher l'exécution de ladite opération au niveau de ladite première application, suite à l'exécution dudit service par ladite deuxième application.In an advantageous embodiment of the invention, such a method further comprises a step of creating a communication link between said first and second applications, said link being activated from the second application to trigger the execution of said operation at said first application, following the execution of said service by said second application.
Ce lien de communication entre les première et deuxième applications est maintenu actif par l'entité de gestion d'applications, de telle sorte que suite à la génération d'une nouvelle valeur de paramètre (donnée ou évènement) par un service de la deuxième application, une commande correspondante de déclenchement d'au moins une opération (un processus, un service, etc.) tenant compte de ladite nouvelle valeur, sera transmise à la première application. Une telle approche permet ainsi avantageusement de favoriser une interopérabilité entre applications hébergées dans des portlets distinctes d'une même page Web, alors même que celles-ci ont été développées indépendamment l'une de l'autre.This communication link between the first and second applications is kept active by the application management entity, so that following the generation of a new parameter value (data or event) by a service of the second application , a corresponding command for triggering at least one operation (a process, a service, etc.) taking into account said new value, will be transmitted to the first application. Such an approach thus advantageously makes it possible to promote interoperability between applications hosted in separate portlets of the same Web page, even though these have been developed independently of one another.
Dans un mode de réalisation possible du procédé, ledit lien de communication établi entre les première et deuxième applications est du type appel de fonction à distance tenant compte d'une valeur dudit paramètre généré à l'exécution du service de ladite deuxième application.In a possible embodiment of the method, said communication link established between the first and second applications is of the remote function call type taking into account a value of said parameter generated at the execution of the service of said second application.
Une telle approche technique a pour avantage de facilité la mise en oeuvre du lien de communication entre les différentes applications d'une même page Web.Such a technical approach has the advantage of facilitating the implementation of the communication link between the different applications of the same web page.
Il est bien entendu possible d'imaginer tout autre type de modalité de mise en oeuvre du lien de communication, par exemple en s'appuyant sur des fonctions de communication de type Flash (marque déposée) ou Java (marque déposée).It is of course possible to imagine any other type of implementation of the communication link, for example by relying on communication functions of Flash type (registered trademark) or Java (trademark).
Dans un mode de réalisation préféré du procédé selon l'invention, ledit lien est matérialisé par un élément d'une interface homme machine propre à ladite deuxième application au moyen duquel un utilisateur de ladite deuxième application peut interagir pour déclencher l'exécution de ladite opération propre de ladite première application.In a preferred embodiment of the method according to the invention, said link is embodied by an element of a man-machine interface specific to said second application by means of which a user of said second application can interact to trigger the execution of said operation own of said first application.
Ainsi, un utilisateur disposera en outre de la possibilité de déclencher lui-même l'exécution d'une opération propre de la première application, en interagissant avec un élément de l'interface homme-machine (IHM) propre de la deuxième application et représentatif de la première, ce qui tend à favoriser encore un peu plus le caractère intuitif de l'interopérabilité entre applications mis à la disposition de l'utilisateur.Thus, a user will also have the possibility of triggering himself the execution of an own operation of the first application, by interacting with an element of the human-machine interface (HMI) specific to the second application and representative the first, which tends to further promote the intuitive nature of the interoperability between applications made available to the user.
Préférentiellement, à ladite étape d'exécution, on vérifie que le type dudit au moins un paramètre d'entrée de ladite opération correspond au type d'au moins paramètre généré à l'exécution d'un service souscrit par ladite première application auprès de ladite deuxième application.Preferably, at said execution step, it is verified that the type of said at least one input parameter of said operation corresponds to the type of at least one parameter generated at the execution of a service subscribed by said first application with said second application.
Ceci permet un contrôle de type préalable à l'exécution d'une opération par la première application, suite à la génération d'une (ou plusieurs) valeur de donnée et/ou d'évènement, lors de l'exécution d'un service par la deuxième application.This allows a type check prior to the execution of an operation by the first application, following the generation of one (or more) data value and / or event, during the execution of a service by the second application.
Il est bien entendu possible d'envisager sans limitation aucune, toutes autres combinaisons des caractéristiques précitées propres du procédé de communication selon l'invention; de telles autres combinaisons entreront dans le champ de la protection demandée.It is of course possible to envisage without any limitation, any other combination of the aforementioned characteristics proper to the communication method according to the invention; such other combinations will fall within the scope of the protection sought.
L'invention concerne aussi un système de communication entre une première application et au moins une deuxième application hébergées dans une page d'un navigateur Internet.The invention also relates to a communication system between a first application and at least a second application hosted in a page of an Internet browser.
Selon l'invention, un tel système comprend avantageusement :
L'invention concerne encore une entité de gestion d'au moins une première et deuxième application hébergées chacune dans une page d'un navigateur Internet.The invention also relates to a management entity of at least a first and second application each hosted in a page of an Internet browser.
Selon l'invention, une telle entité comprend :
Dans un mode de réalisation préféré de l'invention, ladite entité de gestion comprend en outre avantageusement :
Une telle entité permet donc d'assurer :
L'invention concerne encore un produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou stocké sur un support d'information lisible par ordinateur et/ou exécutable par un microprocesseur, un tel produit programme d'ordinateur comprenant des instructions de code pour l'exécution d'un procédé de communication tel que décrit de façon détaillée ci-dessus, lorsqu'il est exécuté sur un ordinateur.The invention also relates to a computer program product downloadable from a communication network and / or stored on a computer-readable and / or executable information medium by a microprocessor, such a computer program product comprising code instructions. for carrying out a communication method as described in detail above, when executed on a computer.
Les caractéristiques et avantages techniques de la présente invention ressortiront mieux de la description suivante, faite à titre indicatif et non limitatif, au regard des dessins annexés sur lesquels :
La présente invention propose une solution favorisant la communication et l'échange d'information, et donc l'interopérabilité dynamique entre applications Web.The present invention proposes a solution favoring the communication and the exchange of information, and thus the dynamic interoperability between Web applications.
On décrit ci-après de façon détaillée, un mode de réalisation possible de l'invention.Hereinafter described in detail, a possible embodiment of the invention.
Dans le cadre de la présente invention, une application hébergée dans une page Web possède un cycle de vie pouvant se résumer de la façon suivante :
Ces différentes phases propres de l'invention sont détaillées ci-dessous dans la suite de la description.These different phases of the invention are detailed below in the following description.
On résume ici en relation avec la
Selon l'invention, un tel procédé de communication entre une première application et au moins une deuxième application accessibles à l'intérieur d'une page d'un navigateur Internet comprend :
Un tel procédé selon l'invention comprend une étape 100 de transmission préalable par ladite deuxième application à une entité de gestion d'applications d'une première liste associant à chaque service proposé par ladite deuxième application au moins un paramètre (donnée et/ou d'évènement) prédéterminé dont une valeur sera générée à l'exécution dudit service.Such a method according to the invention comprises a
Ladite étape 101 de souscription comprend les sous-étapes suivantes de :
Dans un mode de réalisation avantageux de l'invention, le procédé comprend une étape 103 de création d'un lien de communication entre lesdites première et deuxième applications, ledit lien étant activé par ladite deuxième application pour déclencher l'exécution de ladite opération au niveau de ladite première application, suite à l'exécution dudit service par ladite deuxième application.In an advantageous embodiment of the invention, the method comprises a
Dans un mode de réalisation possible de l'invention, à ladite étape d'exécution dynamique, on vérifie 102 que le type dudit au moins un paramètre d'entrée de ladite opération correspond au type d'au moins une donnée générée à l'exécution d'un service souscrit par ladite première application auprès de ladite deuxième application.In one possible embodiment of the invention, in said dynamic execution step, it is verified that the type of said at least one input parameter of said operation corresponds to the type of at least one data item generated at runtime. of a service subscribed by said first application with said second application.
Comme illustré au travers les
Pour réduire l'investissement des utilisateurs dans le processus de communication entre applications, le mécanisme de souscription suivant est mis en oeuvre :
Dans l'exemple de la
Soit l'application C la première application, chronologiquement, exécutée dans la page 201 Web, au travers une portlet 203C. Cette portlet 203C va alors s'enregistrer (flèche F1, étape 100) auprès de l'entité 200 de gestion d'applications. Dans cet exemple et à titre illustratif, nous admettons que la l'application C, au travers sa portlet 203C génère des évènements de typeeventType avec des données de typedataType.Let the application C be the first application, chronologically, executed on
Ensuite, et comme illustré sur la
Lors de cette phase de souscription, l'application A fournit (flèche F3- étape 1012) à l'entité 200 de gestion le type de données et/ou d'évènements qui l'intéresse, car étant susceptibles de servir de paramètres d'entrée pour l'exécution d'au moins une de ses opérations (services, processus, etc.). Elle fournit (flèche F3) également un lien (par exemple et de façon non limitative, une URL - pour "Uniform Ressource Locator") pointant vers l'opération qui devra être exécutée dynamiquement dès qu'une valeur de paramètre (donnée et/ou évènement) auxquels elle a souscrit sera générée.
Elle fournit encore (flèche F3) une URL d'une icône qui est significative par rapport à l'action à entreprendre correspondant à cette souscription. A ce stade, l'entité 200 détecte s'il y'a une association à créer entre les données/évènements générés par la portlet 203C et les donnés/évènements susceptibles de servir de paramètres d'entrée pour l'exécution d'opérations de la portlet 203A (étape 1013).
A titre d'exemple dans la
 During this subscription phase, the application A provides (arrow F3 - step 1012 ) to the
 It still provides (arrow F3) a URL of an icon that is significant compared to the action to be taken corresponding to this subscription. At this stage, the
 As an example in the
Suite à l'étape de souscription de l'application A, l'entité 200 de gestion (encore dénommée "communication Manager" selon une terminologie anglophone) notifie (flèche F4) l'exécution de l'application A dans la portlet 203A à l'application C, via la portlet 203C de cette dernière.Following the subscription step of the application A, the management entity 200 (also called "communication manager" according to English terminology) notifies (arrow F4) the execution of the application A in the
L'application C se trouve alors informée qu'une nouvelle application (application A) est exécutée dans la même page 201 Web du navigateur 202. L'application C, via sa portlet 203C peut récupérer (flèche F5) alors auprès de l'entité 200 de gestion d'applications une listeL des applications ayant souscrites respectivement aux données et/ou évènements (soit de façon plus générale, aux services) qu'elle génère, soit dans l'exemple précis, aux données du typedataType et aux évènements du typeeventType.The application C is then informed that a new application (application A) is executed in the
La portlet 203C dans laquelle s'exécute l'application C se rend compte que la portlet 203A dans laquelle s'exécute l'application A peut réagir aux évènements qu'elle génère. Elle télécharge alors (flèche F5 également) l'icône 204 qui se trouve dans l'URL :iconA@appA. Cette URL, fournie par la portlet 203A à l'étape décrite par la flèche F3 est récupérée (flèche F5) en même temps que la listeL.The
Dans un mode de réalisation particulier, dit mode simplifié, c'est l'entité 200 de gestion d'applications qui télécharge l'icône 204 et qui crée dans la portlet 203C tous les liens de communication à mettre en place. Pour cela, le développeur de la portlet 203C aura indiqué la position à laquelle afficher cette icône par une balise html. Dans ce mode de réalisation, c'est donc l'entité 200 de gestion d'applications qui gère le cycle de vie du lien de communication matérialisé par l'icône 204 (suppression lorsque la portlet 203A disparaît).In a particular embodiment, called simplified mode, it is the
La portlet 203C affiche alors dans une zone réservée de son interface homme machine (IHM) une icône représentative d'un lien de communication établi avec l'application A de la portlet 203A, (étape 103) de sorte qu'une fois ce lien de communication établi, soit l'utilisateur peut cliquer (par exemple avec une souris ou bien un stylet) sur cette icône pour déclencher l'exécution d'une opération spécifique qui tiendra compte comme paramètre(s) d'entrée d'au moins une valeur de donnée et/ou d'évènement généré par l'application C et à laquelle l'application A aura préalablement souscrite, soit l'opération de l'application A sera déclenchée de façon dynamique dès lors que l'application C aura généré une valeur de donnée et/ou d'évènement à laquelle l'application A aura préalablement souscrite.
Ce dernier aspect propre à la communication entre applications est détaillé plus précisément dans la suite de la description en relation avec les
 This last aspect specific to the communication between applications is detailed more precisely in the following description in connection with the
La
Ainsi, on imagine en relation avec cette
La portlet 203B de l'application B s'enregistre (flèche F6) alors dynamiquement auprès de l'entité 200 de gestion d'applications. Et pour chaque souscription qu'elle fait, elle fournit également le type de données et/ou d'évènements qui l'intéresse, l'URL pointant vers l'opération qu'elle est susceptible d'exécuter en prenant pour paramètre d'entrée une valeur des données et/ou évènements auxquels elle a souscrit, et une URL d'une icône représentative de l'opération précitée.
Dans la suite de l'exemple de la
 The
 In the following example of the
Une fois l'application B enregistrée auprès de l'entité 200 de gestion d'applications, cette dernière notifie (flèches F8 et F8') les applications A et C de l'activation de l'application B à l'intérieur de la page 201 web, via leurs portlets respectives 203A et 203C.Once the application B registered with the
Les portlets 203A et 203C disposent désormais de l'information de présence de l'application B à l'intérieur de la page 201 Web, de sortes qu'elles vont alors récupérer chacune une listeL des souscriptions que l'application B aura sollicitée relativement aux données de type prédéterminé et aux évènements de type prédéterminé (ou plus généralement aux services) qu'elles sont susceptibles de générer - dans le cas de la portlet 203C les évènements du typeeventType et les données du typedataType.
Dans l'exemple de la
La portlet 203C se rend compte de façon dynamique que la portlet 203B peut réagir aux évènements et/ou données qu'elle génère en sortie du ou des services qu'elle met en oeuvre, de sorte qu'elle va alors télécharger l'icône 205 représentatif de l'application B via l'URL :iconB@appB récupérée à l'étape représentée par la flèche F8'. Cette icône 205 fournie par la portlet B à l'étape représentée par la flèche F7 est alors affichée dans une zone prédéterminée de l'IHM proposée à l'utilisateur par la portlet 203C, par exemple à côté de l'icône 204 représentative de l'application A. Ainsi, il suffira alors à l'utilisateur de cliquer sur l'icône représentative de l'application B contenue dans la portlet 203C pour que l'application C transmette une donnée ou un évènement qu'elle aura préalablement générée à l'application B, via la portlet 203B, de façon que l'application B puisse exécuter une opération prédéterminée (service, processus, etc.) en tenant compte comme paramètre d'entrée, de ladite donnée et/ou dudit évènement transmis par ladite application C.
Il est bien entendu que dans une variante possible du mécanisme précité objet de l'invention, l'action de l'utilisateur sur l'icône 205 représentative de l'application B situé sur l'IHM de la portlet 203C ne sera pas nécessaire. Il est en effet possible d'envisager dans une telle variante que dès lors que l'application C génère une valeur de donnée et/ou d'évènement auxquels l'application B a préalablement souscrite, alors l'application C, via sa portlet 203C transmet automatiquement cette valeur à l'application B, par l'intermédiaire de l'entité 200 de gestion d'application, de façon que l'application B puisse exécuter dynamiquement ladite opération prédéterminée (service, processus, etc.) en tenant compte comme paramètre d'entrée, de ladite donnée et/ou dudit évènement transmis par ladite application C.
Le détail du mécanisme de communication entre applications partageant une même page web est décrit ci-après, en relation avec les
 In the example of the
 The
 It is understood that in a possible variant of the aforementioned mechanism object of the invention, the action of the user on the
 The details of the communication mechanism between applications sharing the same web page are described below, in relation to the
Dans la suite de la description du scénario décrit à titre d'exemple illustratif au travers les
Comme illustré sur la
L'entité 200 de gestion d'application en est alors automatiquement notifiée par la portlet 203A (tel que représenté par la flèche F10).
L'entité 200 de gestion d'applications notifie respectivement les portlet 203B et 203C de la déconnexion de la portlet 203A en leur transmettant chacune un message de déconnexion (flèches F11 et F11').
La portlet 203C dans laquelle est exécutée l'application C se met alors à jour de façon dynamique en supprimant l'icône 204 représentatif de l'application A de son IHM.
Dans un mode de réalisation particulier, dit mode simplifié, c'est l'entité 200 de gestion d'application qui supprime directement l'icône 204 dans l'IHM de l'application C.
Pour illustrer les apports de ce mécanisme, considérant un exemple concret ou on trouve les applications annuaire, téléphone, email et de messagerie instantanée (ou "Instant Messaging - IM, en anglais) qui cohabitent dans une même page web d'un navigateur Internet.
Imaginons maintenant qu'un utilisateur charge un contact sur l'annuaire, alors que les applications téléphone, email et IM ont préalablement souscrit à la donnée "contact" produite par l'application annuaire.
Les opérations qu'elles peuvent respectivement déclencher avec pour paramètre d'entrée la donnée "contact" sont par exemple, respectivement : appeler le contact, envoyer un courriel au contact, ouvrir une boîte de dialogue pour initier une communication avec la personne référencée par cette donnée "contact".
Grâce au procédé de communication selon l'invention, durant les étapes de souscription, l'application de téléphonie fournit à l'entité 200 de gestion d'applications une icône représentative d'un appel téléphonique. Les autres applications en feront respectivement de même avec des icônes représentatives, respectivement d'un envoi de courriels et de messagerie instantanée en feront de même.
L'application annuaire va récupérer auprès de l'entité de gestion les informations selon lesquelles les applications de téléphonie, de courrier électronique et de messagerie instantanée ont respectivement souscrites à sa donnée "contact", de sorte que l'application "annuaire" va ajouter sur l'IHM de sa portlet les icônes précités (flèches F3, F5' et F12, F12', dans les
 The
 The
 The
 In a particular embodiment, called simplified mode, it is the
 To illustrate the contributions of this mechanism, considering a concrete example where we find the applications directory, phone, email and instant messaging (or "Instant Messaging - IM, in English) that cohabit in the same web page of an Internet browser.
 Imagine now that a user loads a contact on the directory, while the phone, email and IM applications have previously subscribed to the data "contact" produced by the directory application.
 The operations that they can respectively trigger with input parameter data "contact" are for example, respectively: call the contact, send an email to the contact, open a dialog to initiate a communication with the person referenced by this data "contact".
 Thanks to the communication method according to the invention, during the subscription steps, the telephony application provides the
 The directory application will retrieve from the management entity the information that the telephony, email and messaging applications  instant subscribed respectively to his data "contact", so that the application "directory" will add on the HMI of its portlet the aforementioned icons (arrows F3, F5 'and F12, F12', in the
Un avantage de ce type de mécanisme est qu'il est plus intuitif qu'un simple "glisser-déposer" pour l'utilisateur. En même temps, ce mécanisme laisse l'utilisateur maître de son espace en évitant de déclencher plusieurs portlets à la fois.An advantage of this type of mechanism is that it is more intuitive than a simple "drag and drop" for the user. At the same time, this mechanism leaves the user master of his space by avoiding triggering multiple portlets at a time.
On décrit maintenant en relation avec les
Les publications servent concrètement à faire réagir les autres applications d'une même page web, au résultat de l'exécution d'un service par une autre application et par la communication d'au moins un paramètre correspondant à une valeur de donnée et/ou d'évènement produite par cette dernière et devant leur servir de paramètre d'entrée pour l'exécution d'une opération spécifique.The publications concretely serve to react the other applications of the same web page, the result of the execution of a service by another application and the communication of at least one parameter corresponding to a data value and / or event produced by the latter and to serve as input parameter for the execution of a specific operation.
Des applications peuvent publier des paramètres, comme des données et/ou des évènements.Applications can publish parameters, such as data and / or events.
Pour des raisons de sécurité il existe quatre types de publications, à savoir une publication de type "PUBLIC", une publication de type "UNICAST", une publication de type "GROUP", et une publication de type "PRIVATE".For security reasons there are four types of publications, namely a "PUBLIC" publication, a "UNICAST" type publication, a "GROUP" type publication, and a "PRIVATE" type publication.
Si une publication par une application est estampillée "PUBLIC" alors toutes les applications qui écoutent le type d'évènements ou données correspondant à cette publication seront en mesure d'y réagir.If a publication by an application is stamped "PUBLIC" then all the applications that listen to the type of events or data corresponding to this publication will be able to react to it.
Si une publication est estampillée "GROUP", alors, seules les applications appartenant à un même groupe que celle publiant ses données et/ou évènements sera en mesure de réagir.If a publication is stamped "GROUP", then only applications belonging to the same group as the one publishing its data and / or events will be able to react.
Par exemple, il sera également possible de sécuriser la communication d'application en conditionnant l'exécution d'une opération d'une première application, à la transmission d'un paramètre (de type donnée ou évènement) dont une valeur aura été générée par une deuxième application appartenant uniquement à un même groupe que ladite première application.For example, it will also be possible to secure the application communication by conditioning the execution of an operation of a first application, to the transmission of a parameter (of a given type or event) of which a value has been generated by a second application belonging only to the same group as said first application.
Si une publication est estampillée "PRIVATE", seule il y'a que le module lui-même (qui à généré ce type d'évènements ou données) qui réagira.If a publication is stamped "PRIVATE", only the module itself (which generated this type of event or data) will react.
Si une publication est estampillée "UNICAST"' alors un évènement généré sera uniquement destiné à une application spécifique hébergée dans la page web.If a publication is stamped "UNICAST" then a generated event will only be for a specific application hosted in the web page.
Dans les quatre cas (PUBLIC, GROUP, PRIVATE, UNICAST), un mapping de type des données/évènements générés avec les type de données/évènements auxquels d'autres application s'y souscrit est fait au niveau de l'entité 200 (étape 1021)In the four cases (PUBLIC, GROUP, PRIVATE, UNICAST), a type mapping of the data / events generated with the type of data / events to which other applications subscribed to it is done at the level of the entity 200 (step 1021 )
La
Dans le cas ou la fonction de call back fournit à l'étape 1 et une fonction javascript :
Dans le cas ou la fonction de call back fournit à l'étape 1 et une URL voici ci-dessous le schéma correspondant (
Dans le chemin (F30', F31', F32', F33') la portlets B se recharge complètement contrairement au chemin (F32, F33, F35, F36) ou la portlet réagit en exécutant un script seulement dans la couche présentation.In the path (F30 ', F31', F32 ', F33') the portlets B reloads completely unlike the path (F32, F33, F35, F36) or the portlet responds by executing a script only in the presentation layer.
Une sémantique pivot entre les différentes applications est indispensable pour maintenir les modules indépendants les uns des l'autres. Cette sémantique peut être décrite avec des formalismes tel que : micro-format, RDF, OWL, ...A pivotal semantics between the different applications is essential to keep the modules independent of each other. This semantics can be described with formalisms such as: micro-format, RDF, OWL, ...
Dans notre réalisation, nous avons utilisée des micro-formats tels que leshCard ethCalendar. Les micro-formats à la base sont constitués de balise XML prédéfini à insérer dans une page HTML, et les navigateurs actuels sont capable de les interpréter.In our realization, we used micro-formats such ashCard andhCalendar. The micro-formats at the base consist of predefined XML tags to insert in an HTML page, and current browsers are able to interpret them.
Dans le cadre de la présente invention, les balises XML ne sont pas intégrée dans du code HTML mais elles sont stockées directement dans un fichier à part accessible au moyen d'une URL.In the context of the present invention, the XML tags are not embedded in HTML but they are stored directly in a separate file accessible by means of a URL.
A titre d'exemple, unehCard est un format de donnée pour représenter des personnes, sociétés, organisations et lieux. Cela permet à une machine d'extraire notamment le nom, prénom, numéro de téléphone, email, adresse... d'une personne, sociétés, et organisations.For example, anhCard is a data format for representing people, companies, organizations, and places. This allows a machine to extract particular name, first name, phone number, email, address ... of a person, companies, and organizations.
L'annexe 1 présente un exemple dehCard décrivant la personne "M. Dupont".Appendix 1 presents an example of anhCard describing the person "Mr. Smith".
Cette représentation commune à toutes les applications hébergées dans une même page web, permet avantageusement une homogénéité dans les échanges des données. Par exemple, une application "téléphone" qui récupère lahcard précitée (publiée par exemple par une application "annuaire") sait que cette donnée représente une personne, et qu'elle peut récupérer un numéro de téléphone correspondant (pour l'appeler) au niveau de la balise <span class="tel">.This representation common to all the applications hosted in the same web page, advantageously allows a homogeneity in data exchanges. For example, a "phone" application that retrieves the aforementionedhcard (published for example by a "directory" application) knows that this data represents a person, and that it can retrieve a corresponding telephone number (to call it) at tag level <span class = "tel" >.
| Application Number | Priority Date | Filing Date | Title | 
|---|---|---|---|
| PL09171334TPL2169569T3 (en) | 2008-09-30 | 2009-09-25 | Method and system for communication between distinct web applications | 
| Application Number | Priority Date | Filing Date | Title | 
|---|---|---|---|
| FR0856592 | 2008-09-30 | 
| Publication Number | Publication Date | 
|---|---|
| EP2169569A1 EP2169569A1 (en) | 2010-03-31 | 
| EP2169569B1true EP2169569B1 (en) | 2014-03-26 | 
| Application Number | Title | Priority Date | Filing Date | 
|---|---|---|---|
| EP09171334.7AActiveEP2169569B1 (en) | 2008-09-30 | 2009-09-25 | Method and system for communication between distinct web applications | 
| Country | Link | 
|---|---|
| US (1) | US20100082769A1 (en) | 
| EP (1) | EP2169569B1 (en) | 
| ES (1) | ES2475205T3 (en) | 
| PL (1) | PL2169569T3 (en) | 
| Publication number | Priority date | Publication date | Assignee | Title | 
|---|---|---|---|---|
| CN102334344A (en)* | 2009-02-27 | 2012-01-25 | Lg电子株式会社 | Architecture of network device processing application program and control method of the network device | 
| US9356991B2 (en) | 2010-05-10 | 2016-05-31 | Litera Technology Llc | Systems and methods for a bidirectional multi-function communication module | 
| WO2012013893A1 (en)* | 2010-07-28 | 2012-02-02 | France Telecom | Data communication between modules | 
| CN102902580B (en)* | 2011-07-26 | 2018-05-15 | 腾讯科技(深圳)有限公司 | A kind of program callback method and device | 
| CN103257968B (en)* | 2012-02-17 | 2015-08-12 | 腾讯科技(深圳)有限公司 | The method of process browser operation item and device | 
| FR3022657A1 (en)* | 2014-06-20 | 2015-12-25 | Orange | METHOD OF SHARING NAVIGATION ON A WEB PAGE DISPLAYED BY A WEB BROWSER | 
| Publication number | Priority date | Publication date | Assignee | Title | 
|---|---|---|---|---|
| US8005345B2 (en)* | 2001-06-27 | 2011-08-23 | Verizon Business Network Services Inc. | Method and system for dynamic control of digital media content playback and advertisement delivery | 
| US8126722B2 (en)* | 2001-12-20 | 2012-02-28 | Verizon Business Global Llc | Application infrastructure platform (AIP) | 
| US20060004913A1 (en)* | 2004-06-30 | 2006-01-05 | Kelvin Chong | System and method for inter-portlet communication | 
| US7991764B2 (en)* | 2005-07-22 | 2011-08-02 | Yogesh Chunilal Rathod | Method and system for communication, publishing, searching, sharing and dynamically providing a journal feed | 
| SG141289A1 (en)* | 2006-09-29 | 2008-04-28 | Wireless Intellect Labs Pte Lt | An event update management system | 
| WO2008085203A2 (en)* | 2006-12-29 | 2008-07-17 | Prodea Systems, Inc. | Presence status notification from digital endpoint devices through a multi-services gateway device at the user premises | 
| US8086495B2 (en)* | 2007-09-10 | 2011-12-27 | Prodea Systems, Inc. | Device and a method for ordering product at a premises via an integrated multimedia service system | 
| US20090133090A1 (en)* | 2007-11-19 | 2009-05-21 | Verizon Data Services Inc. | Method and system of providing content management for a set-top box | 
| US8422397B2 (en)* | 2007-12-28 | 2013-04-16 | Prodea Systems, Inc. | Method and apparatus for rapid session routing | 
| Publication number | Publication date | 
|---|---|
| EP2169569A1 (en) | 2010-03-31 | 
| ES2475205T3 (en) | 2014-07-10 | 
| US20100082769A1 (en) | 2010-04-01 | 
| PL2169569T3 (en) | 2014-08-29 | 
| Publication | Publication Date | Title | 
|---|---|---|
| EP2169569B1 (en) | Method and system for communication between distinct web applications | |
| EP2643961B1 (en) | Communication between two web applications | |
| EP2791798B1 (en) | Software bus | |
| EP3087706B1 (en) | Method and system for communication between web browsers, using a unified communication environment | |
| WO2007141446A1 (en) | System for managing a multimodal interactive service | |
| EP2187321B1 (en) | Method and system for editing an object represented on a web page | |
| WO2009121808A1 (en) | Method of managing electronic messages on the basis of a messaging client and system for implementing the method | |
| JP2021515949A (en) | Systems and methods for generating predictive-based GUIs to improve GUI response times | |
| EP2404426A1 (en) | Method and system for the real time synthesis of interactions relating to a user | |
| FR2991840A1 (en) | METHOD OF PROCESSING DATA BY A NAVIGATION MODULE | |
| EP2156340B1 (en) | Method and device for communication between separate web applications | |
| EP3475847B1 (en) | Statistics server for optimising client-server queries | |
| FR2950716A1 (en) | Method for communication between independent web applications executed in respective web browsers on e.g. terminals, involves executing operation considering value of parameter that is generated by execution of service, by application | |
| WO2007010139A2 (en) | Method and device for interaction between computer-based applications and a remote site | |
| EP1853040A1 (en) | Communication system and low-consumption display terminals suitable for same | |
| FR2900778A1 (en) | Heterogeneous digital content accessing method for e.g. wireless local area network, involves transmitting part of contents in response to request containing address parameter emitted by client terminal, and displaying part by terminal | |
| FR2860318A1 (en) | ELECTRONIC INVESTIGATION METHOD | |
| WO2009034237A1 (en) | Method and system for organising meetings by electronic messages | |
| FR2923036A1 (en) | AUTOMATIC WEB SERVICE COMPOSITION METHOD AND COMPUTER SYSTEM FOR IMPLEMENTING SUCH A METHOD | |
| Fremantle | A history and future of Web APIs | |
| WO2003023651A1 (en) | Annotation method for electronic documents, and related system | |
| Montagut | Processus collaboratifs ubiquitaires: architecture, fiabilite et securite | |
| EP1312196A2 (en) | Intermediation device between stations connected to a communication network | |
| FR2834095A1 (en) | PROCESS FOR MANAGING A SYNCHRONOUS COLLABORATIVE SESSION IMPLEMENTED WITHIN A DISTRIBUTED AND SUPERVISED ARCHITECTURE | |
| FR2846173A1 (en) | Communication terminal e.g. PDA control interface, is configured to display list of shared documents, previous search results, and user names, when shared files, search and communication areas are specified by user respectively | 
| Date | Code | Title | Description | 
|---|---|---|---|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase | Free format text:ORIGINAL CODE: 0009012 | |
| AK | Designated contracting states | Kind code of ref document:A1 Designated state(s):AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO SE SI SK SM TR | |
| AX | Request for extension of the european patent | Extension state:AL BA RS | |
| 17P | Request for examination filed | Effective date:20100908 | |
| R17P | Request for examination filed (corrected) | Effective date:20100908 | |
| 17Q | First examination report despatched | Effective date:20101011 | |
| RAP1 | Party data changed (applicant data changed or rights of an application transferred) | Owner name:ORANGE | |
| GRAP | Despatch of communication of intention to grant a patent | Free format text:ORIGINAL CODE: EPIDOSNIGR1 | |
| INTG | Intention to grant announced | Effective date:20131017 | |
| GRAS | Grant fee paid | Free format text:ORIGINAL CODE: EPIDOSNIGR3 | |
| GRAA | (expected) grant | Free format text:ORIGINAL CODE: 0009210 | |
| AK | Designated contracting states | Kind code of ref document:B1 Designated state(s):AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO SE SI SK SM TR | |
| REG | Reference to a national code | Ref country code:GB Ref legal event code:FG4D Free format text:NOT ENGLISH | |
| REG | Reference to a national code | Ref country code:CH Ref legal event code:EP | |
| REG | Reference to a national code | Ref country code:AT Ref legal event code:REF Ref document number:659304 Country of ref document:AT Kind code of ref document:T Effective date:20140415 | |
| REG | Reference to a national code | Ref country code:IE Ref legal event code:FG4D Free format text:LANGUAGE OF EP DOCUMENT: FRENCH | |
| REG | Reference to a national code | Ref country code:DE Ref legal event code:R096 Ref document number:602009022725 Country of ref document:DE Effective date:20140515 | |
| REG | Reference to a national code | Ref country code:ES Ref legal event code:FG2A Ref document number:2475205 Country of ref document:ES Kind code of ref document:T3 Effective date:20140710 | |
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] | Ref country code:NO Free format text:LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date:20140626 Ref country code:LT Free format text:LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date:20140326 | |
| REG | Reference to a national code | Ref country code:AT Ref legal event code:MK05 Ref document number:659304 Country of ref document:AT Kind code of ref document:T Effective date:20140326 | |
| REG | Reference to a national code | Ref country code:NL Ref legal event code:VDEP Effective date:20140326 | |
| REG | Reference to a national code | Ref country code:LT Ref legal event code:MG4D | |
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] | Ref country code:SE Free format text:LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date:20140326 Ref country code:FI Free format text:LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date:20140326 | |
| REG | Reference to a national code | Ref country code:PL Ref legal event code:T3 | |
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] | Ref country code:LV Free format text:LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date:20140326 Ref country code:HR Free format text:LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date:20140326 | |
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] | Ref country code:CY Free format text:LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date:20140326 Ref country code:RO Free format text:LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date:20140326 Ref country code:CZ Free format text:LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date:20140326 Ref country code:EE Free format text:LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date:20140326 Ref country code:NL Free format text:LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date:20140326 Ref country code:BG Free format text:LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date:20140626 Ref country code:IS Free format text:LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date:20140726 | |
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] | Ref country code:SK Free format text:LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date:20140326 Ref country code:AT Free format text:LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date:20140326 | |
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] | Ref country code:PT Free format text:LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date:20140728 | |
| REG | Reference to a national code | Ref country code:DE Ref legal event code:R097 Ref document number:602009022725 Country of ref document:DE | |
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] | Ref country code:DK Free format text:LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date:20140326 | |
| PLBE | No opposition filed within time limit | Free format text:ORIGINAL CODE: 0009261 | |
| STAA | Information on the status of an ep patent application or granted ep patent | Free format text:STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT | |
| 26N | No opposition filed | Effective date:20150106 | |
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] | Ref country code:IT Free format text:LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date:20140326 | |
| REG | Reference to a national code | Ref country code:DE Ref legal event code:R119 Ref document number:602009022725 Country of ref document:DE | |
| REG | Reference to a national code | Ref country code:DE Ref legal event code:R097 Ref document number:602009022725 Country of ref document:DE Effective date:20150106 | |
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] | Ref country code:MC Free format text:LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date:20140326 Ref country code:LU Free format text:LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date:20140925 | |
| REG | Reference to a national code | Ref country code:CH Ref legal event code:PL | |
| REG | Reference to a national code | Ref country code:IE Ref legal event code:MM4A | |
| REG | Reference to a national code | Ref country code:DE Ref legal event code:R119 Ref document number:602009022725 Country of ref document:DE Effective date:20150401 | |
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] | Ref country code:DE Free format text:LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date:20150401 Ref country code:LI Free format text:LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date:20140930 Ref country code:SI Free format text:LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date:20140326 Ref country code:CH Free format text:LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date:20140930 | |
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] | Ref country code:IE Free format text:LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date:20140925 | |
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] | Ref country code:SM Free format text:LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date:20140326 | |
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] | Ref country code:GR Free format text:LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date:20140627 Ref country code:MT Free format text:LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date:20140326 | |
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] | Ref country code:TR Free format text:LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date:20140326 Ref country code:HU Free format text:LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT; INVALID AB INITIO Effective date:20090925 | |
| REG | Reference to a national code | Ref country code:FR Ref legal event code:PLFP Year of fee payment:8 | |
| REG | Reference to a national code | Ref country code:FR Ref legal event code:PLFP Year of fee payment:9 | |
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] | Ref country code:MK Free format text:LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date:20140326 | |
| REG | Reference to a national code | Ref country code:FR Ref legal event code:PLFP Year of fee payment:10 | |
| PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] | Ref country code:GB Payment date:20240822 Year of fee payment:16 | |
| PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] | Ref country code:BE Payment date:20240820 Year of fee payment:16 | |
| PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] | Ref country code:FR Payment date:20240820 Year of fee payment:16 | |
| PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] | Ref country code:PL Payment date:20240822 Year of fee payment:16 | |
| PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] | Ref country code:ES Payment date:20241001 Year of fee payment:16 |