SlideShare a Scribd company logo
eli EDA eli ”tapahtumapohjainen arkkitehtuuri” Eetu Blomqvist – eetu.blomqvist@gofore.com Event-driven architecture 20.6.2011 Eetu Blomqvist
Kiinnostava asia, joka tapahtuu organisaation sisällä tai ulkopuolella Tulisi olla liiketoimintalähtöinen, jotta kaikki siitä kiinnostuneet osaavat tulkita sen Koostuu kahdesta osasta: otsakeja runko Otsakesisältää tietyn tapahtuman yksilöiviä tietoja, kuten id, tyyppi, nimi, aikaleima, luojan tunniste jne. Rungonsisältö kuvaa, mitä oikeastaan tapahtui Sisällön rakenne olisi hyvä määritellä esimerkiksi formaalin ontologian avulla Sisällön pitää olla riittävän informaatiivinen, jotta kiinnostuneen tahon ei tarvitse hakea lisätietoa tapahtuman lähteeltä Event eli tapahtuma 20.6.2011 Eetu Blomqvist
Kiinnostavien tapahtumien välittäminen niistä kiinnostuneille tahoille Vastaanotettujen tapahtumien tulkitseminen ja toiminta niiden perusteella Toimintaa voivat olla mm. palvelukutsut, prosessipalveluiden käynnistys, sähköpostin lähetystai uusien tapahtumien luominen Erittäin hajautettujen komponenttien äärimmäisen löyhä kytkentä - tapahtuman aiheuttajalla ei ole mitään tietoa siitä, keitä tapahtuma kiinnostaa tai miten sitä prosessoidaan Tapahtumien jäljitettävyys monimutkaisessa käsittelyketjussa haastavaa  sopii parhaiten asynkroniseen järjestelmään Tapahtumapohjaisuus 20.6.2011 Eetu Blomqvist
EDA ja SOA Täydentävät toisiaan – eivät kilpaile keskenään Event-driven SOA: tapahtuma laukaisee SOA-palveluiden kutsuja. Palvelut voivat olla myös kokonaisia liiketoimintaprosesseja. Service as Event Generator: palvelu tuottaa tapahtuman, joka voi indikoida vaikkapa ongelmaa, määriteltyä kynnystä tai onnistunutta operaatiota. SOA-palvelut siis toimivat tapahtumien lähteenä. EDA mahdollistaa reaaliaikaisen tiedonvälityksen ja analyysin sekä tapahtumien monimutkaisen prosessoinnin – SOA ei ainakaan yhtä hyvin ja helposti 20.6.2011 Eetu Blomqvist
Käsittelytavat voidaan jakaa karkeasti kolmeen Yksinkertainen käsittely Kiinnostavien tapahtumien tapahtumien välittäminen kiinnostuneille Nopeaa ja kustannustehokasta Tapahtumavirran käsittely Sekä huomattavien (notable) että tavallisten (ordinary) tapahtumien käsittelyä Tavallinen tapahtuma (esim. RFID-signaali) voidaan muokata kiinnostavaksi (esim. ”kallis tuote lähti varastosta”) Tapahtumien välitys Monimutkainen käsittely Välittämisen lisäksi tapahtumia tulkitaan säännöstön mukaan  Seurauksena voidaan mm. luoda uusia tapahtumia Tapahtumien välinen korrelaatio Kompleksisuuden takia kaupalliset ohjelmistot ovat käytännössä aina tarpeen Tapahtumien käsittely 20.6.2011 Eetu Blomqvist
Tapahtumageneraattorit Luovat tapahtumat Voivat suodattaaja muuntaa ”tavallisia” tapahtuvia kiinnostaviksi Tapahtumaväylä Välittää standardiformaattiin muunnetut tapahtumat prosessointikomponenteille Standardiformaatti on joustava käsite, voi olla mm. organisaation sisäinen standardi Tapahtumien prosessointi Tapahtumien käsittely ja niiden välitys (julkaisu)kiinnostuneille (= niihin perustuvan toiminnan käynnistäminen) Mahdolliset käsittelysäännöt voivat olla monimutkaisia Palvelukutsut, sähköpostit, uudet tapahtumat, tapahtuman taltiointijne. Tapahtumaan perustuva toiminta Tapahtumasta kiinnostuneet tahot toimivat (esim.  palvelun sisäinen toteutus) Varsinainen tapahtumaan reagointi EDA-järjestelmän eri osat 20.6.2011 Eetu Blomqvist
Esimerkki yksinkertaisesta tapahtumakäsittelystä 20.6.2011 Eetu Blomqvist Lähde Brenda M. Michelson, Elemental Links http://dl.dropbox.com/u/20315902/EventDrivenArchitectureOverview_ElementalLinks_Feb2011.pdf
Esimerkki yksinkertaisesta tapahtumakäsittelystä(2) Asiakas tilaa kirjan  myyjä varaa sen varastosta  Varastopalvelu tekee varauksen ja tarkistaa sen jälkeen, onko varastossa vielä riittävästi kyseisen kirjan kappaleita Jos vapaiden kappaleiden määrä alittaa määritellyn kynnyksen, varastopalvelu luo uuden tapahtuman ”Low Inventory Threshold” (Event Q) Tapahtuma siirretään välityskanavaan, josta prosessori poimii sen Prosessorilla on tapahtumalle 2 käsittelysääntöä Se käynnistää uudelleentilausprosessin (voi olla manuaalinen, tietotekninen tai jotain siltä väliltä) Tapahtuma julkaistaan edelleen siitä kiinnostuneille Kiinnostuneita ovat varastoonostaja sekä varaston päällikön hallintasovellus 20.6.2011 Eetu Blomqvist
Esimerkki tapahtumavirran käsittelystä 20.6.2011 Eetu Blomqvist Lähde Brenda M. Michelson, Elemental Links http://dl.dropbox.com/u/20315902/EventDrivenArchitectureOverview_ElementalLinks_Feb2011.pdf
Esimerkki tapahtumavirran käsittelystä(2) Sisältää kolme tapahtumavuota 1. (alkaa vasemmasta yläkulmasta)  RFID-sensori luo tapahtuman (Event A) aina, kun tuote lähtee varastosta. Elektroniikkamyynti haluaa tietää, koska varastosta lähtee ”high-end”-tuotteita. Kyseisten tuotteiden huomaamiseksi RFID-tapahtumista suodatetaan alle 4000 dollarin tuotteet pois Jäljelle jää 5000 dollarin plasma-TV, josta muodostetaan transformaation avulla organisaation standardimuotoinen tapahtuma joka siirretään tapahtumaväylään Prosessori toimii käsittelysääntöjen mukaisesti	 Tapahtuma julkaistaan edelleen Tapahtumasta on kiinnostunut varastopäällikön valvontasovellus 2. ja 3. (alkavat vasemmasta alakulmasta) Tilausten syöttämissovellus luo ”tavallisen” tapahtuman (Event B) aina, kun siihen syötetään tilaus Tavalliset tilaustapahtumat välitetään tietovarastoon käsittelijän ja sen julkaisutoiminnon avulla Lisäksi yli 1500 dollarin tilauksien yhteydessä tilauksen tehneen asiakkaan luokitus halutaan nostaa seuraavaan luokkaan 20.6.2011 Eetu Blomqvist
Esimerkki tapahtumavirran käsittelystä(3) Tarkoitukseen käytetään erillistä reititintä, koska tapahtumien reititys ja jakelu ei saa olla tapahtumalähteen vastuulla Lähteen ainoa velvollisuus on kertoa, että jotain tapahtui Reititin tulkitsee jokaisen tilauksen kokonaissumman ja luo uuden ”huomattavan” tapahtuman (Event C), kun 1500 dollaria ylittyy Myös tämä tapahtuma siirretään tapahtumaväylään Prosessori välittää tapahtuman käsittelysääntöjen mukaisesti SOA-palvelulle, joka sisältää logiikan asiakasluokituksen nostamiseksi Esimerkki Event-driven SOA:sta! 20.6.2011 Eetu Blomqvist
Esimerkki monimutkaisesta käsittelystä 20.6.2011 Eetu Blomqvist Lähde Brenda M. Michelson, Elemental Links http://dl.dropbox.com/u/20315902/EventDrivenArchitectureOverview_ElementalLinks_Feb2011.pdf
Esimerkki monimutkaisesta käsittelystä(2) Sisältää 3 tapahtumavuota 1. (alkaa vasemmasta yläkulmasta) B2B-integraatioväylän pitäisi välittää tapahtumaväylään 15 minuutin välein tapahtuma (Event W), joka ilmaisee mm. IT-tuelle, että väylä toimii Tapahtuman puuttuminen tarkoittaa virhettä Prosessorilla on tiedossaan viimeisimmän tapahtuman aikaleima Jos aikaleimasta on yli 15 minuuttia, prosessi toimii säännöstön mukaan Ylläpitäjää hälytetään hakulaitteella Virheestä luodaan uusi tapahtuma (Event E) ja se siirretään tapahtumaväylään Uusi tapahtuma julkaistaan, jolloin siitä kiinnostunut organisaation vikojenhallintajärjestelmä saa tiedon ongelmasta 2. ja 3. (alkavat vasemmalta keskeltä) Esittävät väärinkäytöksiä estäviä mekanismejä Myyntipistesovellus luo tapahtuman jokaista myyntipisteessä tehtyä ostosta kohden (Event Y) Reititin evaluoi yli 1500 dollarin ostot, joista luodaan uusia tapahtumia (Event Z) Kaikki tapahtumat siirretään tapahtumaväylään 20.6.2011 Eetu Blomqvist
Esimerkki monimutkaisesta käsittelystä(3) 1. tarkastusmekanismi Prosessori etsii kaikki samalla luottokortilla lyhyen ajan (10 min) sisään tehdyt transaktiot (Event Y), jotka ovat syntyneet eri paikoissa laajalla alueella (20 mailia). Jos transaktioita löytyy tehdään kutsu palvelulle, joka käsittelee väärinkäytösepäilyn alaisia asiakastietoja  2. tarkastusmekanismi Prosessori käy läpi asiakkaan ostohistoriaa, kun se vastaanottaa tapahtuman yli 1500 dollarin ostoksesta  Jos oston kokonaissumma on 50% suurempi kuin yhdenkään asiakkaan aikaisemman ostoksen kokonaissumma, tapahtuma julkaistaan edelleen ”epäilyttävänä” Asiakaspalvelutiimi vastaanottaa tapahtuman ja käynnistää tiedustelun asiakkaan suuntaan soittamalla kortin omistajalle 20.6.2011 Eetu Blomqvist
EDA:n toteutuksen komponentit Tapahtumien metadata Tapahtumamäärittelyt Tapahtumien käsittelysäännöt Tapahtumien prosessointi Yksinkertaiset prosessorit ovat usein itse toteutettuja ohjelmistokomponentteja Monimutkaisemmat ovat kaupallisia (toimittajia mm. Oracle, IBM) Kehitys- ja seurantatyökalut Metadatan tuottaminen helposti Ylläpito ja seuranta tapahtumien käsittelylle, tapahtumien kulun seuranta, statistiikat jne. Integraatio organisaation tietojärjestelmiin Tapahtumien esikäsittely (suodatus, reititys, transformaatiot) Palvelukutsut ja liiketoimintaprosessien käynnistäminen Tapahtumien julkistaminen ja tilaaminen Palveluväylä tarjoaa useita yllä mainituista palveluista... Ja tietenkin tapahtumien lähteet ja kohteet Organisaation sisäiset tai ulkoiset ohjelmistot, palvelut, prosessit, tietovarastot, ihmiset ja niin edelleen 20.6.2011 Eetu Blomqvist
Kiitos mielenkiinnosta!

