ES2644250T3 - Procedimiento, aparato y sistema de interacción entre aplicaciones web - Google Patents

Procedimiento, aparato y sistema de interacción entre aplicaciones web Download PDF

Info

Publication number
ES2644250T3
ES2644250T3 ES12890298.8T ES12890298T ES2644250T3 ES 2644250 T3 ES2644250 T3 ES 2644250T3 ES 12890298 T ES12890298 T ES 12890298T ES 2644250 T3 ES2644250 T3 ES 2644250T3
Authority
ES
Spain
Prior art keywords
web application
slave
information
window
master
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
ES12890298.8T
Other languages
English (en)
Inventor
Wenhua Xu
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Application granted granted Critical
Publication of ES2644250T3 publication Critical patent/ES2644250T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9566URL specific, e.g. using aliases, detecting broken or misspelled links
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/84Mapping; Conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Description

5
10
15
20
25
30
35
40
45
50
DESCRIPCION
Procedimiento, aparato y sistema de interaccion entre aplicaciones web SECTOR TECNICO
La presente invencion se refiere al sector de las comunicaciones y al sector de internet, y en particular, a un procedimiento, un aparato y un sistema de interaccion entre aplicaciones web.
ANTECEDENTES
Una aplicacion web ("web app") se refiere a un sistema y una aplicacion basados en web (red). Con el desarrollo del HTML (Hypertext Markup Language, lenguaje de marcado de hipertexto) 5 y del soporte de navegadores, las aplicaciones web presentan un contenido mas sofisticado. Sin embargo, las aplicaciones web siguen estando relativamente aisladas en terminos de interaccion entre ellas, donde la interaccion entre aplicaciones web se refiere a invocar, en una aplicacion web, otra aplicacion web para completar una funcion espedfica. En la tecnica anterior, un navegador de Google o un navegador de Firefox permiten a las aplicaciones web intercambiar informacion de aplicaciones web en el navegador. Sin embargo, generalmente una aplicacion web invocada solamente puede ser una aplicacion web que se abra en el navegador bajo el control de una aplicacion web solicitante, y una aplicacion web que se abra de otro modo no puede ser invocada. Por ejemplo, no se puede invocar una aplicacion web que se abra introduciendo un URL en un navegador, y una aplicacion web que se abra bajo el control de otra aplicacion web no puede ser invocada por la aplicacion web solicitante. Como resultado, la interaccion entre aplicaciones web esta limitada por el modo de apertura de aplicaciones web.
El documento CN 102819451 A da a conocer un procedimiento y un sistema para llamar a un complemento de navegador. El procedimiento comprende las etapas de preestablecer una direccion URL (uniform resource locator, localizador uniforme de recursos) para acceder al complemento; y determinar si una direccion URL que se requiere omitir es o no la direccion URL para acceder al complemento cuando se recibe la notificacion de omitir pagina, detener la omision de la pagina, leer parametros de un URL y permitir al complemento obtener datos transferidos. De acuerdo con el procedimiento para llamar al complemento, se simulan varias interfaces generales para que las paginas llamen al complemento por medio de una aplicacion ("app"), de tal modo que se simula el complemento, se introducen y entregan datos entre el complemento y javascript (archivo de ordenes Java), una tercera parte utiliza convenientemente tecnologfa NPAPI (netscape plug-in application programming interface, interfaz de programacion de aplicaciones de complementos de Netscape), se mejora la flexibilidad y se satisfacen los requisitos de aplicacion general.
El documento CN 102118504 A da a conocer procedimientos y dispositivos para llamar a aplicaciones locales por medio de un navegador de terminal movil. Un procedimiento para llamar a aplicaciones locales por medio de un navegador de terminal movil comprende las etapas siguientes: abrir una pagina web de terminal movil utilizando un navegador; resolver etiquetas de aplicaciones locales contenidas en la pagina web, y establecer a continuacion enlaces entre las etiquetas de aplicaciones locales y las aplicaciones locales correspondientes; y hacer clic en los enlaces para llamar a las aplicaciones locales enlazadas a las etiquetas de aplicaciones locales.
RESUMEN
Las realizaciones de la presente invencion dan a conocer un procedimiento, un aparato y un sistema de interaccion entre aplicaciones web, que pueden eliminar una limitacion de un modo de apertura de aplicaciones web durante una interaccion entre aplicaciones web.
Para conseguir el objetivo anterior, las realizaciones de la presente invencion adoptan las siguientes soluciones tecnicas.
La materia de la invencion se define mediante las reivindicaciones independientes adjuntas. Las realizaciones preferidas son la materia de las reivindicaciones dependientes. A continuacion se describen otros aspectos para apoyar la comprension de la invencion.
Segun un primer aspecto de la presente invencion, se da a conocer un procedimiento de interaccion entre aplicaciones web, que incluye:
obtener un localizador uniforme de recursos URL de una aplicacion web esclava a partir de una solicitud de invocacion, donde la aplicacion web esclava es una aplicacion web invocada;
obtener un objeto ventana de la aplicacion web esclava a partir de una relacion de mapeo entre un URL y un objeto ventana de la aplicacion web esclava, mediante utilizar el URL de la aplicacion web esclava;
obtener informacion de invocacion de una aplicacion web maestra a partir de la solicitud de invocacion; y
5
10
15
20
25
30
35
40
45
enviar la informacion de invocacion de la aplicacion web maestra a una ventana de la aplicacion web esclava, de acuerdo con el objeto ventana de la aplicacion web esclava, donde la aplicacion web maestra es una aplicacion web que invoca la aplicacion web esclava.
En un primer posible modo de implementacion haciendo referencia al primer aspecto, despues de obtener el localizador uniforme de recursos URL de una aplicacion web esclava a partir de una solicitud de invocacion, el procedimiento incluye ademas:
consultar, en la relacion de mapeo entre un URL y un objeto ventana de la aplicacion web esclava, si el URL de la aplicacion web esclava existe; y si el URL de la aplicacion web esclava no existe, abrir la aplicacion web esclava y guardar una relacion de mapeo entre el URL y el objeto ventana de la aplicacion web esclava.
En un segundo posible modo de implementacion haciendo referencia al primer aspecto o al primer posible modo de implementacion,
el objeto ventana incluye un identificador de ventana, un tipo de comunicacion y un canal de comunicacion espedfico; y el tipo de comunicacion incluye una zona de comparticion de datos, un canal de comunicacion de ventana o un canal de comunicacion de navegador.
En un tercer posible modo de implementacion haciendo referencia al primer aspecto, al primer posible modo de implementacion o al segundo posible modo de implementacion, el procedimiento incluye ademas:
enviar una solicitud de registro de interfaz de programacion de aplicaciones API de la aplicacion web esclava a un servidor, donde la solicitud de registro de API incluye un archivo de ordenes de logica de API de la aplicacion web esclava, de tal modo que el servidor devuelve el archivo de ordenes de logica de API de la aplicacion web esclava a la aplicacion web maestra despues de recibir una solicitud de obtencion de API de la aplicacion web esclava.
En un cuarto posible modo de implementacion haciendo referencia al tercer posible modo de implementacion:
antes de obtener un localizador uniforme de recursos URL de una aplicacion web esclava a partir de una solicitud de invocacion, el procedimiento incluye ademas:
enviar una solicitud de registro de dominio de la aplicacion web maestra al servidor, donde la solicitud de registro de dominio incluye informacion de dominio y/o informacion de ruta de la aplicacion web maestra, de tal modo que el servidor guarda la informacion de dominio y/o la informacion de ruta incluida en la solicitud de registro de dominio.
En un quinto posible modo de implementacion haciendo referencia al cuarto posible modo de implementacion, despues de obtener informacion de invocacion de una aplicacion web maestra a partir de la solicitud de invocacion, el procedimiento incluye ademas:
enviar una solicitud de deteccion de la aplicacion web maestra al servidor, de tal modo que el servidor lleva a cabo una comprobacion de correspondencia entre informacion de dominio y/o informacion de ruta de la aplicacion web maestra contenida en la solicitud de deteccion y la informacion de dominio y/o la informacion de ruta guardada por el servidor; y
recibir la informacion del resultado de la deteccion enviada por el servidor.
En un sexto posible modo de implementacion haciendo referencia al quinto posible modo de implementacion, despues de la informacion del resultado de la deteccion que indica que la comprobacion de correspondencia es satisfactoria, el procedimiento incluye ademas
enviar la solicitud de obtencion de API de la aplicacion web esclava al servidor;
recibir el archivo de ordenes de logica de API de la aplicacion web esclava enviado por el servidor; y
ejecutar el archivo de ordenes de logica de API de la aplicacion web esclava.
En un septimo posible modo de implementacion haciendo referencia al segundo a sexto posibles modos de implementacion, cuando el tipo de comunicacion es una zona de comparticion de datos, el envfo de la informacion de invocacion de la aplicacion web maestra a una ventana de la aplicacion web esclava, de acuerdo con el objeto ventana de la aplicacion web esclava, incluye:
obtener, mediante una ventana de la aplicacion web maestra desde el objeto ventana, que el canal de comunicacion espedfico de la aplicacion web esclava es una zona de comparticion de datos particular;
guardar, mediante la ventana de la aplicacion web maestra, la informacion de invocacion de la aplicacion web maestra en la zona de comparticion de datos particular, donde la informacion de invocacion incluye un identificador de ventana objetivo, un identificador de ventana de origen y el contenido del mensaje;
5
10
15
20
25
30
35
40
45
50
llevar a cabo una comprobacion de correspondencia, mediante la ventana de la aplicacion web esclava, entre el identificador de ventana objetivo de la informacion de invocacion en la zona de comparticion de datos particular y el identificador de ventana de la aplicacion web esclava; y
si la comprobacion de correspondencia es satisfactoria, obtener la informacion de invocacion desde la zona de comparticion de datos particular utilizando la ventana de la aplicacion web esclava.
En un octavo posible modo de implementacion haciendo referencia al segundo a sexto posibles modos de implementacion, cuando el tipo de comunicacion es una zona de comparticion de datos, el envfo de la informacion de invocacion de la aplicacion web maestra a una ventana de la aplicacion web esclava, de acuerdo con el objeto ventana de la aplicacion web esclava, incluye:
registrar un evento de escucha en la zona de comparticion de datos, donde un parametro de escucha del evento de escucha incluye el identificador de ventana, el tipo de comunicacion y el canal de comunicacion espedfico que son de la aplicacion web esclava;
obtener, mediante una ventana de la aplicacion web maestra desde el objeto ventana, que el canal de comunicacion espedfico de la aplicacion web esclava es una zona de comparticion de datos particular;
guardar, mediante la ventana de la aplicacion web maestra, la informacion de invocacion de la aplicacion web maestra en la zona de comparticion de datos particular, donde la informacion de invocacion incluye un identificador de ventana objetivo, un identificador de ventana de origen y el contenido del mensaje;
llevar a cabo una comprobacion de correspondencia, mediante la ventana de la aplicacion web maestra, entre el identificador de ventana de la aplicacion web esclava y el identificador de ventana objetivo de la informacion de invocacion segun el evento de escucha registrado; y
cuando el identificador de ventana de la aplicacion web esclava que coincide con el identificador de ventana objetivo de la informacion de invocacion existe en la zona de comparticion de datos particular, recibir, mediante una ventana objetivo de la aplicacion web esclava, la informacion de invocacion enviada por la zona de comparticion de datos particular; o
recibir, mediante la aplicacion web esclava, una notificacion de mensaje por la zona de comparticion de datos particular, y obtener, mediante una ventana objetivo, la informacion de invocacion acorde con la notificacion de mensaje, donde la ventana objetivo es una ventana indicada por el identificador de ventana objetivo.
En un noveno posible modo de implementacion haciendo referencia al segundo a sexto posibles modos de implementacion, cuando el tipo de comunicacion es un canal de comunicacion de navegador, el envfo de la informacion de invocacion de la aplicacion web maestra a una ventana de la aplicacion web esclava, de acuerdo con el objeto ventana de la aplicacion web esclava, incluye:
obtener, a partir del objeto ventana, que el canal de comunicacion espedfico de la aplicacion web esclava es un canal de comunicacion de navegador particular; y
enviar la informacion de invocacion de la aplicacion web maestra a un navegador correspondiente a la aplicacion web esclava a traves del canal de comunicacion de navegador particular, y enviar, mediante el navegador correspondiente a la aplicacion web esclava, la informacion de invocacion a una ventana correspondiente en el navegador correspondiente a la aplicacion web esclava.
En un decimo posible modo de implementacion haciendo referencia al segundo a sexto posibles modos de implementacion, cuando el tipo de comunicacion es un canal de comunicacion de ventana, el envfo de la informacion de invocacion de la aplicacion web maestra a una ventana de la aplicacion web esclava, de acuerdo con el objeto ventana de la aplicacion web esclava, incluye:
obtener, a partir del objeto ventana, que el canal de comunicacion espedfico de la aplicacion web esclava es un canal de comunicacion de ventana particular; y
enviar la informacion de invocacion de la aplicacion web maestra a una ventana correspondiente de la aplicacion web esclava a traves del canal de comunicacion de ventana particular.
De acuerdo con un segundo aspecto, se da a conocer un procedimiento de interaccion entre aplicaciones web, que incluye:
recibir una solicitud de deteccion de una aplicacion web maestra en un navegador, donde la solicitud de deteccion es enviada por la aplicacion web maestra e incluye informacion de dominio y/o informacion de ruta de la aplicacion web maestra;
llevar a cabo una comprobacion de correspondencia entre la informacion de dominio y/o la informacion de ruta de la aplicacion web maestra contenida en la solicitud de deteccion e informacion de dominio y/o informacion de ruta guardada por un servidor;
5
10
15
20
25
30
35
40
45
50
generar la informacion del resultado de la deteccion segun el resultado de la comprobacion de correspondencia, donde la informacion del resultado de la deteccion indica que la comprobacion de correspondencia es satisfactoria o que la comprobacion de correspondencia falla; y
enviar la informacion del resultado de la deteccion a la aplicacion web maestra del navegador.
En un segundo posible modo de implementacion haciendo referencia al segundo aspecto, el procedimiento incluye ademas: recibir una solicitud de registro de interfaz de programacion de aplicaciones API de una aplicacion web esclava, donde la solicitud de registro de API incluye un archivo de ordenes de logica de API de la aplicacion web esclava; y
guardar el archivo de ordenes de logica de API de la aplicacion web esclava.
En un tercer posible modo de implementacion haciendo referencia al segundo aspecto o al segundo posible modo de implementacion, el procedimiento incluye ademas:
recibir una solicitud de registro de dominio de la aplicacion web maestra, donde la solicitud de registro de dominio incluye la informacion de dominio y/o la informacion de ruta de la aplicacion web maestra; y
guardar la informacion de dominio y/o la informacion de ruta incluida en la solicitud de registro de dominio.
En un cuarto posible modo de implementacion haciendo referencia al tercer posible modo de implementacion, despues de una comprobacion de correspondencia satisfactoria, el procedimiento incluye ademas:
recibir una solicitud de obtencion de API de la aplicacion web esclava enviada por la aplicacion web maestra del navegador; y
enviar el archivo de ordenes de logica de API de la aplicacion web esclava a la aplicacion web maestra del navegador, de tal modo que la aplicacion web maestra del navegador ejecuta el archivo de ordenes de logica de API de la aplicacion web esclava.
Segun un tercer aspecto, se da a conocer un navegador, que incluye:
un procesador, configurado para obtener un localizador uniforme de recursos URL de una aplicacion web esclava a partir de una solicitud de invocacion, donde la aplicacion web esclava es una aplicacion web invocada; y
una memoria, configurada para obtener un objeto ventana de la aplicacion web esclava a partir de una relacion de mapeo entre un URL y un objeto ventana de la aplicacion web esclava, utilizando el URL de la aplicacion web esclava, donde:
el procesador esta configurado ademas para obtener informacion de invocacion de una aplicacion web maestra a partir de la solicitud de invocacion; y
el procesador esta configurado ademas para enviar la informacion de invocacion de la aplicacion web maestra a una ventana de la aplicacion web esclava, de acuerdo con el objeto ventana de la aplicacion web esclava, donde la aplicacion web maestra es una aplicacion web que invoca la aplicacion web esclava.
En un primer posible modo de implementacion haciendo referencia al tercer aspecto, el procesador esta configurado ademas para:
consultar, en la relacion de mapeo entre un URL y un objeto ventana de la aplicacion web esclava, si el URL de la aplicacion web esclava existe; y
si el URL de la aplicacion web esclava no existe, abrir la aplicacion web esclava y guardar una relacion de mapeo entre el URL y el objeto ventana de la aplicacion web esclava.
En un segundo posible modo de implementacion haciendo referencia al tercer aspecto o al primer posible modo de implementacion, el objeto ventana incluye un identificador de ventana, un tipo de comunicacion y un canal de comunicacion espedfico; y
el tipo de comunicacion incluye una zona de comparticion de datos, un canal de comunicacion de ventana o un canal de comunicacion de navegador.
En un tercer posible modo de implementacion haciendo referencia al tercer aspecto, al primer posible modo de implementacion o al segundo posible modo de implementacion, el navegador incluye ademas:
un emisor, configurado para enviar una solicitud de registro de interfaz de programacion de aplicaciones API de la aplicacion web esclava a un servidor, donde la solicitud de registro de API incluye un archivo de ordenes de logica de API de la aplicacion web esclava, de tal modo que el servidor devuelve el archivo de ordenes de logica de API de la aplicacion web maestra a la aplicacion web esclava despues de recibir una solicitud de obtencion de API de la aplicacion web esclava.
5
10
15
20
25
30
35
40
45
50
En un cuarto posible modo de implementacion haciendo referencia al tercer posible modo de implementacion:
el emisor esta configurado ademas para enviar una solicitud de registro de dominio de la aplicacion web maestra al servidor, donde la solicitud de registro de dominio incluye informacion de dominio y/o informacion de ruta de la aplicacion web maestra, de tal modo que el servidor guarda la informacion de dominio y/o la informacion de ruta incluida en la solicitud de registro de dominio.
En un quinto posible modo de implementacion haciendo referencia al cuarto posible modo de implementacion,
el emisor esta configurado ademas para enviar una solicitud de deteccion de la aplicacion web maestra al servidor, de tal modo que el servidor lleva a cabo una comprobacion de correspondencia entre informacion de dominio y/o informacion de ruta de la aplicacion web maestra contenida en la solicitud de deteccion y la informacion de dominio y/o la informacion de ruta guardada por el servidor; y
el navegador incluye ademas:
un receptor, configurado para recibir informacion del resultado de la deteccion enviada por el servidor.
En un sexto posible modo de implementacion haciendo referencia al quinto posible modo de implementacion,
el emisor esta configurado ademas para enviar la solicitud de obtencion de API de la aplicacion web esclava al servidor;
el receptor esta configurado ademas para recibir el archivo de ordenes de logica de API de la aplicacion web esclava enviado por el servidor; y
el procesador esta configurado ademas para ejecutar el archivo de ordenes de logica de API de la aplicacion web esclava.
En un septimo posible modo de implementacion haciendo referencia al segundo a sexto posibles modos de implementacion, cuando el tipo de comunicacion es una zona de comparticion de datos, el procesador esta configurado espedficamente para:
obtener, mediante una ventana de la aplicacion web maestra desde el objeto ventana, que el canal de comunicacion espedfico de la aplicacion web esclava es una zona de comparticion de datos particular;
guardar, mediante la ventana de la aplicacion web maestra, la informacion de invocacion de la aplicacion web maestra en la zona de comparticion de datos particular, donde la informacion de invocacion incluye un identificador de ventana objetivo, un identificador de ventana de origen y el contenido del mensaje;
llevar a cabo una comprobacion de correspondencia, mediante la ventana de la aplicacion web esclava, entre el identificador de ventana objetivo de la informacion de invocacion en la zona de comparticion de datos particular y el identificador de ventana de la aplicacion web esclava; y
si la comprobacion de correspondencia es satisfactoria, obtener la informacion de invocacion desde la zona de comparticion de datos particular utilizando la ventana de la aplicacion web esclava.
En un octavo posible modo de implementacion haciendo referencia al segundo a sexto posibles modos de implementacion, cuando el tipo de comunicacion es una zona de comparticion de datos, el procesador esta configurado espedficamente para:
registrar un evento de escucha en la zona de comparticion de datos, donde un parametro de escucha del evento de escucha incluye el identificador de ventana, el tipo de comunicacion y el canal de comunicacion espedfico que son de la aplicacion web esclava;
obtener, mediante una ventana de la aplicacion web maestra desde el objeto ventana, que el canal de comunicacion espedfico de la aplicacion web esclava es una zona de comparticion de datos particular;
guardar, mediante la ventana de la aplicacion web maestra, la informacion de invocacion de la aplicacion web maestra en la zona de comparticion de datos particular, donde la informacion de invocacion incluye un identificador de ventana objetivo, un identificador de ventana de origen y el contenido del mensaje;
llevar a cabo una comprobacion de correspondencia, mediante la ventana de la aplicacion web maestra, entre el identificador de ventana de la aplicacion web esclava y el identificador de ventana objetivo de la informacion de invocacion segun el evento de escucha registrado; y
cuando el identificador de ventana de la aplicacion web esclava que coincide con el identificador de ventana objetivo de la informacion de invocacion existe en la zona de comparticion de datos particular, recibir, mediante una ventana objetivo de la aplicacion web esclava, la informacion de invocacion enviada por la zona de comparticion de datos particular; o
5
10
15
20
25
30
35
40
45
50
recibir, mediante la aplicacion web esclava, una notificacion de mensaje enviada por la zona de comparticion de datos particular, y obtener, mediante una ventana objetivo, la informacion de invocacion acorde con la notificacion de mensaje, donde la ventana objetivo es una ventana indicada por el identificador de ventana objetivo.
En un noveno posible modo de implementacion haciendo referencia al segundo a sexto posibles modos de implementacion, cuando el tipo de comunicacion es un canal de comunicacion de navegador, el procesador esta configurado espedficamente para:
obtener, a partir del objeto ventana, que el canal de comunicacion espedfico de la aplicacion web esclava es un canal de comunicacion de navegador particular; y
enviar la informacion de invocacion de la aplicacion web maestra a un navegador correspondiente a la aplicacion web esclava a traves del canal de comunicacion de navegador particular, y enviar, mediante el navegador correspondiente a la aplicacion web esclava, la informacion de invocacion a una ventana correspondiente en el navegador correspondiente a la aplicacion web esclava.
En un decimo posible modo de implementacion haciendo referencia al segundo a sexto posibles modos de implementacion, cuando el tipo de comunicacion es un canal de comunicacion de ventana, el procesador esta configurado espedficamente para:
obtener, a partir del objeto ventana, que el canal de comunicacion espedfico de la aplicacion web esclava es un canal de comunicacion de ventana particular; y
enviar la informacion de invocacion de la aplicacion web maestra a una ventana correspondiente de la aplicacion web esclava a traves del canal de comunicacion de ventana particular.
De acuerdo con un cuarto aspecto, se da a conocer un servidor, que incluye:
un receptor, configurado para recibir una solicitud de deteccion de una aplicacion web maestra en un navegador, donde la solicitud de deteccion es enviada por la aplicacion web maestra e incluye informacion de dominio y/o informacion de ruta de la aplicacion web maestra;
un procesador, configurado para llevar a cabo una comprobacion de correspondencia entre la informacion de dominio y/o la informacion de ruta de la aplicacion web maestra contenida en la solicitud de deteccion e informacion de dominio y/o informacion de ruta guardada por un servidor, donde:
el procesador esta configurado ademas para generar informacion del resultado de la deteccion de acuerdo con el resultado de la comprobacion de correspondencia, donde la informacion del resultado de la deteccion indica que la comprobacion de correspondencia es satisfactoria o que la comprobacion de correspondencia falla; y
un emisor, configurado para enviar la informacion del resultado de la deteccion a la aplicacion web maestra del navegador.
En un primer posible modo de implementacion haciendo referencia al cuarto aspecto,
el receptor esta configurado ademas para recibir una solicitud de registro de interfaz de programacion de aplicaciones API de una aplicacion web esclava enviada por el navegador, donde la solicitud de registro de API incluye un archivo de ordenes de logica de API de la aplicacion web esclava; y
el servidor incluye ademas:
una memoria, configurada para guardar el archivo de ordenes de logica de API de la aplicacion web esclava.
En un segundo posible modo de implementacion haciendo referencia al cuarto aspecto o al primer posible modo de implementacion,
el receptor esta configurado ademas para recibir una solicitud de registro de dominio de la aplicacion web maestra, donde la solicitud de registro de dominio incluye la informacion de dominio y/o la informacion de ruta de la aplicacion web maestra; y
la memoria esta configurada ademas para guardar la informacion de dominio y/o la informacion de ruta incluida en la solicitud de registro de dominio.
En un tercer posible modo de implementacion haciendo referencia al segundo posible modo de implementacion,
el receptor esta configurado ademas para recibir una solicitud de obtencion de API de la aplicacion web esclava enviada por el navegador; y
el emisor esta configurado ademas para enviar el archivo de ordenes de logica de API de la aplicacion web esclava a la aplicacion web maestra del navegador, de tal modo que la aplicacion web maestra del navegador ejecuta el archivo de ordenes de logica de API de la aplicacion web esclava.
7
5
10
15
20
25
30
35
40
45
50
De acuerdo con un quinto aspecto, se da a conocer un sistema de interaccion entre aplicaciones web, que incluye: el navegador segun cualquiera de los anteriores posibles modos de implementacion; y el servidor segun cualquiera de los anteriores posibles modos de implementacion.
Las realizaciones de la presente invencion dan a conocer un procedimiento, un aparato y un sistema de interaccion entre aplicaciones web. El procedimiento de interaccion entre aplicaciones web incluye: obtener un localizador uniforme de recursos URL de una aplicacion web esclava a partir de una solicitud de invocacion, donde la aplicacion web esclava es una aplicacion web invocada; obtener un objeto ventana de la aplicacion web esclava a partir de una relacion de mapeo entre un URL y un objeto ventana de la aplicacion web esclava, utilizando el URL de la aplicacion web esclava; obtener informacion de invocacion de la aplicacion web maestra a partir de la solicitud de invocacion; y enviar la informacion de invocacion de la aplicacion web maestra a una ventana de la aplicacion web esclava, de acuerdo con el objeto ventana de la aplicacion web esclava, donde la aplicacion web maestra es una aplicacion web que invoca la aplicacion web esclava. De este modo, debido a que un navegador almacena una relacion de mapeo entre un URL y un objeto ventana de una aplicacion web esclava, cuando se invoca la aplicacion web esclava, se puede obtener un correspondiente objeto ventana a partir de la relacion de mapeo entre un URL y un objeto ventana de la aplicacion web esclava, para implementar de ese modo que una aplicacion web maestra invoque la aplicacion web esclava. El proceso de guardar la relacion de mapeo entre un URL y un objeto ventana de la aplicacion web esclava no esta limitado por el modo de apertura de aplicaciones web; por lo tanto, se puede eliminar la limitacion del modo de apertura de aplicaciones web durante la interaccion entre aplicaciones web.
BREVE DESCRIPCION DE LOS DIBUJOS
Para describir mas claramente las soluciones tecnicas en las realizaciones de la presente invencion, a continuacion se introducen brevemente los dibujos adjuntos necesarios para describir las realizaciones o la tecnica anterior. Obviamente, los dibujos adjuntos de la siguiente descripcion muestran solamente algunas realizaciones de la presente invencion, y un experto en la materia puede obtener sin esfuerzos creativos otros dibujos a partir de estos dibujos adjuntos.
La figura 1 es un diagrama de flujo de un procedimiento de interaccion entre aplicaciones web, segun una realizacion de la presente invencion;
la figura 2 es un diagrama de flujo de otro procedimiento de interaccion entre aplicaciones web, segun una realizacion de la presente invencion;
la figura 3 es un diagrama de flujo de otro procedimiento mas de interaccion entre aplicaciones web, segun una realizacion de la presente invencion;
la figura 4 es un diagrama de flujo de un procedimiento utilizado por un navegador para obtener un objeto ventana de una aplicacion web esclava, segun una realizacion de la presente invencion;
la figura 5 es un diagrama estructural esquematico de un navegador, segun una realizacion de la presente invencion;
la figura 6 es un diagrama estructural esquematico de otro navegador, segun una realizacion de la presente invencion;
la figura 7 es un diagrama estructural esquematico de un servidor, segun una realizacion de la presente invencion;
la figura 8 es un diagrama estructural esquematico de otro servidor, segun una realizacion de la presente invencion;
la figura 9 es un diagrama estructural esquematico de una puerta de enlace de un navegador, segun una realizacion de la presente invencion; y
la figura 10 es un diagrama estructural esquematico de una puerta de enlace de sistema de un servidor, segun una realizacion de la presente invencion.
DESCRIPCION DE REALIZACIONES
A continuacion se describen de manera clara y completa las soluciones tecnicas de las realizaciones de la presente invencion, haciendo referencia a los dibujos adjuntos de las realizaciones de la presente invencion. Obviamente, las realizaciones descritas son tan solo algunas pero no todas las realizaciones de la presente invencion. Todas las demas realizaciones obtenidas sin esfuerzos creativos por un experto en la materia en base a las realizaciones de la presente invencion caeran dentro del alcance de proteccion de la presente invencion.
La expresion "y/o" en la presente invencion describe solamente una relacion de asociacion para describir objetos asociados, y representa que pueden existir tres relaciones. Por ejemplo, A y/o B puede representar los siguientes tres casos: existe solamente A, existen A y B, y existe solamente B. Ademas, el caracter T en esta memoria descriptiva indica en general una relacion de "o" entre los objetos asociados.
5
10
15
20
25
30
35
40
45
50
55
Una realizacion de la presente invencion da a conocer un procedimiento de interaccion entre aplicaciones web que se aplica a un navegador. Tal como se muestra en la figura 1, el procedimiento incluye lo siguiente:
S101: el navegador obtiene un URL (localizador uniforme/universal de recursos, localizador uniforme de recursos) de una aplicacion web esclava a partir de una solicitud de invocacion, donde la aplicacion web esclava es una aplicacion web invocada.
Se debe observar que un objeto ventana puede incluir un identificador de ventana, un tipo de comunicacion y un canal de comunicacion espedfico, donde el tipo de comunicacion puede incluir: una zona de comparticion de datos, un canal de comunicacion de ventana, un canal de comunicacion de navegador o similares. El identificador de ventana indica una ventana de la aplicacion web esclava en el navegador; el tipo de comunicacion determina el canal de comunicacion espedfico de la aplicacion web esclava; el canal de comunicacion espedfico indica un canal de comunicacion utilizado cuando la aplicacion web esclava realiza intercambio de informacion.
En particular, se muestra a un usuario una aplicacion web utilizando una ventana en un navegador en un equipo de usuario. En esta realizacion de la presente invencion, cuando se abre de algun modo cualquier aplicacion web en el navegador, se puede guardar una relacion de mapeo entre un URL y un objeto ventana de la aplicacion web. Si la aplicacion web es invocada, esta se denomina una aplicacion web esclava; en consecuencia, una aplicacion web que invoca la aplicacion web esclava se denomina una aplicacion web maestra en esta realizacion de la presente invencion.
Cuando la aplicacion web esclava se invoca, la relacion de mapeo entre un URL y un objeto ventana de la aplicacion web esclava puede ser registrada y generada por el navegador al mismo tiempo que se abre la aplicacion web esclava, o puede ser registrada y obtenida por el navegador antes de que se invoque la aplicacion web esclava. Ademas, la aplicacion web esclava se puede abrir mediante programacion utilizando una instruccion correspondiente, o puede ser abierta por un usuario introduciendo manualmente un URL de la aplicacion web esclava. Por lo tanto, la invocacion de la aplicacion web esclava no esta limitada por el modo de apertura de la aplicacion web esclava.
Ademas, el navegador puede asimismo eliminar la relacion de mapeo entre un URL y un objeto ventana de la aplicacion web cuando la aplicacion web se cierra o una pagina de la aplicacion web se conmuta a otra aplicacion web.
S102: el navegador obtiene un objeto ventana de la aplicacion web esclava a partir de una relacion de mapeo entre un URL y un objeto ventana de la aplicacion web esclava, utilizando el URL de la aplicacion web esclava.
S103: el navegador obtiene informacion de invocacion de una aplicacion web maestra a partir de la solicitud de invocacion.
S104: el navegador envfa la informacion de invocacion de la aplicacion web maestra a una ventana de la aplicacion web esclava, de acuerdo con el objeto ventana de la aplicacion web esclava, donde la aplicacion web maestra es una aplicacion web que invoca la aplicacion web esclava.
Se debe observar que cuando la aplicacion web maestra tiene que invocar la aplicacion web esclava, la aplicacion web maestra envfa generalmente una solicitud de invocacion a la aplicacion web esclava. La solicitud de invocacion se puede enviar una vez, e incluye el URL de la aplicacion web esclava y la informacion de invocacion de la aplicacion web maestra; la solicitud de invocacion puede asimismo enviase dos veces, donde la solicitud de invocacion enviada por primera vez incluye el URL de la aplicacion web esclava, y la solicitud de invocacion enviada por segunda vez incluye la informacion de invocacion de la aplicacion web maestra. La presente invencion no pone ifmites al respecto.
De este modo, debido a que un navegador almacena una relacion de mapeo entre un URL y un objeto ventana de una aplicacion web esclava, cuando se invoca la aplicacion web esclava, se puede obtener un correspondiente objeto ventana a partir de la relacion de mapeo entre un URL y un objeto ventana de la aplicacion web esclava, para implementar de ese modo que una aplicacion web maestra invoque la aplicacion web esclava. El proceso de guardar la relacion de mapeo entre un URL y un objeto ventana de la aplicacion web esclava no esta limitado por el modo de apertura de aplicaciones web; por lo tanto, se puede eliminar la limitacion del modo de apertura de aplicaciones web durante la interaccion entre aplicaciones web.
Ademas, cuando una aplicacion web no soporta interaccion local, es decir, no soporta interaccion entre diferentes aplicaciones web ejecutadas en un navegador, se puede utilizar un proceso de registro de API (interfaz de programacion de aplicaciones, interfaz de programacion de aplicaciones) para resolver el problema. Espedficamente, el proceso de registro API incluye lo siguiente:
El navegador envfa una solicitud de registro de API de la aplicacion web esclava a un servidor, donde la solicitud de registro de API incluye un archivo de ordenes de logica de API de la aplicacion web esclava, de tal modo que el servidor guarda el archivo de ordenes de logica de API de la aplicacion web esclava. Se debe observar que el servidor puede obtener asimismo la solicitud de registro de API de otro modo. Por ejemplo, un operador correspondiente realiza manualmente el registro con el servidor. Despues de que se lleve a cabo el registro de API
5
10
15
20
25
30
35
40
45
50
55
de una aplicacion web en el servidor, la aplicacion web pasa a ser una aplicacion web que puede ser invocada, y la aplicacion se denomina la aplicacion web esclava cuando la aplicacion es invocada. En particular, el servidor es un servidor que proporciona una aplicacion web. Es decir, todas las aplicaciones web proporcionadas por el servidor pueden ser invocadas; por lo tanto, el servidor se puede denominar un servidor de la aplicacion web esclava.
Se debe observar que el procedimiento puede incluir ademas que: el navegador envfa una solicitud de registro de dominio de la aplicacion web maestra al servidor, donde la solicitud de registro de dominio incluye informacion de dominio y/o informacion de ruta de la aplicacion web maestra, de tal modo que el servidor guarda la informacion de dominio y/o la informacion de ruta incluida en la solicitud de registro de dominio. En particular, el servidor puede asimismo obtener la solicitud de registro de dominio de otro modo, por ejemplo, realizando manualmente el correspondiente registro con el servidor. Existe una correspondencia entre la aplicacion web maestra y la aplicacion web esclava cuando se lleva a cabo el registro de dominio, es decir, la informacion acerca del registro de dominio indica que aplicaciones web maestras pueden invocar la aplicacion web esclava. El servidor guarda la informacion de dominio y/o la informacion de ruta, de tal modo que en un proceso posterior en el que la aplicacion web maestra lleve a cabo una invocacion de programa sobre una aplicacion web esclava, una aplicacion web maestra que satisface un requisito implementa la invocacion de una correspondiente aplicacion web esclava. Es decir, despues de la etapa S104, la aplicacion web maestra del navegador puede: enviar una solicitud de deteccion de la aplicacion web maestra al servidor, de tal modo que el servidor lleva a cabo una comprobacion de correspondencia entre informacion de dominio y/o informacion de ruta de la aplicacion web maestra contenida en la solicitud de deteccion y la informacion de dominio y/o la informacion de ruta guardada por el servidor; recibir, a continuacion, la informacion del resultado de la deteccion enviada por el servidor, donde la informacion del resultado de la deteccion indica que la comprobacion de correspondencia es satisfactoria o que la comprobacion de correspondencia falla. La aplicacion web maestra del navegador puede ejecutar la invocacion de una aplicacion esclava solamente cuando la informacion del resultado de la deteccion indica que la comprobacion de correspondencia es satisfactoria.
Una realizacion de la presente invencion da a conocer un procedimiento de interaccion entre aplicaciones web. Tal como se muestra en la figura 2, el procedimiento incluye lo siguiente:
S201: un servidor recibe una solicitud de deteccion de una aplicacion web maestra en un navegador, donde la solicitud de deteccion es enviada por la aplicacion web maestra e incluye informacion de dominio y/o informacion de ruta de la aplicacion web maestra;
S202: el servidor lleva a cabo una comprobacion de correspondencia entre la informacion de dominio y/o la informacion de ruta de la aplicacion web maestra contenida en la solicitud de deteccion e informacion de dominio y/o informacion de ruta guardada por el servidor.
S203: el servidor genera informacion del resultado de la deteccion en funcion del resultado de la comprobacion de correspondencia, donde la informacion del resultado de la deteccion indica que la comprobacion de correspondencia es satisfactoria o que la comprobacion de correspondencia falla.
S204: el servidor envfa la informacion del resultado de la deteccion a la aplicacion web maestra del navegador.
De este modo, el servidor lleva a cabo una comprobacion de correspondencia entre la informacion de dominio y/o la informacion de ruta de la aplicacion web maestra contenida en la solicitud de deteccion y la informacion de dominio y/o la informacion de ruta guardada por el servidor, y envfa la informacion del resultado de la deteccion a una aplicacion web maestra del navegador, de tal modo que una aplicacion web maestra que satisface un requisito implementa la invocacion de una correspondiente aplicacion web esclava, estableciendo de ese modo un lfmite de permisos para una aplicacion web que invoca la aplicacion web esclava.
Ademas, el procedimiento puede incluir tambien que: el servidor recibe una solicitud de registro de interfaz de programacion de aplicaciones API de una aplicacion web esclava enviada por el navegador, donde la solicitud de registro de API incluye un archivo de ordenes de logica de API de la aplicacion web esclava; y el servidor guarda el archivo de ordenes de logica de API de la aplicacion web esclava. De este modo, utilizando un proceso de registro de API, una aplicacion web registrada puede soportar interaccion local, es decir, soportar interaccion entre diferentes aplicaciones web en el navegador.
En particular, el servidor puede recibir ademas una solicitud de registro de dominio enviada por el navegador, donde la solicitud de registro de dominio incluye la informacion de dominio y/o la informacion de ruta de la aplicacion web maestra, y el servidor guarda la solicitud de registro de dominio que esta en la solicitud de registro de dominio. De este modo, en un proceso posterior en el que una aplicacion web maestra lleva a cabo una invocacion de programa de una aplicacion web esclava, una aplicacion web maestra que satisface un requisito implementa la invocacion de una correspondiente aplicacion web esclava.
A modo de ejemplo, una realizacion de la presente invencion da a conocer un procedimiento espedfico de interaccion entre aplicaciones web. Tal como se muestra en la figura 3, el procedimiento incluye lo siguiente:
S301: un navegador envfa una solicitud de registro de API de una aplicacion web esclava a un servidor, donde la solicitud de registro de API incluye un archivo de ordenes de logica de API de la aplicacion web esclava.
5
10
15
20
25
30
35
40
45
50
En la tecnica anterior, la aplicacion web que se puede invocar esta limitada a una aplicacion web que haya sido registrada en un navegador en un extremo de equipo de usuario. Sin embargo, en esta realizacion de la presente invencion, el navegador lleva a cabo un registro de API con un extremo de servidor que puede proporcionar una aplicacion web, de tal modo que cualquier aplicacion web en toda la red puede pasar a ser una aplicacion web esclava llevando a cabo un registro de API con el extremo del servidor, lo que extiende el alcance de las aplicaciones web que pueden ser invocadas en un sistema de interaccion entre aplicaciones web.
En especial, para una aplicacion web esclava, el registro de API puede asimismo llevarse a cabo directa y manualmente en el servidor. Esta realizacion de la presente invencion se describe tan solo como ejemplo, y no la limita.
S302: el servidor guarda el archivo de ordenes de logica de API de la aplicacion web esclava.
Es servidor guarda el archivo de ordenes de logica de API de la aplicacion web esclava, y anade informacion de referencia del archivo de ordenes de logica de API de la aplicacion web esclava.
Espedficamente, el servidor puede guardar el archivo de ordenes de logica de API de la aplicacion web esclava en un espacio de almacenamiento correspondiente, y anadir la informacion de referencia del archivo de ordenes de logica de API a la aplicacion web esclava. Cuando se invoca la correspondiente aplicacion web esclava, la informacion de referencia puede ser utilizada para la consulta y obtencion del correspondiente archivo de ordenes de logica de API. El espacio de almacenamiento puede ser un directorio particular de la aplicacion web u otro espacio de almacenamiento de red.
S303: el navegador envfa una solicitud de registro de dominio de una aplicacion web maestra al servidor.
La solicitud de registro de dominio incluye informacion de dominio y/o informacion de ruta de la aplicacion web maestra.
La informacion de dominio puede incluir un protocolo, un nombre de dominio/direccion IP (Internet Protocol (protocolo de internet), protocolo de internet), un numero de puerto y similar, y se utiliza para identificar un dominio de la aplicacion web maestra. La informacion de ruta se utiliza para distinguir diferentes aplicaciones web en un mismo dominio, y la informacion de ruta puede identificar una aplicacion web, o puede incluir un caracter comodm para identificar un grupo de aplicaciones web. Por ejemplo, "/pathname/*" representa que todas las aplicaciones web cuya informacion de ruta empieza con "/pathname/' satisfacen un requisito.
Un proceso de registro de dominio de la aplicacion web maestra esta dirigido a establecer un lfmite de permisos para una aplicacion web maestra. Cuando la solicitud de registro de dominio incluye solamente la informacion de dominio de la aplicacion web maestra, una aplicacion web esclava puede distinguir aplicaciones web maestras de diferentes dominios cuando se invoca la aplicacion web esclava; cuando la solicitud de registro de dominio incluye tanto la informacion de dominio como la informacion de ruta de la aplicacion web maestra, una aplicacion web esclava puede distinguir diferentes aplicaciones web maestras de un mismo dominio cuando se invoca la aplicacion web esclava. En una aplicacion real, una aplicacion web maestra que ha realizado un registro de dominio puede invocar una correspondiente aplicacion web esclava.
S304: el servidor guarda la solicitud de registro de dominio de la aplicacion web maestra.
El servidor de la aplicacion web esclava guarda la informacion de dominio y/o la informacion de ruta de la aplicacion web maestra incluida en la solicitud de registro de dominio. En particular, existe una correspondencia entre la aplicacion web maestra y la aplicacion web esclava despues del registro de dominio. Es decir, la solicitud de registro de dominio indica que aplicaciones web maestras pueden invocar la aplicacion web esclava. El servidor puede guardar en consecuencia la correspondencia entre la aplicacion web maestra y la aplicacion web esclava.
S305: el navegador obtiene un objeto ventana de la aplicacion web esclava.
A modo de ejemplo, cuando el navegador obtiene el objeto ventana de la aplicacion web esclava, tal como se muestra en la figura 4, se incluyen espedficamente las etapas siguientes:
S3051: determinar si la aplicacion web esclava esta abierta. En caso afirmativo, se lleva a cabo la etapa S3054; de lo contrario, se lleva a cabo la etapa S3052.
Cuando se invoca la aplicacion web esclava, es necesario consultar si existe un URL de la aplicacion web esclava en una relacion de mapeo entre un URL y un objeto ventana de la aplicacion web esclava, para determinar si la aplicacion web esclava esta abierta. Se consulta una tabla de mapeo de objetos ventana, tal como se muestra en la tabla 1. Si existe un registro de URL de la aplicacion web esclava, esto indica que la aplicacion web esclava esta abierta; si el URL de la aplicacion web esclava no existe, esto indica que la aplicacion web esclava no esta abierta, que es necesario abrir la aplicacion web esclava y que es necesario guardar la relacion de mapeo entre un URL y un objeto ventana de la aplicacion web esclava.
S3052: abrir la aplicacion web esclava, y llevar a cabo la etapa S3053.
5
10
15
20
25
30
35
40
45
En esta realizacion de la presente invencion, la aplicacion web esclava se puede abrir en el navegador mediante programacion utilizando una instruccion correspondiente, puede ser abierta por otra aplicacion web, o puede ser abierta por un usuario introduciendo manualmente un enlace de la aplicacion web esclava; la manera de apertura no se limita a esto.
S3053: guardar una relacion de mapeo entre un URL y un objeto ventana de la aplicacion web esclava, y ejecutar la etapa S3054.
En esta realizacion de la presente invencion, se puede crear una tabla de mapeo de objetos ventana para almacenar la relacion de mapeo entre un URL y un objeto ventana de la aplicacion web esclava. Cuando la aplicacion web esclava se abre, la relacion de mapeo entre un URL y un objeto ventana de la aplicacion web esclava se guarda en la tabla de mapeo de objetos ventana. Ademas, cuando la aplicacion web se cierra o una pagina de la aplicacion web en el navegador se conmuta para dejar la aplicacion web, el navegador elimina de la tabla de mapeo de objetos ventana una correspondiente relacion de mapeo entre un URL y un objeto ventana de la aplicacion web. El objeto ventana correspondiente a la aplicacion web esclava se puede obtener consultando la tabla de mapeo de objetos ventana mediante la utilizacion del URL.
A modo de ejemplo, la tabla de mapeo de objetos ventana se puede mostrar en la tabla 1, y el objeto ventana puede incluir un identificador de ventana, un tipo de comunicacion y un canal de comunicacion espedfico.
Tabla 1
URL de aplicacion web
Objeto ventana
Identificador de ventana
Tipo de comunicacion Canal de comunicacion espedfico
URL1
Ventana 1 Zona de comparticion de datos "C:\"
URL2
Ventana2 Canal de comunicacion de ventana Ip2:puerto2
URL3
Ventana3 Canal de comunicacion de navegador Ip3:puerto3
El identificador de ventana indica una ventana que es abierta por la aplicacion web esclava, y el tipo de comunicacion incluye una zona de comparticion de datos, un canal de comunicacion de ventana o un canal de comunicacion de navegador. Diferentes tipos de comunicacion corresponden a diferentes canales de comunicacion. Por ejemplo, un canal de comunicacion espedfico correspondiente a un tipo de comunicacion que es una zona de comparticion de datos puede ser una zona de comparticion de datos particular, o similar. La zona de comparticion de datos particular es un espacio compartido para interaccion entre aplicaciones web, por ejemplo, un disco compartido. El espacio compartido puede estar en el navegador, o en un equipo de usuario en el que este situado el navegador, espedficamente, por ejemplo, "C:\", es decir, la unidad C del equipo de usuario. La presente invencion no pone lfmites al respecto. Un canal de comunicacion espedfico correspondiente a un tipo de comunicacion que es un canal de comunicacion de ventana puede ser un receptaculo de una ventana o similar, que se puede identificar espedficamente en un modo de direccion IP mas numero de puerto, por ejemplo Ip2:puerto2, es decir, puerto 2 para Ip 2. Un canal de comunicacion espedfico correspondiente a un tipo de comunicacion que es un canal de comunicacion de navegador puede ser un receptaculo de un navegador, o similar. El canal de comunicacion espedfico esta determinado generalmente por el tipo de comunicacion, y espedficamente, se puede identificar en un modo de direccion IP mas numero de puerto, por ejemplo, Ip3:puerto3, es decir, puerto 3 para Ip 3.
S3054: obtener el objeto ventana de la aplicacion web esclava.
La relacion de mapeo entre un URL y un objeto ventana de la aplicacion web esclava se puede obtener consultando la tabla de mapeo de objetos ventana mediante utilizar el URL de la aplicacion web esclava, de manera que se obtiene el objeto ventana de la aplicacion web esclava, y a continuacion se obtiene el correspondiente identificador de ventana, tipo de comunicacion y canal de comunicacion espedfico.
S306: la aplicacion web maestra del navegador envfa una solicitud de deteccion de la aplicacion web maestra al servidor.
En una aplicacion real, cuando la aplicacion web maestra invoca la aplicacion web esclava, es necesario ajustar un lfmite de permisos para la aplicacion web maestra. Solamente una aplicacion web maestra que ha llevado a cabo un registro de dominio con el servidor de la aplicacion web esclava puede invocar la correspondiente aplicacion web esclava. La solicitud de deteccion incluye la informacion de dominio y/o la informacion de ruta de la aplicacion web maestra.
5
10
15
20
25
30
35
40
45
50
55
S307: el servidor lleva a cabo la deteccion del permiso de la aplicacion web maestra utilizando la solicitud de deteccion.
Dado que el servidor guarda la solicitud de registro de dominio en la etapa S304, la informacion de dominio y/o la informacion de ruta de la aplicacion web maestra en la solicitud esta por lo tanto guardada. El servidor de la aplicacion web esclava puede llevar a cabo una comprobacion de correspondencia entre la informacion de dominio y/o la informacion de ruta de la aplicacion web maestra contenida en la solicitud de deteccion y la informacion de dominio y/o la informacion de ruta guardada por el servidor. Si la informacion de dominio que se corresponde con la informacion de dominio y/o la informacion de ruta de la aplicacion web maestra contenida en la solicitud de deteccion existe en la informacion guardada por el servidor, la comprobacion de correspondencia es satisfactoria, lo que indica que la aplicacion web maestra contenida en la solicitud de deteccion es una aplicacion web maestra registrada; de lo contrario, indica que la aplicacion web maestra contenida en la solicitud de deteccion es una aplicacion web maestra que no ha sido registrada, y no tiene permiso para invocar la aplicacion web esclava.
En particular, el anterior proceso de comprobacion de correspondencia se lleva a cabo segun una regla preestablecida. Cuando la solicitud de deteccion incluye solamente informacion de dominio de la aplicacion web maestra, el servidor puede llevar a cabo una comprobacion de correspondencia entre la informacion de dominio de la aplicacion web maestra contenida en la solicitud de deteccion y la informacion de dominio almacenada de cada aplicacion web; cuando la solicitud de deteccion incluye tanto la informacion de dominio como la informacion de ruta de la aplicacion web maestra, el servidor puede llevar a cabo una comprobacion de correspondencia entre tanto la informacion de dominio como la informacion de ruta de la aplicacion web maestra contenidas en la solicitud de deteccion y la informacion de dominio y la informacion de ruta almacenadas de cada aplicacion web, y la comprobacion de correspondencia es satisfactoria solamente cuando las aplicaciones web son identicas tanto en la informacion de dominio como en la informacion de ruta.
El servidor genera informacion del resultado de la deteccion, donde la informacion del resultado de la deteccion indica que la comprobacion de correspondencia es satisfactoria o fallida, de tal modo que la aplicacion web maestra del navegador lleva a cabo una correspondiente accion en funcion de la informacion del resultado de la deteccion.
S308: el servidor envfa informacion del resultado de la deteccion a la aplicacion web maestra del navegador.
Cuando la informacion del resultado de la deteccion indica que la comprobacion de correspondencia no es satisfactoria, el proceso finaliza.
Se debe observar que, en la etapa S304, la informacion de dominio y/o la informacion de ruta de la aplicacion web maestra registrada se puede guardar en el servidor, o se puede escribir en un archivo de ordenes de una correspondiente aplicacion web esclava en el servidor. Cuando el archivo de ordenes de la aplicacion web esclava se descarga al navegador, la determinacion de permisos se puede realizar directamente en la aplicacion web maestra del navegador. Las etapas S306 a S308 se pueden omitir. Cuando se determina que la aplicacion web maestra es una aplicacion web registrada, se lleva a cabo la etapa S309.
En esta realizacion de la presente invencion, se supone que la informacion del resultado de la deteccion enviada por el servidor indica que la comprobacion de correspondencia es satisfactoria, y se llevan a cabo las etapas siguientes.
S309: la aplicacion web maestra del navegador envfa una solicitud de obtencion de API de la aplicacion web esclava al servidor.
En la etapa S302, el servidor guarda el archivo de ordenes de logica de API de la aplicacion web esclava; por lo tanto, la aplicacion web maestra del navegador tiene que obtener del servidor el correspondiente archivo de ordenes de logica de API.
S310: el servidor envfa el archivo de ordenes de logica de API de la aplicacion web esclava a la aplicacion web maestra del navegador.
La aplicacion web esclava en el servidor puede obtener, del correspondiente espacio de almacenamiento de la aplicacion web, el archivo de ordenes de logica de API de la aplicacion web esclava de acuerdo con la solicitud de obtencion de API, utilizando la informacion de referencia que es de la aplicacion web esclava y que es correspondiente al archivo de ordenes de logica de API de la aplicacion web esclava, y enviar a continuacion el archivo de ordenes de logica de API de la aplicacion web esclava a la aplicacion web maestra del navegador.
S311: la aplicacion web maestra del navegador ejecuta el archivo de ordenes de logica de API de la aplicacion web esclava.
La aplicacion web maestra del navegador ejecuta el archivo de ordenes de logica de API de la aplicacion web esclava en una correspondiente ventana del navegador, para implementar de ese modo que la aplicacion web maestra invoque la aplicacion web esclava. Se hace referencia a la tecnica anterior para el proceso de ejecucion espedfico, y la presente invencion no se limita a este.
S312: el navegador envfa informacion de invocacion a una ventana de la aplicacion web esclava.
5
10
15
20
25
30
35
40
45
50
55
El navegador obtiene un tipo de comunicacion y un correspondiente canal de comunicacion espedfico de acuerdo con el objeto ventana obtenido, y a continuacion env^a la informacion de invocacion a la ventana de la aplicacion web esclava de acuerdo con el canal de comunicacion espedfico.
A modo de ejemplo, cuando el tipo de comunicacion es una zona de comparticion de datos, la ventana de la aplicacion web esclava puede recibir la informacion de invocacion de dos modos.
Un modo consiste en extraer la informacion de invocacion de la zona de comparticion de datos utilizando la ventana de la aplicacion web esclava, y el modo incluye espedficamente que: una ventana de la aplicacion web maestra del navegador obtiene, del objeto ventana, que el canal de comunicacion espedfico de la aplicacion web esclava es una zona de comparticion de datos particular; a modo de ejemplo, tal como se muestra en la tabla 1, cuando el URL de la aplicacion web esclava es URL1, la ventana de la aplicacion web maestra del navegador obtiene, del objeto ventana, que el canal de comunicacion espedfico de la aplicacion web esclava es "C:\"; la ventana de la aplicacion web maestra guarda la informacion de invocacion de la aplicacion web maestra en la zona de comparticion de datos particular, es decir, "C:\", donde la informacion de invocacion puede incluir un identificador de ventana objetivo, un identificador de ventana de origen y un contenido del mensaje, el identificador de ventana objetivo indica una ventana, en el navegador, de la aplicacion web esclava que tiene que ser invocada por la aplicacion web maestra, el identificador de ventana de origen indica la ventana de la aplicacion web maestra, y el contenido del mensaje indica el contenido es intercambiado por la aplicacion web maestra y la aplicacion web esclava. La ventana de la aplicacion web esclava en el navegador puede detectar periodicamente la zona de comparticion de datos particular, y llevar a cabo una comprobacion de correspondencia entre el identificador de ventana objetivo de la informacion de invocacion en la zona de comparticion de datos particular y el identificador de ventana de la aplicacion web esclava. Si la comprobacion de correspondencia es satisfactoria, esto indica que es necesario invocar la aplicacion web esclava, y la ventana de la aplicacion web esclava en el navegador puede obtener la informacion de invocacion desde la zona de comparticion de datos particular utilizando la ventana de la aplicacion web esclava.
El otro modo es recibir, registrando una interfaz de escucha, informacion enviada automaticamente por la zona de comparticion de datos. Se debe observar que la zona de comparticion de datos proporciona una funcion de registro de un evento de escucha. El modo incluye espedficamente: el navegador registra un evento de escucha en la zona de comparticion de datos, donde un parametro de escucha del evento de escucha incluye el identificador de ventana, el tipo de comunicacion y el canal de comunicacion espedfico que son de la aplicacion web esclava; una ventana de la aplicacion web maestra del navegador obtiene, del objeto ventana, que el canal de comunicacion espedfico de la aplicacion web esclava es una zona de comparticion de datos particular; la ventana de la aplicacion web maestra guarda la informacion de invocacion de la aplicacion web maestra en la zona de comparticion de datos particular, donde la informacion de invocacion incluye un identificador de ventana objetivo, un identificador de ventana de origen y el contenido del mensaje; la ventana de la aplicacion web maestra lleva a cabo una comprobacion de correspondencia entre el identificador de ventana de la aplicacion web esclava y el identificador de ventana objetivo de la informacion de invocacion de acuerdo con el evento de escucha registrado; y cuando el identificador de ventana de la aplicacion web esclava que coincide con el identificador de ventana objetivo de la informacion de invocacion existe en la zona de comparticion de datos particular, una ventana objetivo de la aplicacion web esclava recibe la informacion de invocacion enviada por la zona de comparticion de datos particular, o la aplicacion web esclava recibe una notificacion de mensaje enviada por la zona de comparticion de datos particular, y una ventana objetivo obtiene la informacion de invocacion de acuerdo con la notificacion de mensaje, donde la ventana objetivo es una ventana indicada por el identificador de ventana objetivo, y el mensaje de notificacion se utiliza para indicar que la zona de comparticion de datos tiene nueva informacion de invocacion.
Se debe observar que la zona de comparticion de datos indicada por el canal de comunicacion espedfico es una zona espedfica para comparticion de datos, por ejemplo, un disco compartido, donde la zona para comparticion de datos es un espacio compartido para la interaccion entre aplicaciones web, y el espacio compartido puede estar en el navegador o puede estar en el equipo de usuario en el que esta situado el navegador, lo que no esta limitado en la presente invencion.
A modo de ejemplo, cuando el tipo de comunicacion es un canal de comunicacion de navegador, esto indica que un tipo de comunicacion registrado es un objeto de comunicacion de navegador cuando la aplicacion web esclava lleva a cabo un registro de API con el servidor. La interaccion entre aplicaciones web se puede soportar directamente entre navegadores, mediante la extension de un canal de informacion abierto de los navegadores. Espedficamente, que la ventana de la aplicacion web esclava reciba la informacion de invocacion puede consistir en:
obtener, desde el objeto ventana, que el canal de comunicacion espedfico de la aplicacion web esclava es un canal de comunicacion de navegador particular, por ejemplo, Ip3:puerto3 en la tabla 1, y enviar la informacion de invocacion de la aplicacion web maestra a un navegador correspondiente a la aplicacion web esclava a traves del canal de comunicacion de navegador particular, y enviar, mediante el navegador correspondiente a la aplicacion web esclava, la informacion de invocacion a una ventana correspondiente en el navegador correspondiente a la aplicacion web esclava.
5
10
15
20
25
30
35
40
45
50
En particular, un proceso de envfo de la informacion de invocacion de la aplicacion web maestra a la ventana correspondiente en el navegador correspondiente a la aplicacion web esclava se puede implementar utilizando un mecanismo interno del navegador, de la tecnica anterior, que no se describe de nuevo en la presente memoria.
A modo de ejemplo, cuando el tipo de comunicacion es un canal de comunicacion de ventana, esto indica que un tipo de comunicacion registrado es un objeto ventana cuando la aplicacion web esclava lleva a cabo un registro de API con el servidor. La interaccion entre aplicaciones web puede estar soportada directamente entre ventanas en un navegador, extendiendo un canal de informacion abierto de las ventanas en el navegador. Espedficamente, que la ventana de la aplicacion web esclava reciba la informacion de invocacion puede consistir en:
obtener, del objeto ventana, que el canal de comunicacion espedfico de la aplicacion web esclava es un canal de comunicacion de ventana particular, por ejemplo, Ip2:puerto2 en la tabla 1, y enviar la informacion de invocacion de la aplicacion web maestra a una ventana correspondiente de la aplicacion web esclava a traves del canal de comunicacion de ventana particular.
Se debe observar que la secuencia de las etapas del procedimiento de interaccion entre aplicaciones web proporcionado por esta realizacion de la presente invencion se puede ajustar adecuadamente, y correspondientemente se puede asimismo anadir o eliminar una etapa, en funcion de la situacion. Un experto en la materia puede concebir facilmente procedimientos modificados sin apartarse del alcance tecnico dada conocer en la presente invencion, y por tanto no se describen de nuevo los detalles en la presente memoria.
A modo de ejemplo, en esta realizacion, se supone que una aplicacion web aplicacion-web-solicitante tiene que invocar una aplicacion web aplicacion-web-invocada, es decir, la aplicacion-web-solicitante es una aplicacion web maestra y la aplicacion-web-invocada es una aplicacion web esclava. Se ejemplifica como sigue un proceso espedfico:
En primer lugar, un servidor recibe una solicitud de registro de API de una aplicacion-web-invocada, donde un archivo de ordenes de logica de API en la solicitud de registro de API es como sigue:
window.onmessage = function(e){
var msg = e.data;
deal with msg;
e.source.postMessage(msg);
}
El servidor extrae el archivo de ordenes de logica de API de la aplicacion web esclava a partir de la solicitud de registro de API recibida, y guarda en el correspondiente espacio de almacenamiento de red el archivo de ordenes de logica de API, como un archivo file.js almacenado. A modo de ejemplo, en esta realizacion, el archivo de ordenes de logica de API se puede guardar en un directorio particular de la aplicacion web, por ejemplo, un directorio cuyo nombre es "web app". La referencia al archivo file.js se anade a un archivo html (lenguaje de marcado de hipertexto, lenguaje de marcado de hipertexto) en el directorio "web app", y el archivo de ordenes de logica de API de la aplicacion-web-invocada puede ser consultado y obtenido utilizando la referencia. Por ejemplo, se anade lo siguiente al archivo html:
<script type="text/javascript" src="file.js"></script>
Al utilizar el modo de registro mencionado anteriormente, la logica de proceso de API de la aplicacion-web-invocada se anade en el lado del servidor, de tal modo que la aplicacion-web-invocada soporta intercambio de mensajes en un navegador.
A continuacion, el servidor recibe una solicitud de registro de dominio de una aplicacion-web-solicitante, donde la solicitud de registro de dominio puede incluir informacion de dominio e informacion de ruta de la aplicacion-web- solicitante.
A modo de ejemplo, la informacion de dominio puede ser "
http://www.apprequester.com:8080", y la informacion de ruta puede ser "/requester".
El servidor registra y guarda la informacion de dominio y la informacion de ruta de la aplicacion-web-invocada, y guarda una correspondencia entre la aplicacion-web-invocada y la aplicacion-web-solicitante para una posterior invocacion. Al mismo tiempo, el servidor puede anadir, al archivo de ordenes de logica de API guardado, logica para detectar la informacion de dominio y la informacion de ruta de la aplicacion-web-solicitante, de tal modo que cuando la aplicacion-web-solicitante invoca posteriormente la aplicacion-web-invocada, el servidor lleva a cabo la deteccion del permiso de la aplicacion-web-solicitante. Por ejemplo:
5
10
15
20
25
30
35
40
45
window.onmessage = function(e) { if(checkOriginPath() == false) return;
var msg = e.data;
deal with msg;
e.source.postMessage(msg);
}
El proceso anterior es un proceso en el que la informacion de dominio y la informacion de ruta de la aplicacion-web- solicitante se registran en el lado del servidor.
Espedficamente, en primer lugar se detecta si la aplicacion-web-solicitante tiene permiso de acceso; a continuacion, se env^a un correspondiente mensaje a la aplicacion-web-invocada, para impedir que la aplicacion-web-invocada sea invocada aleatoriamente en el navegador.
En particular, la anterior etapa de anadir, al archivo de ordenes de logica de API guardado, la logica para detectar la informacion de dominio y la informacion de ruta de la aplicacion-web-invocada es una etapa opcional. En una aplicacion real, el proceso de detectar la informacion de dominio y la informacion de ruta se puede completar asimismo mediante un aparato preconfigurado en un sistema de interaccion entre aplicaciones web.
Cuando se abre en el navegador una aplicacion-web-invocada utilizando URL "
http://www.appprovider.com:8080/invoked" de la aplicacion-web-invocada, suponiendo que el identificador de ventana de la aplicacion-web-invocada es "Wininvoked", el tipo de comunicacion soportado es "zona de comparticion de datos" y el canal de comunicacion espedfico es "C:\share", el navegador registra en consecuencia, en una tabla de mapeo de objetos ventana, una relacion de mapeo entre el URL y el objeto ventana, que se muestra espedficamente en la tabla 2.
Tabla 2
URL de aplicacion web
Objeto ventana
Identificador de ventana
Tipo de comunicacion Canal de comunicacion espedfico

