Seminar / Training
Eigene Komponenten benötigen ein genaues Verständnis von NiFi-Lebenszyklus, FlowFile-Semantik und Nebenläufigkeit. Der Weg führt vom minimalen Processor bis zur getesteten Erweiterung mit Controller Service.
Inhaltsübersicht
- Einordnung und Zielsetzung
- Zielgruppe und Voraussetzungen
- Lernziele
- Projekt- und NAR-Struktur
- Processor-Lebenszyklus
- Properties und Validierung
- ProcessSession und Streaming
- Controller Services
- State und Nebenläufigkeit
- Fehler, Logging und Provenance
- Tests und Deployment
- Praxisübungen
- Anwendungsszenarien
Einordnung und Zielsetzung
Vier Tage sind notwendig, weil Implementierung, Streaming, Controller-Service-Design, State, Nebenläufigkeit, Tests und NAR-Deployment jeweils programmiert und in der Laufzeit validiert werden.
Zielgruppe
Java- und Integrationsentwicklung, Plattform-Engineering und technische Architektur.
Voraussetzungen
Sichere Java-Kenntnisse, Maven-Grundlagen, Unit-Test-Erfahrung und NiFi-Anwenderkenntnisse.
Lernziele
- NAR-Projekt aufbauen.
- Processor-Lebenszyklus implementieren.
- FlowFiles streamingfähig verarbeiten.
- Controller Services entwickeln.
- State und Nebenläufigkeit beherrschen.
- Komponenten testen, paketieren und deployen.
Seminarinhalte
1. Projekt- und NAR-Struktur
Erweiterungen werden als Maven-Module mit klaren API- und NAR-Abhängigkeiten aufgebaut.
- Schritt 1: JDK und Maven prüfen.
- Schritt 2: Projektgrundgerüst erzeugen.
- Schritt 3: Processor- und NAR-Modul trennen.
- Schritt 4: Scopes konfigurieren.
- Schritt 5: Erstes NAR bauen und kontrollieren.
2. Processor-Lebenszyklus
Annotationen, Descriptoren und Lifecycle-Methoden bestimmen Darstellung und Verhalten.
- Schritt 1: Processor-Klasse anlegen.
- Schritt 2: Properties initialisieren.
- Schritt 3: Relationships definieren.
- Schritt 4: Scheduling-Hinweise festlegen.
- Schritt 5: Komponente in NiFi verifizieren.
3. Properties und Validierung
Ungültige Konfiguration wird vor dem Start erkannt.
- Schritt 1: Pflicht- und optionale Properties definieren.
- Schritt 2: Sensitive Werte kennzeichnen.
- Schritt 3: Validatoren einsetzen.
- Schritt 4: Expression-Language-Kontext festlegen.
- Schritt 5: Positiv- und Negativfälle testen.
4. ProcessSession und Streaming
ProcessSession bildet die transaktionale Grenze für Inhalt, Attribute und Transfer.
- Schritt 1: FlowFile aus der Session beziehen.
- Schritt 2: Inhalt streamingfähig lesen und schreiben.
- Schritt 3: Attribute atomar ergänzen.
- Schritt 4: FlowFile einer Relationship zuordnen.
- Schritt 5: Ausnahmen ohne Ressourcenleck behandeln.
5. Controller Services
Gemeinsame Clients und Verbindungen werden hinter einer stabilen Schnittstelle gekapselt.
- Schritt 1: Service-API definieren.
- Schritt 2: Implementierung mit Properties erstellen.
- Schritt 3: Ressource bei Aktivierung aufbauen.
- Schritt 4: Processor-Abhängigkeit deklarieren.
- Schritt 5: Mehrere Processor-Instanzen testen.
6. State und Nebenläufigkeit
Komponenten bleiben bei paralleler Ausführung und Neustart deterministisch.
- Schritt 1: Lokalen oder clusterweiten State wählen.
- Schritt 2: State atomar aktualisieren.
- Schritt 3: Thread-Sicherheit bewerten.
- Schritt 4: Ressourcen im Lifecycle verwalten.
- Schritt 5: Mehrere Concurrent Tasks testen.
7. Fehler, Logging und Provenance
Fehlerpfade sind diagnostizierbar und geben keine sensitiven Inhalte preis.
- Schritt 1: Datenfehler von Systemfehler trennen.
- Schritt 2: Log-Level gezielt wählen.
- Schritt 3: Fehlerattribute standardisieren.
- Schritt 4: Provenance für externe Übertragung ergänzen.
- Schritt 5: Yield und Penalty begründet einsetzen.
8. Tests und Deployment
Automatisierte Tests und kontrollierte Paketierung sichern die Freigabe.
- Schritt 1: TestRunner erstellen.
- Schritt 2: Konfiguration und Relationships prüfen.
- Schritt 3: Inhalt und Attribute verifizieren.
- Schritt 4: NAR versioniert bauen.
- Schritt 5: Deployment, Smoke-Test und Rollback durchführen.
Praxisübungen
- Processor mit Properties und Relationships entwickeln.
- FlowFile streamingfähig transformieren.
- Controller Service implementieren.
- State und Nebenläufigkeit testen.
- NAR bauen und in NiFi abnehmen.
Anwendungsszenarien
- Proprietäre Protokolladapter
- Wiederverwendbare Plattformservices
- Fachliche Spezialvalidierung
- Integration eigener Bibliotheken
Fachbereichsleitung / Leitung der Trainer / Ansprechpartner
-

