SlideShare ist ein Scribd-Unternehmen logo
1 von 34
On Event-Driven
 Architecture
 Frank Mueller / Oldenburg / Germany
Introduction

• 43 years, married, two daughters
• IT since more than 20 years
• Main job as team manager at BTC
• Since 1999 side job as IT journalist and
  consultant
• Interestedarchitectures
  software
             in agile processes and large
What is Tideland?




Tideland is the name of the ecosystem at the coast 50 km north of
Oldenburg. Here the tide is high and the coast line is shallow. So about each
12 hours large parts of the coast get flooded. As a result this area is
changing constantly, matching to my motto - embrace change.
How did everything
start?
In the beginning there have been
  single systems for single tasks
Today we‘ve got large data centers ...
... and networked computers
In future we‘ll have systems with a very high
     number of cores and processors ...
... working in and for ubiquitous computing
                  devices ...
... connected world-wide and around the clock in
             ultra-large-scale systems
New environments
        implicate
   new challenges
Challenge




How to parallelize work?
How to parallelize
        work?
• No problem in containers
• Computing power forand algorithms
  special environments
                         single jobs needs

• Languages like Erlang are designed for
  concurrency
• Algorithms likeand Conquer Pipes and
  Filters, Divide
                  Map/Reduce,
Challenge




How to handle latency in distributed
         environments?
How to handle
        latency?
• Loose coupling via message-passing
• On language and architecture level
• Publish/subscribe for events
• Replies are also events
• Receiver has to deal with timeouts
Challenge




 How to rely on systems you don‘t own?
How to rely on foreign
      systems?
• Interfaces are contracts between clients
  and servers
• Both have to be designed fault tolerant
• Strong governance is needed
• Open protocols and standards become
  more and more important
Challenge
   How to handle service outages?
How to handle service
      outages?

• Message-driven architectures decouple
  service providers and clients
• Messaging infrastructures take care of
  the delivery after the outage
• Clients have to deal with long runtimes
Challenge




  How to handle changing services?
How to handle
   changing services?
• Service providers have to maintain
  changing interfaces in parallel
• Coordination as part of the governance
  gets more and more complex
• Downside of the flexibility
• Open standards for common interfaces
Challenge




How to use resources only temporarily?
How to use resources
 only temporarily?
• Resources aren‘t needed linearly
• Systems can start and stop services
  depending on business cases and load
• Clouds and SaaS allow the flexible
  usage of resources on demand
• Google, Amazon, Salesforce
Challenge




   And Ultra-Large Scale Systems?
“
Ultra-Large-Scale Systems will be
designed beyond human
comprehension by design methods




                        ”
that we don‘t completely
understand.
                 – Richard P. Gabriel
An approach:
See the world
driven by events
Broker



                                Event      Sub
                    Topic
                                  A         1


Pub      Event
 1         A


                                Event      Sub
                                  A         2




      Simple Publish/Subscribe Messaging
Broker
Pub       Event                 Event       Sub
 1          A                     A          1

                     Topic

Pub       Event                Event        Sub
 2          B                  A/B/C         2




Pub       Event                 Event       Sub
 3          C                   A&B          3




      Complex Publish/Subscribe Messaging
Broker
                           Event   Sub
                             A      1

                 Topic

                           Event
Pub   Event                  B
 1      A


                           Event
                                   CEP
                             A




                                   Rules




       Complex Event Processing
Event                      Event




                      Su




                                                 Su
                A                          B




                      bs




                                                 bs
          h




                                     h
        is




                                    is
                       cr




                                                  cr
     bl




                                 bl
                         ib




                                                    ib
   Pu




                               Pu
                           e




                                                      e
Service                    Service                    Service
   1                          2                          3




               Business Process Chain
Event-Driven Business
 Process Management
• Combination of BPM and CEP
• Standardization through Event
  Processing Technical Society (EPTS)
• Modelling based on BPMN
• Currently only proprietary Event
  Processing Languages (EPL)
Finally ...
Future scenario

• Less shrink-wrapped applications
• More internal and external services
• Enterprise landscapes change to end-
  user individual service mashups
