Oft werden Entscheidungslogiken und Funktionalitäten benötigt, die nur
durch die vorhandenen Nodes nicht realisierbar sind
. Für diesen Zweck gibt es die Scriptnode. Eine Scriptnode
wird aktiviert, wenn ein bestimmter Event sie erreicht. Sie kann dann Aktionen
ausführen wie das Versenden von Events, Berechnungen durchführen, mit Servern
im Internet kommunizieren, usw.
Die Scriptnode verweist auf eine URL, an der sich ein Programm oder ein Skript befindet. Dieses kann in jeder Sprache geschrieben sein, die der Browser versteht. Hierzu ein Beispiel: Dieses Script merkt sich den Zustand einer Tür (offen/ geschlossen) und ob die nötige Sicherheitskombination, um die Tür zu öffnen, eingegeben wurde. Den Status der Tür sendet das Script in bestimmten Zeitintervallen.
DEF OpenVault Script
{
eventIn SFTime openVault
eventIn SFBool combinationEntered
eventOut SFTime vaultUnlocked
field SFBool unlocked FALSE
url "javascript:
function combinationEntered(value)
{
unlocked = value;
}
function openVault(value)
{
if (unlocked)
vaultUnlocked = value;
}"
}
Um genaue Details der Anbindung an Java und Javascript zu erfahren, siehe [GB96] Appendix C und D.