More Related Content

What's hot

Building modern data lakes
Building modern data lakes Building modern data lakes
Building modern data lakes
Minio
 
Best Practices for implementing Database Security Comprehensive Database Secu...
Best Practices for implementing Database Security Comprehensive Database Secu...Best Practices for implementing Database Security Comprehensive Database Secu...
Best Practices for implementing Database Security Comprehensive Database Secu...
Kal BO
 
Introducing the Snowflake Computing Cloud Data Warehouse
Introducing the Snowflake Computing Cloud Data WarehouseIntroducing the Snowflake Computing Cloud Data Warehouse
Introducing the Snowflake Computing Cloud Data Warehouse
Snowflake Computing
 
Delivering Data Democratization in the Cloud with Snowflake
Delivering Data Democratization in the Cloud with SnowflakeDelivering Data Democratization in the Cloud with Snowflake
Delivering Data Democratization in the Cloud with Snowflake
Kent Graziano
 
Introduction and HDInsight best practices
Introduction and HDInsight best practicesIntroduction and HDInsight best practices
Introduction and HDInsight best practices
Ashish Thapliyal
 
Building a modern data warehouse
Building a modern data warehouseBuilding a modern data warehouse
Building a modern data warehouse
James Serra
 
Treasure Data Cloud Data Platform
Treasure Data Cloud Data PlatformTreasure Data Cloud Data Platform
Treasure Data Cloud Data Platform
inside-BigData.com
 
