Hvad er hændelsesdrevet arkitektur?
Hændelsesdrevet arkitektur (EDA) er en integrationsmodel, der registrerer vigtige “begivenheder” i en virksomhed – såsom en transaktion eller en forladt indkøbskurv – og handler på dem i realtid.
Begivenhedsdrevet arkitekturoversigt
Næsten alle begivenheder i en virksomhed er tidsfølsomme. Når en kunde foretager et onlinekøb, markerer en sensor en forestående fejl, en aktiekurs falder, eller der opdages et sikkerhedsbrud – der skal straks gribes ind. Her kommer en begivenhedsdrevet arkitektur (EDA) ind i billedet. Et EDA kan skabe, opdage og reagere på begivenheder, når de udfolder sig, og hjælpe virksomheder med at forbedre alt fra kundeoplevelser til operationel effektivitet og smidighed.
Hvad er en begivenhed?
For det første nogle grundlæggende. En begivenhed er enhver handling eller ændring af tilstand, der er vigtig for en virksomhed. Når en person f.eks. stryger et kreditkort, tjekker ind for en flyrejse eller nulstiller en adgangskode – eller når lagerbeholdningen opdateres på et lager. Begivenheder sker hele tiden, i alle organisationer, i alle brancher. Virksomheder bliver "begivenhedsdrevne", når de kan registrere og reagere på begivenheder, efterhånden som de opstår.
Hvad er en begivenhedsdrevet arkitektur?
En hændelsesdrevet arkitektur (EDA) er en integrationsmodel bygget til at publicere, registrere, behandle og reagere på hændelser på tværs af distribuerede systemer i realtid. Når en hændelse forekommer i et program, sendes der automatisk en meddelelse til alle de andre programmer, der har brug for at vide om det, så de kan handle på det igen.
Hændelsesbaserede arkitekturer frakobles – det betyder, at applikationer ikke behøver at være opmærksomme på hinanden for at dele oplysninger og udføre opgaver. Hændelsesoplysninger eller meddelelser kan flyde frit og automatisk mellem apps. Som følge heraf er EDA-modellen meget hurtigere end den traditionelle anmodnings-/svarmodel, hvor en applikation skal anmode om de specifikke oplysninger, den har brug for, fra en anden og vente på svar, før den går videre til den næste opgave. På grund af et EDA's afkoblede karakter betragtes de i vid udstrækning som bedste praksis for mikrotjenestekommunikation.
Hvordan virker et EDA?
I en hændelsesdrevet arkitektur fungerer applikationer som hændelsesproducenter (apps, der producerer eller registrerer hændelser) eller hændelsesforbrugere (apps, der behandler og handler på hændelser). Producenterne sender begivenheder til forbrugerne via en mægler, også kaldet meddelelsesorienteret middleware, i realtid. Forbrugere kan derefter behandle hændelsen og selv udløse andre handlinger, workflows eller hændelser.
I en meget enkel arkitektur – når der er en enkelt producent og en enkelt forbruger, der er i direkte kommunikation med hinanden – kan mæglere være valgfrie. Men i de fleste virksomheder er der flere kilder, der sender begivenheder ud til flere forbrugere, så en mægler, eller endda et netværk af mæglere (også kendt som en "event mesh") er nødvendig. Når der anvendes en mægler eller et begivenhedsnet, skaber dette en "løs kobling" af applikationer.
Hændelsesdrevne arkitekturmønstre
Der er to hovedmønstre for transmission af begivenheder i en begivenhedsdrevet arkitektur: publicering/abonnement og begivenhedsstreaming.
Udgiv/abonner (alias “pub/sub”) – Med pub/sub abonnerer eventforbrugere på meddelelser og kanaler udgivet af eventproducenter. Når en hændelse offentliggøres, sendes den direkte til alle abonnenter via en mægler. For at undgå duplikering kan hændelser ikke genafspilles eller tilgås, når de er forbrugt – de slettes af mægleren.
Eventstreaming – Med begivenhedsstreaming udgiver producenterne hele strømme af begivenheder til en mægler. Forbrugerne abonnerer på strømmen og kan læse fra enhver del af den, og forbruger kun de hændelser, der er relevante for dem. Med dette mønster bibeholdes begivenheder af mægleren, selv efter at de er forbrugt.
3 tilgange til hændelsesbehandling
Der er tre forskellige tilgange til behandling af hændelser, når de når ud til en forbruger: enkel hændelsesbehandling, kompleks hændelsesbehandling og behandling af hændelsesstrøm.
- Enkel hændelsesbehandling: Forbrugere behandler hver hændelse, efterhånden som den modtages.
- Kompleks hændelsesbehandling: Forbrugere behandler en række hændelser for at finde mønstre og udføre handlinger baseret på resultatet.
- Behandling af hændelsesstream: Forbrugerne behandler og handler på et konstant dataflow (data i bevægelse) i realtid ved hjælp af en datastreamingplatform.
Virksomheder vælger deres tilgang til hændelsesbehandling baseret på deres individuelle behov og anvendelseseksempler.
Hændelsesdrevet arkitektur bruger cases og eksempler
Der er mange forskellige anvendelseseksempler til hændelsesdrevne arkitekturer i alle brancher – fra bankvirksomhed til detailhandel. Her er et eksempel fra restaurationsbranchen:
En universitetsstuderende afgiver en ordre på en pizza via en madleveringsapp, f.eks. Uber Eats. Appen registrerer hans grundlæggende oplysninger (navn, adresse, betalingsoplysninger og ordre) og udgiver begivenheden "pizza ordre".
Pizzarestauranten abonnerer på arrangementet, opfylder ordren og offentliggør sin egen "ordre klar" begivenhed tilbage til madleveringstjenesten
Tjenesten allokerer derefter en leveringsdriver, planlægger en ETA og advarer kunden om, at hans cirkel er på vej
Et eksempel fra EDA fra e-handel:
På online shopper indtaster deres kreditkort oplysninger på en e-handel site, som offentliggør "betaling indsendt" begivenhed
Betalingssystemet abonnerer på hændelsen, behandler betalingen og udsteder sin egen "betalingsbehandlede" hændelse, der indikerer succes eller fejl – og dirigerer den tilbage til hjemmesidens brugergrænseflade
Brugergrænsefladen viser betalingsstatussen for kunden og beder om de næste trin
Af andre eksempler på EDA kan nævnes:
Når en online shopper klikker på et produkt, reagerer systemet ved at generere produktanbefalinger baseret på lignende varer
Når en kunde indbetaler en check i en bank, og systemet automatisk bogfører indbetalingen på deres konto
Når en forhandler screener globale transaktioner for svindel og markerer mistænkelige køb til kreditkortselskabet
Når en producent overvåger streaming af IoT-data fra sit udstyr og får besked om eventuelle vedligeholdelsesproblemer eller -fejl
Fordele ved en begivenhedsdrevet arkitektur
Der er mange fordele ved en begivenhedsdrevet arkitektur. Top 3 er:
- Arbejdsgange i realtid og lydhørhed. Et EDA kan overvåge og hurtigt reagere på hændelser, efterhånden som de opstår, ofte ved hjælp af robotprocesautomatisering (RPA) til at fremskynde arbejdsgange og udløse de næste trin i realtid. Dette er særligt vigtigt i spidsbelastningsperioder – f.eks. i forbindelse med større salgshændelser eller ferier. Denne lydhørhed kan også anvendes til hverdag (dvs. ikke-spidsbelastende) arbejdsgange, der forbedrer alt fra automatisering af forsyningskæden til afsløring af svindel.
- Asynkrone meddelelser. Applikationer i et EDA kommunikerer asynkront – hvilket betyder, at producenterne offentliggør hændelsesmeddelelser uden at vente på, at forbrugerne modtager dem. Ikke alene lader dette applikationerne gå videre til andre opgaver uden at vente, det forenkler integrationen.
- De- og løs kobling. Ansøgninger i et EDA frakobles eller kobles løst og afhænger ikke af hinandens tilgængelighed. De kan opdateres, testes og implementeres uafhængigt. De kan også fejle selvstændigt – så arkitekturen er mere holdbar og vedholdende end traditionelle modeller. Afkobling gør det også let at tilføje ekstra udgivere og forbrugere efter behov, hvilket eliminerer behovet for at omskrive kode, hver gang der sker en ændring.
Konklusion
Event mesh tilbyder implementeringsmuligheder på tværs af forskellige hyperscalere og i private cloud-miljøer. Det kan konfigureres til at danne en distribueret maengde af eventmæglere, der er implementeret på tværs af miljøer i private eller offentlige skyer. Event mesh tilbyder et komplet sæt af eventing tjenester, herunder event streaming, event management og overvågning, og avancerede funktioner som dynamisk besked routing og finkornet filtrering.
Udforsk SAP's funktioner i EVENT MESH
Styrk dine apps med en hændelsesbaseret arkitektur fra SAP Integration Suite.
Ideer, du ikke finder andre steder
Tilmeld dig en dosis business intelligence leveret direkte til din indbakke.