Vytvoření vlastního dialogového okna vzdáleného připojení

Automaticky přeloženo z Deepl

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í:
blank

A konečně toto je sloučená struktura klientské aplikace:
blank

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!

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.