• Increasing business intelligence through
  monitoring and aggregation
On Event-Driven Architecture

Weitere ähnliche Inhalte

Ähnlich wie On Event-Driven Architecture

Personal robot industry v4
Personal robot industry v4Personal robot industry v4
Personal robot industry v436Kr.com
 
Microservices Antipatterns
Microservices AntipatternsMicroservices Antipatterns
Microservices AntipatternsC4Media
 
Intro to Kanban - AgileDayChile2011 Keynote
Intro to Kanban - AgileDayChile2011 KeynoteIntro to Kanban - AgileDayChile2011 Keynote
Intro to Kanban - AgileDayChile2011 KeynoteChileAgil
 
Evolution of Longer-Term Planning in a Large Scale Agile Project – F-Secure’s...
Evolution of Longer-Term Planning in a Large Scale Agile Project – F-Secure’s...Evolution of Longer-Term Planning in a Large Scale Agile Project – F-Secure’s...
Evolution of Longer-Term Planning in a Large Scale Agile Project – F-Secure’s...Gabor Gunyho
 
What's hot in a flat world
What's hot in a flat worldWhat's hot in a flat world
What's hot in a flat worldAllyson Eman
 
Domain Driven Design Big Picture Strategic Patterns
Domain Driven Design Big Picture Strategic PatternsDomain Driven Design Big Picture Strategic Patterns
Domain Driven Design Big Picture Strategic PatternsMark Windholtz
 
Dubbo and Weidian's practice on micro-service architecture
Dubbo and Weidian's practice on micro-service architectureDubbo and Weidian's practice on micro-service architecture
Dubbo and Weidian's practice on micro-service architectureHuxing Zhang
 
[WSO2Con EU 2017] Building Next Generation Banking Middleware at ING: The Rol...
[WSO2Con EU 2017] Building Next Generation Banking Middleware at ING: The Rol...[WSO2Con EU 2017] Building Next Generation Banking Middleware at ING: The Rol...
[WSO2Con EU 2017] Building Next Generation Banking Middleware at ING: The Rol...WSO2
 
Asynchronous processing with PHP and Symfony2. Do it simple
Asynchronous processing with PHP and Symfony2. Do it simpleAsynchronous processing with PHP and Symfony2. Do it simple
Asynchronous processing with PHP and Symfony2. Do it simpleKirill Chebunin
 
(PFC304) Effective Interprocess Communications in the Cloud: The Pros and Con...
(PFC304) Effective Interprocess Communications in the Cloud: The Pros and Con...(PFC304) Effective Interprocess Communications in the Cloud: The Pros and Con...
(PFC304) Effective Interprocess Communications in the Cloud: The Pros and Con...Amazon Web Services
 
Micro Services Architecture
Micro Services ArchitectureMicro Services Architecture
Micro Services ArchitectureRanjan Baisak
 
Confluent Messaging Modernization Forum
Confluent Messaging Modernization ForumConfluent Messaging Modernization Forum
Confluent Messaging Modernization Forumconfluent
 
Etug tell big_bluebutton_bcc_
Etug tell big_bluebutton_bcc_Etug tell big_bluebutton_bcc_
Etug tell big_bluebutton_bcc_Frank Fucile
 
QCon 2015 - Microservices Track Notes
QCon 2015 - Microservices Track Notes QCon 2015 - Microservices Track Notes
QCon 2015 - Microservices Track Notes Abdul Basit Munda
 
Scaling Streaming - Concepts, Research, Goals
Scaling Streaming - Concepts, Research, GoalsScaling Streaming - Concepts, Research, Goals
Scaling Streaming - Concepts, Research, Goalskamaelian
 
IM04 - BI Project Management
IM04 - BI Project ManagementIM04 - BI Project Management
IM04 - BI Project ManagementKelvin Chan
 

Ähnlich wie On Event-Driven Architecture (20)

Personal robot industry v4
Personal robot industry v4Personal robot industry v4
Personal robot industry v4
 
Microservices Antipatterns
Microservices AntipatternsMicroservices Antipatterns
Microservices Antipatterns
 
