SlideShare a Scribd company logo
Event Driven Architectures


                          Java Usergroup (TU Wien)
                                2. Feb 2009

                               Alexander Schatten


.................................................
Agenda


          Basics: Message Integration Patterns
      
          Enterprise Service Bus
      
          Enterprise Integration Patterns
      
          Event Driven Architecture
      
          Command vs. Event Messages
      
          Event-Driven Business
      
          Showcase/Example illustrating EDA
      
          EDA vs. (?) SOA
      
          Java Frameworks
      



.................................................
Basics:
                   Messaging Integration Patterns




.................................................
Example: Java Messaging Service Broker

                                                        Msg
                      Msg
                                         Queue
     Client                                                         Client



                                     Request/Reply
                Msg                                           Msg
                                     Send Queue
     Client                                                         Client
                                    Receive Queue
                Msg                                           Msg



                                    Publish/Subscribe

                                         Topic
     Client                                                         Client
                      Msg




                                                                    Client
                                          Msg
                                       Persistence



                                                                    Client
                                      JMS Broker




.................................................
Enterprise Integration Patterns


       See Website and Book from Gregor Hohpe:
        http://www.integrationpatterns.com/
       Patterns to provide guidance in many “typical”
        enterprise integration scenarios
       Organisation of Patterns
         –    Integration Style
         –    Channel Patterns
         –    Message Construction Patterns
         –    Routing Patterns
         –    Transformation Patterns
         –    Endpoint Patterns
         –    System Management Patterns


.................................................
Enterprise Service Bus?
                           Example: Apache Service Mix




   Figure taken from Apache Service Mix documentation

.................................................
JBI Standard


          Java Business Integration
      
          Container for integration components and services
      
          WSDL-Based Messaging Model
      
          Normalized Message Service and Router
      
          Components
      
          –  Binding Components (e.g., JMS, Jabber, REST, ...)
          –  Service Engines (BPEL, Camel, Quartz, Drools, ...)
       JMX Based Administration (Admin Tools)

       JBI Components independent of ESB
        Implementation


.................................................
Example: Content-based Router



                                                     Creditcard Processing
                                Payment Method?




                                                       Debit Processing


            Order

                                                      Paypal Processing




                                                      Coupon Processing

         Message              Content-based Router




.................................................
Example: MOM, ESB and Apache Camel
                                                 Camel

                                                                  Endpoints
                                Endpoints      Processors
                   Camel                                                           Camel
                 Components                                                      Components
                    JMS                                                             JMS
                 Komponente                                                      Komponente

                    “File”                                                          “File”
                                                 Routing
                 Komponente                                                      Komponente

                   XMPP                                                            XMPP
                 Komponente                                                      Komponente

                    ...                                                             ...
                                                 Filtering




                                              Transformation


                                                   ...




                                                             XMPP Server



                                      JMS
                                     Broker
                                                                           ...
                                                   File(s)
.................................................
Enterprise Integration Patterns




  Image taken from Hohpe and Woolf

.................................................
Scenario: Hospital




.................................................
Scenario: Railway Splitter




.................................................
Weather Information System




.................................................
Event-Driven Architecture




.................................................
Command vs. Event


     Command                                   Event

          Calculate Exchange from X $  €           Concentration Level of Substance X
                                               
                                                    on Sensor Y exceeded threshold
          Get Temperature at Sensor X
      
                                                    Airplane X landed
                                                
          Store new Address in Database
      
                                                    Customer X orders book Y
                                                
          Send Email to …
      
                                                    Bell rings
                                                
          Print Document …
      
                                                    Credit Check of order X failed
                                                
          Lock account of customer
      
                                                    Container with ID X loaded
                                                




.................................................
Command  Command-Message


                                                    <xml …

                                                    <rpc:storeCustomer …>
  Command:                                            <customer>
                                                        <firstname>
                                                          Alexander
  Store new Customer                                    </firstname>
  “Alexander Schatten” to                               <lastname>
  Database                                                Schatten
                                                        </lastname>
                                                        …
                                                      </customer>
                                                    </rpc:storeCustomer>


                                                    Message:
                                                    Representation of Command




.................................................
Event  Event-Message


                                                    <xml …

                                                    <landing>
                                                      <flight nr=“1234” />
                                                      <passengers>
                                                        …
                                                      </passengers>
                                                      …
                                                    </landing>




 Event:                                             Message:
 Airplane Flight Nr 1234 lands                      Representation of Event




