Konzept Task Scheduling

IFS-Logo Diese Seite ist ein Teil der IsyFact-Standards. Alle Inhalte der Seite, insbesondere Texte und Grafiken, sind urheberrechtlich geschützt. Alle urheberrechtlichen Nutzungs- und Verwertungsrechte liegen beim Bundesverwaltungsamt.

Creative Commons Namensnennung Die Nutzung ist unter den Lizenzbedingungen der Creative Commons Namensnennung 4.0 International gestattet.

1. Einführung und Ziele

Das Konzept Task Scheduling beschreibt die konzeptionellen Grundlagen der Steuerung, d.h. Planung und Ausführung, von Tasks in der IsyFact.

Tasks sind in diesem Kontext periodisch wiederkehrende Tätigkeiten, die innerhalb einer Anwendungskomponente angesiedelt sind und zur Erfüllung der fachlichen oder technischen Anforderungen der Anwendung beitragen. Sie grenzen sich wesentlich von Batches ab.

Tabelle 1. Abgrenzung zwischen Tasks und Batches
Task Batch

Funktion

Aufruf von Anwendungsfunktionen,
technischen Prüfungen o.ä.

Aufruf von Anwendungskomponenten (Schnittstelle)

Verortung

Bestandteil einer Anwendungskomponente

Batch ist ein IT-Systemtyp

Planung & Steuerung

Durch die Anwendung selbst

Manuell oder automatisiert von außen

Das Task Scheduling der IsyFact verfolgt diese Ziele:

"Nahtlose" Entwicklung mit Spring Boot und IsyFact

Die Entwicklung kann alle Funktionen von Spring Boot beim Task Scheduling wie gewohnt nutzen. Die IsyFact integriert sich weitestgehend automatisch in das Task Scheduling von Spring und bietet den Mehrwert ihrer Bausteine an.

Bereitstellung weiterer Funktionalität zum Task Scheduling

Das Task Scheduling von Spring ist weniger flexibel als die direkte Nutzung der Java Concurrency API. Die IsyFact bietet als Mehrwert zusätzliche Anwendungsfälle an, basierend auf Java Multithreading.

Konfiguration aller wesentlichen Aspekte

Tasks müssen mindestens die folgenden Möglichkeiten zur Konfiguration bieten:

  • Umgebungsabhängige Aktivierung bzw. Deaktivierung,

  • Credentials zur Authentifizierung und Autorisierung.

Erfüllung nichtfunktionaler Anforderungen

Tasks müssen die folgenden, nichtfunktionalen Anforderungen erfüllen. Sie müssen:

  • fachliche Operationen nachvollziehbar aufrufen,

  • wichtige Informationen und Metadaten ihrer Ausführungen ins Log schreiben,

  • sich wie ein technischer Benutzer (Client) authentifizieren können,

  • überwachbar sein.

2. Architekturübersicht

Der Baustein Task Scheduling nutzt zur Erfüllung seiner Aufgaben mehrere Produkte und andere Bausteine der IsyFact.

bausteinkontext.dn
Abbildung 1. Kontext des Bausteins Task Scheduling

Der Baustein Task Scheduling setzt direkt auf das Task Scheduling von Spring auf, und erweitert dieses. Außerdem nutzt er Spring AOP aus dem Spring Framework und die @AspectJ-Annotationen des Produkts AspectJ. Wie der Baustein diese Produkte nutzt, beschreibt die Seite "Task Scheduling mit Spring".

Des Weiteren nutzt er mehrere Bausteine der IsyFact, um ihre Funktion für Tasks verfügbar zu machen. Dazu gehören die Bausteine Logging, Security und Überwachung. Wie genau die Integration aussieht, beschreibt die Seite "Integration der IsyFact in das Task Scheduling".