Bei einem Modul handelt es sich um eine Folge von Deklarationen, die Variablen und deren Initialisierung definieren, und um eine Folge von Deklarationen für Subroutinen (Funktion und Prozedur), die ein bestimmtes Verhalten für einen Nachrichtenflussknoten definieren.
Ein Modul muss mit der Anweisung CREATE Knotentyp MODULE beginnen und mit einer END MODULE-Anweisung enden. Bei dem Knotentyp muss es sich um COMPUTE, DATABASE oder FILTER handeln. Der Eingangspunkt des ESQL-Codes ist die Funktion namens MAIN, die auf den Geltungsbereich des Moduls beschränkt ist.
Jedes Modul ist mit einem Namen gekennzeichnet, der der Anweisung CREATE Knotentyp MODULE folgt. Für den Namen kann ein Standardwert verwendet werden, den Sie modifizieren können. Sie können den Namen aber auch erstellen. Bei dem Namen muss die Groß-/Kleinschreibung nicht beachtet werden (d. h., eine beliebige Kombination von Groß- und Kleinbuchstaben stimmt mit der Deklaration überein). Dies unterscheidet den Modulnamen von den Namen für Schemas, Konstanten, Variablen und Kennungen, bei denen die Groß-/Kleinschreibung beachtet werden muss, und die Sie entsprechend Ihrer Deklaration angeben müssen.
Sie müssen den Code für ein Modul in einer ESQL-Datei mit dem Suffix .esql erstellen. Erstellen Sie diese Datei in demselben Broker-Schema wie der Knoten, der darauf verweist. Für jeden Knoten muss ein Modul des korrekten Typs vorhanden sein. Das Modul kann nur von dem jeweiligen Knoten und von keinem anderen Knoten verwendet werden.
Wenn Sie eine ESQL-Datei erstellen (oder eine Task ausführen, mit der eine ESQL-Datei erstellt wird), geben Sie das Nachrichtenflussprojekt und das Brokerschema an, dem die Datei zugeordnet ist. Darüber hinaus geben Sie den Namen für die Datei an.
In der ESQL-Datei ist der Name des jeweiligen Moduls über den Wert der entsprechenden Eigenschaft des Nachrichtenflussknotens festgelegt. Die Eigenschaft ESQL-Modul für den Rechenknoten gibt beispielsweise den Namen des Moduls des Knotens in der ESQL-Datei an. Der Standardwert für diese Eigenschaft ist der Name des Knotens. Sie können einen anderen Namen angeben, jedoch müssen Sie sicherstellen, dass der Wert der Eigenschaft und der Name des Moduls, das die erforderliche Funktion bereitstellt, identisch sind.
Die Funktion MAIN (der Eingangspunkt für das Modul) muss im Modul enthalten sein. Wenn das Modul für Sie erstellt wird, wird diese Funktion automatisch eingefügt. In der Funktion MAIN können Sie ESQL für die Konfiguration des Knotenverhaltens codieren. Wenn Sie ESQL in das Modul einfügen, das Variablen, Konstanten, Funktionen und Prozeduren deklariert, können diese nur lokal innerhalb dieses einzelnen Moduls verwendet werden.
Wenn Sie ESQL-Konstanten, -Funktionen oder -Prozeduren wiederverwenden möchten, müssen Sie diese auf Brokerschemaebene deklarieren. Ein Verweis auf diese ist von jeder beliebigen Ressource innerhalb des Brokerschemas (in demselben oder in einem anderen Projekt) möglich. Wenn Sie diese Technik anwenden möchten, müssen Sie einen vollständig qualifizierten Namen für die Prozedur angeben, oder eine PATH-Anweisung, über die das Qualifikationsmerkmal festgelegt ist, einfügen. Die PATH-Anweisung muss in derselben ESQL-Datei, jedoch nicht innerhalb eines MODULS codiert sein.