En el presente artículo te mostraré cómo puedes crear una aplicación master que permita llamar a varias aplicaciones dentro de tu Espacio de Trabajo ingresando una única vez al inicio de sesión, ya que compartirán la misma Cookie.
De forma predeterminada, APEX asignará a la cookie un nombre estándar. Nosotros los desarrolladores no necesitamos especificar nada para que esto ocurra; es completamente automático. Esto le permite a APEX mantener el seguimiento de la sesión para cada una de las aplicaciones y que la misma sea diferente y fácilmente identificable.
Empecemos creando la aplicación master para luego pasar a la creación de tres aplicaciones hijas para nuestro ejemplo.
Crear Aplicación Master
Para comenzar, necesitamos crear una aplicación que la he llamado Aplicación Master (ID 120) que tiene una Página en blanco y he agregado 3 botones que serán los que llamaran a cada una de las aplicaciones:
BOTON1: Aplicación A
BOTON2: Aplicación B
BOTON3: Aplicación C
También lo puedes hacer usando Listas ya que tienen diferentes tipos de plantillas que podemos usar.
El estilo de los botones lo aplicas desde las opciones de apariencia del botón en la sección de propiedades de cada botón, no lo muestro porque no es motivo importante para el propósito de este artículo.
Una nota importante es que para que no se vea el sidebar con los elementos de menú (en el costado izquierdo), que en este caso solo se veía “Inicio” lo he ocultado de esta manera:
Desde el Diseñador de Páginas de la Pagina 1 de Inicio, vamos al panel de propiedades y en la sección Menú de Navegación, activamos el botón, en “Sustituir Nivel de Interfaz de Usuario”, de esta forma se muestra una lista de selección llamada Lista el cual seleccionamos la opción “No mostrar Lista de Menú de Navegación”.
Cuando ejecutamos la página vemos el siguiente resultado:
Crear Aplicaciones Hijas
Ahora vamos a crear tres aplicaciones adicionales en nuestro Espacio de Trabajo.
Para poder Identificarlas he cambiado el fondo de la página de Inicio de Sesión:
- Aplicación A corresponde al número de aplicación 121 en mi Espacio de Trabajo.
- Aplicación B corresponde al número de aplicación 122 en mi Espacio de Trabajo.
- Aplicación C corresponde al número de aplicación 123 en mi Espacio de Trabajo.
Ingresamos en la aplicación Master (120) y realizamos lo siguiente:
Ingresamos a la página de inicio de la aplicación, luego hacemos clic en el BOTON1 y seleccionamos en la seccion Comportamiento:
Acción: Redirigir a Página en Otra Aplicacion
Destino: seleccionamos en la ventana modal: Aplicacion: 121, Página: 1. Hacemos lo mismo para el BOTON2 que sería Aplicacion: 122 y Página: 1 y para el BOTON3, sería para Aplicación: 123 y Página: 1.
Para acceder a cada una de ellas siempre nos pide colocar nuestras credenciales.
Como mencioné antes el objetivo de este artículo es que podamos abrir la aplicación Master ingresando nuestras credenciales y que luego cada botón llame a cada una de estas aplicaciones hijas y no nos vuelva a pedir el inicio de sesión, una consideración a tener en cuenta es que las aplicaciones deben estar todas en el mismo Espacio de Trabajo.
Configuraciones en la Aplicación Master
Ingresamos a la aplicación master, en mí caso es la número 120 y hacemos clic en Componentes Compartidos.
En la sección Seguridad hacemos clic en “Esquemas de Autenticación”.
Se mostrará el esquema que estamos usando actualmente, que es Cuentas de Oracle APEX.
Hacemos clic en el enlace para editarlo:
Hacemos clic en la sección “Uso compartido de sesión”, aquí se define qué tipo de cookie de sesión debe utilizar esta aplicación. Puede utilizar este atributo para compartir la misma sesión de Oracle APEX entre varias aplicaciones de un espacio de trabajo. Con el uso compartido de sesión, los usuarios pueden navegar perfectamente entre aplicaciones sin necesidad de iniciar sesión varias veces. Tenemos 3 opciones.
- Aplicación (no de uso compartido): la cookie de sesión es específica de esta aplicación. Las sesiones no se comparten con otras aplicaciones.
- Uso compartido de espacio de trabajo: la sesión se comparte con otras aplicaciones de este espacio de trabajo si estas también tienen tipo de cookie definido en Uso compartido de espacio de trabajo.
- Personalizado: defina atributos de cookie de sesión personalizados.
Seleccionamos Uso Compartido de espacio de trabajo y luego hacemos clic en el botón Aplicar Cambios.
Configuraciones en las Aplicaciones Hijas
Realizamos lo mismo para la Aplicación A y verificamos que al acceder a la aplicación Master nos pide inicio de sesión, ingresamos las credenciales y luego al hacer clic en el botón para ir a la Aplicación A accedemos sin problemas, pero si hacemos clic en el boton de Aplicación B nos pedirá el ingreso de las credenciales.
Para finalizar realizamos lo mismo para la Aplicación B y Aplicación C, indicando en Componentes Compartidos –> Esquema de Autenticación. Seleccionar Cuentas de Oracle APEX, y seleccionar la ficha Uso compartido de sesión como Tipo: Uso compartido de espacio de trabajo.
Visualizar los Resultados
Vamos a cerrar todas las aplicaciones que tengamos abiertas en nuestro Espacio de Trabajo y abrimos la Aplicación Master, nos va a pedir el ingreso de nuestras credenciales.
Aparece la página de inicio de la aplicación con los tres botones que acceden a cada una de las aplicaciones hijas.
De esta forma muy sencilla podemos tener una Aplicación Master que contenga por ejemplo diferentes aplicaciones referidas a distintos departamentos de nuestra organización por ejemplo, Ventas, Compras, Finanzas, Inventario, Facturación, etc. Y el usuario sólo necesita ingresar una sola vez sus credenciales.
Importante destacar estamos usando el esquema de autenticación de Oracle APEX y las aplicaciones deben estar todas en el mismo Espacio de Trabajo.
Será hasta un próximo artículo!!!


















