Varios servidores, un recurso local compartido

Traducido automáticamente de Deepl

Puede haber ocasiones en las que se necesite que los usuarios se conecten a muchas instancias de la misma aplicación de servidor fusionado. Cuando esto ocurre, la aplicación cliente fusionada descarga tantos recursos locales como conexiones tenga el servidor. Pero si la carpeta de recursos de su servidor es enorme, esto puede suponer un gran gasto de tiempo, volumen y red. ¡Afortunadamente, 4D v18 R5 tiene una solución para este escenario!

Conectando su aplicación remota a varios servidores, como se describe en la imagen anterior, se obtiene esta carpeta local de Recursos en el sistema:

blank

En lugar de utilizar la carpeta de Recursos del servidor, que consume mucho tiempo, tiene la posibilidad de compartir la misma carpeta de Recursos local entre todos estos servidores estrictamente idénticos.

Aplicaciones heredadas de REMOTE

Tiene a su disposición una nueva clave buildApp para compartir la carpeta local de Recursos:

<BuildApp>
<CS>
<ClientServerSystemFolderName> myApp</ClientServerSystemFolderName>

Cuando se conecta a un servidor, la información del servidor se sustituye por la cadena que estableciste al construir la aplicación. Hemos mantenido la clave final para permitirle utilizar tantas aplicaciones remotas como desee en el mismo ordenador. La carpeta local de Recursos tiene ahora este aspecto:

blankSiempre puede conectarse al servidor utilizando el diálogo de inicio de sesión incorporado. En este caso, la carpeta de caché que se utiliza ya no es la que se compone de su información personalizada (nombre de la aplicación, IP y puerto), sino la que se estableció cuando se construyó la aplicación.

Ejecución remota del DIALOGO de conexión personalizado

En esta entrada del blog, aprendimos cómo utilizar una base de datos de conexión en lugar del diálogo de conexión heredado de 4D en sus aplicaciones remotas fusionadas. El comportamiento se basa en el uso de un archivo 4DLink personalizado con el comando OPEN DATABASE.

Puede definir el nombre raíz de los recursos locales utilizando la nueva clave cache_folder_name en el archivo 4DLink.

Usando el mismo ejemplo que en la entrada del blog mencionada anteriormente, aquí está el fragmento de código de un diálogo de selección de servidor donde Form.selectedServer contiene la información del servidor 4D:

If (Form.selectedServer#Null)
C_TEXT ($xml)
C_OBJECT ($link)
$xml :="<?xml version="1.0\" encoding="UTF-8\"?><database_shortcut is_remote="true" server_database_name="FA_RemoteConnexionServ" server_path=""+Form.selectedServer.IP+": "+Form.selectedServer.portID+"\" cache_folder_name=""+Form.selectedServer.customCacheFolder+"\"/>"
$link :=Folder(fk user preferences folder).file ("servidor.4dlink")
$link .setText($xml)
OPEN DATABASE ($link.platformPath)
End if

Tenga en cuenta que

Si modifica su paquete de aplicaciones de servidor, la actualización automática de los recursos locales se realizará para cada paquete diferente. Pero mientras todos sus paquetes de aplicaciones de servidor sean estrictamente idénticos, los recursos locales se descargan sólo cuando se necesitan: ¡en la primera conexión al servidor!

Avatar
• Propietario de producto - Damien Fuzeau se ha unido al equipo de 4D Product en febrero de 2019. Como Propietario de producto, está a cargo de escribir historias de usuario, y luego traducirlas a especificaciones funcionales. Su trabajo también implica asegurarse de que las implementaciones de funcionalidades entregadas estén cumpliendo con las necesidades del cliente. Damien es licenciado en ingeniería de software por la Universidad de Nantes. Estuvo más de 23 años en su anterior empresa, primero como desarrollador (descubriendo 4D en 1997), y más tarde como gerente de ingeniería y arquitecto de software. Esta compañía es un Partner OEM de 4D y ha desplegado softwares empresariales basados en 4D para miles de usuarios, en cientos de servidores. Por lo tanto, Damien está acostumbrado al desarrollo y despliegue de 4D en un contexto multilingüe.