SlideShare a Scribd company logo
1 of 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

More Related Content

Similar to On Event-Driven Architecture

Personal robot industry v4
Personal robot industry v4Personal robot industry v4
Personal robot industry v4
36Kr.com
 
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
 
Etug tell big_bluebutton_bcc_
Etug tell big_bluebutton_bcc_Etug tell big_bluebutton_bcc_
Etug tell big_bluebutton_bcc_
Frank Fucile
 

Similar to 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
 
CloudFest Denver Windows Azure Design Patterns
CloudFest Denver Windows Azure Design PatternsCloudFest Denver Windows Azure Design Patterns
CloudFest Denver Windows Azure Design Patterns
 
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
 

More from Frank Müller

RESTful Web Applications with Google Go
RESTful Web Applications with Google GoRESTful Web Applications with Google Go
RESTful Web Applications with Google Go
Frank Müller
 

More from 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
 

Recently uploaded

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 

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

Editor's Notes

  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.