Vorlagen erstellen Derivate

Konzept

SKOOR Engine geht noch einen Schritt weiter und bietet die Möglichkeit, anspruchsvolle Vorlagenstrukturen zu erstellen, indem Vorlagen auf bestehenden Vorlagen basieren. Diese werden als Vorlagenableitungen bezeichnet. Die Beziehung zwischen Vorlage und Vorlagenderivat ist im Grunde dieselbe wie die Beziehung zwischen Vorlage und Instanz. Die Bearbeitung einer Vorlage überträgt die Änderungen (oder zumindest einige der Änderungen, gemäß den Übertragungsregeln) auf die Instanzen einer Vorlage. Ebenso werden Änderungen an einer Vorlage, die in einer anderen Vorlage verwendet wird, an diese weitergegeben, und eine Vorlagenverknüpfung wird beibehalten. Das folgende Beispiel verdeutlicht die Nützlichkeit des Konzepts der abgeleiteten Vorlagen.

Häufig kann eine Reihe von Geräten, die sich weitgehend ähneln, sich aber nur in einer begrenzten Anzahl von untergeordneten Aufträgen oder Auftragsparametern unterscheiden, mit Hilfe einer solchen Vorlagenableitungsmethode eingerichtet werden. Der Ansatz besteht in der Regel darin, einen Satz von Jobvorlagen zu erstellen und dann ein Basisgerät zu erstellen, das die Jobs enthält, die auf jedem Gerät desselben Typs vorhanden sein sollten (z. B. eine Basis-EEM-Gerätevorlage oder eine Basis-Linux-Server-Vorlage ). Dann kann man abgeleitete Vorlagen dieser Basisgerätevorlage erstellen, die alles enthalten, was Teil des Basisgeräts ist, plus zusätzliche Jobs oder abweichende Parameter.

Erstellen abgeleiteter Auftragsvorlagen

Der erste Schritt besteht also darin, eine Reihe von Jobvorlagen zu erstellen, die dann für die Basisgerätevorlage und die abgeleiteten Gerätevorlagen verwendet werden. Die folgende Abbildung zeigt einen Satz von Auftragsvorlagen:

Auch Jobvorlagen können von anderen Jobvorlagen abgeleitet werden. Dies kann zum Beispiel auf die EEM-Projekt-Jobs angewendet werden. Der Basis-EEM-Job hat die folgende Konfiguration:

Der Job enthält einen EEM Timer-Unterjob namens Total.

Von diesem Basisauftrag können abgeleitete EEM-Projektaufträge für verschiedene EEM-Projektkonfigurationen erstellt werden, die zusätzliche EEM-Timer-Aufträge enthalten.

Um eine abgeleitete Jobvorlage aus dem Basis-EEM-Job zu erstellen, wird einfach ein neuer Job unter dem Ordner /root/Templates/job templates hinzugefügt:

Dann kann die Vorlage des Basis-EEM-Jobs aus der Dropdown-Liste Vorlage verwenden ausgewählt werden:

Geben Sie der neuen abgeleiteten Jobvorlage einen Namen, deaktivieren Sie das Kontrollkästchen Neuen Job anhalten und klicken Sie auf Weiter:

Alle Auftragsparameter werden von der EEM-Basisauftragsvorlage übernommen. Obwohl es so aussieht, als ob kein EEM Timer-Job verknüpft ist, wird der EEM Timer-Unterjob erstellt, wenn Sie auf die Schaltfläche OK klicken:

Beachten Sie, dass die Aufzählung der abgeleiteten Jobvorlage mit einem Listensymbol gekennzeichnet ist, um sie von normalen Jobvorlagen zu unterscheiden:

Innerhalb der EEM-Jobvorlage Calc kann man nun z.B. die Parameter Projektname und Laufzeitlimit anpassen und zusätzliche EEM-Timer-Kinderjobs hinzufügen:

Die Abweichungen vom Basis-EEM-Job werden wieder orange hervorgehoben, wie bei der Anzeige einer Job-Instanz mit von der Job-Vorlage abweichenden Parametern.

Zusätzliche EEM-Job-Derivate werden auf die gleiche Weise erstellt:

