
Event Sourcing
Event sourcing means deriving state from a stream of immutable events. While classical data-centric architectures usually store the current state of an application in a relational database, event sourcing understands the stream of events (event ledger or event log) as the canonical source of truth.
In dieser Schulung lernen Sie Event Sourcing anhand von zahlreichen Praxisbeispielen und Live-Coding kennen und in der Praxis anwenden. Darüber hinaus gehen wir auf den Bezug von Event Sourcing zu CQRS ein, zeigen auf, wie Sie Event Sourcing schrittweise auch in Legacy-Anwendungen einführen können und geben wertvolle Tipps zum Einsatz von Event Sourcing in der Praxis.
- Understanding event sourcing as an alternative to state-based systems
- Understand and apply event sourcing at the code level
- Understand the relationship between CQRS and event sourcing
This training is aimed at professional software developers, who are not yet familiar with event sourcing or have already had some experience with it. The exercises and code examples are in PHP, but are also accessible to programmers, who develop in other object-oriented languages.
Attendees should have at least 1-2 years of experience programming with PHP or a similar programming language. They should have experience with procedural and object-oriented programming and be confident in using an IDE and common development tools such as the version control Git.
-
- You book your training directly online with us. For purchase on account or special group rates contact us or write an email.
- You will receive an email within a short time in which we confirm your participation.
-
Within 48 hours during our business hours you will receive your
Invoice
Companies with their registered office in Germany are of course entitled to deduct input tax from the invoice. For European Union companies based outside Germany, the reverse charge procedure applies. For companies based outside the European Union, no sales tax is due.
- About a week before the first online session, we will send you an e-mail with all the important information about your training. In addition to a link to the video conference, this contains comprehensive information on the technical requirements and any preparations you should make.
-
Introduction
- Welcoming, introducing and collecting expectations (ca. 15 min)
- Introduction: The other day at the ATM (ca. 30 min)
- Making events explicit in the code (ca. 45 min)
- Live Coding: Build object state from events (ca. 45 min)
- Discussion of the work assignment (ca. 15 min)
-
Work Assignment
In order to directly gain your own practical experience, you will work on your work assignment in your own time until the next online session.
Work assignments are designed to take 1 to 2 hours to complete. You decide whether you work on the exercises alone or in a work group. Forming a work group with another training participant you have never met before can be an interesting and instructive experience.
Of course, we will not leave you alone with questions about your work assignments. Between the online sessions, you will receive support via e-mail from the trainer on all questions regarding the previous training content and the work assignments.
-
At the latest until the day before the next online session, you can send your solution to the trainer by e-mail. At the beginning of the next online session, examples selected from all submissions will be discussed and improved by the trainer.
-
Mit Events arbeiten
- Joint review of selected work assignments (ca. 30 min)
- Q and A (ca. 30 min)
- Live Coding: Objects that emit events (ca. 30 min)
- Streams and queries: Retrieving events (ca. 45 min)
- Discussion of the work assignment (ca. 15 min)
-
Work Assignment
In order to directly gain your own practical experience, you will work on your work assignment in your own time until the next online session.
Work assignments are designed to take 1 to 2 hours to complete. You decide whether you work on the exercises alone or in a work group. Forming a work group with another training participant you have never met before can be an interesting and instructive experience.
Of course, we will not leave you alone with questions about your work assignments. Between the online sessions, you will receive support via e-mail from the trainer on all questions regarding the previous training content and the work assignments.
-
At the latest until the day before the next online session, you can send your solution to the trainer by e-mail. At the beginning of the next online session, examples selected from all submissions will be discussed and improved by the trainer.
-
Event Sourcing und Legacy-Software
- Joint review of selected work assignments (ca. 30 min)
- Q and A (ca. 30 min)
- Live Coding: Aggregates and projections (ca. 45 min)
- From legacy software to Event Sourcing (ca. 30 min)
- Discussion of the work assignment (ca. 15 min)
-
Work Assignment
In order to directly gain your own practical experience, you will work on your work assignment in your own time until the next online session.
Work assignments are designed to take 1 to 2 hours to complete. You decide whether you work on the exercises alone or in a work group. Forming a work group with another training participant you have never met before can be an interesting and instructive experience.
Of course, we will not leave you alone with questions about your work assignments. Between the online sessions, you will receive support via e-mail from the trainer on all questions regarding the previous training content and the work assignments.
-
At the latest until the day before the next online session, you can send your solution to the trainer by e-mail. At the beginning of the next online session, examples selected from all submissions will be discussed and improved by the trainer.
-
Abschluss
- Joint review of selected work assignments (ca. 30 min)
- Q and A (ca. 30 min)
- Synchronous vs. asynchronous event processing (ca. 30 min)
- Event sourcing in practice (ca. 30 min)
- Summary and Outlook (ca. 15 min)
- Feedback and Closing (ca. 15 min)
-
-
Material
After the last online session, you will receive all materials used in the training, such as presentations, sketches, or sample code, together with supplementary material such as links and references to further literature for follow-up. For some training topics, you will also receive access to additional digital content on the topic of the training.
-
Certificate of Participation
All participants who have attended the online sessions and completed their work assignments will receive a certificate of participation from us.
-
E-Mail Support
Of course, we also support you in integrating what you have learned into your everyday work. We provide support via e-mail on all questions related to the topics of the training for all participants from the last online session until the closing meeting.
-
Closing Meeting
After the end of the email support, you will have another opportunity to ask the trainer your questions in the joint closing meeting (circa 30 minutes).
In addition to an outlook on further topics, the trainer has a few more tips and tricks up his sleeve. And last but not least, we are interested in your final feedback on our training.
-
-
Three to six months after the training, you should consider attending more advanced training to build on the practical experience you have gained up to that point.
We will also be happy to accompany you on your further path in an advisory or coaching capacity. Please contact us.
- four video conferences for knowledge transfer (3 hours each)
- three work assignments of 1-2 hours processing time each with e-mail support during the processing period
- four weeks of email support after the last online session
- joint closing meeting (30 min)
Please note that depending on the training booked, the individual online appointments may each take place at different times of the day.
Technical requirements for attending an online training.
Available online "inhouse"
InquireExclusive and customized?
We are happy to conduct any training exclusively online ("in-house") for you. We adapt the content and focus to your specific wishes and needs and optionally work with examples directly from your code base.