Data Warehouse - Incremental Migration to the Cloud
Data Warehouse - Incremental Migration to the CloudData Warehouse - Incremental Migration to the Cloud
Data Warehouse - Incremental Migration to the Cloud
Michael Rainey
 
Databricks Fundamentals
Databricks FundamentalsDatabricks Fundamentals
Databricks Fundamentals
Dalibor Wijas
 
SOC, Amore Mio! | Security Webinar
SOC, Amore Mio! | Security WebinarSOC, Amore Mio! | Security Webinar
SOC, Amore Mio! | Security Webinar
Splunk
 
Lambda Architecture in the Cloud with Azure Databricks with Andrei Varanovich
Lambda Architecture in the Cloud with Azure Databricks with Andrei VaranovichLambda Architecture in the Cloud with Azure Databricks with Andrei Varanovich
Lambda Architecture in the Cloud with Azure Databricks with Andrei Varanovich
Databricks
 
07 - Defend Against Threats with SIEM Plus XDR Workshop - Microsoft Sentinel ...
07 - Defend Against Threats with SIEM Plus XDR Workshop - Microsoft Sentinel ...07 - Defend Against Threats with SIEM Plus XDR Workshop - Microsoft Sentinel ...
07 - Defend Against Threats with SIEM Plus XDR Workshop - Microsoft Sentinel ...
carlitocabana
 
ETL in the Cloud With Microsoft Azure
ETL in the Cloud With Microsoft AzureETL in the Cloud With Microsoft Azure
ETL in the Cloud With Microsoft Azure
Mark Kromer
 
Snowflake: Your Data. No Limits (Session sponsored by Snowflake) - AWS Summit...
Snowflake: Your Data. No Limits (Session sponsored by Snowflake) - AWS Summit...Snowflake: Your Data. No Limits (Session sponsored by Snowflake) - AWS Summit...
Snowflake: Your Data. No Limits (Session sponsored by Snowflake) - AWS Summit...
Amazon Web Services
 
Learn to Use Databricks for Data Science
Learn to Use Databricks for Data ScienceLearn to Use Databricks for Data Science
Learn to Use Databricks for Data Science
Databricks
 
An introduction to Office 365 Advanced Threat Protection (ATP)
An introduction to Office 365 Advanced Threat Protection (ATP)An introduction to Office 365 Advanced Threat Protection (ATP)
An introduction to Office 365 Advanced Threat Protection (ATP)
Robert Crane
 
