Sie sehen von Michael Plöd aus dem Zeitraum bis in
  • Software Architekturen für hybride Cloud Szenarien

    Vortrag Michael Plöd Software Architecture Summit 2018, München

    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 Softwarearchitekten 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.

    Mehr lesen
  • Bessere Präsentationen für Entwickler und Architekten

    Vortrag Michael Plöd JUG Bremen/Oldenburg

    Wer kennt sie nicht aus seinem beruflichen Alltag: tödlich langweilige, mit Details überhäufte PowerPoint Präsentationen, die die Zuhörer und Leser mit Bullet-Point Wüsten in den Schlaf treiben und primär der Selbstbeweihräucherung des Referenten dienen? Anders gefragt: wer ist als Entwickler oder Architekt schon einmal mit einer Präsentation, in der man seinem Management eine tolle neue Technologie schmackhaft machen wollte, an eine Wand gelaufen, weil man einfach nicht die richtigen Worte fand, um Zugang zu seinem Chef (Chef) zu erhalten?

    Solche Situationen wird jeder, der im IT- oder Projektgeschäft tätig ist, nicht nur einmal in seiner Laufbahn erleben. Des Weiteren hat in den letzten Jahren das Buch Presentation Zen von Garr Reynolds insbesondere auf Konferenzen zu einer spürbaren Veränderung im Entwurf von Schaubildern geführt. Oft sind die eben genannten Bullet-Points verschwunden und wurden durch großflächige Bilder mit wenig Text ersetzt. Allerdings wirkt der eben genannte Stil im Geschäftsleben, welches sich auf das Tagesgeschäft konzentriert und sich abseits von Sales-Pitches o.ä. bewegt, oft unangebracht. Dabei ist das Erstellen guter Präsentationen kein Hexenwerk, welches nur Unternehmensberatern oder Design Spezialisten vorbehalten ist. Jeder kann gute Präsentationen erstellen. Stellen wir einmal das Layout und Design der Folien zurück, werden wir erkennen, dass die Basis eine solide Story und eine gute Argumentations-Kette sein muss. Genau an dieser Stelle setzt dieser Vortrag an und vermittelt Ihnen ausgehend von einer Idee oder einem Thema grundlegende Techniken zur Vorbereitung, Argumentation, Storybuilding und schließlich zum Entwurf einer gelungenen Präsentation.

    Mehr lesen
  • Domain-driven Design – Tipps aus der Praxis. Interview mit Michael Plöd

    Link Michael Plöd

    Domain-driven Design bietet eine Reihe von Lösungsansätzen, die nur dann funktionieren, wenn sich Entwickler und Fachexperten auf eine Zusammenarbeit einlassen. Doch wie kann eine solche Bereitschaft zur Zusammenarbeit erreicht werden? In diesem Interview geht Michael Plöd der Frage nach, wie sich DDD im Spannungsfeld zwischen Business und IT etablieren lässt.

  • Wie etabliert man DDD im Spannungsfeld zwischen Business und IT?

    Vortrag Michael Plöd, Carola Lilienthal W-JAX 2017 Folien verfügbar

    DDD bietet eine Reihe von Konzepten und Lösungsvorschlägen, die nur dann funktionieren, wenn sich die Stakeholder aus den Fachbereichen und die Entwickler auf eine weitgehende Zusammenarbeit einlassen. Einerseits müssen die Stakeholder für eine umfassende Diskussion ihrer Fachsprache offen sein, damit in den verschiedenen Bounded Contexts jeweils eine einheitliche Ubiquitous Language entsteht. Andererseits müssen die Entwickler ihr gewohntes Terrain der technischen Abstraktionen verlassen. Eine einseitige Konzentration auf die Building Blocks von DDD (Aggregates, Entities, Value Objects …), führt dazu, dass das volle Potenzial von DDD nicht ausgeschöpft wird.

    Im Rahmen des Vortrags werden wir Ihnen vorstellen, wie Sie als Architekt in einem solchen Umfeld agieren können. Wir zeigen Ihnen Mittel, Wege und Moderationstechniken, wie Sie anfangs zurückhaltende Stakeholder doch noch überzeugen können, zusammen mit Ihnen effektiv Domain-driven Design zu praktizieren.

    Mehr lesen

    Spring Boot Microservices mit Domain Events

    Vortrag Michael Plöd W-JAX 2017

    Domain Events sind ein zentraler Aspekt des taktischen Domain-driven Designs und zudem die Basis für die Implementierung lose gekoppelter Microservices, die auf asynchrones Event Processing ausgelegt sind. In diesem Vortrag werden wir uns mit dem Konzept der Domain Events beschäftigen und kennen lernen, wie sie modelliert und genutzt werden können, um eine lose Kopplung ohne synchrone Kommunikation von Microservices erreichen zu können.

    Weiterhin werden wir das Konzept anhand eines konkreten Beispiels in die Praxis umsetzen. Hierbei werden wir Technologien wie Spring Boot, Spring Cloud Stream (Rabbit/Kafka) und Cloud Foundry verwenden, um anhand von Events und unterschiedlichen Modellierungsstilen von Events die Vor- und Nachteile des Ansatzes kennen zu lernen.

    Mehr lesen
  • Strategisches Design (DDD) für Microservices

    Vortrag Michael Plöd Enterprise Java User Group (eJUG) Austria

    Zweifelsohne kann das Buch „Domain-Driven Design“ von Eric Evans als „Muss“ für Softwarearchitekten und Entwickler betrachtet werden. Die dort geschilderten Ideen sind heute im Kontext von Trends wie Microservices relevanter denn je. Dabei gilt es jedoch zu berücksichtigen, dass Domain-driven Design (DDD) nicht einfach nur auf Aggregate, Entitäten und Services zu reduzieren ist und dass es viel tiefergehende Zusammenhänge zwischen DDD und Microservices wie den Bounded Context gibt.

    An dieser Stelle setzt der Vortrag an: wir werden Schritt für Schritt erkunden, wie uns die Ideen und Patterns beim Aufbau und Design von Microservices-Landschaften helfen. Des Weiteren werden wir betrachten, wie wir mithilfe von DDD eine bestehende Landschaft in Richtung von Microservices migrieren können.

    Mehr lesen
  • Domain-Driven Design

    Podcast Lucas Dohmen, Michael Plöd

    In dieser Folge des innoQ Podcasts spricht Lucas Dohmen mit Michael Plöd über Domain-Driven Design. Was ist Domain-Driven Design? Wie passt es zusammen mit anderen Ansätzen wie Agile, DevOps oder Microservices? Was ist die Ubiquitous Language und welche Rolle spielt sie in DDD? Was ist das Strategic Design und was bedeuten die Begriffe Bounded Context und Context Map? Und was ist das Technical Design und welche Begriffe begegnen einem dort? Mehr lesen
  • Strategisches Design (DDD) für Microservices

    Vortrag Michael Plöd RheinJUG Juli 2017 Folien verfügbar

    Zweifelsohne kann das Buch „Domain-Driven Design“ von Eric Evans als „Muss“ für Softwarearchitekten und Entwickler betrachtet werden. Die dort geschilderten Ideen sind heute im Kontext von Trends wie Microservices relevanter denn je. Dabei gilt es jedoch zu berücksichtigen, dass Domain-driven Design (DDD) nicht einfach nur auf Aggregate, Entitäten und Services zu reduzieren ist, und dass es viel tiefergehende Zusammenhänge zwischen DDD und Microservices wie den Bounded Context gibt.

    An dieser Stelle setzt der Vortrag an: wir werden Schritt für Schritt erkunden, wie uns die Ideen und Patterns beim Aufbau und Design von Microservices-Landschaften helfen. Des Weiteren werden wir betrachten, wie wir mithilfe von DDD eine bestehende Landschaft in Richtung von Microservices migrieren können.

    Mehr lesen
  • Domain Events und Event Storming

    Vortrag Michael Plöd Java Forum Stuttgart 2017 Folien verfügbar

    Das Thema Domain-driven Design ist derzeit in aller Munde und hat sich im Lauf der Jahre spürbar weiterentwickelt. Insbesondere das Thema Domain Events spielt hierbei eine zentrale Rolle. Mithilfe von Domain Events können Bounded Contexts sehr lose gekoppelt auf Basis fachlicher Ereignisse miteinander interagieren. Dabei öffnen Domain Events neben dem architekturellen Vorteil „lose Kopplung“ die Tür für weitere interessante Möglichkeiten. Hierzu zählen die Persistierung von Events (Event Sourcing) und eine neue Form der fachlichen Analyse, das Event Storming.

    Der Vortrag wird die Konzepte von Domain Events vorstellen, Ihnen erläutern, wie diese idealerweise für Kommunikation und Persistierung verwendet werden können. Weiterhin wird im Rahmen des Vortrags auch das Analyseverfahren Event Storming praktisch vorgestellt.

    Mehr lesen
  • Domain Driven Design für Microservices

    Vortrag Michael Plöd DWX Developer Week 2017 Folien verfügbar

    Zweifelsohne kann das Buch “Domain Driven Design” von Eric Evans als “Muss” für Software Architekten und Entwickler betrachtet werden. Die dort geschilderten Ideen sind heute im Kontext von Trends wie Microservices relevanter denn je. Dabei gilt es jedoch zu berücksichtigen, dass Domain Driven Design nicht einfach nur auf Aggregate, Entitäten und Services zu reduzieren ist und dass es viel tiefer gehende Zusammenhänge zwischen DDD und Microservices wie den Bounded Context gibt.

    An dieser Stelle setzt der Vortrag an: Wir werden Schritt für Schritt erkunden, wie uns die Ideen und Patterns beim Aufbau und Design von Microservice Landschaften helfen. Des Weiteren werden wir betrachten, wie wir mit Hilfe von Domain Driven Design eine bestehende Landschaft in Richtung von Microservices migrieren können.

    Mehr lesen
  • Implementing loosely coupled microservices with Grails

    Vortrag Michael Plöd GR8Conf EU 2017 Folien verfügbar

    Grails 3 is a great starting point for creating microservices, and many projects are following this path. However, many microservice landscapes are still based on synchronous calls to REST resources which obviously increases coupling between those applications. This talk focusses on building loosely coupled microservices that are based on Domain Events, which are becoming more and more popular in the Domain Driven Design community. We will take a look at how Grails 3 helps us in building such systems by introducing the Grails 3 event system and by taking a look at how we can leverage Domain Events for a decoupled communication between Grails applications.

    The talk will have slides for the theory and many practical examples.

    Mehr lesen
  • Leveraging Domain Events in your Spring Boot Microservices (Workshop)

    Vortrag Michael Plöd Spring I/O 2017

    Domain Events are a part of Domain-Driven Design’s internal building blocks and they also play a central role during the implementation of loosely coupled Microservice landscapes. In this workshop we will take a deep dive into the concept of Domain Events and learn how to model and design Domain Events. We will also address how they can be used for the internal and external communication between Spring Boot applications.

    The workshop will consist of theoretical explanations using slides as well as a substantial hands-on live coding part in which you will learn how to work with Domain Events in Spring Boot. We will conclude the session by taking a short look at topics like Event Sourcing and CQRS.

    Mehr lesen
  • DDD Strategic Design with Spring Boot

    Vortrag Michael Plöd Spring I/O 2017

    One of the most valuable parts of Domain Driven Design are the concepts of Strategic Design. These concepts include Bounded Context, Context Map and the patterns that are being documented in the Context Map.

    This talk explains all of these topics mentioned above as well as practical usage scenarios such as migrating a monolithic landscape to Microservices. In order to get hands-on, I will also demonstrate the concepts surrounding Strategic Design with an application landscape of various Spring Boot Applications.

    Mehr lesen
  • Caching for Business Applications: Best Practices and Gotchas

    Vortrag Michael Plöd geeCON 2017 Folien verfügbar

    Caching is relevant for a wide range of business applications and there is a huge variety of products in the market ranging from easy to adopt local heap based caches to powerful distributed data grids. Most of these caches are being promoted with examples from applications that have the luxury of having ‘eventual consistency’ as a non-functional requirement. Most business / enterprise applications don’t have that luxury.

    This talks aims at developers and architects that want to adopt a caching solution for their business application. I will present 15 caching patterns and best practices for these kinds of applications that address the typical questions being asked in that context. These questions might be: ‘which data can I cache?’, ‘how can I handle consistency in a distributed environment?’, ‘which cache provider to choose?’ or ‘how do I integrate a cache provider in my application?’. This talk comes with many live demos, some of them are run on a distributed cache cluster on Raspberry Pis

    Mehr lesen
  • Spring Boot als Beispiel für DDD Strategic Design

    Vortrag Michael Plöd JAX 2017 Folien verfügbar

    Einer der wertvollsten Bereiche von Domain-driven Design ist zweifelsohne das Strategic Design mit seinen Context-Mapping-Patterns. Allerdings wirken die meisten Beschreibungen der Patterns in textueller Form etwas abstrakt und schwer verdaulich. Im Rahmen dieses Vortrags werden die Patterns auf Basis einer einfachen Spring-Boot-basierten Anwendungslandschaft praktisch und greifbar erklärt und vorgestellt. Hierbei gehen wir unter anderem auf folgende Patterns ein: Customer/Supplier, Open Host Language, Anti-Corruption Layer, Conformist oder Separate Ways.

    Mehr lesen

    Strategisches Design (DDD) für Microservices

    Vortrag Michael Plöd JAX 2017 Folien verfügbar

    Zweifelsohne kann das Buch „Domain-Driven Design“ von Eric Evans als „Muss“ für Softwarearchitekten und Entwickler betrachtet werden. Die dort geschilderten Ideen sind heute im Kontext von Trends wie Microservices relevanter denn je. Dabei gilt es jedoch zu berücksichtigen, dass Domain-driven Design (DDD) nicht einfach nur auf Aggregate, Entitäten und Services zu reduzieren ist und dass es viel tiefergehende Zusammenhänge zwischen DDD und Microservices wie den Bounded Context gibt.

    An dieser Stelle setzt der Vortrag an: wir werden Schritt für Schritt erkunden, wie uns die Ideen und Patterns beim Aufbau und Design von Microservices-Landschaften helfen. Des Weiteren werden wir betrachten, wie wir mithilfe von DDD eine bestehende Landschaft in Richtung von Microservices migrieren können.

    Mehr lesen

    Cloud-native Java

    Vortrag Michael Plöd JAX 2017

    “It is not necessary to change. Survival is not mandatory.” W. Edwards Deming

    Work takes time to flow through an organization and ultimately be deployed to production where it captures value. It’s critical to reduce time-to-production. Software – for many organizations and industries – is a competitive advantage.

    Organizations break their larger software ambitions into smaller, independently deployable, feature-centric batches of work – microservices. In order to reduce the round-trip between stations of work, organizations collapse or consolidate as much of them as possible and automate the rest; developers and operations beget “devops”, cloud-based services and platforms (like Cloud Foundry) automate operations work and break down the need for ITIL tickets and change management boards.

    But velocity, for velocity’s sake, is dangerous. Microservices invite architectural complexity that few are prepared to address. In this talk, we’ll look at how high performance organizations like Ticketmaster, Alibaba, and Netflix make short work of that complexity with Spring Boot and Spring Cloud.

    Mehr lesen
  • Cloud-native Java (the Workshop)

    Vortrag Michael Plöd JAX 2017

    In this workshop we’ll look at how to build cloud-native Java applications. A cloud-native application is one that is designed to fully exploit a cloud platform both in the application layer – where things decompose into microservices – and at the data layer where NoSQL offers better horizontal scaling and fitness for specific purpose. We’ll look at:

    • writing services and handling non-functional requirements like metrics and logging with Spring Boot
    • scaling out safely and building fault-tolerant systems using Spring Cloud and its support for distributed systems patterns like the circuit breaker, service registration and discovery, and centralized configuration management.
    • offloading as much operational work as possible to the platform, Cloud Foundry
    Mehr lesen
  • Webinar: Strategic (Domain Driven) Design with Spring Boot

    Vortrag Michael Plöd Spring Webinar

    This talk will focus on one of the most precious parts of Domain Driven Design, the concept of Strategic Design, as well as Bounded Context, the Context Map and the patterns that are being documented in the Context Map.

    An explanation of these principles as well as practical usage scenarios such as migrating a monolithic landscape to microservices is planned for discussion. And, using a hands-on approach, we will demonstrate the concepts surrounding Strategic Design with an application landscape of various Spring Boot Applications.

    Mehr lesen
  • Domain Events und Event Storming

    Vortrag Michael Plöd Software Architecture Summit 2017

    Das Thema Domain-driven Design ist derzeit in aller Munde und hat sich im Lauf der Jahre spürbar weiterentwickelt. Insbesondere das Thema Domain Events spielt hierbei eine zentrale Rolle. Mithilfe von Domain Events können Bounded Contexts sehr lose gekoppelt auf Basis fachlicher Ereignisse miteinander interagieren. Dabei öffnen Domain Events neben dem architekturellen Vorteil „lose Kopplung“ die Tür für weitere interessante Möglichkeiten. Hierzu zählen die Persistierung von Events (Event Sourcing) und eine neue Form der fachlichen Analyse, das Event Storming.

    Der Workshop wird die Konzepte von Domain Events vorstellen, Ihnen erläutern, wie diese idealerweise für Kommunikation und Persistierung verwendet werden können. Weiterhin wird im Rahmen des Vortrags auch das Analyseverfahren Event Storming praktisch vorgestellt. Der Workshop wird neben einem theoretischen Teil auch praktische Übungen beinhalten.

    Mehr lesen
  • DDD Workshop

    Vortrag Michael Plöd MAJUG März 2017

    In diesem Workshop werden wir die grundlegenden Konzepte und Ideen von Domain Driven Design und seine Evolution betrachten und kennenlernen. Dabei werden nicht nur reine Patterns betrachtet, sondern auch eruiert in wie weit DDD organisatorische, (Team-)politische und kommunikative Aspekte beeinflusst. Der Workshop bespricht dabei die grundlegenden Eigenschaften und “Attitüden”, die DDD ausmachen. Im nächsten Teil geht es detailliert um den Bereich der Internal Building Block, dem wohl bekanntesten DDD-Teil: die Entitäten, Value Objects oder Aggregates.

    Schließlich werden wir das Thema Strategic Design beleuchten und lernen in wie weit uns Bounded Contexts und Context Maps dabei helfen, bestehende Systemlandschaften oder Systeme zu analysieren und warum vor allem die Context Map mit ihren Klassifizierungen ein sehr guter Ausgangspunkt für künftige IT-Transformationen ist. Abschließend werfen wir noch kurz einen Blick auf neuere Trends im DDD-Umfeld, wie zum Beispiel Domain Events, Event Sourcing oder CQRS.

    Der Workshop wird sowohl einen theoretischen, wie auch einen praktischen Teil mit Beispielen und kurzen Übungen beinhalten.

    Mehr lesen
  • In-Depth: Practical Microservice Modelling with DDD’s Strategic Design

    Vortrag Michael Plöd microXchg 2017

    In this highly interactive session we are going to dig deep into strategic design aspects for finding the right and suitable granularity and interaction model for Microservices. The session will cover intense discussions surrounding Bounded Contexts, the meaning of given models in Bounded Contexts, Domain Events and Context Mapping, including the given patterns such as Shared Kernel, Customer / Supplier, Anticorruption Layer or Separate Ways (just to name a few).

    The in-depth session will be based on a code based (Spring Boot) demo application landscape and will include analog as well as digital labs. This session will consist of approximately 40% presentation and 60% labs and audience participation.

    Mehr lesen
  • Strategic Design aus Domain Driven Design mit Spring Boot

    Vortrag Michael Plöd JUG Nürnberg Januar 2017 Meetup Folien verfügbar

    Einer der wertvollsten Bereiche von Domain Driven Design ist zweifelsohne das Strategic Design mit seinen Context Mapping Patterns. Allerdings wirken die meisten Beschreibungen der Patterns in textueller Form etwas abstrakt und schwer verdaulich. Im Rahmen dieses Vortrags werden die Patterns auf Basis einer einfachen Spring Boot basierten Anwendungslandschaft praktisch und greifbar erklärt und vorgestellt. Hierbei gehen wir unter anderem auf folgende Patterns ein: Customer / Supplier, Open Host Language, Anticorruption Layer, Conformist oder Separate Ways

    Mehr lesen
  • Caching with Spring - Advanced Topics and Best Practices

    Vortrag Michael Plöd Spring Community Meetup Munich January 2017

    Caching is relevant for a wide range of business applications and there is a huge variety of products in the market, ranging from easy to adopt local heap based caches to powerful distributed data grids. This talk addresses advanced usage of Spring’s caching abstractions such as integrating a cache provider that is not integrated in the default Spring Package.

    In addition, I will also give an overview of the JCache specification and its adoption in the Spring ecosystem. Finally, the presentation will address several best practices for integrating various caching solutions into enterprise grade applications that don’t have the luxury of having „eventual consistency“ as a non-functional requirement.

    Mehr lesen
  • Microservices lieben Domain Driven Design, warum und wie?

    Artikel Michael Plöd

    Das Buch Domain Driven Design, welches Eric Evans vor gut 13 Jahren publizierte, galt schon seit jeher als herausragende Referenz für die fachlich getriebene Modellierung von IT-Systemen. Mit dem Einzug von Microservices erfährt Domain Driven Design eine Renaissance, denn die beiden Ideen lassen sich wunderbar miteinander kombinieren. Im Laufe des Artikels werden Sie kennenlernen, wie Sie mit Hilfe der Ideen von Domain Driven Design technisch wie fachlich tragfähigen Microservice Landschaften entwickeln können.

    Mehr lesen
  • Microservices à la Netflix

    Artikel Carsten Pelka, Michael Plöd

    Netflix hat in den letzten Jahren sehr interessante Open Source Frameworks wie beispielsweise Eureka, Hystrix oder Zuul via GitHub publiziert. Parallel dazu hat das Spring Team mit Spring Boot und Spring Cloud zwei hoch interessante Module für Cloud basierte Microservice Architekturen veröffentlicht. Wie passen diese beiden Dinge nun zusammen?

    Mehr lesen
  • Event Sourcing - Einführung und Best Practices

    Vortrag Michael Plöd Software Architektur München Meetup November 2016

    Unter Event Sourcing versteht man einen Architekturstil in dem Änderungen am Zustand der verwalteten Daten als eine Sequenz von Events festgehalten werden. Durch diese Herangehensweise können jederzeit Snapshots des Datenzustands erstellt und abgefragt werden. Des Weiteren ermöglicht uns das Persistieren von Events eine Optimierung der lesenden Zugriffe durch eine Denormalisierung des “Lese-Modells” der Daten. Letzerer Aspekt ist aktuell insbesondere durch den Architekturansatz CQRS in aller Munde.

    Im Rahmen des Vortrags werde ich eine Einführung in das Thema Event Sourcing geben und gängige Patterns rund um das Thema vorstellen. Des Weiteren werden Themen wie Rollback von Events (Kompensation-Services), Möglichkeiten der Erstellung von Daten Snapshots und Änderungen durch externe Systeme vorgestellt. Abgerundet wird der Vortrag durch eine Diskussion möglicher Einsatzszenarien für Event Sourcing.

    Mehr lesen
  • Microservices lieben Domain Driven Design: warum und wie?

    Vortrag Michael Plöd The Architecture Gathering 2016 Folien verfügbar

    Zweifelsohne kann das Buch “Domain Driven Design” von Eric Evans als “Muss” für Software Architekten und Entwickler betrachtet werden. Die dort geschilderten Ideen sind heute im Kontext von Trends wie Microservices relevanter denn je. Dabei gilt es jedoch zu berücksichtigen, dass Domain Driven Design nicht einfach nur auf Aggregate, Entitäten und Services zu reduzieren ist, und dass es viel tiefergehende Zusammenhänge zwischen DDD und Microservices wie den Bounded Context gibt.

    An dieser Stelle setzt der Vortrag an: wir werden Schritt für Schritt erkunden, wie uns die Ideen und Patterns beim Aufbau und Design von Microservice-Landschaften helfen. Des Weiteren werden wir betrachten, wie wir mit Hilfe von Domain Driven Design eine bestehende Landschaft in Richtung von Microservices migrieren können.

    Mehr lesen
  • Using Spring Boot as an example for DDD Strategic Design

    Vortrag Michael Plöd DDD Meetup Munich Folien verfügbar

    Einer der wertvollsten Bereiche von Domain Driven Design ist zweifelsohne das Strategic Design mit seinen Context Mapping Patterns. Allerdings wirken die meisten Beschreibungen der Patterns in textueller Form etwas abstrakt und schwer verdaulich. Im Rahmen dieses Vortrags werden die Patterns auf Basis einer einfachen Spring Boot basierten Anwendungslandschaft praktisch und greifbar erklärt und vorgestellt. Hierbei gehen wir unter anderem auf folgende Patterns ein: Customer/Supplier, Open Host Service, Anticorruption Layer, Conformist oder Separate Ways

    Mehr lesen
  • Domain-driven Design im Experten-Check: Wie kann DDD in die Praxis umgesetzt werden?

    Link Eberhard Wolff, Michael Plöd

    Acht Experten für Domain-driven Design, u.a. Michael Plöd und Eberhard Wolff, geben Einblicke in ihre Praxiserfahrungen mit DDD. Im dritten Teil der jaxenter.de-Reihe wurden sie gebeten, einen Tipp zu geben, wie man DDD in realen Projekten erfolgreich einsetzen kann. Außerdem: Weshalb profitieren Microservice-Architekturen von DDD?

  • Domain-driven Design im Experten-Check: Was sind die typischen Probleme bei der Umsetzung von DDD?

    Link Eberhard Wolff, Michael Plöd

    Die Prinzipien für Domain-driven Design sind meist grundsätzlich bekannt – allein die Umsetzung in der Praxis ist alles andere als trivial. Der zweite Teil des jaxenter.de Experten-Checks geht deshalb der Frage nach, auf welche typischen Probleme man bei der Umsetzung von DDD stößt. Außerdem: Wann sollte man von DDD lieber die Finger lassen?

  • Domain-driven Design im Experten-Check: Warum ist DDD heute relevanter denn je?

    Link Eberhard Wolff, Michael Plöd

    Sieben Experten für Domain-driven Design, darunter Michael Plöd und Eberhard Wolff, geben für jaxenter.de in kurzen Statements Einblicke in ihre Praxiserfahrungen mit DDD. Im ersten Teil geht es darum, was DDD für die heutige Software-Architektur so relevant macht – und welche Projekte sich besonders für Domain-driven Design eignen.

  • Microservices lieben Domain Driven Design: warum und wie?

    Vortrag Michael Plöd Java Forum Stuttgart 2016 Folien verfügbar

    Zweifelsohne kann das Buch “Domain Driven Design” von Eric Evans als “Muss” für Software Architekten und Entwickler betrachtet werden. Die dort geschilderten Ideen sind heute im Kontext von Trends wie Microservices relevanter denn je. Dabei gilt es jedoch zu berücksichtigen, dass Domain Driven Design nicht einfach nur auf Aggregate, Entitäten und Services zu reduzieren ist und dass es viel tiefergehende Zusammenhänge zwischen DDD und Microservices wie den Bounded Context gibt.

    An dieser Stelle setzt der Vortrag an: wir werden Schritt für Schritt erkunden, wie uns die Ideen und Patterns beim Aufbau und Design von Microservice Landschaften helfen. Des Weiteren werden wir betrachten wie wir mit Hilfe von Domain Driven Design eine bestehende Landschaft in Richtung von Microservices migrieren können.

    Mehr lesen
  • Caching with Spring: Advanced Topics and Best Practices

    Link Michael Plöd

    This is a video of a talk Michael Plöd gave at the Spring I/O conference 2016 in Barcelona in May. This talk addresses advanced usage of Spring’s caching abstraction such as integrating a cache provider that is not integrated by the default Spring Package. In addition, Michael also gives an overview of the JCache Specification and it’s adoption in the Spring ecosystem. Finally, the presentation addresses various best practices for integrating various caching solutions into enterprise grade applications. This talk comes with many live demos.

  • Building reactive applications with the Grails 3 event system

    Vortrag Michael Plöd GR8Conf EU & Gradle Event Folien verfügbar

    Grails 3 introduced a brand new event system which is based on Reactor. This new feature allows developers to build reactive applications with Grails 3. In this talk we will cover the event system in Grails 3 in detail and explain how it can be used for asynchronous and decoupled communication between commands, services, and even plugins. In addition to that, I will also explain the characteristics of reactive applications and show in how far the Grails 3 event system will support you in developing such applications

    Mehr lesen

    Hands On Migration from Grails 2 to 3

    Vortrag Michael Plöd GR8Conf EU & Gradle Event Folien verfügbar

    Grails 3 is a substantial and radical change in the Grails Ecosystem which requires some effort in order to migrate applications from Grails 2 to the newest version. This presentation explains which steps have to be taken and which gotchas exist in the migration process. Apart from the theory we will also migrate an existing application that is productive (http://www.allschools.de) and running with Grails 2 to the newest version of Grails 3. This presentation will feature a few slides and tons of code.

    Mehr lesen
  • Caching with Spring: Advanced Topics and Best Practices

    Vortrag Michael Plöd Spring I/O 2016 Folien verfügbar

    Caching is relevant for a wide range of business applications and there is a huge variety of products in the market, ranging from easy to adopt local heap based caches to powerful distributed data grids. This talk addresses advanced usage of Spring’s caching abstractions such as integrating a cache provider that is not integrated by the default Spring Package.

    In addition, I will also give an overview of the JCache Specification and its adoption in the Spring ecosystem. Finally, the presentation will also address several best practices for integrating various caching solutions into enterprise grade applications that don’t have the luxury of having „eventual consistency“ as a non-functional requirement.

    Mehr lesen
  • Event Sourcing – Einführung und Best Practices

    Vortrag Michael Plöd SEACON 2016 Folien verfügbar

    Unter Event Sourcing versteht man einen Architekturstil in dem Änderungen am Zustand der verwalteten Daten als eine Sequenz von Events festgehalten werden. Durch diese Herangehensweise können jederzeit Snapshots des Datenzustands erstellt und abgefragt werden. Des Weiteren ermöglicht uns das Persistieren von Events eine Optimierung der lesenden Zugriffe durch eine denormalisierung des ‘Lese-Modells’ der Daten. Letzerer Aspekt ist aktuell insbesondere durch den Architekturansatz CQRS in aller Munde.

    Im Rahmen des Vortrags werde ich Ihnen eine Einführung in das Thema Event Sourcing geben und gängige Patterns rund um das Thema vorstellen. Des Weiteren werden Themen wie Rollback von Events (Kompensation-Services), Möglichkeiten der Erstellung von Daten Snapshots und Änderungen durch externe Systeme vorgestellt. Abgerundet wird der Vortrag durch eine Diskussion möglicher Einsatzszenarien für Event Sourcing.

    Mehr lesen
  • Microservices love Domain Driven Design

    Vortrag Michael Plöd hmmh Digital Talk Mai 2016 Folien verfügbar

    Without any doubt Eric Evans’ book “Domain Driven Design” is being considered as a “must have read” among many IT specialists from various domains. With the emergence of Microservices, Domain Driven Design has become more relevant than ever.

    This talk explains how the patterns and concepts of Domain Driven Design relate to Microservice architectures. We will see that Microservices are not only about Bounded Contexts and that there is much more to Domain Driven Design than Entities and Aggregates. In addition to that I will show how Domain Driven Design will help you to structure and model your Microservices in terms of granularity, business context and interface design (just to name a few). Finally, we will look into migrating existing monolithic applications with the help of patterns laid out in DDD.

    Mehr lesen
  • Event Sourcing: Einführung und Best Practices

    Vortrag Michael Plöd juhg – Java User Group Hessen, April 2016 Folien verfügbar

    Unter Event Sourcing versteht man einen Architekturstil, in dem Änderungen am Zustand der verwalteten Daten als eine Sequenz von Events festgehalten werden. Durch diese Herangehensweise können jederzeit Snapshots des Datenzustands erstellt und abgefragt werden. Des Weiteren ermöglicht uns das Persistieren von Events eine Optimierung der lesenden Zugriffe durch eine Denormalisierung des “Lese-Modells” der Daten. Letzerer Aspekt ist aktuell insbesondere durch den Architekturansatz CQRS in aller Munde.

    Im Rahmen des Vortrags wird Michael Plöd eine Einführung in das Thema Event Sourcing geben und gängige Patterns rund um das Thema vorstellen. Des Weiteren werden Themen wie Rollback von Events (Kompensation-Services), Möglichkeiten der Erstellung von Daten-Snapshots und -Änderungen durch externe Systeme vorgestellt. Abgerundet wird der Vortrag durch eine Diskussion möglicher Einsatzszenarien für Event Sourcing.

    Eine Voranmeldung ist nicht nötig, der Eintritt ist frei.

    Mehr lesen
  • Building Microservices with Event Sourcing and CQRS

    Video Michael Plöd

    In his talk at SpringOne2GX 2015 Michael Plöd focusses on distributed data management challenges that arise in a microservices architecture and how they can be solved using an event-driven architecture. Michael describes how event sourcing is a great way to implement an event-driven application. He talks about Command Query Responsibility Segregation (CQRS) and how it’s a key part of an architecture based on event sourcing.

  • Event Sourcing in der Praxis Workshop

    Vortrag Michael Plöd Software Architecture Summit 2016 Folien verfügbar

    Unter Event Sourcing versteht man einen Architekturstil in dem Änderungen am Zustand der verwalteten Daten als eine Sequenz von Events festgehalten werden. Durch diese Herangehensweise können jederzeit Snapshots des Datenzustands erstellt und abgefragt werden. Des Weiteren ermöglicht uns das Persistieren von Events eine Optimierung der lesenden Zugriffe durch eine denormalisierung des „Lese-Modells“ der Daten. Letzerer Aspekt ist aktuell insbesondere durch den Architekturansatz CQRS in aller Munde.

    Im Rahmen des Workshops wird Michael Plöd eine Einführung in das Thema Event Sourcing geben und gängige Patterns rund um das Thema vorstellen. Des Weiteren werden Themen wie Rollback von Events (Compensation-Services), Möglichkeiten der Erstellung von Daten Snapshots und Änderungen durch externe Systeme vorgestellt. Der Workshop wird neben Schaubildern zahlreiche praktische Live-Coding Bestandteile (Java / Groovy / Spring) beinhalten.

    Mehr lesen
  • Microservices love Domain Driven Design: how and why?

    Vortrag Michael Plöd Microservices Meetup Munich March 2016 Folien verfügbar

    Without any doubt Eric Evans’ book “Domain Driven Design” is being considered as a “must have read” among many IT specialists from various domains. With the emergence of Microservices Domain Driven Design has become more relevant then ever. This talk explains how the patterns and concepts of Domain Driven Design relate to Microservice architectures. We will see that Microservices are not only about Bounded Contexts and that there is much more to Domain Driven Design than Entities and Aggregates. In addition to that I will show off how Domain Driven Design will help you to structure and model your Microservices in terms of granularity, business context and interface design (just to name a few). Finally we will look into migrating existing monolithic applications with the help of patterns laid out in DDD.

    Mehr lesen
  • Microservices <3 Domain Driven Design, why and how?

    Vortrag Michael Plöd microXchg 2016 – The Microservices Conference Folien verfügbar

    Without any doubt Eric Evans’ book “Domain Driven Design” is considered as a “must read” among many IT specialists from various domains. With the emergence of Microservices, Domain Driven Design has become more relevant than ever. This talk explains how the patterns and concepts of Domain Driven Design relate to Microservice architectures. In addition, I will show how Domain Driven Design will help you to structure and model your Microservices in terms of granularity, business context and interface design (just to name a few).

    The video recording of this talk can be found at https://www.youtube.com/watch?v=lUCLFOISuXk

    Mehr lesen
  • Event Sourcing: Tales from the hardside

    Vortrag Michael Plöd Topconf Linz 2016 Folien verfügbar

    Event Sourcing is an architectural style that is based on data being represented as a sequence (or stream) of events. This enables a very convenient way of storing and retrieving snapshots of data. From the event stream we can derive a highly optimized query model of the data. This aspect is a prominent part of the CQRS-Pattern.

    This talk will introduce Event Sourcing from the ground up and explain popular patterns surrounding the topic. In addition to that I will cover why Event Sourcing is an interesting architecture pattern for microservice architectures and reactive applications.

    Mehr lesen
  • Microservices and Event Sourcing with Spring Boot

    Vortrag Michael Plöd, Agim Emruli Topconf Linz 2016

    This half-day workshop consists of two parts.

    Part 1: “Building Microservices with Spring Boot and Spring Cloud” by Agim Emruli

    Creating highly decomposed and distributed microservice architectures requires platforms with a minimal footprint and high productivity. Spring Boot allows developers to build microservices with a broad set of persistence, queueing and caching technologies and to run them with minimal system requirements. Spring Cloud supports the creation of distributed components and helps with integration into popular framework like the Netflix OSS. This talks will discuss and practically show how to build microservice based architectures using Spring Boot and Spring Cloud.

    Part 2: “Building Event Sourced Applications with Spring” by Michael Ploed

    This session will demonstrate how you can leverage components of the Spring Ecosystem in order to build applications that are based on the ideas behind the patterns Event Sourcing and CQRS (Command Query Responsibility Segregation). We will cover Spring Boot, lightweight messaging with Spring, as well as Spring Data for persistence.

    Mehr lesen
  • Caching for Business Applications: Best Practices and Gotchas

    Vortrag Michael Plöd Voxxed Days Berlin 2016 Folien verfügbar

    Caching is relevant for a wide range of business applications and there is a huge variety of products in the market ranging from easy to adopt local heap based caches to powerful distributed data grids. Most of these caches are being promoted with examples from applications that have the luxury of having “eventual consistency” as a non-functional requirement. Most business / enterprise applications don’t have that luxury. This talks aims at developers and architects that want to adopt a caching solution for their business application. I will present 15 caching patterns and best practices for these kinds of applications that address the typical questions being asked in that context. These questions might be: “what data can I cache?”, “how to I handle consistency in a distributed environment?”, “which cache provider to choose?” or “how do I integrate a cache provider in my application?”.

    This talk comes with many live demos, some of them are run on a distributed cache cluster on Raspberry Pis.

    Mehr lesen
  • Building reactive applications with the Grails 3 event system

    Vortrag Michael Plöd Groovy & Grails eXchange 2015 Folien verfügbar

    Grails 3 has introduced a brand new event system which is based on Reactor. This new feature allows developers to build reactive applications with Grails 3. In this talk, Michael will cover the event system in Grails 3 in detail and explain how it can be used for asynchronous and decoupled communication between commands, services and even plugins. In addition to that, he will explain the characteristics of reactive applications and show in how far the Grails 3 event system will support you in developing such applications.

    Mehr lesen

    Hands On Migration from Grails 2 to 3

    Vortrag Michael Plöd Groovy & Grails eXchange 2015 Folien verfügbar

    Grails 3 is a substantial and radical change in the Grails Ecosystem, and it requires some effort to migrate applications from Grails 2 to the newest version. This presentation explains which steps have to be taken and which ‘gotchas’ exist in the migration process. As well as the theory we will migrate an existing application that is productive and running with Grails 2 towards the newest version of Grails 3. This presentation will feature a few slides and tons of code.

    Mehr lesen
  • Event Sourcing - Einführung und Best Practices

    Vortrag Michael Plöd The Architecture Gathering 2015

    Unter Event Sourcing versteht man einen Architekturstil in dem Änderungen am Zustand der verwalteten Daten als eine Sequenz von Events festgehalten werden. Durch diese Herangehensweise können jederzeit Snapshots des Datenzustands erstellt und abgefragt werden. Des Weiteren ermöglicht uns das Persistieren von Events eine Optimierung der lesenden Zugriffe durch eine Denormalisierung des „Lese-Modells“ der Daten. Letzerer Aspekt ist aktuell insbesondere durch den Architekturansatz CQRS in aller Munde.

    Mehr lesen
  • Hands-On Migration from Grails 2 to 3

    Vortrag Michael Plöd SpringOne 2GX 2015

    In this presentation we will migrate an existing application that is productive (http://www.allschools.de) and running with Grails 2 towards the newest version of Grails 3. This presentation will feature 3 slides and tons of code. You will learn which steps have to be taken and which gotchas you have to be aware of in order to make the migration to Grails 3 as smooth as possible.

    Mehr lesen
  • Event Sourcing for reactive applications & Event Sourcing: Tales from the hardside

    Vortrag Michael Plöd Microservices Meetup München

    Event Sourcing for reactive applications

    Event Sourcing is an architectural style that is based on data being represented as a sequence (or stream) of events. This enables a very convenient way of storing and retrieving snapshots of data. From the event stream we can derive a highly optimized query model of the data. This aspect is a prominent part of the CQRS-Pattern.

    This talk will introduce Event Sourcing from the ground up and explain popular patterns surrounding the topic. In addition to that I will cover why Event Sourcing is an interesting architecture pattern for reactive applications.

    Event Sourcing: Tales from the hardside

    Event Sourcing might appear easy and straight forward at a first glance. However there are some tough challenges to address in real world projects: “What about parallel updates?”, “Where should I validate my data?”, “How about consistency?” There isn’t an easy catch-all answer to these questions.This talks addresses exactly these demanding challenges and offers ideas and possible solutions for them. In addition to that you will be able to consider advantages and downsides in discussions surrounding advanced Event Sourcing challenges.

    Mehr lesen
  • Caching in Business-Anwendunge­n: Einsatz, Patterns & Best Practices

    Vortrag Michael Plöd Java User Group Hamburg September MeetUp

    Das Thema Caching ist für zahlreiche Business Anwendungen relevant und der Markt für Caching-Lösungen reicht von einfachen lokalen Caches bis hin zu mächtigen und komplexen Data Grids. Ein weiteres Differenzierungsmerkmal ist die Konsistenzgarantie beziehungsweise die transaktionale Integrität, welche die unterschiedlichen Lösungen bieten. Allerdings unterscheiden sich Anwendungen, welche Geschäftsprozesse in gewachsenen Unternehmenslandschaften umsetzen stark von sozialen Netzwerken oder Internetdiensten, welche aus dem Startup-Umfeld kommen.

    Der Vortrag adressiert in erster Linie das erste Szenario: Caching in Unternehmensanwendungen, welche auf Basis einer bereits bestehenden Infrastruktur umgesetzt werden. Hierbei werden zuerst die Herausforderungen, die diese Anwendungen an das Thema Caching stellen, vorgestellt. Aspekte die hierbei betrachtet werden sind: Security, Monitoring, Audit-Compliance, Art der Daten sowie Geschäftsprozesse. Im zweiten Teil werden unterschiedliche Arten des Cachings vorgestellt und im Hinblick auf die eben erwähnten Herausforderungen bewertet. Abschließend geht der Vortrag darauf ein, welche Patterns und Best Practices sich in der Praxis bewährt haben und wie das Thema Caching möglichst transparent und deterministisch in Business-Anwendungen integriert werden kann.

    Mehr lesen
  • Caching mit Hibernate

    Vortrag Michael Plöd Java User Group Frankfurt

    Hibernate bietet ein mächtiges und flexibles Caching System, welches in diesem Vortrag vorgestellt und erläutert wird. Wir werden dabei sowohl den 1st-, den 2nd-Level- als auch den Query-Cache betrachten. Zudem wird der Vortrag gängige Pitfalls und Best Practices erläutern. Abschließend werden wir noch betrachten welche Features exklusiv für Hibernate zur Verfügung stehen und welcher Funktionsumfang auch schon durch den Standard JPA abgedeckt ist.

    Mehr lesen
  • Anatomy of Microservice Landscapes

    Vortrag Michael Plöd Java User Group Darmstadt

    Building a Microservice is no hard task these days. With current frameworks it is fairly easy to create a self contained application that exposes Services via a RESTful interface. The Challenge for Microservices lies within the overall landscape. How do they interact with each other? How about service lookup? What about resilience? This session adresses the usual building blocks that are needed for Microservice landscapes and gives an overview of suitable open source frameworks in the market.

    Mehr lesen
  • No REST for the Wicket

    Artikel Michael Plöd, Stefan Tilkov Javamagazin 1.2011

    REST ist ein aktuell von großer Hype-Energie beschleunigtes Thema, über das viel zu lesen ist. Häufig wird REST bzw. RESTful HTTP jedoch ausschließlich als leichtgewichtige Alternative zu „klassischen“ Web Services betrachtet und nicht als Architekturstil, dem auch Webanwendungen folgen sollten. Aber REST als Architektur des Web hat genau darin seine Wurzeln – die Trennung zwischen der Anwendungs-zu-Anwendungs-Kommunikation und der Darstellung einer Benutzeroberfläche für einen Endanwender ist aus dieser Sicht künstlich.