Mit wachsendem Funktionsumfang werden Struktur, Verantwortungsgrenzen und Betriebsverhalten wichtiger als die reine Anzahl der Routen. Dieses Seminar untersucht, wie größere Express-Anwendungen so gegliedert werden, dass Teams unabhängig arbeiten können, Änderungen beherrschbar bleiben und der Betrieb nicht an versteckten Abhängigkeiten scheitert.
Ausgangspunkt ist bewusst der modulare Monolith. Erst wenn fachliche Grenzen, Datenhoheit und Kommunikationsverträge belastbar sind, werden Teile als eigenständige Services betrachtet. So entsteht keine verteilte Anwendung um ihrer selbst willen, sondern eine begründete Architektur mit nachvollziehbaren Kosten und Vorteilen.
Seminarziele
Die Teilnehmer lernen, technische und organisatorische Anforderungen in tragfähige Architekturentscheidungen zu übersetzen. Sie können anschließend:
- Module und Servicegrenzen anhand fachlicher Verantwortlichkeiten schneiden.
- Synchronen und asynchronen Datenaustausch einschließlich Fehlerfällen entwerfen.
- Resilienz, Sicherheit und Beobachtbarkeit als Bestandteile der Architektur planen.
- Datenhoheit, Konsistenz und Integrationsverträge zwischen Services festlegen.
- Eine bestehende Express-Anwendung schrittweise und risikoarm modernisieren.
Zielgruppe
Angesprochen sind erfahrene Backend-Entwickler, Lead Developer, Softwarearchitekten und technische Verantwortliche, die Express in größeren Systemen einsetzen. Das Seminar eignet sich besonders für Teams, die einen gewachsenen Monolithen strukturieren, mehrere Anwendungen integrieren oder den Übergang zu Services bewerten.
Voraussetzungen
Vorausgesetzt werden gute Kenntnisse in Express und Node.js, praktische Erfahrung mit REST-APIs, asynchroner Programmierung und automatisierten Tests. Grundkenntnisse zu Containern, Reverse Proxys und relationalen Datenbanken erleichtern den Einstieg in die Betriebs- und Integrationsanteile.
Inhalte
Architektur, Implementierung und Betrieb werden gemeinsam betrachtet, damit Entscheidungen nicht isoliert voneinander getroffen werden.
Architekturgrundlagen und Modulgrenzen
- Qualitätsziele wie Änderbarkeit, Verfügbarkeit, Sicherheit und Lieferfähigkeit priorisieren.
- Schichten, Features und fachliche Module vergleichen und Abhängigkeiten sichtbar machen.
- Modularen Monolithen als kontrollierbare Ausgangsarchitektur aufbauen.
- Entscheidungen, Annahmen und technische Schulden nachvollziehbar dokumentieren.
Servicezuschnitt und Verträge
- Fachliche Fähigkeiten, Datenhoheit und Teamzuständigkeiten als Schnittkriterien verwenden.
- REST-Verträge, Ereignisse und interne Schnittstellen eindeutig versionieren.
- API-Gateway, Backend-for-Frontend und direkte Servicekommunikation gegeneinander abwägen.
- Abwärtskompatibilität und schrittweise Einführung neuer Vertragsversionen planen.
Daten und Konsistenz
- Eigene Datenhaltung pro Service von gemeinsam genutzten Datenbanken abgrenzen.
- Transaktionen, eventual consistency und kompensierende Vorgänge einordnen.
- Idempotenz, Duplikaterkennung und Wiederholbarkeit von Nachrichten sicherstellen.
- Reporting- und Suchanforderungen ohne unkontrollierte Kopplung lösen.
Kommunikation und Resilienz
- Zeitlimits, Wiederholungen, Backoff und Circuit-Breaker-Muster sinnvoll kombinieren.
- Fehlerdomänen, partielle Ausfälle und Überlastung im Entwurf berücksichtigen.
- Synchrone Aufrufe von Ereignissen und Warteschlangen fachlich abgrenzen.
- Graceful Degradation und definierte Ersatzantworten für kritische Pfade entwerfen.
Sicherheit über Servicegrenzen
- Identität, Rollen und Berechtigungen zwischen Gateway und Services weitergeben.
- Vertrauenszonen, Netzwerkgrenzen und Service-zu-Service-Authentifizierung modellieren.
- Geheimnisse, Konfiguration und Zertifikate getrennt vom Anwendungscode verwalten.
- Auditierbare Sicherheitsereignisse und Datenschutzanforderungen berücksichtigen.
Observability und Betrieb
- Strukturierte Logs, Metriken und verteilte Traces mit gemeinsamen Korrelationsdaten verbinden.
- Readiness, Liveness und fachliche Health Checks differenziert einsetzen.
- Reverse Proxy, Load Balancing, horizontale Skalierung und zustandsarme Prozesse planen.
- Fehlerbudgets, Alarmierung und betriebliche Verantwortlichkeiten definieren.
Tests und Modernisierung
- Unit-, Integrations-, Vertrags- und Ende-zu-Ende-Tests nach Risiko auswählen.
- Serviceabhängigkeiten durch Fakes, Testcontainer und kontrollierte Testdaten beherrschen.
- Strangler-Vorgehen, Parallelbetrieb und schrittweise Verkehrsverlagerung anwenden.
- Rollback, Datenmigration und Kompatibilitätsfenster in Release-Pläne aufnehmen.
Praxis und Methodik
Die Teilnehmer zerlegen eine umfangreichere Beispielanwendung zunächst in fachliche Module und entwickeln daraus begründete Servicekandidaten. Für ausgewählte Abläufe werden Verträge, Datenflüsse, Fehlerfälle und Observability-Signale ausgearbeitet und anschließend in Express prototypisch umgesetzt.
Architekturübungen, Code-Reviews und Ausfallsimulationen wechseln sich ab. Dadurch werden Folgen von Entscheidungen sichtbar, bevor sie in realen Projekten teuer werden. Die Übungen fördern einen nüchternen Umgang mit Microservices: so viel Verteilung wie nötig, so wenig wie möglich.
Seminar und Anbieter vergleichen
Öffentliche Schulung
Diese Seminarform ist auch als Präsenzseminar bekannt und bedeutet, dass Sie in unseren Räumlichkeiten von einem Trainer vor Ort geschult werden. Jeder Teilnehmer hat einen Arbeitsplatz mit virtueller Schulungsumgebung. Öffentliche Seminare werden in deutscher Sprache durchgeführt, die Unterlagen sind teilweise in Englisch.
Inhausschulung
Diese Seminarform bietet sich für Unternehmen an, welche gleiche mehrere Teilnehmer gleichzeitig schulen möchten. Der Trainer kommt zu Ihnen ins Haus und unterrichtet in Ihren Räumlichkeiten. Diese Seminare können in Deutsch - bei Firmenseminaren ist auch Englisch möglich gebucht werden.
Webinar
Diese Art der Schulung ist geeignet, wenn Sie die Präsenz eines Trainers nicht benötigen, nicht Reisen können und über das Internet an einer Schulung teilnehmen möchten.
Fachbereichsleiter / Leiter der Trainer / Ihre Ansprechpartner
-

