Server multipli, risorse locali condivise

Tradotto automaticamente da Deepl

Può capitare che gli utenti debbano connettersi a molte istanze della stessa applicazione server unificata. Quando ciò accade, l’applicazione client unita scarica tante risorse locali quante sono le connessioni al server. Ma se la cartella Risorse del server è enorme, questo può comportare un notevole dispendio di tempo, volume e rete! Fortunatamente, 4D v18 R5 ha una soluzione per questo scenario!

Collegando l’applicazione remota a diversi server, come descritto nell’immagine precedente, si ottiene una cartella Risorse locale nel sistema:

blank

Invece di utilizzare la cartella Risorse del server, che richiede molto tempo, si ha la possibilità di condividere la stessa cartella Risorse locale tra tutti questi server strettamente identici.

Applicazioni legacy REMOTE

Per condividere la cartella Risorse locale è disponibile una nuova chiave buildApp:

<BuildApp>
<CS>
<NomeClientServerSystemFolder>myApp</NomeClientServerSystemFolder>

Quando ci si connette a un server, le informazioni sul server vengono sostituite dalla stringa impostata durante la creazione dell’applicazione. Abbiamo mantenuto la chiave finale per consentire di utilizzare tutte le applicazioni remote che si desidera sullo stesso computer. La cartella locale Resources ha ora questo aspetto:

blankÈ sempre possibile connettersi al server utilizzando la finestra di dialogo di login integrata. In questo caso, la cartella cache utilizzata non è più quella composta dalle informazioni personalizzate (nome dell’applicazione, IP e porta), ma quella impostata al momento della creazione dell’applicazione.

REMOTO in esecuzione DIALOGO DI CONNESSIONE PERSONALIZZATO

In questo post abbiamo appreso come utilizzare un database di connessioni al posto della tradizionale finestra di dialogo di connessione 4D nelle applicazioni remote unite. Il comportamento si basa sull’utilizzo di un file 4DLink personalizzato con il comando OPEN DATABASE.

È possibile definire il nome della radice delle risorse locali utilizzando la nuova chiave cache_folder_name nel file 4DLink.

Utilizzando lo stesso esempio del post precedente, ecco lo snippet di codice di una finestra di dialogo per la selezione del server dove Form.selectedServer contiene le informazioni sul server 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("server.4dlink")
$link .setText($xml)
OPEN DATABASE ($link.platformPath)
End if

Tenere presente

Se modificate il vostro pacchetto di applicazioni server, l’aggiornamento automatico delle risorse locali verrà eseguito per ogni diverso pacchetto. Ma finché tutti i pacchetti dell’applicazione server sono rigorosamente identici, le risorse locali vengono scaricate solo quando sono necessarie: alla prima connessione al server!

Avatar
- Product Owner -Damien Fuzeau è entrato a far parte del team 4D Product nel febbraio 2019. In qualità di Product Owner, si occupa di scrivere le storie degli utenti e di tradurle in specifiche funzionali. Il suo lavoro consiste anche nell'assicurarsi che le implementazioni delle funzionalità fornite soddisfino le esigenze dei clienti.Damien si è laureato all'Università di Nantes in ingegneria del software. Ha trascorso più di 23 anni nella sua precedente azienda, prima come sviluppatore (scoprendo 4D nel 1997), poi come responsabile dell'ingegneria e architetto software. Questa azienda è un partner OEM di 4D e ha distribuito software aziendali basati su 4D per migliaia di utenti, su centinaia di server. Damien è quindi abituato allo sviluppo e alla distribuzione di 4D in un contesto multilingue.