4D v16

Configuración de la base de datos 4D

Inicio

 
4D v16
Configuración de la base de datos 4D

Configuración de la base de datos 4D    


 

 

Por razones de seguridad y rendimiento, el acceso a las tablas, datos y métodos de la base 4D a través de peticiones 4D Mobile (servidores Wakanda) debe estar activado y expresamente autorizado. Debe configurar tres niveles de acceso:

  • inicio de los servicios 4D Mobile,
  • control de accesos 4D Mobile (opcional pero recomendado)
  • la exposición de cada objeto de la base (tabla, atributo o método de proyecto) a los servicios 4D Mobile debe ajustarse individualmente de acuerdo a sus necesidades. Por defecto:
    • Todas las tablas y todos los atributos son accesibles en 4D Mobile,
    • Los métodos proyecto no son accesibles en 4D Mobile.

Por defecto, 4D Server v14 no responde a las peticiones 4D Mobile. Debe activar los servicios 4D Mobile para que estas solicitudes sean procesadas y así se puede utilizar el conector Wakanda/4D

Nota: los servicios 4D Mobile utilizan el servidor HTTP de 4D. Por lo que debe asegurarse de que el servidor web 4D o 4D Server esté iniciado.

Para activar los servicios 4D Mobile:

  1. En las propiedades de la base, vaya a la página Web/4D Mobile
  2. Marque la opción Activar los servicios 4D Mobile:

    Se muestra el mensaje de advertencia "Atención, revise los privilegios de acceso" para llamar su atención sobre el hecho de que cuando los servicios 4D Mobile estén activos, por defecto el acceso a los objetos de la base es libre, mientras no se haya definido control sobre el acceso 4D Mobile (vía REST) (ver abajo).

El control de accesos 4D Mobile le permite autorizar o no la apertura de una sesión del lado 4D tras una petición Wakanda.

Como parte de un acceso 4D Mobile, los identificadores controlados son el nombre y la contraseña enviados durante la petición de conexión efectuada por:

A nivel global, hay dos maneras de controlar los accesos 4D Mobile:

Estos dos modos de control son excluyentes: si se define Método base On 4D Mobile Authentication, el control de accesos automáticos por contraseñas de 4D se desactiva.

Advertencia: si ninguno de estos dos modos de control están activos, los accesos a la base de datos a través de 4D Mobile siempre se aceptan (no recomendado).

En 4D, puede especificar el grupo de usuarios 4D que está autorizado para establecer el enlace al servidor 4D de la aplicación Wakanda

Para designar la cuenta de inicio de sesión:

  1. En las Propiedades de la base, muestre la página Web/4D Mobile.
  2. Seleccione el grupo a utilizar en el menú "Lectura/Escritura" del área de acceso:

    Por defecto, el menú muestra <Cualquiera>, lo que significa que los accesos 4D Mobile está abiertos a todos los usuarios.

Una vez que haya especificado un grupo, sólo una cuenta de usuario 4D que pertenezca a este grupo se puede utilizar para acceder a 4D por medio de una petición Wakanda, en particular, para abrir una sesión en el servidor 4D utilizando el método mergeOustideCatalog() por ejemplo. Si se utiliza una cuenta que no pertenece a este grupo, 4D devuelve un error de autenticación al remitente de la solicitud.

Tenga en cuenta que para que es ta configuración surta efecto:

  • el sistema de contraseñas de 4D debe estar activo (se debe haber asignado una contraseña al Diseñador),
  • Método base On 4D Mobile Authentication no debe haber sido definido. Si existe, 4D no tiene en cuenta los valores de acceso definidos en las propiedades de la base.

El Método base On 4D Mobile Authentication permite controlar de forma personalizada la apertura de las sesiones 4D Mobile en 4D. Cuando está definido, es llamado automáticamente por 4D o 4D Server cuando una petición 4D Mobile es recibida por el servidor HTTP.

Cuando la solicitud de apertura de sesión 4D Mobile proviene de Wakanda Server (caso general), los identificadores de conexión están en el encabezado de la solicitud. El método base On 4D Mobile Authentication se llama para que pueda evaluar estos identificadores. Puede utilizar la lista de usuarios de la base 4D o puede utilizar su propia tabla de usuarios.

Para mayor información, consulte la descripción Método base On 4D Mobile Authentication en el manual de Lenguaje 4D.

Una vez que los servicios 4D Mobile están habilitados en la base 4D, por defecto una sesión 4D Mobile puede acceder a todas las tablas y campos de la base de datos, y por lo tanto utilizar sus datos. Por ejemplo, si su base contiene una tabla [Empleados], es posible escribir, del lado Wakanda Server:

var emp=ds.Employee.query("name == 'Martin'"); 
    //Devuelve todos los empleados cuyo nombre sea 'Martin'

Nota: las tablas y/o los campos 4D que tienen el atributo "Invisible" también son expuestos en 4D Mobile por defecto.

El servidor Wakanda también puede acceder a los métodos proyecto de la base 4D. Sin embargo, por defecto, este acceso está deshabilitada por razones de seguridad.

Si desea personalizar la lista de objetos de la base accesibles en 4D Mobile, debe:

  • desactivar la exposición de cada tabla y/o campo que desee ocultar,
  • permitir la exposición de cada método proyecto al que quiera dar acceso.

Cuando una petición 4D Mobile intenta acceder a un recurso no autorizado (tabla o método de proyecto), 4D devuelve un error.

Por defecto, todas las tablas se exponen en 4D Mobile.

Por razones de seguridad, es posible que desee solamente exponer ciertas tablas de su base a llamadas 4D Mobile. Por ejemplo, si creó una tabla [Usuarios] que guarda nombres de usuario y contraseñas, sería mejor no exponerla.

