SaaS-arkitektur og iværksætterudvikling · Lektion

Event Storming til microservices

Anvend Event Storming som en samarbejdsbaseret teknik til at identificere domænehændelser og modellere komplekse forretningsprocesser til Deres SaaS-løsning.

Lektion 2 af 412 trin

Event Storming til microservices er en gratis SaaS-arkitektur og iværksætterudvikling-lektion på CoddyKit. Dette er lektion 2 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i SaaS-arkitektur og iværksætterudvikling, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. SaaS-arkitektur og iværksætterudvikling-kurset indeholder 4 lektioner i alt.

Hvad er Event Storming?

Event Storming er en sjov, samarbejdsbaseret workshopteknik til at forstå komplekse forretningsdomæner. Den hjælper teams med at visualisere, hvordan ting sker i et system.

Forestil dig et rum fyldt med sticky notes! Teams kortlægger en forretningsproces ved at fokusere på de "hændelser", der finder sted, så det bliver lettere at se helheden.

Hvorfor Event Storming til mikrotjenester?

For SaaS, især med mikrotjenester, er det afgørende at forstå domænegrænser. Event Storming hjælper med at:

  • Opdele monolitter: Identificere områder, der tydeligt kan opdeles.
  • Definere tjenestegrænser: Gruppere relaterede hændelser og handlinger i potentielle tjenester.
  • Forbedre kommunikationen: Få alle, fra forretning til teknik, til at have samme forståelse.

Event Storming-lærredet

Event Storming bruger sticky notes i forskellige farver til at repræsentere forskellige elementer i dit domæne:

  • Orange: Domænehændelser (hvad skete der?)
  • Blå: Kommandoer (hvad udløser en hændelse?)
  • Gul: Aggregater (hvem udfører en kommando?)
  • Grøn: Læsemodeller (hvordan ser brugerne data?)
  • Lilla: Politikker (regler, der reagerer på hændelser)

Trin 1: Find domænehændelser

Dette er startpunktet! Tænk over "hvad skete der?" i din forretningsproces. Hændelser er fakta fra fortiden og skrives altid i datid.

Eksempler:

  • OrderPlaced
  • PaymentReceived
  • UserRegistered
  • SubscriptionCancelled

Dette er de grundlæggende sandheder i dit system.

Kodning af en simpel hændelse

Selvom Event Storming er visuelt, bliver de hændelser, vi finder, ofte omsat til kode. Sådan kunne en simpel OrderPlaced-hændelse se ud i en Java-applikation:

Prøv at køre dette eksempel for at se, hvordan en hændelse kan repræsenteres og "udgives" (her blot udskrives).

public class OrderPlacedEvent {
  private String orderId;
  private double amount;
  private String customerId;

  public OrderPlacedEvent(String orderId, double amount, String customerId) {
    this.orderId = orderId;
    this.amount = amount;
    this.customerId = customerId;
  }

  public String toString() {
    return "OrderPlacedEvent {id='" + orderId + "', amount=" + amount + ", customerId='" + customerId + "'}";
  }

  public static void main(String[] args) {
    OrderPlacedEvent event = new OrderPlacedEvent("ORD123", 99.99, "CUST456");
    System.out.println("New event generated: " + event.toString());
  }
}

Trin 2: Identificering af kommandoer

Efter hændelser leder vi efter kommandoer. En kommando er en eksplicit anmodning om at udføre noget, som normalt fører til en hændelse (eller flere hændelser).

Spørg: "Hvilken handling fik denne hændelse til at opstå?" Kommandoer er normalt bydemåder.

  • PlaceOrder (fører til OrderPlaced)
  • ProcessPayment (fører til PaymentReceived)
  • RegisterUser (fører til UserRegistered)

Trin 3: Lokalisering af aggregater

Aggregater er det "hvem" eller "hvad", der modtager en kommando og frembringer en hændelse. De udgør transaktionelle konsistensgrænser – det vil sige, at alt inden for et aggregat ændres samlet.

Tænk på dem som den "model" eller "entitet" i din kode, der indeholder tilstand og håndhæver forretningsregler.

  • Aggregatet Order håndterer PlaceOrder.
  • PaymentProcessor håndterer ProcessPayment.

Trin 4: Læsemodeller og politikker

Læsemodeller (grønne): Sådan forespørger brugere eller andre systemer efter oplysninger. De er optimeret til læsning og er ofte denormaliserede visninger, der er opbygget ud fra hændelser.

Politikker (lilla): Det er forretningsregler, der reagerer på hændelser. For eksempel: "Når en hændelse af typen OrderPlaced opstår, skal der sendes en bekræftelsesmail."

Fra storm til afgrænsede kontekster

Når du kortlægger dit domæne, vil du se naturlige klynger af hændelser, kommandoer og aggregater. Disse klynger definerer ofte dine afgrænsede kontekster.

En afgrænset kontekst er en logisk grænse, inden for hvilken en bestemt domænemodel er defineret og gældende. Det er afgørende, når du designer uafhængige mikrotjenester!

Fordele ud over design

Event Storming hjælper ikke kun med teknisk design; det skaber også en fælles forståelse i hele teamet.

  • Fælles sprog: Alle bruger de samme termer.
  • Vidensoverførsel: Nye teammedlemmer får hurtigt overblik over komplekse forløb.
  • Identificering af problemer: Skjulte antagelser og problemer opdages tidligt.

Hurtigt tjek

Event Storming bruger post-it-sedler i forskellige farver til at repræsentere forskellige domæneelementer. Match post-it-sedlens farve med den rigtige beskrivelse.

Opsummering: Værktøjskassen til Event Storming

Du har lært, at Event Storming er en effektiv, visuel teknik til at forstå komplekse domæner. Ved at fokusere på domænehændelser kan du identificere kommandoer, aggregater, læsemodeller og politikker.

Denne samarbejdsbaserede tilgang hjælper med at definere tydelige afgrænsede kontekster, hvilket gør den til et uvurderligt værktøj til design af robuste og skalerbare mikrotjenester i din SaaS-arkitektur.

Gratis at komme i gang

Lær SaaS-arkitektur og iværksætterudvikling med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
12
Lektioner
48

Ofte stillede spørgsmål

Er lektionen “Event Storming til microservices” gratis?

Ja — alle 3 lektioner i læringssporet SaaS-arkitektur og iværksætterudvikling, inklusive “Event Storming til microservices”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. SaaS-arkitektur og iværksætterudvikling-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Event Storming til microservices”?

Anvend Event Storming som en samarbejdsbaseret teknik til at identificere domænehændelser og modellere komplekse forretningsprocesser til Deres SaaS-løsning. Du øver dig i SaaS-arkitektur og iværksætterudvikling med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på SaaS-arkitektur og iværksætterudvikling?

Der kræves ingen tidligere erfaring. SaaS-arkitektur og iværksætterudvikling på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 2 af 4.

Hvor lang tid tager lektionen “Event Storming til microservices”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne SaaS-arkitektur og iværksætterudvikling-lektion?

Ja. Alle SaaS-arkitektur og iværksætterudvikling-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Bounded Contexts og aggregates
  2. Event Storming til microservices
  3. Strategisk design og context mapping
  4. Ubiquitous language og domænemodellen
← Tilbage til SaaS-arkitektur og iværksætterudvikling