Movatterモバイル変換


[0]ホーム

URL:


EP2169569B1 - Method and system for communication between distinct web applications - Google Patents

Method and system for communication between distinct web applications
Download PDF

Info

Publication number
EP2169569B1
EP2169569B1EP09171334.7AEP09171334AEP2169569B1EP 2169569 B1EP2169569 B1EP 2169569B1EP 09171334 AEP09171334 AEP 09171334AEP 2169569 B1EP2169569 B1EP 2169569B1
Authority
EP
European Patent Office
Prior art keywords
application
service
execution
value
type
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
EP09171334.7A
Other languages
German (de)
French (fr)
Other versions
EP2169569A1 (en
Inventor
Emmanuel Bertin
Nassim Laga
Jean-Pierre Deschrevel
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orange SA
Original Assignee
Orange SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Orange SAfiledCriticalOrange SA
Priority to PL09171334TpriorityCriticalpatent/PL2169569T3/en
Publication of EP2169569A1publicationCriticalpatent/EP2169569A1/en
Application grantedgrantedCritical
Publication of EP2169569B1publicationCriticalpatent/EP2169569B1/en
Activelegal-statusCriticalCurrent
Anticipated expirationlegal-statusCritical

Links

Images

Classifications

Definitions

Landscapes

Description

Translated fromFrench

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 :

  • ■ le langage HTML (pour "HyperText Markup Language"), ou le langage XHTML (pour "Extensible HyperText Markup Language") pour ce qui concerne la définition de la structure sémantique des informations contenues dans une page web ;
  • ■ le modèle DOM (pour "Document Object Model" en anglais "Modèle objet de document" en français), et JavaScript pour afficher et interagir dynamiquement avec l'information présentée. DOM est une recommandation du W3C qui permet notamment de décrire une interface indépendante de tout langage de programmation et de toute plate-forme et qui permet à des programmes informatiques et à des scripts d'accéder ou de mettre à jour le contenu, la structure ou le style de documents ;
  • ■ le langage JavaScript (marque déposée), dont l'objet XMLHttpRequest qui caractérise le coté asynchrone d'Ajax, notamment et non exclusivement, pour ce
    qui concerne l'échange et la manipulation, des données avec un serveur Web. Cet objet permet notamment d'obtenir des données au format XML, mais aussi au format HTML, ou plus simplement encore au format texte, par l'invocation de simples requêtes de type HTTP (pour "Hypertext Transfer Protocol" en anglais, ou "protocole de transfert hypertexte" - protocole de communication client-serveur développé pour le World Wide Web).
For information, AJAX refers to a computer method for developing web applications. It is not a technology in itself, but simply a term that refers to the joint use of a set of technologies commonly used on the web, including:
  • ■ the HTML (for "HyperText Markup Language"), or the XHTML (for "Extensible HyperText Markup Language") for the definition of the semantic structure of the information contained in a web page;
  • ■ the DOM model (for "Document Object Model" in French), and JavaScript to dynamically display and interact with the information presented. DOM is a W3C recommendation that includes an interface independent of any programming language and platform that allows computer programs and scripts to access or update the content, structure or the style of documents;
  • ■ the JavaScript language (registered trademark), including the XMLHttpRequest object that characterizes the asynchronous Ajax side, including and not exclusively, for this
    concerning the exchange and manipulation, data with a Web server. This object makes it possible in particular to obtain data in XML format, but also in HTML format, or even more simply in text format, by the invocation of simple requests of the HTTP type (for "Hypertext Transfer Protocol" in English, or "protocol hypertext transfer "- a client-server communication protocol developed for the World Wide Web).

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 : "An HTML fragments based approach for portlets interoperability" de Song J. et al., Proceedings of the 7th International Conference on Distributed Applications and Interoperable Systems, 6-8 juin 2007, Paphos, Chypre, pages 195-209, décrit une technique pour faire fonctionner entre elles desportlets selon une approche basée sur l'utilisation de blocs d'éléments HTML (fragments) générés par lesportlets.The document : " "From Song J. et al., Proceedings of the 7th International Conference on Distributed Applications and Interoperable Systems, 6-8 June 2007, Paphos, Cyprus, pp. 195-209. , describes a technique for makingportlets work together using an approach based on using blocks of HTML elements (fragments ) generated byportlets.

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 :

  • ■ une étape de transmission préalable par une 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 type de paramètre dont une valeur sera générée à l'exécution du service ;
  • ■ une étape de souscription dynamique de ladite première application à au moins un service de ladite deuxième application, incluant la transmission par ladite première application à ladite entité de gestion d'applications, du type de paramètres susceptibles de servir de paramètres d'entrée pour l'exécution d'au moins une opération susceptible d'être exécutée par ladite première application ;
  • ■ une étape d'exécution par ladite première application, d'au moins une opération tenant compte d'une valeur d'au moins un paramètre, générée par l'exécution dudit au moins un service et transmise par ladite deuxième application à ladite première application, incluant la vérification que le type dudit au moins un paramètre d'entrée de ladite opération correspond au type dudit au moins un paramètre dont la valeur a été générée par l'exécution dudit au moins un service.
According to the invention, such a method comprises:
  • A step of prior transmission by a second application to an application management entity, of a first list associating with each service proposed by said second application, at least one type of parameter whose value will be generated at the execution of the service;
  • A step of dynamically subscribing said first application to at least one service of said second application, including transmission by said first application to said application management entity, of the type of parameters that may serve as input parameters for the application; performing at least one operation that can be performed by said first application;
  • A step of execution by said first application, of at least one operation taking into account a value of at least one parameter, generated by the execution of said at least one service and transmitted by said second application to said first application , including checking that the type of said at least one input parameter of said operation corresponds to the type of said at least one parameter whose value has been generated by the execution of said at least one service.

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 :

  • connaître en temps réel les différentes applications chargées par l'utilisateur. Ceci leur donne la possibilité de cibler les portlets vers lesquelles les paramètres (par exemple des évènements et/ou des données) sont publiés (i.e. une portlet A peut déclencher la portlet B pour effectuer une tache spécifique). Cela présente un double avantage, un premier en termes de sécurité - les applications savent quelles autres applications sont à même d'exploiter les données ou évènements qu'elles génèrent ; un second en termes d'automatisation des communications entre applications d'une même page Web, ce qui enrichit les fonctionnalités offertes à un utilisateur de part cette possibilité d'interopérabilité entre les applications d'une même page Web ;
  • souscrire au(x) service(s) proposé(s) par une autre application, par exemple soit à des évènements de type prédéterminé (e.g. un évènement de type "appel entrant"), soit à des données de type prédéterminé (e.g. une donnée de type "contact") ;
The proposed solution allows modules to:
  • to know in real time the various applications loaded by the user. This gives them the ability to target the portlets to which the parameters (for example, events and / or data) are published (ie an A portlet can trigger the B portlet to perform a specific task). This has a twofold advantage, a first in terms of security - applications know which other applications are able to exploit the data or events they generate; a second in terms of automation of communications between applications on the same web page, which enriches the functionalities offered to a user because of this possibility of interoperability between the applications of the same Web page;
  • subscribe to the service (s) proposed by another application, for example, to events of a predetermined type (eg an "incoming call" type event) or to data of a predetermined type (eg data type "contact");

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 :

  • ■ enregistrement de ladite première application auprès d'une entité de gestion d'applications ;
  • ■ transmission par ladite première application à ladite entité de gestion d'applications, d'une deuxième liste de types de paramètres (données ou évènements) associés, respectivement, à au moins une opération susceptible d'être exécutée par ladite première application;
  • ■ création par ladite entité de gestion d'une troisième liste de souscription de service, durant laquelle on associe à chaque service de ladite première liste au moins une opération susceptible d'être exécutée par ladite première application, par mise en correspondance des types de paramètres contenus respectivement dans lesdites premières et deuxièmes listes.
Preferably, said subscription step advantageously comprises the following substeps of:
  • Recording of said first application with an application management entity;
  • Transmission by said first application to said application management entity of a second list of parameter types (data or events) associated, respectively, with at least one operation that can be executed by said first application;
  • Creation by said management entity of a third service subscription list, during which each service of said first list is associated with at least one operation that may be executed by said first application, by mapping the types of parameters. contained respectively in said first and second lists.

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 :

  • ■ des moyens de transmission par une 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 type de paramètre dont une valeur sera générée à l'éxécution du service ;;
  • ■ des moyens de souscription dynamique de ladite première application à au moins un service de ladite deuxième application, lesdits moyens des souscription incluant des moyens de transmission par ladite première application à ladite entité de gestion d'applications, du type de paramètres susceptibles de servir de paramètres d'entrée pour l'exécution d'au moins une opération susceptible d'être exécutée par ladite première application;
  • ■ des moyens d'exécution par ladite première application, d'au moins une opération tenant compte d'une valeur d'au moins un paramètre (donnée ou évènement) générée par l'exécution dudit au moins un service et transmise par ladite deuxième application à ladite première application, et de vérification que le type dudit au moins un paramètre d'entrée de ladite opération correspond au type dudit au moins un paramètre dont la valeur a été générée par l'exécution dudit au moins un service.
According to the invention, such a system advantageously comprises:
  • Means for transmitting by a second application, to an application management entity, a first list associating with each service proposed by said second application, at least one type of parameter whose value will be generated at the execution of the service;
  • Means for dynamically subscribing said first application to at least one service of said second application, said subscription means including means for transmission by said first application to said application management entity, of the type of parameters that may be used to input parameters for executing at least one operation that can be executed by said first application;
  • Means for execution by said first application of at least one operation taking into account a value of at least one parameter (data or event) generated by the execution of said at least one service and transmitted by said second application said first application, and checking that the type of said at least one input parameter of said operation corresponds to the type of said at least one parameter whose value has been generated by the execution of said at least one service.

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 :

  • ■ des moyens de stockage d'une première liste associant à chaque service proposé par ladite deuxième application, au moins un type de paramètre dont une valeur sera générée à l'exécution dudit service, ladite première liste étant transmise à ladite entité par ladite deuxième application ;
  • ■ des moyens de stockage d'une deuxième liste de paramètres associés, respectivement, à au moins une opération susceptible d'être exécutée par ladite première application, ladite deuxième liste étant transmise à ladite entité par ladite première application ;
  • ■ des moyens de création d'une troisième liste de souscription de services, laquelle associe à chaque service de ladite première liste au moins une opération susceptible d'être exécutée par ladite première application, lesdits moyens de créations étant adaptés pour mettre en correspondance les types de paramètre contenus respectivement dans lesdites premières et deuxièmes listes.
According to the invention, such an entity comprises:
  • Storage means of a first list associating with each service proposed by said second application, at least one type of parameter whose value will be generated at the execution of said service, said first list being transmitted to said entity by said second application ;
  • Means for storing a second list of parameters associated, respectively, with at least one operation that can be executed by said first application, said second list being transmitted to said entity by said first application;
  • Means for creating a third service subscription list, which associates with each service of said first list at least one operation that can be executed by said first application, said creation means being adapted to match the types parameter contained respectively in said first and second lists.

Dans un mode de réalisation préféré de l'invention, ladite entité de gestion comprend en outre avantageusement :

  • ■ des moyens de réception d'une valeur d'au moins un paramètre (donnée ou évènement) généré par l'exécution dudit au moins un service par ladite deuxième application; et
  • ■ des moyens de transmission de ladite valeur à ladite première application, pour exécution dynamique de ladite au moins une opération tenant compte de ladite valeur.
In a preferred embodiment of the invention, said management entity furthermore advantageously comprises:
  • Means for receiving a value of at least one parameter (data or event) generated by the execution of said at least one service by said second application; and
  • Means for transmitting said value to said first application, for dynamic execution of said at least one operation taking said value into account.

Une telle entité permet donc d'assurer :

  • ■ la gestion des souscriptions de services inter-applications ;
  • ■ la gestion des communications entre applications ayant souscrits à leurs services, indépendamment et ou mutuellement.
Such an entity therefore makes it possible to ensure:
  • ■ the management of cross-application service subscriptions;
  • ■ the management of communications between applications subscribing to their services, independently and or mutually.

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 :

  • ■ lafigure 1 est ordinogramme résumant les grandes étapes du procédé de communication selon l'invention ;
  • ■ lesfigures 2A à 2D décrivent le principe de la souscription d'applications hébergées dans une même page web d'un navigateur, au(x) service(s) (données et/ou évènements) proposés par au moins certaines d'entre elles ;
  • ■ lesfigures 3A et 3B illustre le principe de communication entre applications d'une même page web, selon le procédé objet de l'invention.
The characteristics and technical advantages of the present invention will become more apparent from the following description, given by way of non-limiting indication, with reference to the appended drawings in which:
  • ■ the figure 1 is a flow chart summarizing the major steps of the communication method according to the invention;
  • ■ the Figures 2A to 2D describe the principle of subscribing applications hosted on the same web page of a browser, to the service (s) (data and / or events) proposed by at least some of them;
  • ■ the Figures 3A and 3B illustrates the principle of communication between applications of the same web page, according to the method of the invention.

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 :

  • une première phase d'initialisation de ladite application essentiellement basée sur les trois étapes suivantes :
    • o se faire connaître par les autres applications (encore dénommées portlets) hébergées dans la même page Web ;
    • o souscrire aux services susceptibles de générer des valeurs de paramètres (évènement et/ou données) qui l'intéressent; et
    • o connaître les souscriptions des autres applications (les données et évènements auxquels les autres applications peuvent réagir). Cette étape permet de gérer le contexte dans le sens ou chaque application connaît l'ensemble des services qui lui sont liés et qui sont chargés par l'utilisateur.
  • une deuxième phase durant laquelle les différentes applications ayant souscrites aux différents services d'autres applications, peuvent communiquer entre elles selon un mode de publication/ réception d'évènements et/ou de données de type prédéterminé ;
  • puis une troisième phase initiée lors de la déconnexion ou de l'interruption de l'exécution d'une application à l'intérieur de ladite page Web, de transmission aux autres applications hébergées dans la page Web, d'une information de déconnexion/ interruption, de façon que les applications restant actives dans la page Web puissent mettre à jour leurs informations relatives à des applications qui avaient préalablement souscrits à l'un au moins de leurs services (respectivement) et qui dont l'exécution dans la page Web a été depuis interrompue.
In the context of the present invention, an application hosted in a web page has a life cycle that can be summarized as follows:
  • a first initialization phase of said application essentially based on the following three steps:
    • o become known by other applications (also called portlets) hosted on the same web page;
    • o subscribe to services that may generate parameter values (events and / or data) that interest him; and
    • o know the subscriptions of other applications (the data and events that other applications can react to). This step allows to manage the context in the sense that each application knows all the services which are linked to it and which are loaded by the user.
  • a second phase during which the different applications having subscribed to the different services of other applications, can communicate with each other according to a mode of publication / reception of events and / or data of predetermined type;
  • then a third phase initiated during the disconnection or the interruption of the execution of an application within said web page, of transmission to the other applications hosted in the web page, of a disconnection / interruption information , so that applications remaining active in the web page can update their information about applications that had previously subscribed to at least one of their services (respectively) and whose execution in the web page has been since interrupted.

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 lafigure 1, les grandes étapes du procédé de communication entre applications exécutées respectivement dans des portlets hébergées chacune dans une même page web d'un navigateur.We summarize here in relation to the figure 1 , the main steps of the communication process between applications executed respectively in portlets each hosted in the same web page of a browser.

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 :

  • une étape 101 de souscription dynamique de ladite première application à au moins un service de ladite au moins une deuxième application ;
  • une étape 102 d'exécution par ladite première application, d'au moins une opération 1021 tenant compte d'une valeur d'au moins une donnée et/ d'évènement mise à jour par l'exécution dudit au moins un service et transmise par ladite deuxième application à ladite première application.
According to the invention, such a communication method between a first application and at least a second application accessible within a page of an Internet browser comprises:
  • Astep 101 of dynamic subscription of said first application to at least one service of said at least one second application;
  • Astep 102 of execution by said first application, of at least oneoperation 1021 taking into account a value of at least one data and / of event updated by the execution of said at least one service and transmitted by said second application to said first application.

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 astep 100 of prior transmission by said second application to an application management entity of a first list associating with each service proposed by said second application at least one parameter (given and / or d). predetermined event, a value of which will be generated at the execution of said service.

Ladite étape 101 de souscription comprend les sous-étapes suivantes de :

  • enregistrement 1011 de ladite première application auprès d'une entité de gestion d'applications ;
  • transmission 1012 par ladite première application à ladite entité de gestion d'applications, d'une deuxième liste de types de paramètres (données ou évènements) associés, respectivement, à au moins une opération susceptible d'être exécutée par ladite première application;
  • ■ création 1013 par ladite entité de gestion d'une troisième liste de souscription de service, durant laquelle on associe à chaque service de ladite première liste au moins une opération susceptible d'être exécutée par ladite première application, par mise en correspondance des types de paramètres contenus respectivement dans lesdites premières et deuxièmes listes.
Saidstep 101 of subscription comprises the following substeps of:
  • Recording 1011 of said first application with an application management entity;
  • transmission 1012 by said first application to said application management entity, a second list of types of parameters (data or events) associated, respectively, with at least one operation that can be performed by said first application;
  • creation 1013 by said management entity of a third service subscription list, during which each service of said first list is associated with at least one operation that can be executed by said first application, by mapping the types parameters contained respectively in said first and second lists.

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 astep 103 of creating a communication link between said first and second applications, said link being activated by said second application to trigger the execution of said operation at the of said first application, following the execution of said service by said second application.

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 lesfigures 2A à 2D, l'étape de souscription d'une application nouvellement activée/ exécuté à l'intérieur d'une page Web à un service d'au moins une autre application hébergée à l'intérieur de cette même page 201 Web d'un navigateur 202 s'effectue par l'intermédiaire d'une entité 200 de gestion d'applications.As illustrated through the Figures 2A to 2D , the step of subscription of a newly activated / executed application within a web page to a service of at least one other application hosted within thesame page 201 Web of a browser 202 s performs through anapplication management entity 200.

Pour réduire l'investissement des utilisateurs dans le processus de communication entre applications, le mécanisme de souscription suivant est mis en oeuvre :

  • quand une application souscrit à un évènement et/ou une donnée, ou plus généralement à un service d'une autre application, un service adapté pour générer au moins une donnée et/ou au moins un évènement de sortie, elle peut fournir une URL d'une icône qui est significative de l'opération qu'elle exécutera de façon dynamique (voire sur demande de l'utilisateur) en tenant compte comme paramètre d'entrée l'évènement et/ou la donnée générée ;
  • les autres applications exécutées à l'intérieur de cette même page Web, ainsi que l'entité de gestion, seront alors en mesure de récupérer cette URL et de d'inclure cette icône dans leurs documents.
To reduce user investment in the application-to-application communication process, the following subscription mechanism is implemented:
  • when an application subscribes to an event and / or data, or more generally to a service of another application, a service adapted to generate at least one data item and / or at least one output event, it may provide a URL of an icon that is significant of the operation it will execute so dynamic (even on request of the user) taking into account as input parameter the event and / or the data generated;
  • the other applications running inside this same web page, as well as the management entity, will then be able to retrieve this URL and include this icon in their documents.

Dans l'exemple de lafigure 2A, on considère trois applications A, B et C qui doivent être exécutées respectivement dans la même page 201 Web d'un navigateur 202.In the example of the Figure 2A , we consider three applications A, B and C to be executed respectively in thesame web page 201 of abrowser 202.

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 onpage 201 Web, through aportlet 203C. This 203C portlet will then register (arrow F1, step 100) with theapplication management entity 200. In this example and by way of illustration, we assume that the application C, through itsportlet 203C, generates events of typeeventType with data of typedataType.

Ensuite, et comme illustré sur lafigure 2B, une application A est exécutée dans une portlet 203A, par le même utilisateur à l'intérieur de la page 201 Web du navigateur 202, ladite application A s'enregistrant (flèche F2, étape 1011) alors auprès de l'entité 200 de gestion d'applications, en souscrivant à au moins un service d'au moins une autre application.
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 lafigure 2B, nous supposons que la portlet 203A souscrit (flèche F3) aux données de typedataType, elle fournit donc l'URL de l'actioncallBack, et elle fournit aussi l'URL de l'icôneiconA@appA.
Then, and as illustrated on the Figure 2B , an application A is executed in aportlet 203A , by the same user inside theweb page 201 of thebrowser 202, said application A registering (arrow F2, step 1011 ) then with theentity 200 application management by subscribing to at least one service of at least one other application.
During this subscription phase, the application A provides (arrow F3 - step 1012 ) to themanagement entity 200 the type of data and / or events of interest to it, as being able to serve as parameters of entry for the execution of at least one of its operations (services, processes, etc.). It provides (arrow F3) also a link (for example and without limitation, a URL - for "Uniform Resource Locator") pointing to the operation that will have to be executed dynamically as soon as a parameter value (given and / or event) to which it has subscribed will be generated.
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, theentity 200 detects whether there is an association to be created between the data / events generated by theportlet 203C and the data / events that can serve as input parameters for executing operations. the portlet 203A (step 1013).
As an example in the Figure 2B We assume that the portlet 203Endorsed (arrow F3) todataType datatype, so it provides the URLcallBack action, it also provides the URL of theIcona @ appA icon.

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 theportlet 203A to the application C, via theportlet 203C of the latter.

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 thesame web page 201 of thebrowser 202. The application C, via itsportlet 203C can recover (arrow F5) then from the application management entity 200 a listL of the applications having subscribed respectively to the data and / or events (more generally to the services) that it generates, or in the specific example, data of the typedataType and events of typeeventType.

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.Theportlet 203C in which the application C executes realizes that theportlet 203A in which the application A executes can react to the events it generates. It then downloads (also arrow F5) theicon 204 which is in the URL:iconA @ appA. This URL, provided by theportlet 203A at the step described by the arrow F3 is retrieved (arrow F5) together with the listL.

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 theapplication management entity 200 that downloads theicon 204 and creates in theportlet 203C all the communication links to put in place. For this, the developer of theportlet 203C will have indicated the position to which this icon to display by an html tag. In this embodiment, it is therefore theapplication management entity 200 that manages the life cycle of the communication link materialized by the icon 204 (deletion when the 203A portlet disappears).

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 lesfigures 3A et 3B.
Theportlet 203C then displays in a reserved zone of its man-machine interface (HMI) an icon representative of a communication link established with the application A of theportlet 203A , (step 103) so that once communication link established, or the user can click (for example with a mouse or a stylus) on this icon to trigger the execution of a specific operation that will take into account as input parameter (s) at least a data value and / or event generated by the application C and to which the application A will have previously subscribed, the operation of the application A will be triggered dynamically once the application C has generated a data value and / or event to which the application A will have previously subscribed.
This last aspect specific to the communication between applications is detailed more precisely in the following description in connection with the Figures 3A and 3B .

Lafigure 2C décrit les étapes suivantes de celles qui viennent d'êtres détaillées en relation avec lafigure 2B.The Figure 2C describes the following steps of those which are detailed in relation to the Figure 2B .

Ainsi, on imagine en relation avec cettefigure 2C, que l'utilisateur exécute une nouvelle application B, dans une portlet 203B de la même page 201 Web du navigateur 202.
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 lafigure 2C, la portlet 203B souscrit (flèche F7) via l'entité 200 de gestion d'applications aux données de typedataType, elle fourni donc l'URL de l'actioncallBack, et elle fourni aussi l'URL de l'icôneiconB@appB.
So, we imagine in relation to this Figure 2C , that the user executes a new application B, in aportlet 203B of thesame web page 201 of thebrowser 202.
Theportlet 203B of the application B is registered (arrow F6) then dynamically with theentity 200 of application management. And for each subscription it makes, it also provides the type of data and / or events that interests it, the URL pointing to the operation that it is likely to execute taking as an input parameter a value of the data and / or events to which it has subscribed, and an URL of an icon representative of the aforementioned operation.
In the following example of the Figure 2C , theportlet 203B subscribes (arrow F7) via theapplication management entity 200 to data typedataType, it therefore provides the URL of thecallBack action, and it also provides the URL of theiconB icon@appB.

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 theapplication management entity 200, the latter notifies (arrows F8 and F8 ') the applications A and C of the activation of the application B within the page. 201 web, via theirrespective portlets 203A and 203C.

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 lafigure 2C, l'application B ne souscrit à aucun service de l'application A, c'est-à-dire dans ce cas présent qu'aucune des données et/ou aucun des évènements généré(e)s en sortie d'un service rendu par l'application A n'est susceptible de servir de paramètre d'entrée d'une opération (service, processus, etc.) exécutée par l'application B.
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 lesfigures 3A et 3B.
Theportlets 203A and 203C now have the presence information of the application B inside theweb page 201, so that they will then each retrieve a listL subscriptions that the application B will have solicited with respect to the predetermined type data and the predetermined type of events (or more generally to the services) that they are likely to generate - in the case of theportlet 203C, events of the typeeventType and data of typedataType.
In the example of the Figure 2C , the application B does not subscribe to any service of the application A, that is to say in this case that none of the data and / or none of the events generated at the output of a service rendered by application A is not likely to serve as an input parameter of an operation (service, process, etc.) executed by application B.
Theportlet 203C dynamically realizes that theportlet 203B can react to events and / or data that it generates at the output of the service or services that it implements, so that it will then download theicon 205 representative of the application B via the URL:iconB @ appB recovered at the step represented by the arrow F8 '. Thisicon 205 provided by the portlet B at the step represented by the arrow F7 is then displayed in a predetermined zone of the HMI proposed to the user by theportlet 203C , for example beside theicon 204 representative of the application A. Thus, it will then be sufficient for the user to click on the icon representative of the application B contained in theportlet 203C so that the application C transmits a data or an event that it has previously generated to the application B, via theportlet 203B , so that the application B can perform a predetermined operation (service, process, etc.) taking into account as input parameter, said data and / or said transmitted event by said application C.
It is understood that in a possible variant of the aforementioned mechanism object of the invention, the action of the user on theicon 205 representative of the application B located on the GUI of theportlet 203C will not be necessary . It is indeed possible to envisage in such a variant that as soon as the application C generates a data value and / or event to which the application B has previously subscribed, then the application C, via itsportlet 203C automatically transmits this value to the application B, through theapplication management entity 200, so that the application B can dynamically execute said predetermined operation (service, process, etc.) taking into account as an input parameter, said data and / or said event transmitted by said application C.
The details of the communication mechanism between applications sharing the same web page are described below, in relation to the Figures 3A and 3B .

Dans la suite de la description du scénario décrit à titre d'exemple illustratif au travers lesfigures 2A à 2C, on décrit maintenant en relation avec lafigure 2D comment le contexte des souscriptions entre applications d'une même page 201 web peut être maintenu entre les différentes applications, par ladite entité 200 de gestions d'applications, dès lors qu'une application exécutée dans la page 201 Web est désactivée et/ou déconnectée par un utilisateur.In the following description of the scenario described as an illustrative example through the FIGS. 2A to 2C , we now describe in relation to the 2D figure how the context of the subscriptions between applications of thesame web page 201 can be maintained between the different applications, by saidentity 200 of management applications when an application running on the Web page is disabled and / or disconnected by a user.

Comme illustré sur lafigure 2D, un utilisateur désactive/ déconnecte l'application A en fermant la fenêtre de la portlet 203A dans la page 201 Web du navigateur 202.
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 lesfigures 2B et2C), et lors d'un clic sur une de ces icônes, l'application "Annuaire" va publier un évènement unicast qui permettra de déclencher directement l'opération associée à l'icône (appel, ou envoie de email ou initialiser la conversation), auprès de l'application concernée.
As illustrated on the 2D figure , a user deactivates / disconnects the application A by closing the window of theportlet 203A in theweb page 201 of thebrowser 202.
Theapplication management entity 200 is then automatically notified by the portlet 203A (as represented by the arrow F10).
Theapplication management entity 200 notifies theportlets 203B and 203C, respectively, of the disconnection of theportlet 203A by transmitting each a disconnection message (arrows F11 and F11 ').
Theportlet 203C in which the application C is executed is then updated dynamically by deleting theicon 204 representative of the application A of its HMI.
In a particular embodiment, called simplified mode, it is theapplication management entity 200 that directly deletes theicon 204 in the HMI of the application C.
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 theapplication management entity 200 an icon representative of a telephone call. The other applications will respectively do the same with representative icons, respectively sending emails and instant messaging will do the same.
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 Figures 2B and 2C ), and when clicking on one of these icons, the application "Directory" will publish a unicast event that will trigger directly the operation associated with the icon (call, or send email or initialize the conversation) , at the application concerned.

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 lesfigures 3A et 3B le principe de communication entre applications hébergées dans une même page 301 web d'un navigateur 302, par l'intermédiaire d'une entité 300 de gestion d'applications selon l'invention.We now describe in relation to the Figures 3A and 3B the principle of communication between applications hosted in thesame web page 301 of abrowser 302, through anapplication management entity 300 according to the invention.

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 )

Lafigure 3A présente le mécanisme de publication "unicast" (entre deux applications B et C) d'évènements et de données :

  • Etape 1 (flèche F30) : un utilisateur charge l'application B qui souscrit aux données de typedataType. L'application B fournit pour cela une fonction de call backcallBack qui peut être une fonction javascript ou bien une URL (cela se passe à l'étape d'initialisation);
  • Etape 2 : L'utilisateur click sur l'icôneB qui se trouve dans la portlet C, la portlet C publie (flèche F31) donc l'événement avec les paramètres Type de publication = UNICAST, Type de données publiées ==dataType, l'URL ou se trouve ces données =abc@appC, Le service destinataire = B (début étape 102).
The figure 3A presents the mechanism of publication "unicast" (between two applications B and C) of events and data:
  • Step 1 (arrow F30): a user loads the application B that subscribes to data typedataType. The application B provides for this a function of call backcallBack which can be a javascript function or a URL (it happens at the initialization stage);
  • Step 2: The user click on the iconB which is in the portlet C, the portlet C publishes (arrow F31) thus the event with the parameters Type of publication = UNICAST, Type of published data ==dataType, l URL where these data =abc @ appC, The recipient service = B (start step 102).

Dans le cas ou la fonction de call back fournit à l'étape 1 et une fonction javascript :

  • Etape 3 : L'entité 300 de gestion achemine (flèche F32) la publication vers la portlet B et lui transmit l'URL qui point vers les donnée transmise par C (abc@appC) (suite étape 102).
  • Etape 4 : Le module B télécharge (flèche F33) le contenu d'URL.
  • Etape 5 et 6 : Le module B se met à jour (flèche F35 et F36) en fonction des données reçues.
In the case where the call back function provides in step 1 and a javascript function:
  • Step 3: Themanagement entity 300 routes (arrow F32) the publication to the portlet B and transmits the URL which points to the data transmitted by C (abc @ appC ) (continued step 102).
  • Step 4: Module B downloads (arrow F33) the URL content.
  • Step 5 and 6: Module B updates (arrow F35 and F36) according to the received data.

Dans le cas ou la fonction de call back fournit à l'étape 1 et une URL voici ci-dessous le schéma correspondant (figure 3B) :

  • Etape 3' :L'entité 300 de gestion achemine (flèche F30') la publication vers la portlet B et lui transmit l'URL qui pointe vers les données transmises par C (abc@appC) (suite étape 102).
  • Etape 4' : Le module B télécharge (flèche F31') le contenu de l'URL.
  • Etape 5' et 6' : Le module B se met à jour (flèches F32' et 33') en fonction des données reçues.
In the case where the call back function provides in step 1 and a URL, here is the corresponding schema ( figure 3B ):
  • Step 3 ': Themanagement entity 300 routes (arrow F30') the publication to the portlet B and sends it the URL which points to the data transmitted by C (abc @ appC ) (continued step 102).
  • Step 4 ': Module B downloads (arrow F31') the contents of the URL.
  • Step 5 'and 6': The module B is updated (arrows F32 'and 33') according to the data received.

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" >.