http://www.appprovider.co m: 8080/invoked
Wininvoked Zona de comparticion de datos C:\share
Cuando la aplicacion-web-solicitante invoca la aplicacion-web-invocada, el navegador consulta en la tabla de mapeo de objetos ventana el objeto ventana de la aplicacion-web-invocada utilizando el URL
"
http://www.appprovider.com:8080/invoked" de la aplicacion web invocada aplicacion-web-invocada, de tal modo que obtiene que el correspondiente identificador de ventana es "Wininvoked", el tipo de comunicacion es "zona de comparticion de datos" y el canal de comunicacion espedfico es "C:\share".
La aplicacion-web-solicitante puede escribir la informacion de invocacion en "C:\share" en funcion del tipo de comunicacion "zona de comparticion de datos", donde la informacion de invocacion incluye espedficamente un identificador de ventana objetivo "Wininvoked", un identificador de ventana de origen "WinRequester" y el contenido del mensaje, y ademas, puede incluir tambien la informacion de dominio "
http://www.apprequester.com:8080" y la informacion de ruta "/requester" de la aplicacion-web-solicitante.
El navegador puede detectar periodicamente si el identificador de ventana objetivo "Wininvoked" existe en la zona de comparticion de datos "C:\share", y cuando se encuentra un registro correspondiente, el navegador detecta la informacion de dominio y la informacion de ruta en el registro, y encuentra que existe un registro de "
http://www.apprequester.com:8080" y "/requester". A continuacion, la aplicacion web maestra del navegador obtiene el correspondiente archivo de ordenes de logica de API enviando una solicitud de obtencion de API de la aplicacion- web-invocada al servidor, y a continuacion el archivo de ordenes de logica de API se envfa a la correspondiente aplicacion web maestra del navegador para ejecutar el archivo de ordenes de logica de API.
Segun el procedimiento de interaccion entre aplicaciones web dado a conocer mediante esta realizacion de la presente invencion, debido a que un navegador guarda una relacion de mapeo entre un URL y un objeto ventana de una aplicacion web esclava cuando se abre la aplicacion web esclava, cuando se invoca la aplicacion web esclava, se puede obtener un objeto ventana correspondiente a partir de la relacion de mapeo entre un URL y un objeto ventana de la aplicacion web esclava, de tal modo que se implementa que una aplicacion web maestra invoque la
5
10
15
20
25
30
35
40
45
50
55
aplicacion web esclava. El proceso de guardar la relacion de mapeo entre un URL y un objeto ventana de la aplicacion web esclava no esta limitado por el modo de apertura de aplicaciones web; por lo tanto, se puede eliminar la limitacion del modo de apertura de aplicaciones web durante la interaccion entre aplicaciones web. Ademas, un servidor realiza una comprobacion de correspondencia entre informacion de dominio y/o informacion de ruta de la aplicacion web maestra contenida en una solicitud de deteccion e informacion de dominio y/o informacion de ruta guardada por el servidor, y envfa la informacion del resultado de la deteccion a una aplicacion web maestra del navegador, de tal modo que una aplicacion web maestra que satisface un requisito implementa la invocacion de una correspondiente aplicacion web esclava, estableciendo de ese modo un lfmite de permisos para una aplicacion web que invoca la aplicacion web esclava.
Una realizacion de la presente invencion da a conocer un navegador 50. Tal como se muestra en la figura 5, el navegador incluye un procesador 501 y una memoria 502.
El procesador 501 esta configurado para obtener un localizador uniforme de recursos URL de una aplicacion web esclava a partir de una solicitud de invocacion, donde la aplicacion web esclava es una aplicacion web invocada.
Se debe observar que un objeto ventana puede incluir un identificador de ventana, un tipo de comunicacion y un canal de comunicacion espedfico, donde el tipo de comunicacion puede incluir: una zona de comparticion de datos, un canal de comunicacion de ventana, un canal de comunicacion de navegador o similares. El identificador de ventana indica una ventana de la aplicacion web esclava en el navegador; el tipo de comunicacion determina el canal de comunicacion espedfico de la aplicacion web esclava; el canal de comunicacion espedfico indica un canal de comunicacion utilizado cuando la aplicacion web esclava realiza intercambio de informacion.
En particular, se muestra a un usuario una aplicacion web utilizando una ventana en un navegador en un equipo de usuario. En esta realizacion de la presente invencion, cuando se abre de algun modo alguna aplicacion web en el navegador, se puede guardar una relacion de mapeo entre un URL y un objeto ventana de la aplicacion web. Si la aplicacion web es invocada, esta se denomina una aplicacion web esclava; en consecuencia, una aplicacion web que invoca la aplicacion web esclava se denomina una aplicacion web maestra en esta realizacion de la presente invencion. Cuando la aplicacion web esclava es invocada, la relacion de mapeo entre un URL y un objeto ventana de la aplicacion web esclava puede ser registrada y generada por el navegador al mismo tiempo que se abre la aplicacion web esclava, o puede ser registrada y obtenida por el navegador antes de que se invoque la aplicacion web esclava. Ademas, la aplicacion web esclava se puede abrir mediante programacion utilizando una instruccion correspondiente, o puede ser abierta por un usuario introduciendo manualmente un enlace de la aplicacion web esclava. Por lo tanto, la invocacion de la aplicacion web esclava no esta limitada por el modo de apertura de la aplicacion web esclava.
La memoria 502 esta configurada para obtener un objeto ventana de la aplicacion web esclava a partir de la relacion de mapeo entre un URL y un objeto ventana de una aplicacion web esclava, mediante la utilizacion del URL de la aplicacion web esclava.
El procesador 501 esta configurado ademas para obtener informacion de invocacion de una aplicacion web maestra a partir de la solicitud de invocacion.
El procesador 501 esta configurado ademas para enviar la informacion de invocacion de la aplicacion web maestra a una ventana de la aplicacion web esclava, de acuerdo con el objeto ventana de la aplicacion web esclava, donde la aplicacion web maestra es una aplicacion web que invoca la aplicacion web esclava.
De este modo, dado que la memoria almacena la relacion de mapeo entre un URL y un objeto ventana de la aplicacion web esclava, cuando se invoca la aplicacion web esclava, el procesador puede obtener un correspondiente objeto ventana a partir de la relacion de mapeo entre un URL y un objeto ventana de la aplicacion web esclava, de tal modo que implementa que la aplicacion web maestra invoque la aplicacion web esclava. El proceso de guardar la relacion de mapeo entre un URL y un objeto ventana de la aplicacion web esclava no esta limitado por el modo de apertura de aplicaciones web; por lo tanto, se puede eliminar la limitacion del modo de apertura durante la interaccion entre aplicaciones web.
Ademas, cuando una aplicacion web no soporta interaccion local, es decir, no soporta interaccion entre diferentes aplicaciones web ejecutadas en un navegador, se puede utilizar un proceso de registro de API (interfaz de programacion de aplicaciones, interfaz de programacion de aplicaciones) para resolver el problema. Espedficamente, tal como se muestra en la figura 6, el navegador incluye ademas un emisor 503, configurado para enviar a un servidor una solicitud de registro de interfaz de programacion de aplicaciones API de la aplicacion web esclava, donde la solicitud de registro de API incluye un archivo de ordenes de logica de API de la aplicacion web esclava, de tal modo que el servidor guarda el archivo de ordenes de logica de API de la aplicacion web esclava. Se debe observar que el servidor puede obtener asimismo la solicitud de registro de API de otro modo. Por ejemplo, un operario correspondiente realiza manualmente el registro con el servidor.
El emisor 503 esta configurado ademas para enviar al servidor una solicitud de registro de dominio de la aplicacion web maestra, donde la solicitud de registro de dominio incluye informacion de dominio y/o informacion de ruta de la
5
10
15
20
25
30
35
40
45
50
55
aplicacion web maestra, de tal modo que el servidor guarda la informacion de dominio y/o la informacion de ruta incluida en la solicitud de registro de dominio.
En particular, existe una correspondencia entre la aplicacion web maestra y la aplicacion web esclava cuando se lleva a cabo el registro de dominio, es decir, la informacion acerca del registro de dominio indica que aplicaciones web maestras pueden invocar la aplicacion web esclava. El servidor guarda la informacion de dominio y/o la informacion de ruta, de tal modo que en un proceso posterior en el que la aplicacion web maestra lleva a cabo una invocacion de programa sobre una aplicacion web esclava, una aplicacion web maestra que satisface un requisito implementa la invocacion de una correspondiente aplicacion web esclava.
En la tecnica anterior, la aplicacion web que se puede invocar esta limitada a una aplicacion web que haya sido registrada en un navegador en un extremo de equipo de usuario. Sin embargo, en esta realizacion de la presente invencion, el emisor del navegador lleva a cabo un registro de API con un extremo de servidor que puede proporcionar una aplicacion web, de tal modo que cualquier aplicacion web en toda la red puede pasar a ser una aplicacion web esclava llevando a cabo un registro de ApI con el extremo del servidor, lo que extiende el alcance de las aplicaciones web que pueden ser invocadas en un sistema de interaccion entre aplicaciones web.
El emisor 503 esta configurado ademas para enviar una solicitud de deteccion de la aplicacion web maestra al servidor, de tal modo que el servidor lleva a cabo una comprobacion de correspondencia entre informacion de dominio y/o informacion de ruta de la aplicacion web maestra contenida en la solicitud de deteccion y la informacion de dominio y/o la informacion de ruta guardada por el servidor.
En particular, tal como se muestra en la figura 6, el navegador 50 incluye ademas:
un receptor 504, configurado para recibir informacion del resultado de la deteccion enviada por el servidor. Se debe observar que la aplicacion web maestra del navegador puede ejecutar la invocacion de una aplicacion esclava solamente cuando la informacion del resultado de la deteccion indica que la comprobacion de correspondencia es satisfactoria.
El emisor 503 esta configurado ademas para enviar al servidor una solicitud de obtencion de API de la aplicacion web esclava. Por consiguiente, la aplicacion web esclava en el servidor puede obtener, del correspondiente espacio de almacenamiento de la aplicacion web, el archivo de ordenes de logica de API de la aplicacion web esclava acorde con la solicitud de obtencion de API, utilizando la informacion de referencia que es de la aplicacion web esclava y que es correspondiente al archivo de ordenes de logica de API de la aplicacion web esclava, y enviar a continuacion el archivo de ordenes de logica de API de la aplicacion web esclava a la aplicacion web maestra del navegador.
El receptor 504 esta configurado ademas para recibir el archivo de ordenes de logica de API de la aplicacion web esclava enviado por el servidor.
El procesador 501 esta configurado ademas para ejecutar el archivo de ordenes de logica de API de la aplicacion web esclava.
El procesador 501 esta configurado ademas para
extraer la informacion de invocacion desde la zona de comparticion de datos utilizando la ventana de la aplicacion web esclava, lo que incluye: cuando el tipo de comunicacion es la zona de comparticion de datos, obtener, mediante una ventana de la aplicacion web maestra a partir del objeto ventana, que el canal de comunicacion espedfico de la aplicacion web esclava es una zona de comparticion de datos particular; guardar, mediante la ventana de la aplicacion web maestra, la informacion de invocacion de la aplicacion web maestra en la zona de comparticion de datos particular, donde la informacion de invocacion incluye un identificador de ventana objetivo, un identificador de ventana de origen y el contenido del mensaje; llevar a cabo una comprobacion de correspondencia, mediante la ventana de la aplicacion web esclava, entre el identificador de ventana objetivo de la informacion de invocacion en la zona de comparticion de datos particular y el identificador de ventana de la aplicacion web esclava; y si la comprobacion de correspondencia es satisfactoria, obtener la informacion de invocacion desde la zona de comparticion de datos particular utilizando la ventana de la aplicacion web esclava; o
recibir, registrando una interfaz de escucha, informacion enviada automaticamente por la zona de comparticion de datos. Se debe observar que la zona de comparticion de datos proporciona una funcion de registro de un evento de escucha, que incluye espedficamente: registrar un evento de escucha en la zona de comparticion de datos, donde un parametro de escucha del evento de escucha incluye el identificador de ventana, el tipo de comunicacion y el canal de comunicacion espedfico que son de la aplicacion web esclava; obtener, mediante una ventana de la aplicacion web maestra del objeto ventana, que el canal de comunicacion espedfico de la aplicacion web esclava es una zona de comparticion de datos particular; guardar, mediante la ventana de la aplicacion web maestra, la informacion de invocacion de la aplicacion web maestra en la zona de comparticion de datos particular, donde la informacion de invocacion incluye un identificador de ventana objetivo, un identificador de ventana de origen y el contenido del mensaje; llevar a cabo una comprobacion de correspondencia, mediante la ventana de la aplicacion web maestra, entre el identificador de ventana de la aplicacion web esclava y el identificador de ventana objetivo de
5
10
15
20
25
30
35
40
45
50
55
la informacion de invocacion segun el evento de escucha registrado; y cuando el identificador de ventana de la aplicacion web esclava que coincide con el identificador de ventana objetivo de la informacion de invocacion existe en la zona de comparticion de datos particular, recibir, mediante una ventana objetivo de la aplicacion web esclava, la informacion de invocacion enviada por la zona de comparticion de datos particular, o recibir, mediante la aplicacion web esclava, una notificacion de mensaje enviada por una zona de comparticion de datos particular, y obtener, mediante una ventana objetivo, la informacion de invocacion de acuerdo con la notificacion de mensaje, donde la ventana objetivo es una ventana indicada por el identificador de ventana objetivo.
La aplicacion web maestra del navegador ejecuta el archivo de ordenes de logica de API de la aplicacion web esclava en una correspondiente ventana del navegador, para implementar de ese modo que la aplicacion web maestra invoque la aplicacion web esclava. Se hace referencia a la tecnica anterior para el proceso de ejecucion espedfico, la presente invencion no se limita a este.
Cuando el tipo de comunicacion es el canal de comunicacion de navegador, el procesador 501 puede estar configurado para:
obtener, del objeto ventana, que el canal de comunicacion espedfico de la aplicacion web esclava es un canal de comunicacion de navegador particular; y enviar la informacion de invocacion de la aplicacion web maestra a un navegador correspondiente a la aplicacion web esclava a traves del canal de comunicacion de navegador particular, y enviar, mediante el navegador correspondiente a la aplicacion web esclava, la informacion de invocacion a una ventana correspondiente en el navegador correspondiente a la aplicacion web esclava.
El procesador 501 puede estar configurado ademas para:
obtener, del objeto ventana, que el canal de comunicacion espedfico de la aplicacion web esclava es un canal de comunicacion de ventana particular; y enviar la informacion de invocacion de la aplicacion web maestra a una ventana correspondiente de la aplicacion web esclava a traves del canal de comunicacion de ventana particular.
Un experto en la materia puede comprender claramente que, con el objetivo de una descripcion practica y breve, para las etapas espedficas de los modulos del navegador descritas anteriormente, se puede hacer referencia a los correspondientes procesos en las anteriores realizaciones de procedimiento de interaccion entre aplicaciones web, y no se describen de nuevo los detalles en la presente memoria.
Segun el navegador dado a conocer por esta realizacion de la presente invencion, dado que una memoria almacena una relacion de mapeo entre un URL y un objeto ventana de una aplicacion web esclava, cuando se invoca la aplicacion web esclava, un procesador puede obtener un correspondiente objeto ventana a partir de la relacion de mapeo entre un URL y un objeto ventana de la aplicacion web esclava, de tal modo que implementa que una aplicacion web maestra invoque la aplicacion web esclava. El proceso de guardar la relacion de mapeo entre un URL y un objeto ventana de la aplicacion web esclava no esta limitado por el modo de apertura de aplicaciones web; por lo tanto, se puede eliminar la limitacion del modo de apertura de durante la interaccion entre aplicaciones web.
Una realizacion de la presente invencion da a conocer un servidor 70. Tal como se muestra en la figura 7, el servidor incluye:
un receptor 701, configurado para recibir una solicitud de deteccion de una aplicacion web maestra en un navegador, donde la solicitud de deteccion es enviada por la aplicacion web maestra e incluye informacion de dominio y/o informacion de ruta de la aplicacion web maestra;
un procesador 702, configurado para llevar a cabo una comprobacion de correspondencia entre la informacion de dominio y/o la informacion de ruta de la aplicacion web maestra contenida en la solicitud de deteccion e informacion de dominio y/o informacion de ruta guardada por un servidor, donde:
el procesador 702 esta configurado ademas para generar informacion del resultado de la deteccion de acuerdo con el resultado de la comprobacion de correspondencia, donde la informacion del resultado de la deteccion indica que la comprobacion de correspondencia es satisfactoria o que la comprobacion de correspondencia falla; y
un emisor 703, configurado para enviar la informacion del resultado de la deteccion a la aplicacion web maestra del navegador.
De este modo, el procesador lleva a cabo una comprobacion de correspondencia entre la informacion de dominio y/o la informacion de ruta de la aplicacion web maestra contenida en la solicitud de deteccion recibida por el receptor y la informacion de dominio y/o la informacion de ruta guardada por el servidor, y el emisor envfa la informacion del resultado de la deteccion a una aplicacion web maestra del navegador, de tal modo que una aplicacion web maestra que satisface el requisito implementa la invocacion de una correspondiente aplicacion web esclava, estableciendo de ese modo un lfmite de permisos para una aplicacion web que invoca la aplicacion web esclava.
Ademas, el receptor 701 esta configurado tambien para recibir una solicitud de registro de interfaz de programacion de aplicaciones API de una aplicacion web esclava enviada por el navegador, donde la solicitud de registro de API incluye un archivo de ordenes de logica de API de la aplicacion web esclava.
5
10
15
20
25
30
35
40
45
50
55
Tal como se muestra en la figura 8, el servidor 70 incluye ademas:
una memoria 704, configurada para guardar el archivo de ordenes de logica de API de la aplicacion web esclava.
El receptor 701 esta configurado ademas para recibir una solicitud de registro de dominio de la aplicacion web maestra, donde la solicitud de registro de dominio incluye la informacion de dominio y/o la informacion de ruta de la aplicacion web maestra.
La memoria 704 esta configurada ademas para guardar la informacion de dominio y/o la informacion de ruta incluida en la solicitud de registro de dominio.
El receptor 701 esta configurado ademas para recibir una solicitud de obtencion de API de la aplicacion web esclava enviada por el navegador.
El emisor 703 esta configurado ademas para enviar el archivo de ordenes de logica de API de la aplicacion web esclava a la aplicacion web maestra del navegador, de tal modo que la aplicacion web maestra del navegador ejecuta el archivo de ordenes de logica de API de la aplicacion web esclava.
Un experto en la materia puede comprender claramente que, con el objetivo de una descripcion practica y breve, para las etapas espedficas de los modulos del servidor descritas anteriormente, se puede hacer referencia a los correspondientes procesos en las anteriores realizaciones de procedimiento de interaccion entre aplicaciones web, y no se describen de nuevo los detalles en la presente memoria.
De acuerdo con un servidor dado a conocer por esta realizacion de la presente invencion, un procesador lleva a cabo una comprobacion de correspondencia entre informacion de dominio y/o informacion de ruta de una aplicacion web maestra contenida en una solicitud de deteccion recibida por un receptor e informacion de dominio y/o informacion de ruta guardada por el servidor, y un emisor envfa la informacion del resultado de la deteccion a una aplicacion web maestra del navegador, de tal modo que una aplicacion web maestra que satisface un requisito implementa la invocacion de una correspondiente aplicacion web esclava, estableciendo de ese modo un lfmite de permisos para una aplicacion web que invoca la aplicacion web esclava.
Una realizacion de la presente invencion da a conocer un sistema de interaccion entre aplicaciones web, que incluye: cualquier navegador dado conocer por las realizaciones de la presente invencion, y cualquier servidor dado a conocer por las realizaciones de la presente invencion.
El navegador esta configurado para: obtener un localizador uniforme de recursos URL de una aplicacion web esclava a partir de una solicitud de invocacion, donde la aplicacion web esclava es una aplicacion web invocada; obtener un objeto ventana de la aplicacion web esclava a partir de una relacion de mapeo entre un URL y un objeto ventana de una aplicacion web esclava utilizando el URL de la aplicacion web esclava; obtener informacion de invocacion de una aplicacion web maestra a partir de la solicitud de invocacion; y enviar la informacion de invocacion de la aplicacion web maestra a una ventana de la aplicacion web esclava, de acuerdo con el objeto ventana de la aplicacion web esclava, donde la aplicacion web maestra es una aplicacion web que invoca la aplicacion web esclava.
El servidor esta configurado para: recibir una solicitud de deteccion de la aplicacion web maestra del navegador, donde la solicitud de deteccion es enviada por la aplicacion web maestra e incluye informacion de dominio y/o informacion de ruta de la aplicacion web maestra; llevar a cabo una comprobacion de correspondencia entre la informacion de dominio y/o la informacion de ruta de la aplicacion web maestra contenida en la solicitud de deteccion e informacion de dominio y/o informacion de ruta guardada por el servidor; generar la informacion del resultado de la deteccion de acuerdo con el resultado de la comprobacion de correspondencia, donde la informacion del resultado de la deteccion indica que la comprobacion de correspondencia es satisfactoria o que la comprobacion de correspondencia falla; y enviar la informacion del resultado de la deteccion a la aplicacion web maestra del navegador.
De acuerdo con el sistema de interaccion entre aplicaciones web dado conocer por esta realizacion de la presente invencion, dado que un navegador almacena una relacion de mapeo entre un URL y un objeto ventana de una aplicacion web esclava, cuando se invoca la aplicacion web esclava, se puede obtener un correspondiente objeto ventana a partir de la relacion de mapeo entre un URL y un objeto ventana de la aplicacion web esclava, de tal modo que se implementa que una aplicacion web maestra invoque la aplicacion web esclava. El proceso de guardar la relacion de mapeo entre un uRl y un objeto ventana de la aplicacion web esclava no esta limitado por el modo de apertura de aplicaciones web; por lo tanto, se puede eliminar el lfmite del modo de apertura de aplicaciones web durante la interaccion entre aplicaciones web.
La figura 9 describe una estructura de una puerta de enlace de sistema de un navegador dado conocer por otra realizacion de la presente invencion, que incluye por lo menos un procesador 901 (por ejemplo, una CPU), por lo menos la interfaz de red 902 u otra interfaz de comunicaciones, una memoria 903 y por lo menos un bus de comunicaciones 904 que se utiliza para implementar conexiones y comunicacion entre estos aparatos. El procesador 901 esta configurado para ejecutar un modulo ejecutable almacenado en la memoria 903, por ejemplo, un programa informatico. La memoria 903 puede incluir una memoria de acceso aleatorio (RAM: Random Access Memory) de alta
5
10
15
20
25
30
35
40
45
50
velocidad, y puede incluir ademas una memoria no volatil (memoria no volatil), tal como por lo menos una memoria de disco magnetico. Dicha por lo menos una interfaz de red 902 (que puede ser cableada o inalambrica) puede implementar una conexion de comunicacion entre la puerta de enlace de sistema del navegador y por lo menos otro elemento de red utilizando la web, una red de area extensa, una red de area local, una red de area metropolitana o similar.
En algunos modos de implementacion, la memoria 903 almacena un programa 9031, donde el programa 9031 puede ser ejecutado por el procesador 901, y el programa 9031 incluye:
obtener un localizador uniforme de recursos URL de una aplicacion web esclava a partir de una solicitud de invocacion, donde la aplicacion web esclava es una aplicacion web invocada.
Se debe observar que un objeto ventana puede incluir un identificador de ventana, un tipo de comunicacion y un canal de comunicacion espedfico, donde el tipo de comunicacion puede incluir: una zona de comparticion de datos, un canal de comunicacion de ventana, un canal de comunicacion de navegador o similares. El identificador de ventana indica una ventana de la aplicacion web esclava en el navegador; el tipo de comunicacion determina el canal de comunicacion espedfico de la aplicacion web esclava; el canal de comunicacion espedfico indica un canal de comunicacion utilizado cuando la aplicacion web esclava realiza intercambio de informacion.
En particular, se muestra a un usuario una aplicacion web utilizando una ventana en un navegador en un equipo de usuario. En esta realizacion de la presente invencion, cuando se abre de algun modo alguna aplicacion web en el navegador, el programa 9031 puede guardar una relacion de mapeo entre un URL y un objeto ventana de la aplicacion web. Si la aplicacion web es invocada, esta se denomina una aplicacion web esclava; en consecuencia, una aplicacion web que invoca la aplicacion web esclava se denomina una aplicacion web maestra en esta realizacion de la presente invencion. Cuando la aplicacion web esclava es invocada, la relacion de mapeo entre un URL y un objeto ventana de la aplicacion web esclava puede ser registrada y generada por el navegador al mismo tiempo que se abre la aplicacion web esclava, o puede ser registrada y obtenida por el navegador antes de que se invoque la aplicacion web esclava. Ademas, la aplicacion web esclava se puede abrir mediante programacion utilizando una instruccion correspondiente, o puede ser abierta por un usuario introduciendo manualmente un enlace de la aplicacion web esclava. Por lo tanto, la invocacion de la aplicacion web esclava no esta limitada por el modo de apertura de la aplicacion web esclava.
Ademas, el programa 9031 puede asimismo eliminar la relacion de mapeo entre un URL y un objeto ventana de la aplicacion web cuando la aplicacion web se cierra o una pagina de la aplicacion web se conmuta a otra aplicacion web.
Un objeto ventana de la aplicacion web esclava se obtiene a partir de una relacion de mapeo entre un URL y un objeto ventana de la aplicacion web esclava utilizando el URL de la aplicacion web esclava.
A partir de la solicitud de invocacion se obtiene informacion de invocacion de una aplicacion web maestra.
La informacion de invocacion de la aplicacion web maestra se envfa a una ventana de la aplicacion web esclava, de acuerdo con el objeto ventana de la aplicacion web esclava, donde la aplicacion web maestra es una aplicacion web que invoca la aplicacion web esclava.
Despues de la obtencion de un localizador uniforme de recursos URL de una aplicacion web esclava a partir de una solicitud de invocacion, el programa 9031 incluye ademas:
consultar, en la relacion de mapeo entre un URL y un objeto ventana de la aplicacion web esclava, si el URL de la aplicacion web esclava existe; y
si el URL de la aplicacion web esclava no existe, abrir la aplicacion web esclava y guardar una relacion de mapeo entre el URL y el objeto ventana de la aplicacion web esclava.
El objeto ventana incluye un identificador de ventana, un tipo de comunicacion y un canal de comunicacion espedfico.
El tipo de comunicacion incluye una zona de comparticion de datos, un canal de comunicacion de ventana o un canal de comunicacion de navegador.
Antes de la obtencion de un localizador uniforme de recursos URL de una aplicacion web esclava a partir de una solicitud de invocacion, el programa 9031 incluye ademas:
enviar una solicitud de registro de interfaz de programacion de aplicaciones API de la aplicacion web esclava a un servidor, donde la solicitud de registro de API incluye un archivo de ordenes de logica de API de la aplicacion web esclava, de tal modo que el servidor devuelve el archivo de ordenes de logica de API de la aplicacion web esclava a la aplicacion web maestra despues de recibir una solicitud de obtencion de API de la aplicacion web esclava.
5
10
15
20
25
30
35
40
45
Antes de la obtencion de un localizador uniforme de recursos URL de una aplicacion web esclava a partir de la solicitud de invocacion, el programa 9031 incluye ademas:
enviar al servidor una solicitud de registro de dominio de la aplicacion web maestra, donde la solicitud de registro de dominio incluye informacion de dominio y/o informacion de ruta de la aplicacion web maestra, de tal modo que el servidor guarda la informacion de dominio y/o la informacion de ruta incluida en la solicitud de registro de dominio.
Despues de obtener la informacion de invocacion de una aplicacion web maestra a partir de la solicitud de invocacion, el programa 9031 incluye ademas:
enviar una solicitud de deteccion de la aplicacion web maestra al servidor, de tal modo que el servidor lleva a cabo una comprobacion de correspondencia entre informacion de dominio y/o informacion de ruta de la aplicacion web maestra contenida en la solicitud de deteccion y la informacion de dominio y/o la informacion de ruta guardada por el servidor; y
recibir la informacion del resultado de la deteccion enviada por el servidor.
Despues de que la informacion del resultado de la deteccion indique que la comprobacion de correspondencia es satisfactoria, el programa 9031 incluye ademas:
enviar la solicitud de obtencion de API de la aplicacion web esclava al servidor;
recibir el archivo de ordenes de logica de API de la aplicacion web esclava enviado por el servidor; y
ejecutar el archivo de ordenes de logica de API de la aplicacion web esclava.
Cuando el tipo de comunicacion es una zona de comparticion de datos, el envfo de la informacion de invocacion de la aplicacion web maestra a una ventana de la aplicacion web esclava, de acuerdo con el objeto ventana de la aplicacion web esclava, incluye:
obtener, mediante una ventana de la aplicacion web maestra desde el objeto ventana, que el canal de comunicacion espedfico de la aplicacion web esclava es una zona de comparticion de datos particular;
guardar, mediante la ventana de la aplicacion web maestra, la informacion de invocacion de la aplicacion web maestra en la zona de comparticion de datos particular, donde la informacion de invocacion incluye un identificador de ventana objetivo, un identificador de ventana de origen y el contenido del mensaje;
llevar a cabo una comprobacion de correspondencia, mediante la ventana de la aplicacion web esclava, entre el identificador de ventana objetivo de la informacion de invocacion en la zona de comparticion de datos particular y el identificador de ventana de la aplicacion web esclava; y
si la comprobacion de correspondencia es satisfactoria, obtener la informacion de invocacion desde la zona de comparticion de datos particular utilizando la ventana de la aplicacion web esclava.
Cuando el tipo de comunicacion es una zona de comparticion de datos, el envfo de la informacion de invocacion de la aplicacion web maestra a una ventana de la aplicacion web esclava, de acuerdo con el objeto ventana de la aplicacion web esclava, incluye:
registrar un evento de escucha en la zona de comparticion de datos, donde un parametro de escucha del evento de escucha incluye el identificador de ventana, el tipo de comunicacion y el canal de comunicacion espedfico que son de la aplicacion web esclava;
obtener, mediante una ventana de la aplicacion web maestra desde el objeto ventana, que el canal de comunicacion espedfico de la aplicacion web esclava es una zona de comparticion de datos particular;
guardar, mediante la ventana de la aplicacion web maestra, la informacion de invocacion de la aplicacion web maestra en la zona de comparticion de datos particular, donde la informacion de invocacion incluye un identificador de ventana objetivo, un identificador de ventana de origen y el contenido del mensaje;
llevar a cabo una comprobacion de correspondencia, mediante la ventana de la aplicacion web maestra, entre el identificador de ventana de la aplicacion web esclava y el identificador de ventana objetivo de la informacion de invocacion segun el evento de escucha registrado; y
cuando el identificador de ventana de la aplicacion web esclava que coincide con el identificador de ventana objetivo de la informacion de invocacion existe en la zona de comparticion de datos particular, recibir, mediante una ventana objetivo de la aplicacion web esclava, la informacion de invocacion enviada por la zona de comparticion de datos particular; o
5
10
15
20
25
30
35
40
45
50
recibir, mediante la aplicacion web esclava, una notificacion de mensaje enviada por la zona de comparticion de datos particular, y obtener, mediante una ventana objetivo, la informacion de invocacion acorde con la notificacion de mensaje, donde la ventana objetivo es una ventana indicada por el identificador de ventana objetivo.
Cuando el tipo de comunicacion es un canal de comunicacion de navegador, el envfo de la informacion de invocacion de la aplicacion web maestra a una ventana de la aplicacion web esclava, de acuerdo con el objeto ventana de la aplicacion web esclava, incluye:
obtener, a partir del objeto ventana, que el canal de comunicacion espedfico de la aplicacion web esclava es un canal de comunicacion de navegador particular; y
enviar la informacion de invocacion de la aplicacion web maestra a un navegador correspondiente a la aplicacion web esclava a traves del canal de comunicacion de navegador particular, y enviar, mediante el navegador correspondiente a la aplicacion web esclava, la informacion de invocacion a una ventana correspondiente en el navegador correspondiente a la aplicacion web esclava.
Cuando el tipo de comunicacion es un canal de comunicacion de ventana, el envfo de la informacion de invocacion de la aplicacion web maestra a una ventana de la aplicacion web esclava, de acuerdo con el objeto ventana de la aplicacion web esclava, incluye:
obtener, a partir del objeto ventana, que el canal de comunicacion espedfico de la aplicacion web esclava es un canal de comunicacion de ventana particular; y
enviar la informacion de invocacion de la aplicacion web maestra a una ventana correspondiente de la aplicacion web esclava a traves del canal de comunicacion de ventana particular.
Un experto en la materia puede comprender claramente que, con el objetivo de una descripcion practica y breve, para las etapas espedficas del programa 9031 descritas anteriormente, se puede hacer referencia a los correspondientes procesos en las anteriores realizaciones de procedimiento de interaccion entre aplicaciones web, y no se describen de nuevo los detalles en la presente memoria.
De acuerdo con la estructura de una puerta de enlace de sistema de un navegador dado conocer por esta realizacion, dado que un programa almacenado en una memoria almacena una relacion de mapeo entre un URL y un objeto ventana de una aplicacion web esclava cuando se abre la aplicacion web esclava, cuando la aplicacion web esclava es invocada, se puede obtener un correspondiente objeto ventana a partir de la relacion de mapeo entre un URL y un objeto ventana de la aplicacion web esclava, de tal modo que se implementa que una aplicacion web maestra invoque la aplicacion web esclava. El proceso de guardar la relacion de mapeo entre un URL y un objeto ventana de la aplicacion web esclava no esta limitado por el modo de apertura de aplicaciones web; por lo tanto, se puede eliminar la limitacion del modo de apertura de aplicaciones web durante la interaccion entre aplicaciones web.
La figura 10 describe una estructura de una puerta de enlace de sistema de un servidor dado conocer por otra realizacion de la presente invencion, que incluye por lo menos un procesador 1001 (por ejemplo, una CPU), por lo menos una interfaz de red 1002 u otra interfaz de comunicaciones, una memoria 1003 y por lo menos un bus de comunicaciones 1004 que se utiliza para implementar conexiones y comunicacion entre estos aparatos. El procesador 1001 esta configurado para ejecutar un modulo ejecutable almacenado en la memoria 1003, por ejemplo, un programa informatico. La memoria 1003 puede incluir una memoria de acceso aleatorio de alta velocidad, y puede incluir ademas una memoria no volatil, tal como por lo menos una memoria de disco magnetico. Dicha por lo menos una interfaz de red 1002 (que puede ser cableada o inalambrica) puede implementar una conexion de comunicacion entre la puerta de enlace de sistema del servidor y por lo menos otro elemento de red utilizando internet, una red de area extensa, una red de area local, una red de area metropolitana o similar.
En algunos modos de implementacion, la memoria 1003 almacena un programa 10031, donde el programa 10031 puede ser ejecutado por el procesador 1001, y el programa 10031 incluye:
recibir una solicitud de deteccion de una aplicacion web maestra en un navegador, donde la solicitud de deteccion es enviada por la aplicacion web maestra e incluye informacion de dominio y/o informacion de ruta de la aplicacion web maestra;
llevar a cabo una comprobacion de correspondencia entre la informacion de dominio y/o la informacion de ruta de la aplicacion web maestra contenida en la solicitud de deteccion e informacion de dominio y/o informacion de ruta guardada por el servidor;
generar la informacion del resultado de la deteccion segun el resultado de la comprobacion de correspondencia, donde la informacion del resultado de la deteccion indica que la comprobacion de correspondencia es satisfactoria o que la comprobacion de correspondencia falla; y
enviar la informacion del resultado de la deteccion a la aplicacion web maestra del navegador.
5
10
15
20
25
30
35
40
45
50
El programa 10031 incluye ademas: recibir una solicitud de registro de interfaz de programacion de aplicaciones API de una aplicacion web esclava, donde la solicitud de registro de API incluye un archivo de ordenes de logica de API de la aplicacion web esclava; y
guardar el archivo de ordenes de logica de API de la aplicacion web esclava.
El programa 10031 incluye ademas: recibir una solicitud de registro de dominio de la aplicacion web maestra, donde la solicitud de registro de dominio incluye la informacion de dominio y/o la informacion de ruta de la aplicacion web maestra; y
guardar la informacion de dominio y/o la informacion de ruta incluida en la solicitud de registro de dominio.
Despues de que la comprobacion de correspondencia sea satisfactoria, el programa 10031 incluye ademas
recibir una solicitud de obtencion de API de la aplicacion web esclava enviada por la aplicacion web maestra del navegador; y
enviar el archivo de ordenes de logica de API de la aplicacion web esclava a la aplicacion web maestra del navegador, de tal modo que la aplicacion web maestra del navegador ejecuta el archivo de ordenes de logica de API de la aplicacion web esclava.
Un experto en la materia puede comprender claramente que, con el objetivo de una descripcion practica y breve, para las etapas espedficas del programa 10031 descritas anteriormente, se puede hacer referencia a un proceso correspondiente en las anteriores realizaciones de procedimiento de interaccion entre aplicaciones web, y no se describen de nuevo los detalles en la presente memoria.
De acuerdo con la estructura de una pasarela de sistema de un servidor dado conocer por esta realizacion, un programa almacenado en el servidor lleva a cabo una comprobacion de correspondencia entre informacion de dominio y/o informacion de ruta de una aplicacion web maestra contenida en una solicitud de deteccion e informacion de dominio y/o informacion de ruta guardada por el servidor, y envfa la informacion del resultado de la deteccion a una aplicacion web maestra en un navegador, de tal modo que una aplicacion web maestra que satisface un requisito implementa una invocacion de una correspondiente aplicacion web esclava, estableciendo de ese modo un lfmite de permisos para una aplicacion web que invoca la aplicacion web esclava.
Un experto en la materia puede comprender claramente que, con el objetivo de una descripcion comoda y breve, para un proceso de trabajo detallado del sistema, el aparato y el modulo anteriores, se puede hacer referencia a un correspondiente proceso en las realizaciones de procedimiento anteriores, y no se describen de nuevo los detalles en la presente memoria.
En las diversas realizaciones dadas a conocer en la presente solicitud, se debe entender que el sistema, el aparato y el procedimiento dados a conocer se pueden implementar de otros modos. Por ejemplo, la realizacion de aparato descrita es tan solo a modo de ejemplo. Por ejemplo, el modulo de division es tan solo una division de funcion logica y puede haber otra division en una implementacion real. Por ejemplo, una serie de modulos o componentes se pueden combinar o integrar en otro sistema, o algunas caractensticas pueden ser ignoradas o no realizadas. Ademas, los acoplamientos mutuos o acoplamientos directos o conexiones de comunicacion presentadas o discutidas se pueden implementar por medio de algunas interfaces. Las conexiones de comunicacion o acoplamientos indirectos entre los aparatos o modulos se pueden implementar de forma electronica, mecanica u otras.
Los modulos descritos como partes independientes pueden o no ser ffsicamente independientes, y las partes presentadas como modulos pueden o no ser modulos ffsicos, pueden estar ubicadas en una posicion o pueden estar distribuidas en una serie de modulos de red. Parte o la totalidad de los modulos se pueden seleccionar segun requisitos reales, para conseguir los objetivos de las soluciones de las realizaciones.
Ademas, los modulos funcionales de las realizaciones de la presente invencion pueden estar integrados en un modulo de proceso, o cada uno de los modulos puede existir por separado ffsicamente, o dos o mas modulos estar integrados en un modulo. El modulo integrado se puede implementar en forma de hardware, o se puede implementar en forma de hardware ademas de un modulo funcional de software.
Las descripciones anteriores son tan solo modos de implementacion espedficos de la presente invencion, pero no estan destinadas a limitar el alcance de proteccion de la presente invencion. Cualquier variacion o sustitucion concebida facilmente por un experto en la materia dentro del alcance tecnico dado a conocer en la presente invencion, caera dentro del ambito de proteccion de la presente invencion. Por lo tanto, el alcance de proteccion de la presente invencion debera estar sujeto al alcance de proteccion de las reivindicaciones.

Claims (10)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    REIVINDICACIONES
    1. Un procedimiento de interaccion entre aplicaciones web, que comprende:
    obtener un localizador uniforme de recursos, URL, de una aplicacion web esclava a partir de una solicitud de invocacion, donde la aplicacion web esclava es una aplicacion web invocada;
    consultar, en una relacion de mapeo entre un URL y un objeto ventana de la aplicacion web esclava, si el URL de la aplicacion web esclava existe; y si el URL de la aplicacion web esclava no existe, abrir la aplicacion web esclava y guardar una relacion de mapeo entre el URL y el objeto ventana de la aplicacion web esclava;
    obtener un objeto ventana de la aplicacion web esclava a partir de la relacion de mapeo entre un URL y un objeto ventana de la aplicacion web esclava, mediante utilizar el URL de la aplicacion web esclava;
    obtener informacion de invocacion de una aplicacion web maestra a partir de la solicitud de invocacion; y
    enviar la informacion de invocacion de la aplicacion web maestra a una ventana de la aplicacion web esclava, de acuerdo con el objeto ventana de la aplicacion web esclava, donde la aplicacion web maestra es una aplicacion web que invoca la aplicacion web esclava.
  2. 2. El procedimiento segun la reivindicacion 1, en el que:
    el objeto ventana comprende un identificador de ventana, un tipo de comunicacion y un canal de comunicacion espedfico; y
    el tipo de comunicacion comprende una zona de comparticion de datos, un canal de comunicacion de ventana o un canal de comunicacion de navegador.
  3. 3. El procedimiento segun la reivindicacion 1 o 2, en el que antes de obtener un localizador uniforme de recursos, URL, de una aplicacion web esclava a partir de una solicitud de invocacion, el procedimiento comprende ademas:
    enviar una solicitud de registro de interfaz de programacion de aplicaciones, API, de la aplicacion web esclava a un servidor, donde la solicitud de registro de API comprende un archivo de ordenes de logica de API de la aplicacion web esclava, de tal modo que el servidor devuelve el archivo de ordenes de logica de API de la aplicacion web esclava a la aplicacion web maestra despues de recibir una solicitud de obtencion de API de la aplicacion web esclava.
  4. 4. El procedimiento segun la reivindicacion 3, en el que antes de obtener un localizador uniforme de recursos, URL, de una aplicacion web esclava a partir de una solicitud de invocacion, el procedimiento comprende ademas:
    enviar una solicitud de registro de dominio de la aplicacion web maestra al servidor,
    donde la solicitud de registro de dominio comprende informacion de dominio y/o informacion de ruta de la aplicacion web maestra, de tal modo que el servidor guarda la informacion de dominio y/o la informacion de ruta comprendida en la solicitud de registro de dominio.
  5. 5. El procedimiento segun la reivindicacion 4, en el que despues de obtener la informacion de invocacion de una aplicacion web maestra a partir de la solicitud de invocacion, el procedimiento comprende ademas:
    enviar una solicitud de deteccion de la aplicacion web maestra al servidor, de tal modo que el servidor lleva a cabo una comprobacion de correspondencia entre informacion de dominio y/o informacion de ruta de la aplicacion web maestra contenida en la solicitud de deteccion y la informacion de dominio y/o la informacion de ruta guardada por el servidor; y
    recibir informacion del resultado de la deteccion enviada por el servidor, donde la informacion del resultado de la deteccion lleva informacion del resultado de la comprobacion de correspondencia.
  6. 6. Un navegador, que comprende:
    un procesador, configurado para obtener un localizador uniforme de recursos, URL, de una aplicacion web esclava a partir de una solicitud de invocacion, donde la aplicacion web esclava es una aplicacion web invocada; y consultar, en una relacion de mapeo entre un URL y un objeto ventana de la aplicacion web esclava, si el URL de la aplicacion web esclava existe; y si el URL de la aplicacion web esclava no existe, abrir la aplicacion web esclava y guardar una relacion de mapeo entre el URL y el objeto ventana de la aplicacion web esclava;
    una memoria, configurada para obtener un objeto ventana de la aplicacion web esclava a partir de una relacion de mapeo entre un URL y un objeto ventana de la aplicacion web esclava, utilizando el uRl de la aplicacion web esclava, donde:
    el procesador esta configurado ademas para obtener informacion de invocacion de una aplicacion web maestra a partir de la solicitud de invocacion; y
    5
    10
    15
    20
    25
    el procesador esta configurado ademas para enviar la informacion de invocacion de la aplicacion web maestra a una ventana de la aplicacion web esclava, de acuerdo con el objeto ventana de la aplicacion web esclava, donde la aplicacion web maestra es una aplicacion web que invoca la aplicacion web esclava.
  7. 7. El navegador segun la reivindicacion 6, en el que:
    el objeto ventana comprende un identificador de ventana, un tipo de comunicacion y un canal de comunicacion espedfico; y
    el tipo de comunicacion comprende una zona de comparticion de datos, un canal de comunicacion de ventana o un canal de comunicacion de navegador.
  8. 8. El navegador segun la reivindicacion 6 o 7, en el que el navegador comprende ademas:
    un emisor, configurado para enviar una solicitud de registro de interfaz de programacion de aplicaciones, API, de la aplicacion web esclava a un servidor, donde la solicitud de registro de API comprende un archivo de ordenes de logica de API de la aplicacion web esclava, de tal modo que el servidor devuelve el archivo de ordenes de logica de API de la aplicacion web maestra a la aplicacion web esclava despues de recibir una solicitud de obtencion de API de la aplicacion web esclava.
  9. 9. El navegador segun la reivindicacion 8, en el que:
    el emisor esta configurado ademas para enviar una solicitud de registro de dominio de la aplicacion web maestra al servidor, en el que la solicitud de registro de dominio comprende informacion de dominio y/o informacion de ruta de la aplicacion web maestra, de tal modo que el servidor guarda la informacion de dominio y/o la informacion de ruta comprendida en la solicitud de registro de dominio.
  10. 10. El navegador segun la reivindicacion 9, en el que:
    el emisor esta configurado ademas para enviar una solicitud de deteccion de la aplicacion web maestra al servidor, de tal modo que el servidor lleva a cabo una comprobacion de correspondencia entre informacion de dominio y/o informacion de ruta de la aplicacion web maestra contenida en la solicitud de deteccion y la informacion de dominio y/o la informacion de ruta guardada por el servidor; y
    el navegador comprende ademas:
    un receptor, configurado para recibir informacion del resultado de la deteccion enviada por el servidor.
ES12890298.8T 2012-12-18 2012-12-18 Procedimiento, aparato y sistema de interacción entre aplicaciones web Active ES2644250T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2012/086857 WO2014094240A1 (zh) 2012-12-18 2012-12-18 一种互联网应用交互方法、装置及系统

Publications (1)

Publication Number Publication Date
ES2644250T3 true ES2644250T3 (es) 2017-11-28

Family

ID=50977535

Family Applications (1)

Application Number Title Priority Date Filing Date
ES12890298.8T Active ES2644250T3 (es) 2012-12-18 2012-12-18 Procedimiento, aparato y sistema de interacción entre aplicaciones web

Country Status (5)

Country Link
US (1) US20150271245A1 (es)
EP (2) EP2937790B1 (es)
CN (1) CN104040538B (es)
ES (1) ES2644250T3 (es)
WO (1) WO2014094240A1 (es)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7680882B2 (en) * 2007-03-06 2010-03-16 Friendster, Inc. Multimedia aggregation in an online social network
CN105262605B (zh) 2014-07-17 2018-09-25 阿里巴巴集团控股有限公司 一种获取本地信息的方法、装置及系统
CN107818020B (zh) * 2016-09-12 2021-04-27 平安科技(深圳)有限公司 参数传递方法和装置
US11567742B2 (en) * 2016-12-29 2023-01-31 Atlassian Pty Ltd. Method, apparatus, and computer program product for generating updated network application interfaces
CN109948025B (zh) * 2019-03-20 2023-10-20 上海古鳌电子科技股份有限公司 一种数据引用记录方法
US11100511B1 (en) * 2020-05-18 2021-08-24 Capital One Services, Llc Application-based point of sale system in mobile operating systems
CN112764942A (zh) * 2020-12-28 2021-05-07 北京五八信息技术有限公司 跨应用通信的方法、跨应用通信的装置及电子设备

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6308212B1 (en) * 1998-05-29 2001-10-23 Hewlett-Packard Company Web user interface session and sharing of session environment information
US6615253B1 (en) * 1999-08-31 2003-09-02 Accenture Llp Efficient server side data retrieval for execution of client side applications
US20080281969A1 (en) * 2000-12-15 2008-11-13 Horton John C Controlling access to versions of application software by a server, based on site ID
US8051143B2 (en) * 2005-10-14 2011-11-01 Oracle International Corporation Sharing sessions between web-based applications
US8185737B2 (en) * 2006-06-23 2012-05-22 Microsoft Corporation Communication across domains
US20110066971A1 (en) * 2009-09-14 2011-03-17 Babak Forutanpour Method and apparatus for providing application interface portions on peripheral computing devices
CN101799821B (zh) * 2010-02-11 2013-01-02 北京易路联动技术有限公司 一种通过微件实现网页应用的方法及系统
CN102118504B (zh) * 2011-02-28 2014-12-10 中兴通讯股份有限公司 移动终端浏览器调用本地应用的方法及装置
US20120272178A1 (en) * 2011-04-21 2012-10-25 Opera Software Asa Method and device for providing easy access in a user agent to data resources related to client-side web applications
CN102819451B (zh) * 2011-06-09 2015-08-19 财付通支付科技有限公司 一种浏览器插件调用方法及系统
CN103179159B (zh) * 2011-12-22 2015-11-04 腾讯科技(深圳)有限公司 一种处理第三方应用的方法和终端浏览器