Man kann sogar Job-Template-Derivate von Job-Template-Derivaten erstellen. Die Möglichkeiten sind endlos.

Erstellen von abgeleiteten Gerätevorlagen

Nachdem die Basisaufträge erstellt wurden, kann man nun mit der Erstellung eines EEM-Basisgeräts fortfahren.

Die folgende Gerätevorlage zeigt ein Basisgerät, das für die End-to-End-Überwachung verwendet wird.

Konzept

Die SKOOR Engine geht noch einen Schritt weiter und bietet die Möglichkeit, anspruchsvolle Vorlagenstrukturen zu erstellen, indem sie es ermöglicht, dass Vorlagen auf bestehenden Vorlagen basieren. Diese werden als Template-Derivate bezeichnet. Die Beziehung zwischen Template und Template-Derivat ist im Grunde die gleiche wie die Beziehung zwischen Template und Instanz. Die Bearbeitung einer Vorlage überträgt die Änderungen (oder zumindest einige der Änderungen, gemäß den Übertragungsregeln) auf die Instanzen einer Vorlage. Ebenso werden Änderungen an einer Vorlage, die in einer anderen Vorlage verwendet wird, an diese weitergegeben, und eine Vorlagenverknüpfung wird beibehalten. Das folgende Beispiel verdeutlicht die Nützlichkeit des Konzepts der abgeleiteten Vorlagen.

Häufig kann eine Reihe von Geräten, die sich weitgehend ähneln, sich aber nur in einer begrenzten Anzahl von untergeordneten Aufträgen oder Auftragsparametern unterscheiden, mit Hilfe einer solchen Vorlagenableitungsmethode eingerichtet werden. Der Ansatz besteht in der Regel darin, einen Satz von Jobvorlagen zu erstellen und dann ein Basisgerät zu erstellen, das die Jobs enthält, die auf jedem Gerät desselben Typs vorhanden sein sollten (z. B. eine Basis-EEM-Gerätevorlage oder eine Basis-Linux-Server-Vorlage ). Dann kann man abgeleitete Vorlagen dieser Basisgerätevorlage erstellen, die alles enthalten, was Teil des Basisgeräts ist, plus zusätzliche Jobs oder abweichende Parameter.

Erstellen abgeleiteter Auftragsvorlagen

Der erste Schritt besteht also darin, eine Reihe von Jobvorlagen zu erstellen, die dann für die Basisgerätevorlage und die abgeleiteten Gerätevorlagen verwendet werden. Die folgende Abbildung zeigt einen Satz von Auftragsvorlagen:

Auch Jobvorlagen können von anderen Jobvorlagen abgeleitet werden. Dies kann zum Beispiel auf die EEM-Projekt-Jobs angewendet werden. Der Basis-EEM-Job hat die folgende Konfiguration:

Der Job enthält einen EEM Timer-Unterjob namens Total.

Von diesem Basisauftrag können abgeleitete EEM-Projektaufträge für verschiedene EEM-Projektkonfigurationen erstellt werden, die zusätzliche EEM-Timer-Aufträge enthalten.

Um eine abgeleitete Jobvorlage aus dem Basis-EEM-Job zu erstellen, wird einfach ein neuer Job unter dem Ordner /root/Templates/job templates hinzugefügt:

Dann kann die Vorlage des Basis-EEM-Jobs aus der Dropdown-Liste Vorlage verwenden ausgewählt werden:

Geben Sie der neuen abgeleiteten Jobvorlage einen Namen, deaktivieren Sie das Kontrollkästchen Neuen Job anhalten und klicken Sie auf Weiter:

Alle Auftragsparameter werden von der EEM-Basisauftragsvorlage übernommen. Obwohl es so aussieht, als ob kein EEM Timer-Job verknüpft ist, wird der EEM Timer-Unterjob erstellt, wenn Sie auf die Schaltfläche OK klicken:

Beachten Sie, dass die Aufzählung der abgeleiteten Jobvorlage mit einem Listensymbol gekennzeichnet ist, um sie von normalen Jobvorlagen zu unterscheiden:

Innerhalb der EEM-Jobvorlage Calc kann man nun z.B. die Parameter Projektname und Laufzeitlimit anpassen und zusätzliche EEM-Timer-Kinderjobs hinzufügen:

Die Abweichungen vom Basis-EEM-Job werden wieder orange hervorgehoben, wie bei der Anzeige einer Job-Instanz mit von der Job-Vorlage abweichenden Parametern.

Zusätzliche EEM-Job-Derivate werden auf die gleiche Weise erstellt:

Man kann sogar Job-Template-Derivate von Job-Template-Derivaten erstellen. Die Möglichkeiten sind endlos.

Erstellen von abgeleiteten Gerätevorlagen

Mit den erstellten Basisaufträgen kann man nun fortfahren, indem man ein EEM-Basisgerät erstellt, das bereits einen Basissatz der benötigten Eigenschaften enthält:

Fügen Sie dann innerhalb des neuen Geräts die Aufträge hinzu, die auf allen EEM-Geräten implementiert werden sollen. Dazu wählen Sie im Dropdown-Menü des Geräts die Option Job hinzufügen und wählen die Jobvorlage aus der Liste Vorlage verwenden:

Deaktivieren Sie das Kontrollkästchen Neuen Job stoppen, damit die aus der Gerätevorlage erstellten Jobinstanzen nicht als gestoppt angelegt werden, sondern sofort nach der Erstellung mit der Messung beginnen. Klicken Sie auf Weiter und OK. Der Gerätevorlage wird nun ein einzelner Job hinzugefügt:

Fügen Sie die restlichen Aufträge hinzu:

Das Basis-EEM-Gerät ist nun erstellt.

Erstellen Sie nun davon abgeleitete Gerätevorlagen, indem Sie in der Dropdown-Liste einen Ordner weiter oben Vorlagegerät hinzufügen wählen:

Die Parameter und Eigenschaften werden automatisch von der Basis-EEM-Gerätevorlage ausgefüllt:

Ändern Sie den Namen und nehmen Sie eventuelle Anpassungen vor, und klicken Sie dann auf OK, um die abgeleitete Gerätevorlage zu erstellen. Der Aufzählungspunkt ist mit einem Listensymbol gekennzeichnet, um den Status der neuen Gerätevorlage als abgeleitete Vorlage anzuzeigen:

Diese spezielle EEM-Gerätevorlage sollte für EEM-Roboter im internen Netzwerk verwendet werden. Die EEM-Projekt-Jobs, die auf allen internen EEM-Robotern laufen sollen, können nun hinzugefügt werden. Geben Sie die interne EEM-Gerätevorlage ein. Sie enthält alle Jobs aus der Basis-EEM-Gerätevorlage:

Fügen Sie nun die Jobvorlagen hinzu, die zusätzlich auf allen internen EEM-Robotern laufen sollen, indem Sie sie wie oben beschrieben aus der Dropdown-Liste Vorlage verwenden auswählen. In diesem Fall ist der einzige zusätzliche Job der EEM-Job Calc:

Diese abgeleitete Gerätevorlage kann nun für alle internen EEM-Robotergeräte instanziiert werden, z.B. unter dem Pfad /root/Customer/Devices/EEM/Internal.

Fügen Sie eine Geräteadresse hinzu und ändern Sie den Namen in den Hostnamen dieses speziellen EEM-Roboters. Klicken Sie dann auf OK:

Die erste Geräteinstanz wird erstellt und ihre Aufträge beginnen sofort mit der Messung:

Zusätzliche vorlagenbasierte oder nicht vorlagenbasierte Aufträge können bei Bedarf zu diesem Gerät hinzugefügt werden. Sie werden nicht mit der Vorlage verknüpft.

Fügen Sie nun so viele Geräteinstanzen wie nötig für interne EEM-Robotergeräte hinzu. Änderungen z. B. an der Jobvorlage /root/Templates/job templates/Disk C: werden nun sofort auf all diese Instanzen übertragen.

Erstellen Sie nun eine weitere Gerätevorlage, die auf der Basis der EEM-Gerätevorlage für externe EEM-Robotergeräte basiert, und fügen Sie einen anderen Satz von EEM-Projektaufträgen hinzu: