Forgot your password?

Conference slides of S&S Media Group
until september 2019

Register

  • By sending the registration you confirm our general terms and conditions and data protection regulations.

DIREKT BESTELLEN

Bestehendes Abonnement zum entwickler.kiosk-Zugang erweitern

Bitte wählen Sie Ihr bestehendes Abonnement:

Volltextsuche

Ihre Suchergebnisse für:

No content found!

Software Architecture Summit Maerz 2018

12. bis 14. März 2018
Inselkammerstraße 7-9 Holiday Inn München - Unterhaching
82008 , München - Deutschland

Monday - 12. March 2018

10:00 bis 13:00
Serverless-Architekturen – wer braucht schon einen Server?

Kaum haben wir uns von dem klassischen Monolithen und der zugehörigen Ablaufumgebung namens Application Server zugunsten von Microservices und Embedded Runtimes verabschiedet, taucht am Horizont mit Serverless Applications bzw. Architectures schon die nächste Evolutionsstufe auf. Was bitte ist das jetzt schon wieder? Und wer braucht so etwas? Der Workshop zeigt, wie sich dank BaaS, FaaS und einiger anderer Akronyme Mobile- und Enterprise-Anwendungen implementieren lassen – ganz ohne Server! Ganz ohne?Na ja, fast. Wir werden Hands-On gemeinsam die ersten Schritte gehen und über Patterns und typische Pitfalls diskutieren.

14:00 bis 17:30
Software Architekturen für hybride Cloud Szenarien

Das Thema Hybrid Cloud ist derzeit in zahlreichen Organisationen ein gewichtiges Thema. Man will besonders wertvolle oder schützenswerte Daten lieber nicht außer Haus geben und diese lieber in einer On-Premise Cloud / PaaS Lösung halten und auf der anderen Seite möchte man für alle anderen Funktionen von den Skalierungs-, Abrechnungs- und Self-Service-Vorteilen einer öffentlichen Cloud-Lösung profitieren. Solche Setups erfordern von uns als Software Architekten jedoch die Berücksichtigung zahlreicher Aspekte.Dieser Workshop stellt Ihnen zum einen kurz das Szenario „Hybrid Cloud“ vor, um dann die zu lösenden Herausforderungen wie Latenzen, Security oder Integration zu diskutieren. Nach dieser Vorstellung wird sich der überwiegende Teil des Workshops mit Lösungsansätzen beschäftigen. Hierzu zählen folgende Fragestellungen:- Wie stelle ich sicher, dass ich meine Software einfach von einer Cloud-Plattform zur nächsten schieben kann?- Wie kann ich sicherstellen, dass die Fachlichkeit in einem solchen Szenario richtig verteilt ist?- Welche Integrations- und Kommunikationsmöglichkeiten habe ich erstens innerhalb einer Cloud und dann vor allem Cloud-übergreifend und welche sind besonders empfehlenswert?- Wie gehe ich mit internen Bestandssystemen in einem Hybrid Cloud Umfeld um?Der Workshop wird sowohl aus Theorie (70 %) und praktischen Übungen (30 %) bestehen.

EventStorming und Domain-Driven Design

Viele Projekte kranken daran, dass die Kommunikation zwischen den Beteiligten nicht gut funktioniert, und zwar in vielerlei Hinsicht: - Die Projektverantwortlichen denken sich im Vorfeld selbst etwas aus, anstatt mit Problemen zu den Entwicklern zu kommen. ("Das ist so doch bestimmt am einfachsten!") - Die Entwickler denken sich bei Unklarheiten selbst etwas aus, anstatt die Fachbereichler um Klärung zu bitten. ("Das kann doch nur so gemeint sein!") - Derselbe Begriff wird für verschiedene Dinge benutzt - Verschiedene Begriffe werden für dasselbe Ding benutzt - Lücken, Probleme oder Defekte werden in der Konzeptionsphase übersehen oder ignoriert und tauchen erst nach mehrmonatiger teurer Entwicklung auf EventStorming verspricht hier Abhilfe, da es alle Beteiligten zusammenbringt und ihnen dabei hilft, sich bereits zu Beginn eines Projekts darüber klarzuwerden, worum es eigentlich gehen soll. Das Ergebnis einer solchen Session ist üblicherweise sehr viel gemeinsames Verständnis, eine gemeinsame Sprache sowie ein Domänenmodell (im Sinne von Domain-Driven Design). Doch wenn so ein Modell zu abstrakt bleibt, besteht weiterhin die Gefahr, dass viele Probleme und Lücken erst zur Entwicklungszeit sichtbar werden. Daher schauen wir uns in einem zweiten Schritt an, wie man das Domänenmodell präzisieren kann, suchen Einschränkungen und prüfen das Modell auf Vollständigkeit. Über die Beziehungen zwischen den Entities und Value Objects des Modells lassen sich Bounded Contexts und Aggregate identifizieren, sodass sich das Modell relativ unproblematisch in Code überführen lässt. In diesem Workshop werden wir uns anhand einer vorgegebenen Domäne damit beschäftigen, ein solches präzises Domänenmodell in mehreren Stufen zu entwickeln und zu verstehen. Die Modellierungsarbeit findet dabei mit Post-Its an der Wand statt.

18:00 bis 19:00
Keynote: Architektur, Organisation, Prozesse – und Menschen

Keine Präsentation über moderne Architekturen ohne „Conways Law“: Der Zusammenhang zwischen Organisationsstruktur und Architektur ist mittlerweile fast ein Allgemeinplatz. Aber was machen wir aus dieser profunden und doch gleichzeitig trivialen Erkenntnis? Mit diesem Vortrag werden wir versuchen, gemeinsam einen Blick auf Herausforderungen, Patterns und Antipatterns von moderner Architekturarbeit in der Praxis zu werfen – und daraus möglichst konkrete Empfehlungen für die tägliche Arbeit abzuleiten.

Tuesday - 13. March 2018

10:00 bis 13:00
The Core of Domain-Driven Design

Bei Softwareentwicklungsprojekten kommt oft nicht das heraus, was sich der Fachanwender vorgestellt hat. Erst im Einsatz werden die Kommunikationsprobleme zwischen Fachleuten und Entwicklern sichtbar und damit viel zu spät. Wie wäre es, wenn Fachseite und Entwickler miteinander in derselben Sprache sprechen und dadurch frühzeitig merken würden, ob sie sich verstehen? Hier setzt Domain Driven Design (DDD) an: Fachexperten und Techniker entwickeln ganz bewusst eine gemeinsame Fachsprache, die die Basis für die domänengetriebene Architektur bildet.Aber nicht nur die Fachanwender und die Entwickler missverstehen sich, sondern auch die Entwickler untereinander haben verschiedenen Vorstellungen von der Architektur des zukünftigen Systems. Um auch an dieser Stelle hohe Qualität zu gewährleisten, bietet DDD vordefinierte Muster, wie Entity, ValueObject, Service etc. an. Diese DDD-Muster vereinfachen die Kommunikation im Entwicklungsteam und führen zu einer einheitlichen Architektur. Fachsprache und Muster funktionieren nicht nur für ein System, sondern auch in großen Softwareprojekten mit mehreren Entwicklungsteams oder bei getrennt entwickelten Microservices. Hier kommen Konzepte wie EventStorming, Domain Storytelling, Bounded Context, Context Map, Shared Kernel, Domain Events, Anticorruption Layer etc. zum Tragen.Carola Lilienthal zeigt Ihnen in diesem Workshop, wie eine Fachsprache entwickelt, verschiedene Bounded Contexts identifiziert und die DDD-Muster eingesetzt werden, um eine an der Fachdomäne orientierte Anwendung zu entwerfen.

Chaos? Revolution? Evolution!

Damit größere Systeme oder Systemlandschaften über einen längeren Zeitraum hohe Qualität ausstrahlen, sind sowohl technische als auch fachliche Änderungen unausweichlich. Die gesündesten mir bekannten Ansätze kümmern sich stetig um diese Änderungen und betrauen möglichst viele Entwickler mit der Weiterentwicklung der Architektur. Konzepte und Technologien werden lokal und unabhängig getestet, bevor sie entweder verworfen werden, lokal als Optimierung bestehen bleiben oder als breiter anwendbares Konzept in die Landschaft wachsen. Durch den harten Test des Lebens (bzw. durch den kontinuierlichen Kontakt von Entwicklern mit wichtigen Qualitätsmerkmalen) entstehen wertvolle Beiträge zu einer Architektur, die sich stetig weiterentwickelt. Evolutionärer Architektur.In diesem Workshop stelle ich den Zyklus evolutionärer Architekturentwicklung vor. Von Lernfenstern mit Experimenten und erlaubten Abweichungen vom „Standard“, über weich definierte Regeln und geförderte Innovation bis hin zur eingeschränkten Anwendbarkeit von überholten Konzepten. Beispiele aus realen Entwicklungsvorhaben verdeutlichen die Konzepte.

14:00 bis 17:30
Web-Architektur in einer funktionalen Welt

Funktionale Programmiersprachen unterstützen uns bei der Entwicklung von komplexen Systemen durch mehrere Eigenschaften. Unter anderem bieten sie uns eine genaue Kontrolle des Zustandes der Anwendung und eine Beschränkung der Nebenwirkungen an — wichtige Vorteile, insbesondere in einer multi-threaded Umgebung. Bei der Einführung einer funktionalen Sprache zu Beginn der Entwicklungsphase wird eine Frage sehr oft gestellt: Wie sollen wir unsere neue Anwendung strukturieren?Dieser Workshop vermittelt einen Ansatz einer Architektur funktionaler Web- Anwendungen. Wir werden das Rad nicht neu erfinden. Stattdessen werden wir erprobte architektonische Lösungen an die funktionale Welt anpassen. Mithilfe der "Hexagonal Architecture" werden wir die Zuständigkeiten in unserer Anwendung klar trennen. Unseren funktionalen und Nebenwirkungs-freien Kern, der von anderen Teilen des Systems unabhängig ist, werden wir gründlich mit Property-based Testing prüfen. Wir werden auch besprechen, wie andere erprobte architektonische Ansätze zu funktionalen Programmiersprachen passen.

