Der Self-contained-Systems-Architekturansatz

Поделиться
HTML-код
  • Опубликовано: 27 сен 2024
  • Self-contained Systems (SCS) teilen ein System in mehrere Web-Anwendungen auf. Im Gegensatz zu vielen anderen Architekturansätzen sind SCS darauf ausgerichtet, typische Architektur-Probleme zu lösen. Dazu schreiben sie verschiedene Architektur-Elemente vor, die sich schon in vielen Projekten bewährt haben. In dieser Episode diskutieren wir SCS, was diesen Ansatz ausmacht und in welchen Situationen er besonders sinnvoll ist.

Комментарии • 5

  • @marcm3623
    @marcm3623 2 года назад +4

    Überblick für mich und andere: (Danke für das Video)
    Architektur ist ein Tradeoff, SCS-Architektur sind Vorteilhaft für bestimmte Ziele:
    Hier sind Ziele die Fachliche (=inhaltliche) Änderungen (nicht technische Änderung), also wenn ein Kunde neue Anforderungen umgesetzt haben möchte in einem bestehenden System. Hypothese: fachliche Änderungen gehen durch alle Schichten.(UI, Application, Domain, DB-Ebene?).
    Mit SCS ergibt sich die Möglichkeit den Änderungswunsch eines Kunden mit einer Zuordnung zu Teams (Scrum-Teams) und zu jeweiligen Komponenten einer Anwendung zu verbinden. Klare zuordnung von Verantwortlichkeitn (?). Dann müssen nur noch *Komponenten durch die Teams geändert werden.
    Bei SCS befinden sich alle Technologie-Schichten in einem Modul. (=Webanwendung).
    *Komponente = web-Anwendung = etwas das auf http reagiert.
    43:43 Mehrheit der INNOQ Projekte für Websysteme basieren auf einer SCS-Architektur.
    Beispiele: UI-Basierte Anwendungen / Umsetzung in SCS (z.B. E-Commerce Webseiten)
    SCS als Module / Projektideen:
    46:44 SCS als Module innerhalb einer single-page-App
    oder
    46:57 Single-page-app pro Anwendung (Nachteil: langsam?) / Anwendung in diesem Fall= SCS-Modul?
    UI-Basierte Anwendungen
    47:30 SCS sind "eine" Möglichkeit UI-Basierte Anwendungen umzusetzen.
    9:30 SCS sind über Regeln definiert. Abweichungen von der Regel führen dazu, dass die Architektur nicht mehr SCS ist.
    1 Request = 1 µService (oder SCS?)
    27:50 1 Request = 1 µService
    28:20 ein SCS ist eine Webanwendung also sollte ein Request in einem SCS landen. Beispiel: Bestellprozess, Produktkatalog.
    Zusammenhang SCS und Mikroservices
    29:35 Zusammenhang SCS und Mikroservices: 1 SCS kann in mehrere µServices aufgeteilt werden (Internet vs Intranet z.B.)
    30:50 ein SCS = kann mehrere µServices enthalten aber nicht umgekehrt.
    50:06 Zusammenhang // mindestens 1 SCS besteht aus mindestens 1 µservice. // 1 SCS kann als Webanwendung getrennt deployt werden.
    22:26 SCS sind unabhängige Webanwendungen
    Für diese Webanwendungen lassen sich Technologiestacks nutzen um diese SCS zu implementieren z.B. LAMP. (moderner z.B. Spring boot)
    23:15 mit SCS kann man in jedem (wie bei µServices) einen eigenen Technologie-Stack benutzen.
    23:50 Besonderheit die UI muss integrierbar sein. Frontend Modularisieren in SCS Kontext.
    auch interessant: ruclips.net/video/6D_OgQ9A6CU/видео.html (16:22)
    Skalierbarkeit und Datenbanken // UI
    40:40 wenn ich jedem SCS eine eigene Datenbank gebe, dann sind die besser Skalierbar.
    25:25 SCS besitzen Daten und haben eigenes DB-Schema
    31:28 UI brauchen immer eine API. (?)
    31:20 normalerweise wenden Clients die SCS über eine UI an. es geht auch anders --> Regel 4. Nicht jedes SCS braucht eine UI. (es darf keine Trennung zwischen Frontend und Backend geben)
    Geschäftslogik vs Geschäftsprozesse
    26:07 Regel 7 keine geteilte Geschäftslogik.
    24:46 SCS enthält Daten + Logik (Geschäftslogik?)
    Fragen zu ...
    ...Geschäftslogik vs Geschäftsprozesse
    inwiefern unterscheidet sich eine Geschäftslogik von einem Geschäftsprozess?
    ...
    47:20 bzw. 47:30 konkreter Anwendungsfall für einen zukünftigen Stream Stream. Hast du ungef. eine Idee wann man eine konkrete Umsetzung zeigen kann? Gerne mit einem Docker-Compose-File mit einer Single Page-App (wenn möglich).
    Freundliche Grüße

  • @marcm3623
    @marcm3623 3 месяца назад +1

    Hallo Eberhard,
    in dem Video: a better alternative to plain Microservices (Self-contained systems)
    ruclips.net/video/xkQ9VaNTwxM/видео.htmlfeature=shared
    Wird bei ungef. 14:50 bis 15:52 gesagt ein Scs ist eine Domäne. 1 Scs = 1 Domäne. Passt das aus deiner Sicht so?
    Da man ja häufig als Ingenieur in iterationem vorgeht, dann müsste dieser gedankliche Ansatz erstmal ein guter Startpunkt sein und dann vermutlich aber nachgebessert werden. Ist es ein guter erster Gedankenansatz wenn man an ein Projekt herangeht.

    • @EberhardWolff
      @EberhardWolff  3 месяца назад +1

      Ja, ein SCS sollte eine Domäne implementieren. Auch hier wieder: Das ist einfacher gesagt als getan....

  • @marcm3623
    @marcm3623 2 года назад +1

    Auch sehr interessant zu dem gleichen Thema ist dieses Interview:
    ruclips.net/video/fbtXd_6C9FE/видео.html