V aplikacích 4D existují čtyři typy relací 4D Remote session, Stored Procedure session, Mobile session a Web session.
Příkaz Relace již vrací webové nebo mobilní relace. Získáte tak přístup k mnoha informacím o relaci a objektu sdíleném všemi procesy v relaci.
Ve verzi 4D 20 R5 byl příkaz Relace rozšířen o spojení Klient/Server a uloženou proceduru.
Relace 4D
Jiný typ
Definice relace uložené procedury nebo vzdálené relace jsou následující:
Relace uložených procedur
Při volání metody pomocí příkazu Execute on server 4D vytvoří proces „uložené procedury“. Všechny procesy „Uložené procedury“ patří do jedné relace, která je určena pro uložené procedury.
Vzdálená relace
Metody s vlastností „Spustit na serveru“ se provádějí ve dvojkovém klientském procesu na serveru. Všechny klientské procesy dvojčat jsou vykonávány ve stejné relaci.
Třída relace
Pro vzdálenou relaci nebo relaci uložené procedury vrací příkaz Session objekt 4D.Session obsahující následující vlastnosti:
- id – jedinečný identifikátor relace
- info – Všechny informace o relaci
- storage – Sdílený objekt, který lze použít k uložení informací dostupných všem procesům vzdálené relace.
- userName – Uživatelské jméno přiřazené relaci.
Pro zápis obecného kódu jsou k dispozici stejné funkce webové relace. Nic však nedělají a vracejí vždy stejnou hodnotu. Zveme vás k nahlédnutí do dokumentace třídy Session.
Příklad: Session je v současné době v provozu, a proto je možné ji používat jako relaci:
{ "id": "B022A91187EF46C6B4D58C2A9BDE3C91", "info":{ "type": "remote", "userName": "Designer", "machineName": "John Computer", "systemUserName": "John Doe", "IPAddress": "localhost", "hostType": "mac", "creationDateTime": "2024-03-27T10:11:31Z", "state": "active", "ID": "B022A91187EF46C6B4D58C2A9BDE3C91", "persistentID": "24336199BADF4BFE945B109E565D1189" }, "storage": { "settings": { "text": "test" } }, "userName": "Designer" }
Sdílení dat mezi procesy
Při vytváření nové relace se vlastnost „Session.storage“ instancuje s prázdným sdíleným objektem. Poté můžete do stejné relace uložit libovolná data, která chcete sdílet mezi procesy.
Use (Session.storage)
Session .storage.settings:=New shared object("property"; $value; "property2"; $value2).
End use
Případy použití
Proces ověřování a ověřování uživatele
Když se klient připojí k serveru, spustíte postup ověřování a ověřování uživatele. Může jít například o zadání kódu zaslaného e-mailem nebo SMS do aplikace. Poté přidáte informace o uživateli do úložiště relace, což serveru umožní identifikovat uživatele. Tímto způsobem má server 4D přístup k informacím o uživateli pro všechny klientské procesy, což umožňuje psát přizpůsobený kód podle role uživatele (např. manažer, personalista atd.).
Omezení dat
Pomocí tohoto nového typu relace můžete omezit data zobrazovaná připojenému uživateli. Například v aplikaci pro správu zákazníků má obchodní zástupce přístup pouze k údajům o svých zákaznících. Veškeré informace o této nové funkci jsou vysvětleny v tomto blogu.
Další
Neváhejte se k nám připojit na fóru 4D, pokud máte nějaké dotazy nebo se chcete podělit o své zkušenosti či případy použití.