Let’s get to know Snowflake
Let’s get to know SnowflakeLet’s get to know Snowflake
Let’s get to know Snowflake
Knoldus Inc.
 
[DSC Europe 22] Lakehouse architecture with Delta Lake and Databricks - Draga...
[DSC Europe 22] Lakehouse architecture with Delta Lake and Databricks - Draga...[DSC Europe 22] Lakehouse architecture with Delta Lake and Databricks - Draga...
[DSC Europe 22] Lakehouse architecture with Delta Lake and Databricks - Draga...
DataScienceConferenc1
 
DAT202_Getting started with Amazon Aurora
DAT202_Getting started with Amazon AuroraDAT202_Getting started with Amazon Aurora
DAT202_Getting started with Amazon Aurora
Amazon Web Services
 
Demystifying Data Warehousing as a Service - DFW
Demystifying Data Warehousing as a Service - DFWDemystifying Data Warehousing as a Service - DFW
Demystifying Data Warehousing as a Service - DFW
Kent Graziano
 

What's hot (20)

Building modern data lakes
Building modern data lakes Building modern data lakes
Building modern data lakes
 
Best Practices for implementing Database Security Comprehensive Database Secu...
Best Practices for implementing Database Security Comprehensive Database Secu...Best Practices for implementing Database Security Comprehensive Database Secu...
Best Practices for implementing Database Security Comprehensive Database Secu...
 
Introducing the Snowflake Computing Cloud Data Warehouse
Introducing the Snowflake Computing Cloud Data WarehouseIntroducing the Snowflake Computing Cloud Data Warehouse
Introducing the Snowflake Computing Cloud Data Warehouse
 
Delivering Data Democratization in the Cloud with Snowflake
Delivering Data Democratization in the Cloud with SnowflakeDelivering Data Democratization in the Cloud with Snowflake
Delivering Data Democratization in the Cloud with Snowflake
 
Introduction and HDInsight best practices
Introduction and HDInsight best practicesIntroduction and HDInsight best practices
Introduction and HDInsight best practices
 
Building a modern data warehouse
Building a modern data warehouseBuilding a modern data warehouse
Building a modern data warehouse
 
Treasure Data Cloud Data Platform
Treasure Data Cloud Data PlatformTreasure Data Cloud Data Platform
Treasure Data Cloud Data Platform
 
Data Warehouse - Incremental Migration to the Cloud
Data Warehouse - Incremental Migration to the CloudData Warehouse - Incremental Migration to the Cloud
Data Warehouse - Incremental Migration to the Cloud
 
Databricks Fundamentals
Databricks FundamentalsDatabricks Fundamentals
Databricks Fundamentals
 
SOC, Amore Mio! | Security Webinar
SOC, Amore Mio! | Security WebinarSOC, Amore Mio! | Security Webinar
SOC, Amore Mio! | Security Webinar
 
Lambda Architecture in the Cloud with Azure Databricks with Andrei Varanovich
Lambda Architecture in the Cloud with Azure Databricks with Andrei VaranovichLambda Architecture in the Cloud with Azure Databricks with Andrei Varanovich
Lambda Architecture in the Cloud with Azure Databricks with Andrei Varanovich
 
07 - Defend Against Threats with SIEM Plus XDR Workshop - Microsoft Sentinel ...
07 - Defend Against Threats with SIEM Plus XDR Workshop - Microsoft Sentinel ...07 - Defend Against Threats with SIEM Plus XDR Workshop - Microsoft Sentinel ...
07 - Defend Against Threats with SIEM Plus XDR Workshop - Microsoft Sentinel ...
 
ETL in the Cloud With Microsoft Azure
ETL in the Cloud With Microsoft AzureETL in the Cloud With Microsoft Azure
ETL in the Cloud With Microsoft Azure
 
Snowflake: Your Data. No Limits (Session sponsored by Snowflake) - AWS Summit...
Snowflake: Your Data. No Limits (Session sponsored by Snowflake) - AWS Summit...Snowflake: Your Data. No Limits (Session sponsored by Snowflake) - AWS Summit...
Snowflake: Your Data. No Limits (Session sponsored by Snowflake) - AWS Summit...
 
Learn to Use Databricks for Data Science
Learn to Use Databricks for Data ScienceLearn to Use Databricks for Data Science
Learn to Use Databricks for Data Science
 
An introduction to Office 365 Advanced Threat Protection (ATP)
An introduction to Office 365 Advanced Threat Protection (ATP)An introduction to Office 365 Advanced Threat Protection (ATP)
An introduction to Office 365 Advanced Threat Protection (ATP)
 
Let’s get to know Snowflake
Let’s get to know SnowflakeLet’s get to know Snowflake
Let’s get to know Snowflake
 
[DSC Europe 22] Lakehouse architecture with Delta Lake and Databricks - Draga...
[DSC Europe 22] Lakehouse architecture with Delta Lake and Databricks - Draga...[DSC Europe 22] Lakehouse architecture with Delta Lake and Databricks - Draga...
[DSC Europe 22] Lakehouse architecture with Delta Lake and Databricks - Draga...
 
DAT202_Getting started with Amazon Aurora
DAT202_Getting started with Amazon AuroraDAT202_Getting started with Amazon Aurora
DAT202_Getting started with Amazon Aurora
 