Michael Adler
Telefon: + 41 (800) 225127
E-Mail: michael.adler@seminar-experts.ch -

Stefano Conti
Telefon: + 41 (800) 225127
E-Mail: stefano.conti@seminar-experts.ch
Seminardetails
| Dauer: | 4 Tage, jeweils ca. 6 Stunden; Beginn am 1. Tag 10:00 Uhr, an den Folgetagen 09:00 Uhr |
| Preis: |
Öffentlich und Webinar: CHF 2.396 zzgl. MwSt. Inhaus: CHF 6.800 zzgl. MwSt. |
| Teilnehmeranzahl: | min. 2 - max. 8 |
| Teilnehmer: | Erfahrene Backend-Entwickler, Lead Developer, Softwarearchitekten und DevOps-nahe Entwickler |
| Voraussetzungen: | Gute Express- und Node.js-Kenntnisse sowie Erfahrung mit REST-APIs und automatisierten Tests |
| Standorte: | Basel, Bern, Luzern, Sankt Gallen, Winterthur, Zürich |
| 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 als Download oder auf Datenträger |
| Teilnahmezertifikat: | ja, selbstverständlich |
| Verpflegung: | Kalt- und Warmgetränke, Mittagessen wahlweise vegetarisch |
| Support: | 3 Anrufe im Seminarpreis enthalten |
| Barrierefreier Zugang: | an den meisten Standorten verfügbar |
| Weitere Informationen unter +41 (800) 225127 |
Seminartermine
Die Ergebnissliste kann durch Anklicken der Überschrift neu sortiert werden.