ANNEXE 1ANNEX 1

Figure imgb0001
Figure imgb0001

Claims (9)

  1. Method for communication between a first application and at least one second application which are accessible within a page of an Internet browser (201),characterized in that said method comprises:
    • a step of prior transmission by a second application to an applications management entity, of a first list associating with each service offered by said second application, at least one type of parameter, a value of which will be generated upon the execution of the service (1012);
    • a step of dynamic subscription of said first application to at least one service of said second application, including the transmission by said first application to said applications management entity, of the type of parameters that are liable to serve as input parameters for the execution of at least one operation liable to be executed by said first application (1013);
    • a step of execution by said first application, of at least one operation taking account of a value of at least one parameter, said value being generated by the execution of said at least one service and transmitted by said second application to said first application (103), including the verification that the type of said at least one input parameter of said operation corresponds to the type of said at least one parameter whose value has been generated by the execution of said at least one service (102).
  2. Method according to Claim 1,characterized in that said step of subscription comprises the following substeps of:
    • registration of said first application with said applications management entity;
    • transmission by said first application to said applications management entity, of a second list of parameters associated, respectively, with at least one operation liable to be executed by said first application;
    • creation by said management entity of a third service subscription list, which associates with each service of said first list at least one operation liable to be executed by said first application, by cross-matching the types of parameters contained respectively in said first and second lists.
  3. Method according to Claim 1,characterized in that it comprises a step of creating a communication link between said first and second applications, said link being activated on the basis of the second application so as to trigger the execution of said operation at the level of said first application, subsequent to the execution of said service by said second application.
  4. Method according to Claim 3,characterized in that said link is of the remote function call type taking account of a value of said parameter, said value being generated upon the execution of the inherent service of said second application.
  5. Method according to Claim 3,characterized in that said link is embodied by an element of a man machine interface inherent to said second application and by means of which a user of said second application can interact so as to trigger the execution of said operation by way of said first application.
  6. System for communication between a first application and at least one second application which are hosted in one and the same page of an Internet browser (201),characterized in that it comprises:
    • means of transmission by a second application, to an applications management entity, of a first list associating with each service offered by said second application, at least one type of parameter, a value of which will be generated upon the execution of the service (1012);
    • means of dynamic subscription of said first application to at least one service of said second application, said means of subscription including means of transmission by said first application to said applications management entity, of the type of parameters that are liable to serve as input parameters for the execution of at least one operation liable to be executed by said first application (1013);
    • means of execution by said first application, of at least one operation taking account of a value of at least one parameter, said value being generated by the execution of said at least one service and transmitted by said second application to said first application (103), and of verification that the type of said at least one input parameter of said operation corresponds to the type of said at least one parameter whose value has been generated by the execution of said at least one service (102).
  7. Management entity (200) for managing at least one first and second application each hosted in one and the same page of an Internet browser (201) for the implementation of a communication method according to any of Claims 1 to 5,characterized in that it comprises:
    • means of referencing of each of said first and at least one second application;
    • means of storage of a first list associating with each service offered by said second application, at least one type of parameter, a value of which will be generated upon the execution of said service, said first list being transmitted to said entity by said second application (1012);
    • means of storage of a second list of parameters associated, respectively, with at least one operation liable to be executed by said first application, said second list being transmitted to said entity by said first application;
    • means of creation of a third services subscription list, which associates with each service of said first list at least one operation liable to be executed by said first application, said means of creation being adapted for cross-matching the types of parameters contained respectively in said first and second lists (1013).
  8. Entity according to Claim 7,characterized in that it furthermore comprises:
    • means of receiving a value of at least one parameter, said value being generated by the execution of said at least one service by said second application; and
    • means of transmitting said value to said first application, for dynamic execution of said at least one operation taking account of said value.
  9. Computer program product downloadable from a communication network and/or stored on an information medium readable by a computer and/or executable by a microprocessor,characterized in that it comprises code instructions for the implementation of a communication method in accordance with any one of Claims 1 to 5, when said instructions are executed on a computer.