Demystifying Data Warehousing as a Service - DFW
Demystifying Data Warehousing as a Service - DFWDemystifying Data Warehousing as a Service - DFW
Demystifying Data Warehousing as a Service - DFW
 

Viewers also liked

29092013042656 multicore-processor-technology
29092013042656 multicore-processor-technology29092013042656 multicore-processor-technology
29092013042656 multicore-processor-technology
Sindhu Nathan
 
Chapter 4
Chapter 4Chapter 4
Chapter 4
ececourse
 
Data Hazard and Solution for Data Hazard
Data Hazard and Solution for Data HazardData Hazard and Solution for Data Hazard
Data Hazard and Solution for Data Hazard
COMSATS Institute of Information Technology
 
Lecture 3 instruction set
Lecture 3  instruction setLecture 3  instruction set
Lecture 3 instruction set
Pradeep Kumar TS
 
Sote-tieto hyötykäyttöön -strategia 2020
Sote-tieto hyötykäyttöön -strategia 2020Sote-tieto hyötykäyttöön -strategia 2020
Sote-tieto hyötykäyttöön -strategia 2020
Sosiaali- ja terveysministeriö / yleiset
 
VAKAVA-projekti ja AKUSTI-yhteistyömalli
VAKAVA-projekti ja AKUSTI-yhteistyömalliVAKAVA-projekti ja AKUSTI-yhteistyömalli
VAKAVA-projekti ja AKUSTI-yhteistyömalli
Karri Vainio
 
Maakuntien yhteisen arkkitehtuurin suunnittelu
Maakuntien yhteisen arkkitehtuurin suunnitteluMaakuntien yhteisen arkkitehtuurin suunnittelu
Maakuntien yhteisen arkkitehtuurin suunnittelu
AKUSTI - tietohallintoyhteistyöfoorumi
 
Pohjois-Suomen tietohallintoyhteistyön toimintamallin kehittäminen
Pohjois-Suomen tietohallintoyhteistyön toimintamallin kehittäminenPohjois-Suomen tietohallintoyhteistyön toimintamallin kehittäminen
Pohjois-Suomen tietohallintoyhteistyön toimintamallin kehittäminen
AKUSTI - tietohallintoyhteistyöfoorumi
 
Sote- ja maakuntalaki-lausuntopalaute
Sote- ja maakuntalaki-lausuntopalauteSote- ja maakuntalaki-lausuntopalaute
Sote- ja maakuntalaki-lausuntopalaute
AKUSTI - tietohallintoyhteistyöfoorumi
 
Maakuntadigi-työryhmän tilannekuva
Maakuntadigi-työryhmän tilannekuvaMaakuntadigi-työryhmän tilannekuva
Maakuntadigi-työryhmän tilannekuva
AKUSTI - tietohallintoyhteistyöfoorumi
 
Sote- ja maakuntauudistuksen valmistelun yleistilanne tietohallinnon näkökulm...
Sote- ja maakuntauudistuksen valmistelun yleistilanne tietohallinnon näkökulm...Sote- ja maakuntauudistuksen valmistelun yleistilanne tietohallinnon näkökulm...
Sote- ja maakuntauudistuksen valmistelun yleistilanne tietohallinnon näkökulm...
AKUSTI - tietohallintoyhteistyöfoorumi
 
Digi-palvelukeskuksen valmistelu
Digi-palvelukeskuksen valmisteluDigi-palvelukeskuksen valmistelu
Digi-palvelukeskuksen valmistelu
AKUSTI - tietohallintoyhteistyöfoorumi
 
Maakuntauudistuksen tiekartta ja ICT-muutostuen valmistelun tilanne
Maakuntauudistuksen tiekartta ja ICT-muutostuen valmistelun tilanneMaakuntauudistuksen tiekartta ja ICT-muutostuen valmistelun tilanne
Maakuntauudistuksen tiekartta ja ICT-muutostuen valmistelun tilanne
AKUSTI - tietohallintoyhteistyöfoorumi
 
Kansallisen ICT-palvelukeskuksen valmistelu
Kansallisen ICT-palvelukeskuksen valmisteluKansallisen ICT-palvelukeskuksen valmistelu
Kansallisen ICT-palvelukeskuksen valmistelu
AKUSTI - tietohallintoyhteistyöfoorumi
 
Sote-ICT-valmistelutilanne Varsinais-Suomessa
Sote-ICT-valmistelutilanne Varsinais-SuomessaSote-ICT-valmistelutilanne Varsinais-Suomessa
Sote-ICT-valmistelutilanne Varsinais-Suomessa
AKUSTI - tietohallintoyhteistyöfoorumi
 
Cache memory
Cache memoryCache memory
Cache memory
Shailesh Tanwar
 
Capgemini Digital Transformation - Beyond the Hype
Capgemini Digital Transformation - Beyond the HypeCapgemini Digital Transformation - Beyond the Hype
Capgemini Digital Transformation - Beyond the Hype
default default
 
Pipeline hazard
Pipeline hazardPipeline hazard
Pipeline hazard
AJAL A J
 

Viewers also liked (18)

29092013042656 multicore-processor-technology
29092013042656 multicore-processor-technology29092013042656 multicore-processor-technology
29092013042656 multicore-processor-technology
 
Chapter 4
Chapter 4Chapter 4
Chapter 4
 