.................................................
Event Driven Business


       Real World Systems get more and more enriched with
        “sensory components” like RFID
       Every process step in the real world (particularly when
        multiple companies are involved) has an according step
        in the IT System (traditionally paper-flow)
       Towards Event-Driven Architectures:
         –  Events in “real world” trigger IT Systems




.................................................
.................................................
Event-Driven Architecture


       Event (Type) not commands and Receiver in the centre
        of attention
       Decoupling of Sender/Receiver
       Publish/Subscribe or Routing
       Sender does not necessarily know Receiver
       No hard top-down modeling but “emergent” behaviour
       Very high flexibility of architecture
       Potential issue: Keeping overview on running processes
       Alternative or addition to close coupled architectures
       Addition to SOA


.................................................
Showcase Requirements


          Webshop
      
          Customer orders products
      
          Check customer credit
      
          Check availability of product(s), order products from contractor(s) if
      
          required
          Calculate shipping time
      
          Start delivery procedure, invoke other systems like ERP, CRM,
      
          logistics systems
          Notify Customer about progress
      
          Perform delivery
      
          Charge Customer
      




.................................................
Traditional Architecture


          Central controler component
      
          Interacts with several services to perform tasks
      
          ...
      
          ...
      
          ...
      




.................................................
Event-Driven Architecture
                                (motivational example-fragment)
                                                                                                   CC Result

                                                                                Credit Check
                                             (queues,topics)
                         Msg
                                                                 New Order
       Event:
                                           MOM
      Customer
                                                                              Check Availability
       Order




                                                          Product Available


                                                      Product Not Available
                               CC Result
     Notify Consumer:
     Credit Problem/OK
                                                                                 Order Product
                                                                                from Contractor
                                                    Product Not Available




                                                                                Shipping Time
                                                                                 Calculation
                                                        New Order


                                                 Product Not Available


                                                 Product Available

.................................................
SOA and EDA
                                                     Figure taken from Jack
                                                     van Hoof, “How EDA
                                                     extends SOA and why it
                                                     is important”




.................................................
Complex Event Processing (CEP) ?



                                    New Year in
                                      Vienna!




.................................................
Java Frameworks


       Message Broker
         –  Apache Active MQ
         –  Glassfish Open MQ
       Enterprise Service Bus
         –  Apache Service Mix (JBI)
         –  Mule
         –  Glassfish Open ESB
       Enterprise Integration Patterns Support
         –  ESB Level: e.g. Mule
         –  Apache Camel




.................................................
Contact



                           Dr. Alexander Schatten

                    Institute for Software Technology
                         and Interactive Systems

                    Vienna University of Technology

                          http://www.schatten.info




.................................................

More Related Content

Similar to JUSG - Event Driven Architectures by Alexander Schatten

Windows Azure Interoperability
Windows Azure InteroperabilityWindows Azure Interoperability
Windows Azure Interoperability
Mihai Dan Nadas
 
03 2 armstrong-modeling-webservices_with_uml
03 2 armstrong-modeling-webservices_with_uml03 2 armstrong-modeling-webservices_with_uml
03 2 armstrong-modeling-webservices_with_uml
Aries Rio
 
Plone, rabbit mq and messaging that just works
Plone, rabbit mq and messaging that just worksPlone, rabbit mq and messaging that just works
Plone, rabbit mq and messaging that just worksAsko Soukka
 
Osmius: Monitoring Made Easy
Osmius: Monitoring Made EasyOsmius: Monitoring Made Easy
Osmius: Monitoring Made Easy
osmius
 
Client/Server Paradigm And Its Implementation
Client/Server Paradigm And Its ImplementationClient/Server Paradigm And Its Implementation
Client/Server Paradigm And Its Implementation
Roman Agaev
 
Rails, ExtJs, and Netzke
Rails, ExtJs, and NetzkeRails, ExtJs, and Netzke
Rails, ExtJs, and Netzke
netzke
 
Software Testing on the Web
Software Testing on the WebSoftware Testing on the Web
Software Testing on the Web
Martin Schütte
 