EP09171334.7A2008-09-302009-09-25Method and system for communication between distinct web applicationsActiveEP2169569B1 (en)

Priority Applications (1)

Application NumberPriority DateFiling DateTitle
PL09171334TPL2169569T3 (en)2008-09-302009-09-25Method and system for communication between distinct web applications

Applications Claiming Priority (1)

Application NumberPriority DateFiling DateTitle
FR08565922008-09-30

Publications (2)

Publication NumberPublication Date
EP2169569A1 EP2169569A1 (en)2010-03-31
EP2169569B1true EP2169569B1 (en)2014-03-26

Family

ID=40631591

Family Applications (1)

Application NumberTitlePriority DateFiling Date
EP09171334.7AActiveEP2169569B1 (en)2008-09-302009-09-25Method and system for communication between distinct web applications

Country Status (4)

CountryLink
US (1)US20100082769A1 (en)
EP (1)EP2169569B1 (en)
ES (1)ES2475205T3 (en)
PL (1)PL2169569T3 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
CN102334344A (en)*2009-02-272012-01-25Lg电子株式会社 Architecture of network device processing application program and control method of the network device
US9356991B2 (en)2010-05-102016-05-31Litera Technology LlcSystems and methods for a bidirectional multi-function communication module
WO2012013893A1 (en)*2010-07-282012-02-02France TelecomData communication between modules
CN102902580B (en)*2011-07-262018-05-15腾讯科技(深圳)有限公司A kind of program callback method and device
CN103257968B (en)*2012-02-172015-08-12腾讯科技(深圳)有限公司The method of process browser operation item and device
FR3022657A1 (en)*2014-06-202015-12-25Orange METHOD OF SHARING NAVIGATION ON A WEB PAGE DISPLAYED BY A WEB BROWSER

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US8005345B2 (en)*2001-06-272011-08-23Verizon Business Network Services Inc.Method and system for dynamic control of digital media content playback and advertisement delivery
US8126722B2 (en)*2001-12-202012-02-28Verizon Business Global LlcApplication infrastructure platform (AIP)
US20060004913A1 (en)*2004-06-302006-01-05Kelvin ChongSystem and method for inter-portlet communication
US7991764B2 (en)*2005-07-222011-08-02Yogesh Chunilal RathodMethod and system for communication, publishing, searching, sharing and dynamically providing a journal feed
SG141289A1 (en)*2006-09-292008-04-28Wireless Intellect Labs Pte LtAn event update management system
WO2008085203A2 (en)*2006-12-292008-07-17Prodea Systems, Inc.Presence status notification from digital endpoint devices through a multi-services gateway device at the user premises
US8086495B2 (en)*2007-09-102011-12-27Prodea Systems, Inc.Device and a method for ordering product at a premises via an integrated multimedia service system
US20090133090A1 (en)*2007-11-192009-05-21Verizon Data Services Inc.Method and system of providing content management for a set-top box
US8422397B2 (en)*2007-12-282013-04-16Prodea Systems, Inc.Method and apparatus for rapid session routing