Intro to Kanban - AgileDayChile2011 Keynote
Intro to Kanban - AgileDayChile2011 KeynoteIntro to Kanban - AgileDayChile2011 Keynote
Intro to Kanban - AgileDayChile2011 Keynote
 
Evolution of Longer-Term Planning in a Large Scale Agile Project – F-Secure’s...
Evolution of Longer-Term Planning in a Large Scale Agile Project – F-Secure’s...Evolution of Longer-Term Planning in a Large Scale Agile Project – F-Secure’s...
Evolution of Longer-Term Planning in a Large Scale Agile Project – F-Secure’s...
 
What's hot in a flat world
What's hot in a flat worldWhat's hot in a flat world
What's hot in a flat world
 
Domain Driven Design Big Picture Strategic Patterns
Domain Driven Design Big Picture Strategic PatternsDomain Driven Design Big Picture Strategic Patterns
Domain Driven Design Big Picture Strategic Patterns
 
Dubbo and Weidian's practice on micro-service architecture
Dubbo and Weidian's practice on micro-service architectureDubbo and Weidian's practice on micro-service architecture
Dubbo and Weidian's practice on micro-service architecture
 
Canadian BPC User Conference May 19 2011
Canadian BPC User Conference May 19 2011Canadian BPC User Conference May 19 2011
Canadian BPC User Conference May 19 2011
 
[WSO2Con EU 2017] Building Next Generation Banking Middleware at ING: The Rol...
[WSO2Con EU 2017] Building Next Generation Banking Middleware at ING: The Rol...[WSO2Con EU 2017] Building Next Generation Banking Middleware at ING: The Rol...
[WSO2Con EU 2017] Building Next Generation Banking Middleware at ING: The Rol...
 
Asynchronous processing with PHP and Symfony2. Do it simple
Asynchronous processing with PHP and Symfony2. Do it simpleAsynchronous processing with PHP and Symfony2. Do it simple
Asynchronous processing with PHP and Symfony2. Do it simple
 
Bluetube
BluetubeBluetube
Bluetube
 
(PFC304) Effective Interprocess Communications in the Cloud: The Pros and Con...
(PFC304) Effective Interprocess Communications in the Cloud: The Pros and Con...(PFC304) Effective Interprocess Communications in the Cloud: The Pros and Con...
(PFC304) Effective Interprocess Communications in the Cloud: The Pros and Con...
 
Micro Services Architecture
Micro Services ArchitectureMicro Services Architecture
Micro Services Architecture
 
Confluent Messaging Modernization Forum
Confluent Messaging Modernization ForumConfluent Messaging Modernization Forum
Confluent Messaging Modernization Forum
 
Etug tell big_bluebutton_bcc_
Etug tell big_bluebutton_bcc_Etug tell big_bluebutton_bcc_
Etug tell big_bluebutton_bcc_
 
QCon 2015 - Microservices Track Notes
QCon 2015 - Microservices Track Notes QCon 2015 - Microservices Track Notes
QCon 2015 - Microservices Track Notes
 
Scaling Streaming - Concepts, Research, Goals
Scaling Streaming - Concepts, Research, GoalsScaling Streaming - Concepts, Research, Goals
Scaling Streaming - Concepts, Research, Goals
 
IM04 - BI Project Management
IM04 - BI Project ManagementIM04 - BI Project Management
IM04 - BI Project Management
 
Service as-a-software
Service as-a-softwareService as-a-software
Service as-a-software
 
From e-Lib to NOF-digi and beyond
From e-Lib to NOF-digi and beyondFrom e-Lib to NOF-digi and beyond
From e-Lib to NOF-digi and beyond
 

Mehr von Frank Müller

JAX 2023 - Cloud Provider APIs
JAX 2023 - Cloud Provider APIsJAX 2023 - Cloud Provider APIs
JAX 2023 - Cloud Provider APIsFrank Müller
 
JAX 2023 - Generics in Go
JAX 2023 - Generics in GoJAX 2023 - Generics in Go
JAX 2023 - Generics in GoFrank Müller
 
Let The Computer Do It
Let The Computer Do ItLet The Computer Do It
Let The Computer Do ItFrank Müller
 