20061122 JBoss-World Experiences with JBoss jBPM
20061122 JBoss-World Experiences with JBoss jBPM20061122 JBoss-World Experiences with JBoss jBPM
20061122 JBoss-World Experiences with JBoss jBPMcamunda services GmbH
 
TorqueBox at DC:JBUG - November 2011
TorqueBox at DC:JBUG - November 2011TorqueBox at DC:JBUG - November 2011
TorqueBox at DC:JBUG - November 2011
bobmcwhirter
 
Mastering Differentiated MDSD Requirements at Deutsche Boerse AG
Mastering Differentiated MDSD Requirements at Deutsche Boerse AGMastering Differentiated MDSD Requirements at Deutsche Boerse AG
Mastering Differentiated MDSD Requirements at Deutsche Boerse AG
Heiko Behrens
 
Enabling Content Workflows in the Cloud
Enabling Content Workflows in the CloudEnabling Content Workflows in the Cloud
Enabling Content Workflows in the CloudAmazon Web Services
 
Wpf Tech Overview2009
Wpf Tech Overview2009Wpf Tech Overview2009
Wpf Tech Overview2009
Our Community Exchange LLC
 
Windows Sql Azure Cloud Computing Platform
Windows Sql Azure Cloud Computing PlatformWindows Sql Azure Cloud Computing Platform
Windows Sql Azure Cloud Computing Platform
Eduardo Castro
 
SD Forum 1999 XML Lessons Learned
SD Forum 1999 XML Lessons LearnedSD Forum 1999 XML Lessons Learned
SD Forum 1999 XML Lessons LearnedTed Leung
 
Bangalore cloudstack user group
Bangalore cloudstack user groupBangalore cloudstack user group
Bangalore cloudstack user group
ShapeBlue
 
Business processes, business rules, complex event processing, the JBoss way
Business processes, business rules, complex event processing, the JBoss wayBusiness processes, business rules, complex event processing, the JBoss way
Business processes, business rules, complex event processing, the JBoss way
Kris Verlaenen
 
Camunda BPM 7.2 - English
Camunda BPM 7.2 - EnglishCamunda BPM 7.2 - English
Camunda BPM 7.2 - English
camunda services GmbH
 
Adopting Agile Tools & Methods In A Legacy Context
Adopting Agile Tools & Methods In A Legacy ContextAdopting Agile Tools & Methods In A Legacy Context
Adopting Agile Tools & Methods In A Legacy ContextXavier Warzee
 

Similar to JUSG - Event Driven Architectures by Alexander Schatten (20)

Windows Azure Interoperability
Windows Azure InteroperabilityWindows Azure Interoperability
Windows Azure Interoperability
 
03 2 armstrong-modeling-webservices_with_uml
03 2 armstrong-modeling-webservices_with_uml03 2 armstrong-modeling-webservices_with_uml
03 2 armstrong-modeling-webservices_with_uml
 
Plone, rabbit mq and messaging that just works
Plone, rabbit mq and messaging that just worksPlone, rabbit mq and messaging that just works
Plone, rabbit mq and messaging that just works
 
Osmius: Monitoring Made Easy
Osmius: Monitoring Made EasyOsmius: Monitoring Made Easy
Osmius: Monitoring Made Easy
 
Introducing spring
Introducing springIntroducing spring
Introducing spring
 
Client/Server Paradigm And Its Implementation
Client/Server Paradigm And Its ImplementationClient/Server Paradigm And Its Implementation
Client/Server Paradigm And Its Implementation
 
Rails, ExtJs, and Netzke
Rails, ExtJs, and NetzkeRails, ExtJs, and Netzke
Rails, ExtJs, and Netzke
 
Software Testing on the Web
Software Testing on the WebSoftware Testing on the Web
Software Testing on the Web
 
20061122 JBoss-World Experiences with JBoss jBPM
20061122 JBoss-World Experiences with JBoss jBPM20061122 JBoss-World Experiences with JBoss jBPM
20061122 JBoss-World Experiences with JBoss jBPM
 
TorqueBox at DC:JBUG - November 2011
TorqueBox at DC:JBUG - November 2011TorqueBox at DC:JBUG - November 2011
TorqueBox at DC:JBUG - November 2011
 
Mastering Differentiated MDSD Requirements at Deutsche Boerse AG
Mastering Differentiated MDSD Requirements at Deutsche Boerse AGMastering Differentiated MDSD Requirements at Deutsche Boerse AG
Mastering Differentiated MDSD Requirements at Deutsche Boerse AG
 
