Více serverů, jeden sdílený místní prostředek

Automaticky přeloženo z Deepl

V některých případech se může stát, že se uživatelé budou muset připojit k mnoha instancím stejné sloučené serverové aplikace. V takovém případě sloučená klientská aplikace stáhne tolik místních prostředků, kolik je připojení k serveru. Pokud je však složka zdrojů vašeho serveru obrovská, může to znamenat značnou časovou, objemovou a síťovou zátěž! Naštěstí má 4D v18 R5 pro tento scénář řešení!

Připojení vaší vzdálené aplikace k několika serverům, jak je popsáno na výše uvedeném obrázku, vede k získání této místní složky zdrojů v systému:

blank

Namísto časově náročné složky Prostředky na serveru máte možnost sdílet stejnou místní složku Prostředky mezi všemi těmito striktně stejnými servery.

Starší aplikace REMOTE

Pro sdílení místní složky Resources máte k dispozici nový klíč buildApp:

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

Při připojení k serveru se informace o serveru nahradí řetězcem, který jste nastavili při sestavování aplikace. Poslední klíč jsme ponechali, abyste mohli na jednom počítači používat libovolný počet vzdálených aplikací. Místní složka Resources nyní vypadá takto:

blankK serveru se můžete kdykoli připojit pomocí vestavěného přihlašovacího dialogu. V tomto případě se již nepoužívá složka mezipaměti složená z vašich vlastních informací (název aplikace, IP a port), ale složka nastavená při sestavování aplikace.

REMOTE spuštění DIALOGU pro připojení CUSTOM

V tomto příspěvku na blogu jsme se naučili, jak ve sloučených vzdálených aplikacích používat databázi připojení místo staršího dialogu připojení 4D. Chování je založeno na použití vlastního souboru 4DLink s příkazem OPEN DATABASE.

V souboru 4DLink můžete definovat kořenový název místních zdrojů pomocí nového klíče cache_folder_name.

Na stejném příkladu jako v dříve zmíněném příspěvku na blogu uvádíme úryvek kódu z dialogového okna pro výběr serveru, kde Form.selectedServer obsahuje informace o serveru 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

Mějte na paměti

Pokud změníte balíček serverové aplikace, provede se automatická aktualizace místních zdrojů pro každý jiný balíček. Pokud jsou však všechny vaše balíčky serverových aplikací striktně identické, místní zdroje se stahují pouze v případě potřeby: při prvním připojení k serveru!

Avatar
• Product Owner • Damien Fuzeau se připojil k týmu 4D Product v únoru 2019. Jako Product Owner má na starosti psaní uživatelských příběhů a jejich následný převod do funkčních specifikací. Jeho úkolem je také zajistit, aby dodávané implementace funkcí vyhovovaly potřebám zákazníků. Damien vystudoval softwarové inženýrství na University of Nantes. Ve své bývalé společnosti strávil více než 23 let, nejprve jako vývojář (objevil 4D v roce 1997) a později jako technický manažer a softwarový architekt. Tato společnost je partnerem 4D OEM a nasadila obchodní software založený na 4D pro tisíce uživatelů na stovkách serverů. Damien je tedy zvyklý na 4D vývoj a nasazení ve vícejazyčném kontextu.