2021 OOP - Kubernetes Operatoren
2021   OOP - Kubernetes Operatoren2021   OOP - Kubernetes Operatoren
2021 OOP - Kubernetes OperatorenFrank Müller
 
DevOpsCon - Verteilte Entwicklung in Go
DevOpsCon - Verteilte Entwicklung in GoDevOpsCon - Verteilte Entwicklung in Go
DevOpsCon - Verteilte Entwicklung in GoFrank Müller
 
Devs@Home - Einführung in Go
Devs@Home - Einführung in GoDevs@Home - Einführung in Go
Devs@Home - Einführung in GoFrank Müller
 
Blockchains - Mehr als nur digitale Währungen
Blockchains - Mehr als nur digitale WährungenBlockchains - Mehr als nur digitale Währungen
Blockchains - Mehr als nur digitale WährungenFrank Müller
 
Go - Googles Sprache für skalierbare Systeme
Go - Googles Sprache für skalierbare SystemeGo - Googles Sprache für skalierbare Systeme
Go - Googles Sprache für skalierbare SystemeFrank Müller
 
Cloud Provisioning mit Juju
Cloud Provisioning mit JujuCloud Provisioning mit Juju
Cloud Provisioning mit JujuFrank Müller
 
Juju - Scalable Software with Google Go
Juju - Scalable Software with Google GoJuju - Scalable Software with Google Go
Juju - Scalable Software with Google GoFrank Müller
 
RESTful Web Applications with Google Go
RESTful Web Applications with Google GoRESTful Web Applications with Google Go
RESTful Web Applications with Google GoFrank Müller
 
Clouds, leicht beherrschbar
Clouds, leicht beherrschbarClouds, leicht beherrschbar
Clouds, leicht beherrschbarFrank Müller
 
Skalierbare Anwendungen mit Google Go
Skalierbare Anwendungen mit Google GoSkalierbare Anwendungen mit Google Go
Skalierbare Anwendungen mit Google GoFrank Müller
 
WTC 2013 - Juju - Mit etwas Magie zur perfekten Cloud
WTC 2013 - Juju - Mit etwas Magie zur perfekten CloudWTC 2013 - Juju - Mit etwas Magie zur perfekten Cloud
WTC 2013 - Juju - Mit etwas Magie zur perfekten CloudFrank Müller
 
Juju - Google Go in a scalable Environment
Juju - Google Go in a scalable EnvironmentJuju - Google Go in a scalable Environment
Juju - Google Go in a scalable EnvironmentFrank Müller
 
OOP 2013 - Weltweite Entwicklung von Open Source Software
OOP 2013 - Weltweite Entwicklung von Open Source SoftwareOOP 2013 - Weltweite Entwicklung von Open Source Software
OOP 2013 - Weltweite Entwicklung von Open Source SoftwareFrank Müller
 
Beauty and Power of Go
Beauty and Power of GoBeauty and Power of Go
Beauty and Power of GoFrank Müller
 

Mehr von Frank Müller (20)

JAX 2023 - Cloud Provider APIs
JAX 2023 - Cloud Provider APIsJAX 2023 - Cloud Provider APIs
JAX 2023 - Cloud Provider APIs
 
JAX 2023 - Generics in Go
JAX 2023 - Generics in GoJAX 2023 - Generics in Go
JAX 2023 - Generics in Go
 
Let The Computer Do It
Let The Computer Do ItLet The Computer Do It
Let The Computer Do It
 
Concurrency with Go
Concurrency with GoConcurrency with Go
Concurrency with Go
 
2021 OOP - Kubernetes Operatoren
2021   OOP - Kubernetes Operatoren2021   OOP - Kubernetes Operatoren
2021 OOP - Kubernetes Operatoren
 
DevOpsCon - Verteilte Entwicklung in Go
DevOpsCon - Verteilte Entwicklung in GoDevOpsCon - Verteilte Entwicklung in Go
DevOpsCon - Verteilte Entwicklung in Go
 
Devs@Home - Einführung in Go
Devs@Home - Einführung in GoDevs@Home - Einführung in Go
Devs@Home - Einführung in Go
 