Enabling Content Workflows in the Cloud
Enabling Content Workflows in the CloudEnabling Content Workflows in the Cloud
Enabling Content Workflows in the Cloud
 
Wpf Tech Overview2009
Wpf Tech Overview2009Wpf Tech Overview2009
Wpf Tech Overview2009
 
Windows Sql Azure Cloud Computing Platform
Windows Sql Azure Cloud Computing PlatformWindows Sql Azure Cloud Computing Platform
Windows Sql Azure Cloud Computing Platform
 
SD Forum 1999 XML Lessons Learned
SD Forum 1999 XML Lessons LearnedSD Forum 1999 XML Lessons Learned
SD Forum 1999 XML Lessons Learned
 
Bangalore cloudstack user group
Bangalore cloudstack user groupBangalore cloudstack user group
Bangalore cloudstack user group
 
Acme packet palladian
Acme packet palladianAcme packet palladian
Acme packet palladian
 
Business processes, business rules, complex event processing, the JBoss way
Business processes, business rules, complex event processing, the JBoss wayBusiness processes, business rules, complex event processing, the JBoss way
Business processes, business rules, complex event processing, the JBoss way
 
Camunda BPM 7.2 - English
Camunda BPM 7.2 - EnglishCamunda BPM 7.2 - English
Camunda BPM 7.2 - English
 
Adopting Agile Tools & Methods In A Legacy Context
Adopting Agile Tools & Methods In A Legacy ContextAdopting Agile Tools & Methods In A Legacy Context
Adopting Agile Tools & Methods In A Legacy Context
 

More from Christoph Pickl

JSUG - AS3 vs Java by Christoph Pickl
JSUG - AS3 vs Java by Christoph PicklJSUG - AS3 vs Java by Christoph Pickl
JSUG - AS3 vs Java by Christoph Pickl
Christoph Pickl
 
JSUG - Layouting TeX documents with the Memoir class
JSUG - Layouting TeX documents with the Memoir classJSUG - Layouting TeX documents with the Memoir class
JSUG - Layouting TeX documents with the Memoir class
Christoph Pickl
 
JSUG - Cocoon3 Student Project Idea by Reinhard Poetz and Steven Dolg
JSUG - Cocoon3 Student Project Idea by Reinhard Poetz and Steven DolgJSUG - Cocoon3 Student Project Idea by Reinhard Poetz and Steven Dolg
JSUG - Cocoon3 Student Project Idea by Reinhard Poetz and Steven Dolg
Christoph Pickl
 
JSUG - ActionScript 3 vs Java by Christoph Pickl
JSUG - ActionScript 3 vs Java by Christoph PicklJSUG - ActionScript 3 vs Java by Christoph Pickl
JSUG - ActionScript 3 vs Java by Christoph Pickl
Christoph Pickl
 
JSUG - TeX, LaTeX und der Rest by Norbert Preining
JSUG - TeX, LaTeX und der Rest by Norbert PreiningJSUG - TeX, LaTeX und der Rest by Norbert Preining
JSUG - TeX, LaTeX und der Rest by Norbert Preining
Christoph Pickl
 
JSUG - TeX Day by Christoph Pickl
JSUG - TeX Day by Christoph PicklJSUG - TeX Day by Christoph Pickl
JSUG - TeX Day by Christoph Pickl
Christoph Pickl
 
JSUG - The Sound of Shopping by Christoph Pickl
JSUG - The Sound of Shopping by Christoph PicklJSUG - The Sound of Shopping by Christoph Pickl
JSUG - The Sound of Shopping by Christoph Pickl
Christoph Pickl
 
JSUG - Tim aka EPROG2 by Martin Schuerrer
JSUG - Tim aka EPROG2 by Martin SchuerrerJSUG - Tim aka EPROG2 by Martin Schuerrer
JSUG - Tim aka EPROG2 by Martin Schuerrer
Christoph Pickl
 
JSUG - Java Service Enabler by Andreas Hubmer
JSUG - Java Service Enabler by Andreas HubmerJSUG - Java Service Enabler by Andreas Hubmer
JSUG - Java Service Enabler by Andreas Hubmer
Christoph Pickl
 
