Statt Microservices: Framework, Library, Komponenten?

Поделиться
HTML-код
  • Опубликовано: 1 дек 2024

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

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

    Hallo,
    in
    ruclips.net/user/liveKocFrzZt9h0?feature=shared
    Wird erwähnt, dass es sinnvoll ist bei der Entwickung von Architektur den dreiklang modul, team, geschäftsfunktionalität zu haben (8:45 bis 9:00 link)
    In diesem video 53:48 bis 54:00 ist es wichtig relevante Fragen zu stellen.
    Es geht um Teams und vorgehensweise solcher teams wenn diese gleichzeitig mehrere projekte besrbeiten müssen.
    ruclips.net/video/DArIsvDWvh4/видео.htmlfeature=shared
    Dieses video erwähnt einen Lösungsvorschlag über dev. Container. wie sinnvoll ist eine solche umsetzung für teams und welche nachteile gibt es? (Zeitstempel 4:27 bis 5:42 )
    Ich freue mich auf eine antwort

    • @EberhardWolff
      @EberhardWolff  8 месяцев назад

      Das sind zwei sehr unterschiedliche Ebenen. Ich kann sicher die Umgebung für die Arbeit an einem anderen Projekt technisch schnell wieder aufbauen. Aber das Problem ist dann dennoch, dass ich verstehen muss, was in dem anderen Code und in dem anderen Projekt Thema ist. Und das ist aufwändig. Ich finde ja die Metapher "Entwickeln=Lernen" gut. software-architektur.tv/2023/12/08/folge191.html Dann ist aber so ein fachlicher Kontext-Switch das Problem, nicht die Technik - und ich würde ihn versuchen zu vermeiden, weil das dann doch aufwändig ist.

  • @ThomasPraxl
    @ThomasPraxl 9 месяцев назад +1

    Danke. Ich kann an der Unconference "Software-Entwicklung und Menschen" leider nicht teilnehmen. Aufgezeichnet wird sie aber vermutlich nicht oder?

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

      Nein, sie wird nicht aufgezeichnet. Sorry!

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

    23:30 wie ein framework funktioniert: framework ruft den code auf.
    Meine Frage: haben frameworks normalerweise konfigurationsfiles?

    • @EberhardWolff
      @EberhardWolff  9 месяцев назад

      Ich würde es nicht ausschließen, aber im Mittelpunkt steht Code.

  • @cyrusol
    @cyrusol 7 месяцев назад +1

    Man hat sehr oft eine valide enge Kopplung zwischen zwei oder mehreren Klassen, natürlich kann sich ein Modul über mehrere Klassen erstrecken.

    • @EberhardWolff
      @EberhardWolff  7 месяцев назад

      Auch für Klassen gilt, dass sie eine lose Kopplung haben sollten. Eine wichtige Eigenschaft von Software-Systemen sind die Hierarchien: Systeme sind beispielsweise in Microservices aufgeteilt. Die wiederum beispielsweise in Java Packages und die in Klassen. Auf allen diesen Ebenen sollte es eine lose Kopplung geben. Und auf jeder dieser Ebene sind die Konzepte (Microservice, Package, Klasse) Module.

  • @n8ged8
    @n8ged8 9 месяцев назад +1

    @16:04 Wieso wird angenommen, dass Bibliotheken voneinander abhängig sind? Man kann Bibliotheken völlig unabhängig bereitstellen/verwenden - als Web-Entwickler lade ich eine Bibliothek wie jQuery und danach oder davor bspw. völlig unabhänigig davon D3.js. Oder geht es darum, dass Bibliotheken voneinander abhängig sein KÖNNEN, Microservices aber nicht? Daher auch unverständlich die Aussage: "bei Bibliotheken muss ich das gemeinsam deployen".

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

      In dem Beispiel geht es darum, dass man ein System in verschiedene Elemente aufteilt - beispielsweise eines zur Annahme von Bestellungen und eines zum Schreiben von Rechnungen. Rechnungen benötigen Informationen über Bestellungen, also gibt es dort eine Abhängigkeit. Wenn ich nun eine Library für das Entgegennehmen von Bestellungen baue und eine für das Schreiben von Rechnungen, werde ich sie in der Reihenfolge 1 - Annahme von Bestellung und 2 - Schreiben von Rechnungen bauen lassen. Dann kann ich sicher sein, dass 2 1 benutzen kann, aber nicht umgekehrt.
      Librarys können natürlich wie von Dir dargestellt unabhängig sein, gerade wenn sie wie in Deinem Beispiel technische und keine fachlichen Probleme lösen.
      Typischerweise wird man die Anwendung mit allen Librarys gemeinsam deployen. Aber ja, da könnte es Ausnahmen geben beispielsweise bei dynamischen Librarys. Guter Punkt. Vielleicht hätte ich präziser sagen sollen, dass man einzelne Librarys nicht zur Laufzeit auswechseln kann.

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

    lesenswert:
    "Legacy-Software implementiert bereits eine Lösung für das Geschäftsproblem. Dadurch sind die Domäne und auch der Business Case bekannt, den die Legacy-Software bedient. Eine Architektur und ein Technologie-Stack, mit denen man das Problem lösen kann, sind auch bekannt, auch wenn nur ein suboptimaler Ansatz umgesetzt worden ist. Und vor allem die Domänenexpert:innen als Stakeholder des Systems und die Benutzer:innen des Systems sind bekannt. So bietet Legacy einen Wissensvorsprung,"
    Geschäftsproblem, Domäne, Business Case, Architektur, Technologie Stack, Stärkeholder (Domänenexperten).
    Kannst du uns (der Community) bitte irgendwann die Freude machen das alles in einem Gesamtvideo darzustellen und die zusammenhänge? 😅😅

    • @EberhardWolff
      @EberhardWolff  4 месяца назад

      @@marcm3623 Danke für das nette Feedback! Hilft ruclips.net/video/XKadk07LcW8/видео.html ?

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

      @@EberhardWolff nicht wie die Faust aufs Auge.

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

      @@EberhardWolff eher abstrahiert von legacy und dann einmal mit und einmal ohne.

  • @n8ged8
    @n8ged8 9 месяцев назад +2

    "Web Components" sollten bezüglich "Komponenten" erwähnt werden. Es gibt immer mehr Web Frameworks, die ihre eigenen Web Komponenten haben. Aber Frameworks kommen und gehen und verändern sich (Stichwort: Abhängigkeit). Mir gefällt der Ansatz bei den "Web Components", ein Standardkomponentenmodell für das Web bereitzustellen (welches Kapselung und Interoperabilität einzelner HTML-Elemente ermöglicht). Für mich ähnlich bedeutsam wie HTML selbst.

    • @EberhardWolff
      @EberhardWolff  9 месяцев назад

      Ja, guter Punkt - danke für den Hinweis!