Fun with functions
Fun with functionsFun with functions
Fun with functions
 
Ein Gopher im Netz
Ein Gopher im NetzEin Gopher im Netz
Ein Gopher im Netz
 
Blockchains - Mehr als nur digitale Währungen
Blockchains - Mehr als nur digitale WährungenBlockchains - Mehr als nur digitale Währungen
Blockchains - Mehr als nur digitale Währungen
 
Go - Googles Sprache für skalierbare Systeme
Go - Googles Sprache für skalierbare SystemeGo - Googles Sprache für skalierbare Systeme
Go - Googles Sprache für skalierbare Systeme
 
Cloud Provisioning mit Juju
Cloud Provisioning mit JujuCloud Provisioning mit Juju
Cloud Provisioning mit Juju
 
Juju - Scalable Software with Google Go
Juju - Scalable Software with Google GoJuju - Scalable Software with Google Go
Juju - Scalable Software with Google Go
 
RESTful Web Applications with Google Go
RESTful Web Applications with Google GoRESTful Web Applications with Google Go
RESTful Web Applications with Google Go
 
Clouds, leicht beherrschbar
Clouds, leicht beherrschbarClouds, leicht beherrschbar
Clouds, leicht beherrschbar
 
Skalierbare Anwendungen mit Google Go
Skalierbare Anwendungen mit Google GoSkalierbare Anwendungen mit Google Go
Skalierbare Anwendungen mit Google Go
 
WTC 2013 - Juju - Mit etwas Magie zur perfekten Cloud
WTC 2013 - Juju - Mit etwas Magie zur perfekten CloudWTC 2013 - Juju - Mit etwas Magie zur perfekten Cloud
WTC 2013 - Juju - Mit etwas Magie zur perfekten Cloud
 
Juju - Google Go in a scalable Environment
Juju - Google Go in a scalable EnvironmentJuju - Google Go in a scalable Environment
Juju - Google Go in a scalable Environment
 
OOP 2013 - Weltweite Entwicklung von Open Source Software
OOP 2013 - Weltweite Entwicklung von Open Source SoftwareOOP 2013 - Weltweite Entwicklung von Open Source Software
OOP 2013 - Weltweite Entwicklung von Open Source Software
 
Beauty and Power of Go
Beauty and Power of GoBeauty and Power of Go
Beauty and Power of Go
 

Kürzlich hochgeladen

DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 

Kürzlich hochgeladen (20)

DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 