JSUG - Hoppla by Florian Motlik and Petar Petrov
JSUG - Hoppla by Florian Motlik and Petar PetrovJSUG - Hoppla by Florian Motlik and Petar Petrov
JSUG - Hoppla by Florian Motlik and Petar Petrov
Christoph Pickl
 
JSUG - Google Web Toolkit by Hans Sowa
JSUG - Google Web Toolkit by Hans SowaJSUG - Google Web Toolkit by Hans Sowa
JSUG - Google Web Toolkit by Hans Sowa
Christoph Pickl
 
JSUG - TU Wien Cocoon Project by Andreas Pieber
JSUG - TU Wien Cocoon Project by Andreas PieberJSUG - TU Wien Cocoon Project by Andreas Pieber
JSUG - TU Wien Cocoon Project by Andreas Pieber
Christoph Pickl
 
JSUG - TU Wien Castor Project by Lukas Lang
JSUG - TU Wien Castor Project by Lukas LangJSUG - TU Wien Castor Project by Lukas Lang
JSUG - TU Wien Castor Project by Lukas Lang
Christoph Pickl
 
JSUG - LaTeX Introduction by Christoph Pickl
JSUG - LaTeX Introduction by Christoph PicklJSUG - LaTeX Introduction by Christoph Pickl
JSUG - LaTeX Introduction by Christoph Pickl
Christoph Pickl
 
JSUG - OSGi by Michael Greifeneder
JSUG - OSGi by Michael GreifenederJSUG - OSGi by Michael Greifeneder
JSUG - OSGi by Michael Greifeneder
Christoph Pickl
 
JSUG - Filthy Flex by Christoph Pickl
JSUG - Filthy Flex by Christoph PicklJSUG - Filthy Flex by Christoph Pickl
JSUG - Filthy Flex by Christoph Pickl
Christoph Pickl
 
JSUG - Seam by Florian Motlik
JSUG - Seam by Florian MotlikJSUG - Seam by Florian Motlik
JSUG - Seam by Florian Motlik
Christoph Pickl
 
JSUG - Google Guice by Jan Zarnikov
JSUG - Google Guice by Jan ZarnikovJSUG - Google Guice by Jan Zarnikov
JSUG - Google Guice by Jan Zarnikov
Christoph Pickl
 
JSUG - Java FX by Christoph Pickl
JSUG - Java FX by Christoph PicklJSUG - Java FX by Christoph Pickl
JSUG - Java FX by Christoph Pickl
Christoph Pickl
 
JSUG - Tech Tips1 by Christoph Pickl
JSUG - Tech Tips1 by Christoph PicklJSUG - Tech Tips1 by Christoph Pickl
JSUG - Tech Tips1 by Christoph Pickl
Christoph Pickl
 

More from Christoph Pickl (20)

JSUG - AS3 vs Java by Christoph Pickl
JSUG - AS3 vs Java by Christoph PicklJSUG - AS3 vs Java by Christoph Pickl
JSUG - AS3 vs Java by Christoph Pickl
 
JSUG - Layouting TeX documents with the Memoir class
JSUG - Layouting TeX documents with the Memoir classJSUG - Layouting TeX documents with the Memoir class
JSUG - Layouting TeX documents with the Memoir class
 
JSUG - Cocoon3 Student Project Idea by Reinhard Poetz and Steven Dolg
JSUG - Cocoon3 Student Project Idea by Reinhard Poetz and Steven DolgJSUG - Cocoon3 Student Project Idea by Reinhard Poetz and Steven Dolg
JSUG - Cocoon3 Student Project Idea by Reinhard Poetz and Steven Dolg
 
JSUG - ActionScript 3 vs Java by Christoph Pickl
JSUG - ActionScript 3 vs Java by Christoph PicklJSUG - ActionScript 3 vs Java by Christoph Pickl
JSUG - ActionScript 3 vs Java by Christoph Pickl
 
JSUG - TeX, LaTeX und der Rest by Norbert Preining
JSUG - TeX, LaTeX und der Rest by Norbert PreiningJSUG - TeX, LaTeX und der Rest by Norbert Preining
JSUG - TeX, LaTeX und der Rest by Norbert Preining
 
JSUG - TeX Day by Christoph Pickl
JSUG - TeX Day by Christoph PicklJSUG - TeX Day by Christoph Pickl
JSUG - TeX Day by Christoph Pickl
 
