Además de las manipulaciones explicadas en el vídeo, también debe tener en cuenta que:
El uso en modo cliente/servidor es muy simple.
Los triggers se ejecutan en el servidor.
No debe utilizar los comandos que interactúan con el usuario (ALERT, DIALOG, CONFIRM, Request, etc.) ya que no hay nadie en frente del servidor para validarlos, sobre todo cuando el servidor se ejecuta como un servicio.
Podemos ejecutar procesos en el servidor (procedimientos almacenados).
En este vídeo, vamos a aprender a utilizar una base en modo cliente/servidor.
Hasta ahora, hemos estado programando en modo mono usuario; ahora vamos a ver cómo funciona el modo cliente/servidor:
Salimos de 4D
Tomamos la misma base y la lanzamos en el servidor
El servidor se inicia y vemos que en este momento tenemos 0 usuarios
Iniciamos la máquina cliente
Nos conectamos a un servidor 4D
Elegimos la base de datos que nos interesa de la lista de bases publicadas
Y vemos que en modo cliente:
Tenemos la misma interfaz y los mismos contenidos que antes
Podemos mostrar los técnicos, las intervenciones
Y realizar todas las mismas operaciones
Como 4D es multiplataforma, el mismo servidor puede distribuir información a los clientes Mac y a los clientes Windows:
Pasamos a Windows
Iniciamos 4D.exe
Nos conectamos al mismo servidor
Y tenemos la misma interfaz y los mismos datos.
Podemos modificar una intervención en Windows, e inmediatamente veremos las mismas modificaciones en Mac y viceversa.
El servidor también gestiona automáticamente los conflictos de acceso a los registros. Si estamos editando un registro de un técnico y queremos abrir el mismo registro en otra máquina cliente:
Un mensaje indica que el registro ya está en uso
Y especifica el usuario, la estación de trabajo y el proceso en cuestión.
Esto en cuanto a los datos en modo cliente/servidor.
Lo que pasa es que nuestro desarrollo (tablas, formularios, métodos, etc.) son también los datos: estos son los datos del programador.
El servidor gestiona también el impacto de los cambios realizados en diferentes máquinas, así como también el bloqueo de los registros "programador".
Aquí, el formulario de entrada [Intervention] está abierto, si pasamos a Windows y terminamos, abre el mismo formulario de entrada [Intervention] pero precisa que otro usuario está trabajando en él. Si presionamos OK, un candado indica que el formulario está siendo utilizado en otra máquina.
Si cerramos el formulario en la otra máquina y volvemos a Windows, podemos desbloquear el formulario haciendo clic en el candado y luego podremos editarlo.
El mismo principio aplica a la estructura:
Vamos a cerrar todo en Mac
Abrir de nuevo la estructura
Y así tenemos 2 estructuras idénticas
Si tomamos la tabla [Technicians] y volvemos la relación directa, podemos ver automáticamente el cambio en Windows en el fondo.
Esto significa que un equipo puede desarrollar de manera simultánea, ya que tenemos acceso a:
la estructura
los métodos
los formularios
y a todas las herramientas disponibles para los desarrolladores.
Naturalmente, los cambios realizados en modo cliente/servidor pueden utilizarse en modo mono usuario, ya que sigue siendo la misma estructura y los mismos datos.
Este enfoque rápido le permite ver que es bastante fácil de desarrollar, ya sea en un entorno mono usuario o directamente en varios equipos en modo cliente-servidor.