You're seeing on softwarearchitektur from to in
  • Viermal Microservices: REST, Kubernetes, UI-Integration, asynchron

    Talk Eberhard Wolff OOP 2018

    Dieses Tutorial gibt zunächst eine Einführung in Microservices und zeigt dann vier konkrete Möglichkeiten zur Umsetzung von Microservices: REST-Microservices mit Kubernetes, UI-Integration auf Client oder Service und asynchrone Microservices mit Kafka und Atom-Feeds. Konkrete Code-Beispiele illustrieren die Ansätze und können ein Startpunkt für eine eigene Umsetzung sein. Die Teilnehmer können anschließend Vor- und Nachteile abwägen und die Implementierung von Microservices mit diesen Ansätzen starten.

    Es gibt viele Wege, um Microservices zu realisieren. Oft ist das aber Teams nicht klar. Daher zeigt dieses Tutorial verschiedene Ansätze. Neben dem populären REST-Protokoll geht es vor allem auch um asynchrone Systeme und UI-Integration, die in der Praxis zu selten eine Rolle spielen. Die Beispiele stehen auf Github bereit und können dann für eine eigene Implementierung erweitert werden.

    • Zielpublikum: Software-Architekten, Technische Projektleiter, Entwickler
    • Voraussetzungen: Grundsätzliches Verständnis von Software-Architektur
    • Schwierigkeitsgrad: Anfänger
    Read more
  • Modularisierung: Monolithen gegen

    Talk Christoph Iserlohn, Till Schulte-Coerne OOP 2018

    ORB-Architekturen, SOA, Microservices: alle Jahre wieder wird ein neuer Ansatz zur Modularisierung durchs globale IT-Dorf gejagt. Verpackt mit ein paar netten Anekdoten, warum Firma X unglaublich erfolgreich mit dem neusten Trend Y ist, wird das Ganze als neuer Heilsbringer für die Unternehmens-IT verkauft. Dabei ist es oft einfacher, einen Monolithen mit klassischen Mitteln modular zu halten oder modular zu machen. Lernen Sie in diesem Vortrag, wie Sie trotz - oder gerade wegen - Ihrem Monolithen in der IT Champions League mitspielen.

    Microservices sind der aktuelle Trend, um Softwaresysteme zu modularisieren. Das damit aber nicht nur eine Änderung der Architektur eines Softwaresystems verbunden ist, sondern auch strukturelle und organisatorische Änderungen für das Unternehmen, und psychologische für die Mitarbeiter, wird oft übersehen. Gleichzeitig bekommt man die Fallstricke und Komplexität eines verteilten Systems. Für viele Unternehmen ist das nicht leicht zu stemmen.

    Dabei ist der wichtigste Punkt bei der Modularisierung der fachliche und technische Schnitt der Komponenten, egal ob es sich um ein monolithisches System oder eine Microservice-Architektur handelt. Daneben bieten die meisten Programmiersprachen und Laufzeitumgebungen Möglichkeiten zur Modularisierung. Werden diese konsequent genutzt und mit einem guten Komponentenschnitt verbunden, ist es möglich, die Vorteile einer Microservice-Architektur (z.B. leichte Änderbarkeit und schnelles Deployment) auch mit einem Monolithen zu realisieren. Ganz ohne dessen Komplexität zu übernehmen. Sollte der Komponentenschnitt mal nicht gut gelungen sein, ist oft sogar einfacher, diesen innerhalb eines Monolithen zu ändern als in dem verteilten System einer Microservice-Architektur.

    • Zielpublikum: Architekten, Entwickler, Entscheider
    • Voraussetzungen: Erfahrung mit der Entwicklung von mittleren bis größeren Softwaresystemen/Softwarearchitekturen.
    • Schwierigkeitsgrad: Fortgeschritten
    Read more
  • Logging konsolidieren und Performance gewinnen

    Article Stefan Bodewig, Phillip Ghadir

    Apache Log4j 2.0 ist eine Neuimplementierung von Log4j zeichnet sich vor allem durch einen höheren Durchsatz – dank asynchronem I/O – aus. Die Neuerungen des Frameworks machen Lust darauf, Log4j2 einzusetzen. Da drängt sich die Frage auf, wie die Vorzüge von Log4j2 in einem System genutzt werden können, wenn Teile noch Log4J 1, commons-logging oder Ähnliches verwenden.

    Read more
  • Kanonische Architektur-Evolution

    Article Phillip Ghadir, Dr.-Ing. Daniel Lübke

    Mit dem Entwurf der Softwarearchitektur wollen wir noch vor der Umsetzung die Tragfähigkeit der Software sicherstellen. Wie gut wir die Trägfähigkeit einschätzen können, hängt neben Erfahrungswerten und Kenntnis der eingesetzten Technologien auch davon ab, wie konsistent wir unsere Konzepte tatsächlich implementieren.

    Wir brauchen also mehr als bloße Wunschvorstellungen über das System; wir benötigen Mechanismen für die konsequente Umsetzung der funktionalen und qualitativen Eigenschaften des Systems.

    Read more
  • Architektur 201x: Neue Konzepte für die Architektur komplexer Systeme

    Talk Stefan Tilkov W-JAX 2014 Slides available

    Während im Enterprise-Umfeld Systeme häufig immer noch nach denselben Mustern entworfen werden wie vor 10 oder 15 Jahren, haben sich die Dinge in den immer größer werdenden Internet-Plattformen, -Diensten und Anwendungen der großen Internet-Anbieter dramatisch weiterentwickelt. Dazu zählen vor allem die Konzepte zu Modularisierung in viele einzelne, voneinander weitgehend unabhängige Systeme, der deutlich flexiblere und tolerantere Umgang mit verschiedenen Programmiersprachen und Frameworks und passende Entwicklungs- und Deployment-Strategien, die weniger eine gemeinsame technologische Implementierungsbasis, sondern eher gemeinsame Schnittstellen voraussetzen.

    In diesem Vortrag diskutieren wir, wie wir nach der Maxime “weniger ist mehr” kleinere Systeme deutlich effizienter entwickeln und diese zu großen Systemlandschaften zusammensetzen können, ohne uns von einzelnen Technologieplattformen abhängig zu machen. Dass solche Systemlandschaften dann auch noch rein zufällig perfekt mit modernen Cloud-Ansätzen zusammenspielen, versteht sich – aus Gründen der Buzzword-Kompatibilität – fast von selbst.

    Read more
  • Methodical Improvement of Software Systems and Architectures: The aim42 approach

    Talk Gernot Starke European Conference on Software Architecture (ECSA) 2014 Slides available

    The presentation outlines AIM42, the architecture-improvement-method, a systematic yet pragmatic approach to improve productive systems. AIM42 relies on a small number of domain concepts and works in three phases (analysis, evaluation, improvement) supported by crosscutting activities. For each phase, AIM42 proposes a number of proven and established practices and patterns. The method addresses both business and technical stakeholders of software systems. aim is developed by an active community in open-source style, backed by extensive industrial experience and scientific research. It has proven to work under time- and budget constraints in various industries.

    Read more
  • Nano, Micro, Mini, oh my: Modularization for sustainable systems

    Talk Stefan Tilkov Microservices Meetup Munich Slides available

    Architects are used to being able to rely on a common technical basis for their systems, but it usually takes only a few successful versions for a system to turn into a hard-to-change, monolithic, annoying mess: Homogeneity, valued in the beginning, turns into a liability. In this talk, we’ll look at concepts for turning a single system into a system of systems, and discuss the architectural und organizational challenges that arise. We’ll also highlight how these ideas are definitely compatible, but possibly not identical to what’s currently being discussed as “microservices” in the community.

    Read more
  • Über die Advanced-Zertifizierung für Softwarearchitekten

    News

    Wer sich im Bereich Softwarearchitektur weiterbildet, erweitert damit mittelfristig den Einfluss auf das Wohlergehen der Systeme. Wer kontinuierlich Kenntnisse gängiger Technologien und Frameworks sowie methodische Fähigkeiten erwirbt und ausbaut, bleibt auch langfristig für den Arbeitsmarkt attraktiv. Read more
  • REST und RESTful HTTP: Was es ist – und was nicht

    Talk Stefan Tilkov Developer Week 2014

    REST gehört mittlerweile zum guten Ton: Was auch immer wir ansehen, ob Produkt, Dienst oder Framework: Überall wimmelt es nur so von Dingen, die behaupten, „RESTful“ zu sein. Aber wie immer, wenn etwas gerade in Mode ist, handelt es sich dabei um Etikettenschwindel. In diesem Vortrag beginnen wir mit einer pragmatischen Einführung in die Grundlagen von REST, des Architekturstils des Webs, bevor wir den größten Teil unserer Zeit damit verbringen, uns die häufigsten Irrtümer und Missverständnisse rund um das Thema anzusehen.

    Read more
  • Skalierbare Softwaresysteme

    Article Oliver Tigges

    Skalierbarkeit ist eines der klassischen Qualitätsmerkmale von IT-Systemen. Wenn wir diesen Begriff hören, denken wir üblicherweise sofort an die Skalierung des Systems “nach oben”. Es scheint also meistens darum zu gehen, inwieweit unser System durch das Hinzufügen von mehr RAM, CPU oder zusätzlichen Maschinen auch entsprechend mehr Durchsatz erreicht oder mehr Last vertragen kann. Oft ist aber auch die Skalierbarkeit “nach unten” interessant, also die Lauffähigkeit des Systems bei sehr wenig verfügbaren Ressourcen. Eine solche Flexibilität ist zum Beispiel sehr hilfreich, wenn ein komplexes System automatisiert durch viele unterschiedlich dimensionierte Entwicklungs-, Test- und Abnahmeumgebungen wandern muss, bevor es in der Produktivumgebung ankommt.

    Read more
  • Vorsicht Schuldenfalle — was die IT aus der Finanzwelt lernen kann

    Talk Tammo van Lessen, Jörg Nitzsche BPM Integration Days 2014

    Schulden machen ist leicht, zu leicht manchmal und ehe man sich versieht, hat man Mühe die Schuldenlast zurück zu zahlen. Ähnlich verhält es sich auch bei Softwarearchitektur. Ein “das fixen wir später” hier, “die Dokumentation ziehen wir nach der Abnahme nach” dort, ein kleiner Hack da, ein schnelles Feature dazu und schon sieht man sich einer degenerierten Software(architektur) gegenüber, die hohe Wartungskosten nach sich zieht und eine weitere Entwicklung nur bedingt zulässt.

    Damit es nicht so weit kommt muss man sich der Schulden bewusst sein, die man durch manche Entscheidungen aufnimmt und muss den Schuldenberg im Griff behalten. Das gilt für traditionelle Softwareprojekte gleichermaßen wie für SOA- und BPM-Projekte.

    In diesem Vortrag gehen wir auf verschiedene Arten technischer Schulden ein und zeigen Wege auf, wie man ihnen im Projektalltag begegnet.

    Read more