Lucas Beich
Telefon: + 49 (221) 74740055
E-Mail: lucas.beich@seminar-experts.de -

Paul Goldschmidt
Telefon: + 49 (221) 74740055
E-Mail: paul.goldschmidt@seminar-experts.de
Seminardetails
| Dauer: | 4 Tage ca. 6 h/Tag, Beginn 1. Tag: 10:00 Uhr, weitere Tage: 09:00 Uhr |
| Preis: |
Öffentlich oder Live Stream: € 2.396 zzgl. MwSt. Inhaus: € 6.800 zzgl. MwSt. |
| Teilnehmeranzahl: | min. 2 - max. 8 |
| Teilnehmer: | Java- und Integrationsentwicklung, Plattform-Engineering und technische Architektur. |
| Voraussetzungen: | Sichere Java-Kenntnisse, Maven-Grundlagen, Unit-Test-Erfahrung und NiFi-Anwenderkenntnisse. |
| Standorte: | Stream Live, Inhaus/Firmenseminar, Berlin, Bremen, Darmstadt, Dresden, Erfurt, Essen, Flensburg, Frankfurt, Freiburg, Friedrichshafen, Hamburg, Hamm, Hannover, Jena, Kassel, Köln, Konstanz, Leipzig, Luxemburg, Magdeburg, Mainz, München, Münster, Nürnberg, Paderborn, Potsdam, Regensburg, Rostock, Stuttgart, Trier, Ulm, Wuppertal, Würzburg |
| Methoden: | Vortrag, Demonstrationen, praktische Übungen am System |
| Seminararten: | Öffentlich, Webinar, Inhouse, Workshop - Alle Seminare mit Trainer vor Ort, Webinar nur wenn ausdrücklich gewünscht |
| Durchführungsgarantie: | ja, ab 2 Teilnehmern |
| Sprache: | Deutsch - bei Firmenseminaren ist auch Englisch möglich |
| Seminarunterlage: | Dokumentation auf Datenträger oder als Download |
| Teilnahmezertifikat: | ja, selbstverständlich |
| Verpflegung: | Kalt- / Warmgetränke, Mittagessen (wahlweise vegetarisch) |
| Support: | 3 Anrufe im Seminarpreis enthalten |
| Barrierefreier Zugang: | an den meisten Standorten verfügbar |
| Weitere Informationen unter + 49 (221) 74740055 |
Seminartermine
Die Ergebnissliste kann durch Anklicken der Überschrift neu sortiert werden.
