Nuevo objeto de sesión remota 4D con conexión Cliente/Servidor y procedimiento almacenado

En las aplicaciones 4D, existen cuatro tipos de sesiones: la sesión remota 4D, la sesión de procedimiento almacenado, la sesión móvil y la sesión Web.

El comando Session ya devuelve las sesiones Web o móviles. Esto le da acceso a una gran cantidad de información sobre la sesión y a un objeto compartido por todos los procesos de la sesión.

En 4D 20 R5, el comando Session se ha extendido a la conexión Cliente/Servidor y al procedimiento almacenado.

HDI – Sesión remota

Sesión 4D

Tipo diferente

Las definiciones de una sesión de procedimiento almacenado o de una sesión remota son:

Sesión de procedimiento almacenados

Cuando se llama a un método con el comando Execute on server 4D crea un proceso «Stored procedure». Todos los procesos «Stored procedure» pertenecen a la misma sesión, que está dedicada a los procedimientos almacenados.

Sesión remota

Los métodos con la propiedad «Ejecutar en el servidor» se ejecutan en el proceso cliente gemelo en el servidor. Todos los procesos cliente gemelos se ejecutan en la misma sesión.

Clase de sesión

Para una sesión remota o una sesión de procedimiento almacenado, el comando Session devuelve un objeto 4D.Session que contiene las siguientes propiedades:

  • id – Identificador único de la sesión
  • info – Toda la información sobre la sesión
  • storage – Un objeto compartido que puede utilizarse para almacenar información disponible para todos los procesos de la sesión remota
  • userName – El nombre de usuario asociado a la sesión

 

Las mismas funciones de la sesión Web están disponibles para escribir código genérico. Pero no hacen nada y devuelven siempre el mismo valor. Le invitamos a consultar la documentación de la clase Session.

Ejemplo:

{
   "id": "B022A91187EF46C6B4D58C2A9BDE3C91",
   "info":{
        "tipo": "remoto",
        "userName": "Designer",
        "machineName": "John Computer",
        "systemUserName": "John Doe",
        "IPAddress": "localhost",
        "hostType": "mac",
        "creationDateTime": "2024-03-27T10:11:31Z",
        "state": "active",
        "ID": "B022A91187EF46C6B4D58C2A9BDE3C91",
        "persistentID": "24336199BADF4BFE945B109E565D1189"
    },
    "storage": {
        "settings": {
            "texto": "test"
        }
    },
   "userName": "Designer"
}

Compartir datos entre procesos

Cuando se crea una nueva sesión, la propiedad «Session.storage» se instanciará con un objeto compartido vacío. A continuación, podrá almacenar los datos que desee compartir entre procesos de la misma sesión.

Use (Session.storage)
Session .storage.settings:=New shared object("property"; $value; "property2"; $value2)
End use

Casos de uso

Proceso de autenticación y verificación de usuarios

Cuando un cliente se conecta al servidor, se inicia un proceso de autenticación y verificación del usuario. Por ejemplo, puede consistir en introducir en la aplicación un código enviado por correo electrónico o SMS. A continuación, se añade la información del usuario al almacenamiento de la sesión, lo que permite al servidor identificar al usuario. De esta forma, el servidor 4D puede acceder a la información del usuario para todos los procesos del cliente, lo que permite escribir código personalizado según el rol del usuario (por ejemplo, gerente, RRHH, etc.).

Restringir datos

Con este nuevo tipo de sesión, puede restringir los datos mostrados al usuario conectado. Por ejemplo, en una aplicación de gestión de clientes, el comercial sólo tiene acceso a los datos de sus clientes. Toda la información sobre esta nueva función se explica en este blog.

Siguiente

No dude en unirse a nosotros en el Foro 4D si tiene alguna pregunta o desea compartir su experiencia o casos de uso.

Vanessa Talbot
• Propietario de producto - Vanessa Talbot llegó al equipo de 4D Program en junio de 2014. Como Propietario de producto, está a cargo de escribir las historias de los usuarios y luego traducirlas a especificaciones funcionales. Su papel es también asegurarse de que la implementación de la funcionalidad entregada cumpla con las necesidades del cliente. Desde su llegada, ha trabajado en la definición de funcionalidades claves en 4D. Ha trabajado en la mayoría de las nuevas funcionalidades de multi hilo apropiativo y también en un tema muy complejo: la nueva arquitectura para la aplicación engined. Vanessa es licenciada por Telecom Saint-Etienne. Comenzó su carrera en el Instituto de Investigación Criminal como desarrolladora del departamento audiovisual. También ha trabajado en medios de comunicación y en el ámbito médico como experta en soporte técnico, producción y documentación de nuevas funcionalidades.