Also Published As

Publication number Publication date
CN104040538B (zh) 2017-06-06
EP2937790A1 (en) 2015-10-28
EP2937790A4 (en) 2016-03-09
EP2937790B1 (en) 2017-09-06
WO2014094240A1 (zh) 2014-06-26
EP3296891A2 (en) 2018-03-21
EP3296891A3 (en) 2018-07-04
CN104040538A (zh) 2014-09-10
US20150271245A1 (en) 2015-09-24

Similar Documents

Publication Publication Date Title
ES2644250T3 (es) Procedimiento, aparato y sistema de interacción entre aplicaciones web
JP6898452B2 (ja) データ取得方法およびデバイス
CN114008994B (zh) 一种代理服务器接收从客户端到网络服务器的请求和与所述请求相对应的从所述网络服务器到所述客户端的响应的方法及系统
US9305174B2 (en) Electronic clipboard protection
JP4938128B2 (ja) 電子トークンとリモートウェブ・サーバとの間の通信を管理運営する方法
CN107431621A (zh) 采用输入标记的可信二进制的二进制转换
CN109598140A (zh) 一种网页信息的保护方法和装置
CN104834588B (zh) 检测常驻式跨站脚本漏洞的方法和装置
WO2019085290A1 (zh) 测试前置实现方法、装置、终端设备及存储介质
ES2331727T3 (es) Sistema para proporcionar el acceso a los servicios de datos de red.
CN112925589B (zh) 扩展接口的调用方法及装置
CN113452613B (zh) 获取页面路由地址的方法、装置、电子设备及存储介质
US20150127771A1 (en) Method and Apparatus
CN112887440A (zh) 一种ip地址管理方法和装置
CN114416169A (zh) 基于微前端的数据处理方法、介质、装置和计算设备
CN113849562A (zh) 一种接入外部服务系统的方法和装置
US9405933B2 (en) Secure access to running client application features from a browser application
WO2017167051A1 (zh) 一种调用文件方法及装置
CN117134927A (zh) 一种基于Kong网关的登录校验方法及相关设备
KR100924076B1 (ko) 웹브라우저와 운영체제에 독립적인 인터넷 애플리케이션구현방법
Pappas et al. CloudFence: Enabling users to audit the use of their cloud-resident data
US8082487B2 (en) Method to prevent access of web applications from bookmarked links
CN111177660B (zh) 一种开放平台脚本代码的权限校验方法
CN112612984A (zh) 一种跨域转发代理的方法及装置
CN112579190A (zh) 网页内嵌应用交互方法及装置