JSUG - The Sound of Shopping by Christoph Pickl
JSUG - The Sound of Shopping by Christoph PicklJSUG - The Sound of Shopping by Christoph Pickl
JSUG - The Sound of Shopping by Christoph Pickl
 
JSUG - Tim aka EPROG2 by Martin Schuerrer
JSUG - Tim aka EPROG2 by Martin SchuerrerJSUG - Tim aka EPROG2 by Martin Schuerrer
JSUG - Tim aka EPROG2 by Martin Schuerrer
 
JSUG - Java Service Enabler by Andreas Hubmer
JSUG - Java Service Enabler by Andreas HubmerJSUG - Java Service Enabler by Andreas Hubmer
JSUG - Java Service Enabler by Andreas Hubmer
 
JSUG - Hoppla by Florian Motlik and Petar Petrov
JSUG - Hoppla by Florian Motlik and Petar PetrovJSUG - Hoppla by Florian Motlik and Petar Petrov
JSUG - Hoppla by Florian Motlik and Petar Petrov
 
JSUG - Google Web Toolkit by Hans Sowa
JSUG - Google Web Toolkit by Hans SowaJSUG - Google Web Toolkit by Hans Sowa
JSUG - Google Web Toolkit by Hans Sowa
 
JSUG - TU Wien Cocoon Project by Andreas Pieber
JSUG - TU Wien Cocoon Project by Andreas PieberJSUG - TU Wien Cocoon Project by Andreas Pieber
JSUG - TU Wien Cocoon Project by Andreas Pieber
 
JSUG - TU Wien Castor Project by Lukas Lang
JSUG - TU Wien Castor Project by Lukas LangJSUG - TU Wien Castor Project by Lukas Lang
JSUG - TU Wien Castor Project by Lukas Lang
 
JSUG - LaTeX Introduction by Christoph Pickl
JSUG - LaTeX Introduction by Christoph PicklJSUG - LaTeX Introduction by Christoph Pickl
JSUG - LaTeX Introduction by Christoph Pickl
 
JSUG - OSGi by Michael Greifeneder
JSUG - OSGi by Michael GreifenederJSUG - OSGi by Michael Greifeneder
JSUG - OSGi by Michael Greifeneder
 
JSUG - Filthy Flex by Christoph Pickl
JSUG - Filthy Flex by Christoph PicklJSUG - Filthy Flex by Christoph Pickl
JSUG - Filthy Flex by Christoph Pickl
 
JSUG - Seam by Florian Motlik
JSUG - Seam by Florian MotlikJSUG - Seam by Florian Motlik
JSUG - Seam by Florian Motlik
 
JSUG - Google Guice by Jan Zarnikov
JSUG - Google Guice by Jan ZarnikovJSUG - Google Guice by Jan Zarnikov
JSUG - Google Guice by Jan Zarnikov
 
JSUG - Java FX by Christoph Pickl
JSUG - Java FX by Christoph PicklJSUG - Java FX by Christoph Pickl
JSUG - Java FX by Christoph Pickl
 
JSUG - Tech Tips1 by Christoph Pickl
JSUG - Tech Tips1 by Christoph PicklJSUG - Tech Tips1 by Christoph Pickl
JSUG - Tech Tips1 by Christoph Pickl
 

Recently uploaded

Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 

Recently uploaded (20)

Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 

