Potřebujete vytvořit vlastní dialogové okno připojení 4D? Máte zájem o připojení své klientské aplikace k různým serverům? To jsou dva scénáře, které vám 4D v18 umožňuje řešit. Tento příspěvek na blogu je určen pro vás, pokud chcete vytvořit vlastní dialog vzdáleného připojení a připojit jej ke sloučeným serverům 4D. Čtěte dál!
Proč bych si měl napsat vlastní dialog pro připojení?
Existuje několik případů použití pro úpravu vestavěného dialogu připojení 4D:
- PŘIZPŮSOBENÍ
Chcete si přizpůsobit standardní dialog pro vzdálené připojení k serveru.
- VÍCE DCEŘINÝCH SPOLEČNOSTÍ
Při nasazení aplikace a vytváření několika různých databází. Například jiná databáze pro každou dceřinou společnost skupiny. V databázi připojení můžete spravovat, ke kterým serverům a databázím se mohou uživatelé připojit a povolit jim přímé připojení.
- ARCHIVNÍ DATABÁZE
Dalším způsobem využití vlastního dialogu je volba, ke které archivní databázi fiskálního roku mohou uživatelé přistupovat.
- APLIKAČNÍ PORTÁL
Pokud nasadíte několik produktů a chcete, aby uživatelé používali jedinou „portálovou“ aplikaci pro připojení ke každému produktu.
Případ použití
Vydavatel softwaru má serverovou farmu umístěnou v cloudu, přičemž každý server odpovídá konkrétní obchodní potřebě. Dříve nasadil tolik vzdálených aplikací, kolik uživatelů mohlo k serverům přistupovat. Nyní mohou nasadit jedinou vzdálenou aplikaci pro všechny servery s „adresářovou“ databází. Pomocí požadavků HTTP nebo vzdálených datových úložišť odesílá každý server informace o svém stavu a připojení na „adresářový“ server. Připojená sloučená aplikace se pak může dotazovat na databázi adresáře, zobrazit seznam dostupných serverů a k jednomu z nich se připojit.
Jak to udělat?
VYTVOŘENÍ DATABÁZE PŘIPOJENÍ
Nejprve je třeba vytvořit databázi připojení obsahující vlastní dialogové okno připojení. Na adrese . OPEN DATABASE byl rozšířen tak, aby umožňoval připojení k serveru 4D. Vygenerujte soubor 4DLink obsahující umístění a port serveru a poté jej předejte jako parametr příkazu. Samostatná aplikace automaticky zastaví svůj kód a připojí se k serveru, čímž se stane typickou vzdálenou aplikací.
Zde je ukázka kódu z dialogu 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+"\"/>"
$link :=Folder(fk user preferences folder).file("server.4dlink")
$link .setText($xml)
OPEN DATABASE ($link.platformPath)
End if
Když je databáze připojení připravena, stačí sestavit zkompilovanou databázi.
SLOUČENÍ CÍLOVÉ DATABÁZE
Ke sloučeným serverům se mohou připojovat pouze sloučené klientské aplikace. Proto jsme v procesu sestavování aplikace vyvinuli nový mechanismus, který umožňuje vložit databázi připojení do sloučené klientské aplikace.
Vytvořili jsme nové klíče BuildApp, DatabaseToEmbedInClientWinFolder a DatabaseToEmbedInClientMacFolder, které obsahují cesty ke zkompilované databázi připojení. Při sestavování finální aplikace klient/server tak proces sestavení aplikace vloží zkompilovanou databázi připojení do klientské aplikace a změní její název.
Tato aplikace může běžet bez datového souboru nebo jakékoli licence. Pokud však datový soubor potřebujete, můžete soubor „Default Data.4DD“ umístit do složky „Default Data“ v blízkosti zkompilované struktury. V tomto případě se licence pro samostatnou sloučenou aplikaci integruje během procesu sestavování aplikace.
Jedná se o sloučenou strukturu klientské aplikace bez vložené databáze („legacy client“):
Toto je ukázka klíčů BuildApp pro vložení aplikace pro připojení:
<DatabaseToEmbedInClientMacFolder>
::connectionApp_Build:Compiled Database:connectionApp:
</DatabaseToEmbedInClientMacFolder>
Jedná se o zkompilovanou databázi připojení:
A konečně toto je sloučená struktura klientské aplikace:
JAK TO FUNGUJE?
Za běhu sloučená klientská aplikace otevře vestavěnou databázi připojení a poté umožní uživateli vybrat sloučený server, ke kterému se chce připojit. Pokud je použit výchozí datový soubor, je v režimu pouze pro čtení.
Všimněte si, že proces automatické aktualizace ze sloučeného serveru je stále k dispozici. Když se aplikace sloučeného připojení připojí k serveru, pokud její verze není v rozsahu serveru, spustí se automatická aktualizace stejně, jako kdyby šlo o standardní aplikaci sloučeného klienta!