I den typiska programserverkonfigurationen finns funktionsdefinitionen i samma system som programmets körbara filer. Funktioner kan dock skrivas för att köra kommandon i andra system. I den här konfigurationen kallas systemet som innehåller programmet för värddator för exekvering.
Funktionsdefinitionen kan finnas på sessionsservern eller i ett system som tillhandahåller funktions- och datatypstjänster åt sessionsservern, även kallat en databasserver eller databasvärd.
Funktionsdefinitioner använder fältet EXEC_HOST
för att ange var deras kommandon (EXEC_STRING) ska köras. Följande funktionsdefinition anger t ex att en xload-klient ska köras i systemet med värddatornamnet SysDDD:
ACTION XloadSysDDD { TYPE COMMAND EXEC_HOST SysDDD EXEC_STRING /usr/bin/X11/xload -label SysDDD }
Om fältet EXEC_HOST
anger fler än ett värddatornamn, försöker skrivbordet köra EXEC_STRING på alla värddatorer i tur och ordning tills det hittar en sträng som kan köra funktionen. Följande EXEC_HOST
-fält anger t ex att funktionen först ska försöka köra EXEC_STRING på SysDDD och, om detta inte går, försöka i SysEEE.
EXEC_HOST SysDDD,SYSEEE
Om fältet EXEC_HOST
inte anges för någon funktion får det standardvärdet %DatabaseHost%. Värdet på %DatabaseHost% hämtas från databassökvägen.
Anta att databasens sökväg har ändrats genom att följande rad har lagts till i /etc/dt/config/Xsession.d/0010.dtpaths:
DTSPSYSDATABASEHOSTS=SysAAA:,/net/SysBBB/etc/dt/appconfig/types/C
SysAAA anges med hjälp av den värddatorkvalificerade syntaxen - SysAAA:. En funktionsdefinition som hittas med det här elementet i sökvägen anger databasvärden till SysAAA. En funktion som hittas med delen /net/SysBBB... av sökvägen anger databasvärden till det lokala systemet eftersom syntaxen inte innehåller värddatorkvalificeraren.