Also Published As

Publication numberPublication date
EP2169569A1 (en)2010-03-31
ES2475205T3 (en)2014-07-10
US20100082769A1 (en)2010-04-01
PL2169569T3 (en)2014-08-29

Similar Documents

PublicationPublication DateTitle
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
FremantleA history and future of Web APIs
WO2003023651A1 (en)Annotation method for electronic documents, and related system
MontagutProcessus 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

Legal Events

DateCodeTitleDescription
PUAIPublic reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text:ORIGINAL CODE: 0009012

AKDesignated 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

AXRequest for extension of the european patent

Extension state:AL BA RS

17PRequest for examination filed

Effective date:20100908

R17PRequest for examination filed (corrected)

Effective date:20100908

17QFirst examination report despatched

Effective date:20101011

RAP1Party data changed (applicant data changed or rights of an application transferred)

Owner name:ORANGE

GRAPDespatch of communication of intention to grant a patent

Free format text:ORIGINAL CODE: EPIDOSNIGR1

INTGIntention to grant announced

Effective date:20131017

GRASGrant fee paid

Free format text:ORIGINAL CODE: EPIDOSNIGR3

GRAA(expected) grant

Free format text:ORIGINAL CODE: 0009210

AKDesignated 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

REGReference to a national code

Ref country code:GB