Das doppelte (Architektur-)Lottchen – Makro- vs. Mikroarchitektur

Während in einer klassischen Konzern-IT Standards und Blaupausen für immer gleiche Anwendungsarchitekturen sorgen, betonen Microservice-Ansätze die technologische Freiheit. Zwei extreme Spielarten der Ausgestaltung von Makro- und Mikroarchitektur. In diesem Mix aus Vortrag und kurzen interaktiven Elementen lernen Sie neben dem Konzept selbst auch die auf Ihre Ziele abgestimmte Richtung, die Sie in dieser Fragestellung einschlagen sollten. Wie sieht in Ihrem Kontext die Balance aus - was geben Sie für alle Elemente Ihrer Andwendung(slandschaft) vor, wo lassen Sie bewusst Spielraum? Und gibt es auch noch etwas dazwischen? Zu diesem Zweck passen wir organisatorische und technologische Trends wie 2-Speed/Bimodale Architekturen, Cloud und Domänenorientierung in das Entwurfsdoppel Makro und Mikro ein.

Wednesday - 14. March 2018

10:00 bis 13:00
Microservice-Architekturen praktisch am Beispiel Kubernetes (Teil 1)

Microservice-Architekturen wie die ISA (Independent Systems Architecture) und SCS (Self-contained Systems) müssen eine Reihe von technischen Herausforderungen lösen. Dazu zählen Deployment, Service Discovery, Resilience und Load Balancing. In diesem Workshop zeigen wir, warum Kubernetes eine ideale Lösung für diese Punkte darstellt und gehen auf zusätzliche Technologien für asynchrone Kommunikation und UI-Integration ein. So zeigt der Workshop nicht nur theoretische Architektur-Prinzipien, sondern auch deren ganz praktische Umsetzung.

Nachts im METRO Depot - Vom Kundenauftrag bis zur Warenlieferung mit Microservices

Was passiert eigentlich zwischen dem Abschicken einer Bestellung im Webshop und der Lieferung der Ware?In diesem Workshop werden wir gemeinsam eine Domänenarchitektur für "Food Service Distribution" erarbeiten und verschiedene Umsetzungsoptionen in einer Microservice-Architektur diskutieren. Neben Domänen- und Architekturfragen wollen wir unsere "Lessons learned" aus der Umsetzung und dem 24/7-Betrieb einer großen Microservice-Plattform teilen und Raum für einen Erfahrungsaustausch zu diesen Themen bieten.

14:00 bis 17:30
Microservice-Architekturen praktisch am Beispiel Kubernetes (Teil 2)

Microservice-Architekturen wie die ISA (Independent Systems Architecture) und SCS (Self-contained Systems) müssen eine Reihe von technischen Herausforderungen lösen. Dazu zählen Deployment, Service Discovery, Resilience und Load Balancing. In diesem Workshop zeigen wir, warum Kubernetes eine ideale Lösung für diese Punkte darstellt und gehen auf zusätzliche Technologien für asynchrone Kommunikation und UI-Integration ein. So zeigt der Workshop nicht nur theoretische Architektur-Prinzipien, sondern auch deren ganz praktische Umsetzung.

Legacy mit Domain-Driven Design verbessern

Fast jedes Softwaresystem wird mit guten Vorsätzen, aber unter schwierigen Bedingungen entwickelt. Die typische Schwierigkeiten, die im Lebens eines Softwaresystems auftreten, sind: Deadlines, die uns zwingen, Hacks zu programmieren; unterschiedliche Qualifikationen im Entwicklungsteam, die zu Code in verschiedener Qualität führen; und auch alter Code, der unordentlich und zu einem großen Knäuel verwoben daherkommt. All dieser schlechte Code wird die Entwicklungskosten in der Zukunft in die Höhe treiben und führt dazu, dass wir das Softwaresystem nicht mehr gerne anfassen. Wir haben Legacy!In diesem Workshop erlernen Sie Techniken und Konzepte aus Domain-Driven Design, die helfen ein Legacy-System wieder auf den Pfad der Tugend zu bringen. Wir diskutieren, wie Legacy-Systeme mit Hilfe von Bounded Contexts und Microservices fachlich zerlegt werden können und wie die Building Blocks von DDD Schritt für Schritt in Legacy-Systeme eingeführt werden können.

X
- Gib Deinen Standort ein -
- or -