On Event-Driven Architecture

  • 1. On Event-Driven Architecture Frank Mueller / Oldenburg / Germany
  • 2. Introduction • 43 years, married, two daughters • IT since more than 20 years • Main job as team manager at BTC • Since 1999 side job as IT journalist and consultant • Interestedarchitectures software in agile processes and large
  • 3. What is Tideland? Tideland is the name of the ecosystem at the coast 50 km north of Oldenburg. Here the tide is high and the coast line is shallow. So about each 12 hours large parts of the coast get flooded. As a result this area is changing constantly, matching to my motto - embrace change.
  • 5. In the beginning there have been single systems for single tasks
  • 6. Today we‘ve got large data centers ...
  • 7. ... and networked computers
  • 8. In future we‘ll have systems with a very high number of cores and processors ...
  • 9. ... working in and for ubiquitous computing devices ...
  • 10. ... connected world-wide and around the clock in ultra-large-scale systems
  • 11. New environments implicate new challenges
  • 13. How to parallelize work? • No problem in containers • Computing power forand algorithms special environments single jobs needs • Languages like Erlang are designed for concurrency • Algorithms likeand Conquer Pipes and Filters, Divide Map/Reduce,
  • 14. Challenge How to handle latency in distributed environments?
  • 15. How to handle latency? • Loose coupling via message-passing • On language and architecture level • Publish/subscribe for events • Replies are also events • Receiver has to deal with timeouts
  • 16. Challenge How to rely on systems you don‘t own?
  • 17. How to rely on foreign systems? • Interfaces are contracts between clients and servers • Both have to be designed fault tolerant • Strong governance is needed • Open protocols and standards become more and more important
  • 18. Challenge How to handle service outages?
  • 19. How to handle service outages? • Message-driven architectures decouple service providers and clients • Messaging infrastructures take care of the delivery after the outage • Clients have to deal with long runtimes
  • 20. Challenge How to handle changing services?
  • 21. How to handle changing services? • Service providers have to maintain changing interfaces in parallel • Coordination as part of the governance gets more and more complex • Downside of the flexibility • Open standards for common interfaces
  • 22. Challenge How to use resources only temporarily?
  • 23. How to use resources only temporarily? • Resources aren‘t needed linearly • Systems can start and stop services depending on business cases and load • Clouds and SaaS allow the flexible usage of resources on demand • Google, Amazon, Salesforce
  • 24. Challenge And Ultra-Large Scale Systems?
  • 25. “ Ultra-Large-Scale Systems will be designed beyond human comprehension by design methods ” that we don‘t completely understand. – Richard P. Gabriel
  • 26. An approach: See the world driven by events
  • 27. Broker Event Sub Topic A 1 Pub Event 1 A Event Sub A 2 Simple Publish/Subscribe Messaging
  • 28. Broker Pub Event Event Sub 1 A A 1 Topic Pub Event Event Sub 2 B A/B/C 2 Pub Event Event Sub 3 C A&B 3 Complex Publish/Subscribe Messaging
  • 29. Broker Event Sub A 1 Topic Event Pub Event B 1 A Event CEP A Rules Complex Event Processing
  • 30. Event Event Su Su A B bs bs h h is is cr cr bl bl ib ib Pu Pu e e Service Service Service 1 2 3 Business Process Chain
  • 31. Event-Driven Business Process Management • Combination of BPM and CEP • Standardization through Event Processing Technical Society (EPTS) • Modelling based on BPMN • Currently only proprietary Event Processing Languages (EPL)
  • 33. Future scenario • Less shrink-wrapped applications • More internal and external services • Enterprise landscapes change to end- user individual service mashups • Increasing business intelligence through monitoring and aggregation

Hinweis der Redaktion

  1. Tideland is the name of the ecosystem at the coast 50 km north of Oldenburg. Here the tide is high and the coast line is shallow. So about each 12 hours large parts of the coast get flooded. As a result this area is changing constantly, matching to my motto - embrace change.
  2. ENIAC, short for Electronic Numerical Integrator And Computer, was the first general-purpose electronic computer. It was the first Turing-complete, digital computer capable of being reprogrammed to solve a full range of computing problems.
  3. Tilera TILE64 with 64 cores and Sun Fire E25K with 72 processors and 144 hardware threads. The actual Sun UltraSPARC T2 processor provides 8 cores and 64 threads on one chip.
  4. Mobile phones, car navigation, home entertainment, game consoles, new systems based on user interfaces like MS surface.
  5. No problem for imperative programming inside a container for parallel sessions (application servers). But when single tasks need the power of multiple cores or processors special environments and algorithms are needed. Languages like Erlang, Clojure and Scala are designed for concurrency, Erlang also reliability and distribution. Problems still have to be parallelized. Algorithms and strategies are map/reduce, pipes and filters, and divide and conquer.
  6. Languages like Erlang use message queues internally. External message queue systems like IBM MQSeries or MSMQ operate language independent.
  7. Everyone knows the BSOD.
  8. Direct calls of web services will fail if the service is down. A message-oriented middleware, for example an enterprise service bus (ESB), works like a parcel service wich tries several times to deliver before giving up.
  9. Services will change over time. But not every client can change his application. So several different interfaces fot the same service have to be operated at the same time.
  10. System resources are too expensive for idling. Temporary business cases like marketing campaigns or high load situations like extraordinary news traffic can use clouds and special software services on demand.
  11. Richard P. Gabriel, born 1949, LISP expert, worked for Park Place Systems, Sun Microsystems, and since 2007 IBM. Major contributor to the Ultra-Large-Scale Systems study led by the CMU Software Engineering Institute.
  12. Extreme loose coupling through asynchronous messaging using a broker and following the publish/subscribe paradigm.
  13. EDBPM. EPTS started 2008. Processing languages based on SQL or rule languages.