Data Hazard and Solution for Data Hazard
Data Hazard and Solution for Data HazardData Hazard and Solution for Data Hazard
Data Hazard and Solution for Data Hazard
 
Lecture 3 instruction set
Lecture 3  instruction setLecture 3  instruction set
Lecture 3 instruction set
 
Sote-tieto hyötykäyttöön -strategia 2020
Sote-tieto hyötykäyttöön -strategia 2020Sote-tieto hyötykäyttöön -strategia 2020
Sote-tieto hyötykäyttöön -strategia 2020
 
VAKAVA-projekti ja AKUSTI-yhteistyömalli
VAKAVA-projekti ja AKUSTI-yhteistyömalliVAKAVA-projekti ja AKUSTI-yhteistyömalli
VAKAVA-projekti ja AKUSTI-yhteistyömalli
 
Maakuntien yhteisen arkkitehtuurin suunnittelu
Maakuntien yhteisen arkkitehtuurin suunnitteluMaakuntien yhteisen arkkitehtuurin suunnittelu
Maakuntien yhteisen arkkitehtuurin suunnittelu
 
Pohjois-Suomen tietohallintoyhteistyön toimintamallin kehittäminen
Pohjois-Suomen tietohallintoyhteistyön toimintamallin kehittäminenPohjois-Suomen tietohallintoyhteistyön toimintamallin kehittäminen
Pohjois-Suomen tietohallintoyhteistyön toimintamallin kehittäminen
 
Sote- ja maakuntalaki-lausuntopalaute
Sote- ja maakuntalaki-lausuntopalauteSote- ja maakuntalaki-lausuntopalaute
Sote- ja maakuntalaki-lausuntopalaute
 
Maakuntadigi-työryhmän tilannekuva
Maakuntadigi-työryhmän tilannekuvaMaakuntadigi-työryhmän tilannekuva
Maakuntadigi-työryhmän tilannekuva
 
Sote- ja maakuntauudistuksen valmistelun yleistilanne tietohallinnon näkökulm...
Sote- ja maakuntauudistuksen valmistelun yleistilanne tietohallinnon näkökulm...Sote- ja maakuntauudistuksen valmistelun yleistilanne tietohallinnon näkökulm...
Sote- ja maakuntauudistuksen valmistelun yleistilanne tietohallinnon näkökulm...
 
Digi-palvelukeskuksen valmistelu
Digi-palvelukeskuksen valmisteluDigi-palvelukeskuksen valmistelu
Digi-palvelukeskuksen valmistelu
 
Maakuntauudistuksen tiekartta ja ICT-muutostuen valmistelun tilanne
Maakuntauudistuksen tiekartta ja ICT-muutostuen valmistelun tilanneMaakuntauudistuksen tiekartta ja ICT-muutostuen valmistelun tilanne
Maakuntauudistuksen tiekartta ja ICT-muutostuen valmistelun tilanne
 
Kansallisen ICT-palvelukeskuksen valmistelu
Kansallisen ICT-palvelukeskuksen valmisteluKansallisen ICT-palvelukeskuksen valmistelu
Kansallisen ICT-palvelukeskuksen valmistelu
 
Sote-ICT-valmistelutilanne Varsinais-Suomessa
Sote-ICT-valmistelutilanne Varsinais-SuomessaSote-ICT-valmistelutilanne Varsinais-Suomessa
Sote-ICT-valmistelutilanne Varsinais-Suomessa
 
Cache memory
Cache memoryCache memory
Cache memory
 
Capgemini Digital Transformation - Beyond the Hype
Capgemini Digital Transformation - Beyond the HypeCapgemini Digital Transformation - Beyond the Hype
Capgemini Digital Transformation - Beyond the Hype
 
Pipeline hazard
Pipeline hazardPipeline hazard
Pipeline hazard
 