Para modificar la exposición 4D Mobile de una tabla:

  1. Visualice el Inspector de la tabla en el editor de estructura y seleccione la tabla a modificar
    Por defecto, la opción Exponer con el servicio 4D Mobile está seleccionada:
  2. Desactive la opción Exponer con el servicio 4D Mobile.
    O
    Marque la opción para exponer una tabla.
    Haga esto para cada tabla  cuya exposición necesite modificar.

Por defecto, todos los campos están expuestos en 4D Mobile.

Puede que no quiera exponer ciertos campos de las tablas a través de 4D Mobile. Por ejemplo, puede que no desee exponer el campo [Empleados]Salario.

Para modificar la exposición 4D Mobile para un campo:

  1. Visualice el Inspector del campo en el editor de estructura y seleccione el campo a modificar.
    Por defecto, la opción Exponer con el servicio 4D Mobile está marcada:
  2. Desmarque la opción Exponer con el servicio 4D Mobile para el campo.
    O
    Marque la opción para exponer un campo que no estaba seleccionado.
    Repita esto para cada campo cuya exposición necesite ser modificada.

Tenga en cuenta que para que un campo para sea accesible por 4D Mobile, su tabla también debe serlo. Si la tabla no está expuesta, ninguno de sus campos lo estará, sin importar su estado. Debido a esto, usted puede temporalmente activar/desactivar la exposición 4D Mobile de una tabla, mientras que los valores individuales de la exposición de cada campo se mantienen sin cambios.

Por defecto, no hay métodos proyecto expuestos en 4D Mobile.

Es posible que desee volver ciertos métodos proyecto de su base 4D accesibles mediante 4D Mobile. Para hacerlo, debe seleccionar la opción correspondiente y definir el contexto de ejecución Wakanda del método.

Nota: si un grupo de acceso se asocia al método 4D, debe asegúrese de que el grupo 4D Mobile es parte de este grupo.

Para definir la exposición 4D Mobile para un método proyecto:

  1. Abra la caja de diálogo "Propiedades del método".
    Nota: puede acceder a la caja de diálogo de propiedades del método utilizando el menú contextual en la página "Métodos" del Explorador, o desde el menú Método/Propiedades del método... en el editor de métodos.
  2. Seleccione la opción Disponible a través de llamadas 4D Mobile:
  3. Defina el contexto de ejecución Wakanda del método proyecto por medio de los menús Tabla y Alcance.

    Estos ajustes son necesarios con el fin de respetar la lógica de Wakanda. Para obtener más información acerca de este punto, consulte la siguiente sección.
  4. Haga clic en Aceptar para validar los cambios.
    Los métodos proyecto disponibles a través de 4D Mobile se listan en la sección "Métodos 4D Mobile" del Explorador 4D (ver el párrafo “Explorador” más adelante).

Cuando declara un método proyecto disponible a través de peticiones 4D Mobile, debe declarar explícitamente su contexto de llamada utilizando los parámetros Tabla y Alcance:

  • Tabla: tabla a adjuntar al método proyecto. Este parámetro no está relacionado directamente a la utilización de los datos de la tabla, pero le permite designar el objeto clase de datos a través del cual desea acceder al método que utiliza el código JavaScript.
    El menú muestra la lista de tablas de la base expuestas en 4D Mobile. Si el método utiliza específicamente los datos de una tabla, puede seleccionar la tabla. Si el método no está relacionado a una sola tabla, puede utilizar cualquier tabla expuesta. O, una vez más, si sólo desea exponer los métodos correspondientes con la lógica empresarial de su aplicación 4D, puede crear y exponer una tabla dedicada, por ejemplo [4D MobileInterface] y asociar todos los métodos proyecto expuestos en 4D Mobile.
  • Alcance: rango de registros en los que el método se aplica. Esta declaración es necesaria porque, del lado Wakanda, los métodos son propiedades de objetos JavaScript y sólo se pueden llamar a través de estos objetos.
    Cada método 4D que está expuesto debe estar asociado explícitamente al contexto de la base donde se va a llamar: Tabla, Registro actual y Selección actual.
    • Tabla: esta opción indica que el método 4D se ejecutará utilizando todos los registros de la tabla designada.
      Del lado de Wakanda, el método será llamado en un objeto del tipo clase de datos, por ejemplo ds.MiTabla.MiMétodo.
    • Registro actual: esta opción indica que el método 4D será ejecutado utilizando el registro actual de la tabla designada.
      Del lado Wakanda, el método será llamado en un objeto de tipo Entidad, por ejemplo ds.MiTabla.all().MiMétodo.
    • Selección actual: esta opción indica que el método 4D será ejecutado utilizando la selección actual de registros de la tabla designada.
      Del lado de Wakanda, el método será llamado en un objeto del tipo Colección de entidades, por ejemplo ds.MiTabla.all().MiMétodo.

Atención: cuando cambia la exposición o el alcance de un método proyecto del lado 4D, hay que volver a cargar el modelo remoto del lado Wakanda para que estos cambios se tengan en cuenta.

Cuando los servicios 4D Mobile están habilitados, las tablas expuestas en 4D Mobile y los métodos proyecto adjuntos a ellas se muestran en la página "Métodos" del Explorador 4D en la sección Métodos 4D Mobile:

 
 



Ver también 

Configuración de la aplicación Wakanda

 
PROPIEDADES 

Producto: 4D
Tema: Configuración de la base de datos 4D

 
HISTORIA 

 
ARTICLE USAGE

4D Mobile ( 4D v16)