Ref legal event code:FG4D

Free format text:NOT ENGLISH

REGReference to a national code

Ref country code:CH

Ref legal event code:EP

REGReference 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

REGReference to a national code

Ref country code:IE

Ref legal event code:FG4D

Free format text:LANGUAGE OF EP DOCUMENT: FRENCH

REGReference 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

REGReference 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

PG25Lapsed 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

REGReference 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

REGReference to a national code

Ref country code:NL

Ref legal event code:VDEP

Effective date:20140326

REGReference to a national code

Ref country code:LT

Ref legal event code:MG4D

PG25Lapsed 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

REGReference to a national code

Ref country code:PL

Ref legal event code:T3

PG25Lapsed 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

PG25Lapsed 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

PG25Lapsed 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

PG25Lapsed 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

REGReference to a national code

Ref country code:DE

Ref legal event code:R097

Ref document number:602009022725

Country of ref document:DE

PG25Lapsed 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

PLBENo opposition filed within time limit

Free format text:ORIGINAL CODE: 0009261

STAAInformation on the status of an ep patent application or granted ep patent

Free format text:STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

26NNo opposition filed

Effective date:20150106

PG25Lapsed 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

REGReference to a national code

Ref country code:DE

Ref legal event code:R119

Ref document number:602009022725

Country of ref document:DE

REGReference 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

PG25Lapsed 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

REGReference to a national code

Ref country code:CH

Ref legal event code:PL

REGReference to a national code

Ref country code:IE

Ref legal event code:MM4A

REGReference 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

PG25Lapsed 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

PG25Lapsed 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

PG25Lapsed 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

PG25Lapsed 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

PG25Lapsed 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

REGReference to a national code

Ref country code:FR

Ref legal event code:PLFP

Year of fee payment:8

REGReference to a national code

Ref country code:FR

Ref legal event code:PLFP

Year of fee payment:9

PG25Lapsed 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

REGReference to a national code

Ref country code:FR

Ref legal event code:PLFP

Year of fee payment:10

PGFPAnnual 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

PGFPAnnual 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

PGFPAnnual 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

PGFPAnnual 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

PGFPAnnual 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


[8]ページ先頭

©2009-2025 Movatter.jp