Event-driven Architecture eli tapahtumapohjainen arkkitehtuuri

  • 1. eli EDA eli ”tapahtumapohjainen arkkitehtuuri” Eetu Blomqvist – eetu.blomqvist@gofore.com Event-driven architecture 20.6.2011 Eetu Blomqvist
  • 2. Kiinnostava asia, joka tapahtuu organisaation sisällä tai ulkopuolella Tulisi olla liiketoimintalähtöinen, jotta kaikki siitä kiinnostuneet osaavat tulkita sen Koostuu kahdesta osasta: otsakeja runko Otsakesisältää tietyn tapahtuman yksilöiviä tietoja, kuten id, tyyppi, nimi, aikaleima, luojan tunniste jne. Rungonsisältö kuvaa, mitä oikeastaan tapahtui Sisällön rakenne olisi hyvä määritellä esimerkiksi formaalin ontologian avulla Sisällön pitää olla riittävän informaatiivinen, jotta kiinnostuneen tahon ei tarvitse hakea lisätietoa tapahtuman lähteeltä Event eli tapahtuma 20.6.2011 Eetu Blomqvist
  • 3. Kiinnostavien tapahtumien välittäminen niistä kiinnostuneille tahoille Vastaanotettujen tapahtumien tulkitseminen ja toiminta niiden perusteella Toimintaa voivat olla mm. palvelukutsut, prosessipalveluiden käynnistys, sähköpostin lähetystai uusien tapahtumien luominen Erittäin hajautettujen komponenttien äärimmäisen löyhä kytkentä - tapahtuman aiheuttajalla ei ole mitään tietoa siitä, keitä tapahtuma kiinnostaa tai miten sitä prosessoidaan Tapahtumien jäljitettävyys monimutkaisessa käsittelyketjussa haastavaa  sopii parhaiten asynkroniseen järjestelmään Tapahtumapohjaisuus 20.6.2011 Eetu Blomqvist
  • 4. EDA ja SOA Täydentävät toisiaan – eivät kilpaile keskenään Event-driven SOA: tapahtuma laukaisee SOA-palveluiden kutsuja. Palvelut voivat olla myös kokonaisia liiketoimintaprosesseja. Service as Event Generator: palvelu tuottaa tapahtuman, joka voi indikoida vaikkapa ongelmaa, määriteltyä kynnystä tai onnistunutta operaatiota. SOA-palvelut siis toimivat tapahtumien lähteenä. EDA mahdollistaa reaaliaikaisen tiedonvälityksen ja analyysin sekä tapahtumien monimutkaisen prosessoinnin – SOA ei ainakaan yhtä hyvin ja helposti 20.6.2011 Eetu Blomqvist
  • 5. Käsittelytavat voidaan jakaa karkeasti kolmeen Yksinkertainen käsittely Kiinnostavien tapahtumien tapahtumien välittäminen kiinnostuneille Nopeaa ja kustannustehokasta Tapahtumavirran käsittely Sekä huomattavien (notable) että tavallisten (ordinary) tapahtumien käsittelyä Tavallinen tapahtuma (esim. RFID-signaali) voidaan muokata kiinnostavaksi (esim. ”kallis tuote lähti varastosta”) Tapahtumien välitys Monimutkainen käsittely Välittämisen lisäksi tapahtumia tulkitaan säännöstön mukaan Seurauksena voidaan mm. luoda uusia tapahtumia Tapahtumien välinen korrelaatio Kompleksisuuden takia kaupalliset ohjelmistot ovat käytännössä aina tarpeen Tapahtumien käsittely 20.6.2011 Eetu Blomqvist
  • 6. Tapahtumageneraattorit Luovat tapahtumat Voivat suodattaaja muuntaa ”tavallisia” tapahtuvia kiinnostaviksi Tapahtumaväylä Välittää standardiformaattiin muunnetut tapahtumat prosessointikomponenteille Standardiformaatti on joustava käsite, voi olla mm. organisaation sisäinen standardi Tapahtumien prosessointi Tapahtumien käsittely ja niiden välitys (julkaisu)kiinnostuneille (= niihin perustuvan toiminnan käynnistäminen) Mahdolliset käsittelysäännöt voivat olla monimutkaisia Palvelukutsut, sähköpostit, uudet tapahtumat, tapahtuman taltiointijne. Tapahtumaan perustuva toiminta Tapahtumasta kiinnostuneet tahot toimivat (esim. palvelun sisäinen toteutus) Varsinainen tapahtumaan reagointi EDA-järjestelmän eri osat 20.6.2011 Eetu Blomqvist
  • 7. Esimerkki yksinkertaisesta tapahtumakäsittelystä 20.6.2011 Eetu Blomqvist Lähde Brenda M. Michelson, Elemental Links http://dl.dropbox.com/u/20315902/EventDrivenArchitectureOverview_ElementalLinks_Feb2011.pdf
  • 8. Esimerkki yksinkertaisesta tapahtumakäsittelystä(2) Asiakas tilaa kirjan  myyjä varaa sen varastosta Varastopalvelu tekee varauksen ja tarkistaa sen jälkeen, onko varastossa vielä riittävästi kyseisen kirjan kappaleita Jos vapaiden kappaleiden määrä alittaa määritellyn kynnyksen, varastopalvelu luo uuden tapahtuman ”Low Inventory Threshold” (Event Q) Tapahtuma siirretään välityskanavaan, josta prosessori poimii sen Prosessorilla on tapahtumalle 2 käsittelysääntöä Se käynnistää uudelleentilausprosessin (voi olla manuaalinen, tietotekninen tai jotain siltä väliltä) Tapahtuma julkaistaan edelleen siitä kiinnostuneille Kiinnostuneita ovat varastoonostaja sekä varaston päällikön hallintasovellus 20.6.2011 Eetu Blomqvist
  • 9. Esimerkki tapahtumavirran käsittelystä 20.6.2011 Eetu Blomqvist Lähde Brenda M. Michelson, Elemental Links http://dl.dropbox.com/u/20315902/EventDrivenArchitectureOverview_ElementalLinks_Feb2011.pdf
  • 10. Esimerkki tapahtumavirran käsittelystä(2) Sisältää kolme tapahtumavuota 1. (alkaa vasemmasta yläkulmasta) RFID-sensori luo tapahtuman (Event A) aina, kun tuote lähtee varastosta. Elektroniikkamyynti haluaa tietää, koska varastosta lähtee ”high-end”-tuotteita. Kyseisten tuotteiden huomaamiseksi RFID-tapahtumista suodatetaan alle 4000 dollarin tuotteet pois Jäljelle jää 5000 dollarin plasma-TV, josta muodostetaan transformaation avulla organisaation standardimuotoinen tapahtuma joka siirretään tapahtumaväylään Prosessori toimii käsittelysääntöjen mukaisesti Tapahtuma julkaistaan edelleen Tapahtumasta on kiinnostunut varastopäällikön valvontasovellus 2. ja 3. (alkavat vasemmasta alakulmasta) Tilausten syöttämissovellus luo ”tavallisen” tapahtuman (Event B) aina, kun siihen syötetään tilaus Tavalliset tilaustapahtumat välitetään tietovarastoon käsittelijän ja sen julkaisutoiminnon avulla Lisäksi yli 1500 dollarin tilauksien yhteydessä tilauksen tehneen asiakkaan luokitus halutaan nostaa seuraavaan luokkaan 20.6.2011 Eetu Blomqvist
  • 11. Esimerkki tapahtumavirran käsittelystä(3) Tarkoitukseen käytetään erillistä reititintä, koska tapahtumien reititys ja jakelu ei saa olla tapahtumalähteen vastuulla Lähteen ainoa velvollisuus on kertoa, että jotain tapahtui Reititin tulkitsee jokaisen tilauksen kokonaissumman ja luo uuden ”huomattavan” tapahtuman (Event C), kun 1500 dollaria ylittyy Myös tämä tapahtuma siirretään tapahtumaväylään Prosessori välittää tapahtuman käsittelysääntöjen mukaisesti SOA-palvelulle, joka sisältää logiikan asiakasluokituksen nostamiseksi Esimerkki Event-driven SOA:sta! 20.6.2011 Eetu Blomqvist
  • 12. Esimerkki monimutkaisesta käsittelystä 20.6.2011 Eetu Blomqvist Lähde Brenda M. Michelson, Elemental Links http://dl.dropbox.com/u/20315902/EventDrivenArchitectureOverview_ElementalLinks_Feb2011.pdf
  • 13. Esimerkki monimutkaisesta käsittelystä(2) Sisältää 3 tapahtumavuota 1. (alkaa vasemmasta yläkulmasta) B2B-integraatioväylän pitäisi välittää tapahtumaväylään 15 minuutin välein tapahtuma (Event W), joka ilmaisee mm. IT-tuelle, että väylä toimii Tapahtuman puuttuminen tarkoittaa virhettä Prosessorilla on tiedossaan viimeisimmän tapahtuman aikaleima Jos aikaleimasta on yli 15 minuuttia, prosessi toimii säännöstön mukaan Ylläpitäjää hälytetään hakulaitteella Virheestä luodaan uusi tapahtuma (Event E) ja se siirretään tapahtumaväylään Uusi tapahtuma julkaistaan, jolloin siitä kiinnostunut organisaation vikojenhallintajärjestelmä saa tiedon ongelmasta 2. ja 3. (alkavat vasemmalta keskeltä) Esittävät väärinkäytöksiä estäviä mekanismejä Myyntipistesovellus luo tapahtuman jokaista myyntipisteessä tehtyä ostosta kohden (Event Y) Reititin evaluoi yli 1500 dollarin ostot, joista luodaan uusia tapahtumia (Event Z) Kaikki tapahtumat siirretään tapahtumaväylään 20.6.2011 Eetu Blomqvist
  • 14. Esimerkki monimutkaisesta käsittelystä(3) 1. tarkastusmekanismi Prosessori etsii kaikki samalla luottokortilla lyhyen ajan (10 min) sisään tehdyt transaktiot (Event Y), jotka ovat syntyneet eri paikoissa laajalla alueella (20 mailia). Jos transaktioita löytyy tehdään kutsu palvelulle, joka käsittelee väärinkäytösepäilyn alaisia asiakastietoja 2. tarkastusmekanismi Prosessori käy läpi asiakkaan ostohistoriaa, kun se vastaanottaa tapahtuman yli 1500 dollarin ostoksesta Jos oston kokonaissumma on 50% suurempi kuin yhdenkään asiakkaan aikaisemman ostoksen kokonaissumma, tapahtuma julkaistaan edelleen ”epäilyttävänä” Asiakaspalvelutiimi vastaanottaa tapahtuman ja käynnistää tiedustelun asiakkaan suuntaan soittamalla kortin omistajalle 20.6.2011 Eetu Blomqvist
  • 15. EDA:n toteutuksen komponentit Tapahtumien metadata Tapahtumamäärittelyt Tapahtumien käsittelysäännöt Tapahtumien prosessointi Yksinkertaiset prosessorit ovat usein itse toteutettuja ohjelmistokomponentteja Monimutkaisemmat ovat kaupallisia (toimittajia mm. Oracle, IBM) Kehitys- ja seurantatyökalut Metadatan tuottaminen helposti Ylläpito ja seuranta tapahtumien käsittelylle, tapahtumien kulun seuranta, statistiikat jne. Integraatio organisaation tietojärjestelmiin Tapahtumien esikäsittely (suodatus, reititys, transformaatiot) Palvelukutsut ja liiketoimintaprosessien käynnistäminen Tapahtumien julkistaminen ja tilaaminen Palveluväylä tarjoaa useita yllä mainituista palveluista... Ja tietenkin tapahtumien lähteet ja kohteet Organisaation sisäiset tai ulkoiset ohjelmistot, palvelut, prosessit, tietovarastot, ihmiset ja niin edelleen 20.6.2011 Eetu Blomqvist