JUSG - Event Driven Architectures by Alexander Schatten

  • 1. Event Driven Architectures Java Usergroup (TU Wien) 2. Feb 2009 Alexander Schatten .................................................
  • 2. Agenda Basics: Message Integration Patterns   Enterprise Service Bus   Enterprise Integration Patterns   Event Driven Architecture   Command vs. Event Messages   Event-Driven Business   Showcase/Example illustrating EDA   EDA vs. (?) SOA   Java Frameworks   .................................................
  • 3. Basics: Messaging Integration Patterns .................................................
  • 4. Example: Java Messaging Service Broker Msg Msg Queue Client Client Request/Reply Msg Msg Send Queue Client Client Receive Queue Msg Msg Publish/Subscribe Topic Client Client Msg Client Msg Persistence Client JMS Broker .................................................
  • 5. Enterprise Integration Patterns   See Website and Book from Gregor Hohpe: http://www.integrationpatterns.com/   Patterns to provide guidance in many “typical” enterprise integration scenarios   Organisation of Patterns –  Integration Style –  Channel Patterns –  Message Construction Patterns –  Routing Patterns –  Transformation Patterns –  Endpoint Patterns –  System Management Patterns .................................................
  • 6. Enterprise Service Bus? Example: Apache Service Mix Figure taken from Apache Service Mix documentation .................................................
  • 7. JBI Standard Java Business Integration   Container for integration components and services   WSDL-Based Messaging Model   Normalized Message Service and Router   Components   –  Binding Components (e.g., JMS, Jabber, REST, ...) –  Service Engines (BPEL, Camel, Quartz, Drools, ...)   JMX Based Administration (Admin Tools)   JBI Components independent of ESB Implementation .................................................
  • 8. Example: Content-based Router Creditcard Processing Payment Method? Debit Processing Order Paypal Processing Coupon Processing Message Content-based Router .................................................
  • 9. Example: MOM, ESB and Apache Camel Camel Endpoints Endpoints Processors Camel Camel Components Components JMS JMS Komponente Komponente “File” “File” Routing Komponente Komponente XMPP XMPP Komponente Komponente ... ... Filtering Transformation ... XMPP Server JMS Broker ... File(s) .................................................
  • 10. Enterprise Integration Patterns Image taken from Hohpe and Woolf .................................................
  • 15. Command vs. Event Command Event Calculate Exchange from X $  € Concentration Level of Substance X     on Sensor Y exceeded threshold Get Temperature at Sensor X   Airplane X landed   Store new Address in Database   Customer X orders book Y   Send Email to …   Bell rings   Print Document …   Credit Check of order X failed   Lock account of customer   Container with ID X loaded   .................................................
  • 16. Command  Command-Message <xml … <rpc:storeCustomer …> Command: <customer> <firstname> Alexander Store new Customer </firstname> “Alexander Schatten” to <lastname> Database Schatten </lastname> … </customer> </rpc:storeCustomer> Message: Representation of Command .................................................
  • 17. Event  Event-Message <xml … <landing> <flight nr=“1234” /> <passengers> … </passengers> … </landing> Event: Message: Airplane Flight Nr 1234 lands Representation of Event .................................................
  • 18. Event Driven Business   Real World Systems get more and more enriched with “sensory components” like RFID   Every process step in the real world (particularly when multiple companies are involved) has an according step in the IT System (traditionally paper-flow)   Towards Event-Driven Architectures: –  Events in “real world” trigger IT Systems .................................................
  • 20. Event-Driven Architecture   Event (Type) not commands and Receiver in the centre of attention   Decoupling of Sender/Receiver   Publish/Subscribe or Routing   Sender does not necessarily know Receiver   No hard top-down modeling but “emergent” behaviour   Very high flexibility of architecture   Potential issue: Keeping overview on running processes   Alternative or addition to close coupled architectures   Addition to SOA .................................................
  • 21. Showcase Requirements Webshop   Customer orders products   Check customer credit   Check availability of product(s), order products from contractor(s) if   required Calculate shipping time   Start delivery procedure, invoke other systems like ERP, CRM,   logistics systems Notify Customer about progress   Perform delivery   Charge Customer   .................................................
  • 22. Traditional Architecture Central controler component   Interacts with several services to perform tasks   ...   ...   ...   .................................................
  • 23. Event-Driven Architecture (motivational example-fragment) CC Result Credit Check (queues,topics) Msg New Order Event: MOM Customer Check Availability Order Product Available Product Not Available CC Result Notify Consumer: Credit Problem/OK Order Product from Contractor Product Not Available Shipping Time Calculation New Order Product Not Available Product Available .................................................
  • 24. SOA and EDA Figure taken from Jack van Hoof, “How EDA extends SOA and why it is important” .................................................
  • 25. Complex Event Processing (CEP) ? New Year in Vienna! .................................................
  • 26. Java Frameworks   Message Broker –  Apache Active MQ –  Glassfish Open MQ   Enterprise Service Bus –  Apache Service Mix (JBI) –  Mule –  Glassfish Open ESB   Enterprise Integration Patterns Support –  ESB Level: e.g. Mule –  Apache Camel .................................................
  • 27. Contact Dr. Alexander Schatten Institute for Software Technology and Interactive Systems Vienna University of Technology http://www.schatten.info .................................................