Infos
14:45 - 15:45
Beschreibung
Ereignisgesteuerte Architekturen erlauben eine gute Entkopplung von Microservices und sind grundlegend für dezentrales Datenmanagement. Gleichzeitig kann die Servicekopplung durch unreflektierte Verwendung von Ereignissen auch unbeabsichtigt grösser werden – wenn etwa komplexe, mehrere Services berührende Ende-zu-Ende-Logik über direkt peer-to-peer laufende Ereignisketten implementiert wird. Das Extrahieren solcher Geschäftslogik in dedizierte Services reduziert die Kopplung wieder und ermöglicht es, das große Ganze im Auge zu behalten – und zwar ohne den wichtigen im Domain-Driven Design verwurzelten Gedanken der Bounded Contexts zu missachten, und ohne die Autonomie der beteiligten Services und Teams einzuschränken oder gar die Entstehung von God Services zu begünstigen. Servicegrenzen werden für mich umso klarer und Service-APIs umso smarter, je besser ich ihre potenziell langläufige Natur erkenne und beim Design in den Vordergrund stelle. Ich möchte daher auch zeigen, wie eine neue Generation leichtgewichtiger und hochskalierbarer State Machines und Process Engines die konkrete Implementierung solch langläufiger Services erleichtert. Basierend auf umfangreicher Projekterfahrung möchte ich die Handhabung komplexer Abläufe besprechen, welche angemessene Reaktionen auf Fehler und Probleme erfordern, sowie Timeouts und kompensierende Geschäftslogik (Sagas) benötigen.

