SlideShare a Scribd company logo
1 of 10
Distributed
Complex Event Processing

Fernand Paraiso, Lionel Seinturier,
         Romain Rouvoy

    INRIA Lille – Nord Europe
      Project-team ADAM
Use case: The Museum
Architecture
 Configuration: 4 zones  3 guardians  3 visitors
 Alert: Whenever a visitor enters a zone not covered
   by a guardian

Objective
 Propagating events across several CEP engines
   Running on separated JVMs
   Connected through SCA bindings (JMS, REST…)




    DiCEPE: Distributed Complex Event Processing Engine
Museum: Architecture Overview

                                      Binding REST




  Guardian composite



                                                      Alert-system composite


 Visitor composite               Binding JMS


DiCEPE: Distributed Complex Event Processing Engine
Museum: Architecture Details                                           frascati
                                                                                   binding.rest
                                                                                        or
                                                                                   binding.jms



      guardian                         stmt                            engineWire
                                                     guardian-stmt                                      guarded
        gui         engine
run


                                     logview

                                                     stat-guardian
                 Guardian composite
                                                                                                  Esper-engine
                                                                                                                  alert-stmt
                                                                                                     alert




                             stmt                                     engineWire
                                      visitor-stmt


       visitor
                                               logview           stat-visitor
        gui      engine
run
                                                                                                    visited
                              stmt
                                      group-stmt
       Visitor composite

        DiCEPE: Distributed Complex Event Processing Engine
Museum: Visitor Composite                                              "{
                                                                           'GuardedLocation':
                                                                           { 'zone':'1','count':'1'}}"

                                                                        <guardedLocation>
                                                                                  <count>1</count>
                                                                                  <zone>1</zone>
                                                                        </guardedLocation>




                               stmt                           engineWire
                                       visitor-stmt


          Client
                                               logview   stat-visitor
                                                                             frascati
    run   visitor   engine
                                                                           binding.rest
                                stmt                                            or
                                       group-stmt                          binding.jms
           Visitor composite



DiCEPE: Distributed Complex Event Processing Engine
DiCEPE: Supported Bindings
REST (HTTP)
 Events pushed into CEP via HTTP POST
 Support for multiple representations: XML, JSON…
 WADL interface description available
 Based on existing SCA binding: <binding.rest uri=“…“/>
 Implemented with CXF communication stack
JMS
 Events pushed into JMS channels
 CEP engine subscribe to and publish into the channels
 Based on existing SCA binding: <binding.jms jndiURL=“…“/>
 Implemented with JORAM middleware




       DiCEPE: Distributed Complex Event Processing Engine
DiCEPE: Dynamic Reconfiguration
Support for reconfiguring CEP engines
 Dynamic reconfiguration at runtime
 Manageable from FraSCAti Explorer


CRUD reconfigurations currently supported
 EPL statements
 Statement listeners
 Remote bindings




    DiCEPE: Distributed Complex Event Processing Engine
DiCEPE open support for CEP Engines
A simple «push» interface
 public interface Notification<T> {
     void notify(T event);
 }
Associated to an SCA constraining type
 <constrainingType name=“cep-engine”>
   <service name=“notification”>
     <interface.java interface=“soceda.cep.Notification”/>
   </service>
   <!-- … -->
 </constrainingtype>
One component implementation by CEP library
 Esper (EPL) available
 Etalis (Prolog) under tests
    DiCEPE: Distributed Complex Event Processing Engine
Demonstration

                          Questions?




DiCEPE: Distributed Complex Event Processing Engine
Perspectives

Including support for the WS-Notification standard
  REST and JMS protocols are already supported
  Using <sca:binding.ws uri=“…”/>

Including more semantics into events
  POJO and XML documents are already
    supported
  Reflecting events as RDF triples

More Related Content

Similar to Distributed CEP Museum Alerts

Gaweł mikołajczyk. holistic identity based networking approach – an irreducib...
Gaweł mikołajczyk. holistic identity based networking approach – an irreducib...Gaweł mikołajczyk. holistic identity based networking approach – an irreducib...
Gaweł mikołajczyk. holistic identity based networking approach – an irreducib...Yury Chemerkin
 
JUSG - Event Driven Architectures by Alexander Schatten
JUSG - Event Driven Architectures by Alexander SchattenJUSG - Event Driven Architectures by Alexander Schatten
JUSG - Event Driven Architectures by Alexander SchattenChristoph Pickl
 
UNDOCUMENTED Vyatta vRouter: Unbreakable VPN Tunneling (MEMO)
UNDOCUMENTED Vyatta vRouter: Unbreakable VPN Tunneling (MEMO) UNDOCUMENTED Vyatta vRouter: Unbreakable VPN Tunneling (MEMO)
UNDOCUMENTED Vyatta vRouter: Unbreakable VPN Tunneling (MEMO) Naoto MATSUMOTO
 
Spark-on-Yarn: The Road Ahead-(Marcelo Vanzin, Cloudera)
Spark-on-Yarn: The Road Ahead-(Marcelo Vanzin, Cloudera)Spark-on-Yarn: The Road Ahead-(Marcelo Vanzin, Cloudera)
Spark-on-Yarn: The Road Ahead-(Marcelo Vanzin, Cloudera)Spark Summit
 
Spark on YARN: The Road Ahead
Spark on YARN: The Road AheadSpark on YARN: The Road Ahead
Spark on YARN: The Road AheadCloudera, Inc.
 
(APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014
(APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014(APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014
(APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014Amazon Web Services
 
The Potential Impact of Software Defined Networking SDN on Security
The Potential Impact of Software Defined Networking SDN on SecurityThe Potential Impact of Software Defined Networking SDN on Security
The Potential Impact of Software Defined Networking SDN on SecurityBrent Salisbury
 
Faster & Greater Messaging System HornetQ zzz
Faster & Greater Messaging System HornetQ zzzFaster & Greater Messaging System HornetQ zzz
Faster & Greater Messaging System HornetQ zzzJBug Italy
 
12th Japan CloudStack User Group Meetup MidoNet with scalable virtual router
12th Japan CloudStack User Group Meetup   MidoNet with scalable virtual router12th Japan CloudStack User Group Meetup   MidoNet with scalable virtual router
12th Japan CloudStack User Group Meetup MidoNet with scalable virtual routerTakeshi Nakajima
 
12th Japan CloudStack User Group Meetup
12th Japan CloudStack User Group Meetup12th Japan CloudStack User Group Meetup
12th Japan CloudStack User Group MeetupMidokura
 
Windows Azure Interoperability
Windows Azure InteroperabilityWindows Azure Interoperability
Windows Azure InteroperabilityMihai Dan Nadas
 
Reactive Microservices with JRuby and Docker
Reactive Microservices with JRuby and DockerReactive Microservices with JRuby and Docker
Reactive Microservices with JRuby and DockerJohn Scattergood
 
How Yelp does Service Discovery
How Yelp does Service DiscoveryHow Yelp does Service Discovery
How Yelp does Service DiscoveryJohn Billings
 

Similar to Distributed CEP Museum Alerts (20)

Apache CloudStack AlpesJUG
Apache CloudStack AlpesJUGApache CloudStack AlpesJUG
Apache CloudStack AlpesJUG
 
Vastsky xen summit20100428
Vastsky xen summit20100428Vastsky xen summit20100428
Vastsky xen summit20100428
 
Vastsky xen summit20100428
Vastsky xen summit20100428Vastsky xen summit20100428
Vastsky xen summit20100428
 
Gaweł mikołajczyk. holistic identity based networking approach – an irreducib...
Gaweł mikołajczyk. holistic identity based networking approach – an irreducib...Gaweł mikołajczyk. holistic identity based networking approach – an irreducib...
Gaweł mikołajczyk. holistic identity based networking approach – an irreducib...
 
JUSG - Event Driven Architectures by Alexander Schatten
JUSG - Event Driven Architectures by Alexander SchattenJUSG - Event Driven Architectures by Alexander Schatten
JUSG - Event Driven Architectures by Alexander Schatten
 
Akka (BeJUG)
Akka (BeJUG)Akka (BeJUG)
Akka (BeJUG)
 
UNDOCUMENTED Vyatta vRouter: Unbreakable VPN Tunneling (MEMO)
UNDOCUMENTED Vyatta vRouter: Unbreakable VPN Tunneling (MEMO) UNDOCUMENTED Vyatta vRouter: Unbreakable VPN Tunneling (MEMO)
UNDOCUMENTED Vyatta vRouter: Unbreakable VPN Tunneling (MEMO)
 
Contrail Enabler for agile cloud services
Contrail Enabler for agile cloud servicesContrail Enabler for agile cloud services
Contrail Enabler for agile cloud services
 
Spark-on-Yarn: The Road Ahead-(Marcelo Vanzin, Cloudera)
Spark-on-Yarn: The Road Ahead-(Marcelo Vanzin, Cloudera)Spark-on-Yarn: The Road Ahead-(Marcelo Vanzin, Cloudera)
Spark-on-Yarn: The Road Ahead-(Marcelo Vanzin, Cloudera)
 
Spark on YARN: The Road Ahead
Spark on YARN: The Road AheadSpark on YARN: The Road Ahead
Spark on YARN: The Road Ahead
 
GlassFish v3 Prelude Aquarium Paris
GlassFish v3 Prelude Aquarium ParisGlassFish v3 Prelude Aquarium Paris
GlassFish v3 Prelude Aquarium Paris
 
(APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014
(APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014(APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014
(APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014
 
The Potential Impact of Software Defined Networking SDN on Security
The Potential Impact of Software Defined Networking SDN on SecurityThe Potential Impact of Software Defined Networking SDN on Security
The Potential Impact of Software Defined Networking SDN on Security
 
Faster & Greater Messaging System HornetQ zzz
Faster & Greater Messaging System HornetQ zzzFaster & Greater Messaging System HornetQ zzz
Faster & Greater Messaging System HornetQ zzz
 
12th Japan CloudStack User Group Meetup MidoNet with scalable virtual router
12th Japan CloudStack User Group Meetup   MidoNet with scalable virtual router12th Japan CloudStack User Group Meetup   MidoNet with scalable virtual router
12th Japan CloudStack User Group Meetup MidoNet with scalable virtual router
 
12th Japan CloudStack User Group Meetup
12th Japan CloudStack User Group Meetup12th Japan CloudStack User Group Meetup
12th Japan CloudStack User Group Meetup
 
Windows Azure Interoperability
Windows Azure InteroperabilityWindows Azure Interoperability
Windows Azure Interoperability
 
Reactive Microservices with JRuby and Docker
Reactive Microservices with JRuby and DockerReactive Microservices with JRuby and Docker
Reactive Microservices with JRuby and Docker
 
How Yelp does Service Discovery
How Yelp does Service DiscoveryHow Yelp does Service Discovery
How Yelp does Service Discovery
 
Kommons
KommonsKommons
Kommons
 

More from Fawaz Fernand PARAISO

Soceda : integration of ws notification in distributed complex event processing
Soceda : integration of ws notification in distributed complex event processing Soceda : integration of ws notification in distributed complex event processing
Soceda : integration of ws notification in distributed complex event processing Fawaz Fernand PARAISO
 
soCloud: distributed multi-cloud platform for deploying, executing and managi...
soCloud: distributed multi-cloud platform for deploying, executing and managi...soCloud: distributed multi-cloud platform for deploying, executing and managi...
soCloud: distributed multi-cloud platform for deploying, executing and managi...Fawaz Fernand PARAISO
 
Managing elasticity across Multi-cloud providers
Managing elasticity across Multi-cloud providersManaging elasticity across Multi-cloud providers
Managing elasticity across Multi-cloud providersFawaz Fernand PARAISO
 
A middleware platform_to_federate_complex_event_processing
A middleware platform_to_federate_complex_event_processingA middleware platform_to_federate_complex_event_processing
A middleware platform_to_federate_complex_event_processingFawaz Fernand PARAISO
 
A Federated Multi-Cloud PaaS Infrasctructure
A Federated Multi-Cloud PaaS InfrasctructureA Federated Multi-Cloud PaaS Infrasctructure
A Federated Multi-Cloud PaaS InfrasctructureFawaz Fernand PARAISO
 

More from Fawaz Fernand PARAISO (10)

Paraiso cloud2016.key
Paraiso   cloud2016.keyParaiso   cloud2016.key
Paraiso cloud2016.key
 
Introduction to cloud computing
Introduction to cloud computingIntroduction to cloud computing
Introduction to cloud computing
 
Moteur CEP
Moteur CEPMoteur CEP
Moteur CEP
 
soCloud: a multi-cloud paas
soCloud: a multi-cloud paassoCloud: a multi-cloud paas
soCloud: a multi-cloud paas
 
Multi cloud PaaS
Multi cloud PaaSMulti cloud PaaS
Multi cloud PaaS
 
Soceda : integration of ws notification in distributed complex event processing
Soceda : integration of ws notification in distributed complex event processing Soceda : integration of ws notification in distributed complex event processing
Soceda : integration of ws notification in distributed complex event processing
 
soCloud: distributed multi-cloud platform for deploying, executing and managi...
soCloud: distributed multi-cloud platform for deploying, executing and managi...soCloud: distributed multi-cloud platform for deploying, executing and managi...
soCloud: distributed multi-cloud platform for deploying, executing and managi...
 
Managing elasticity across Multi-cloud providers
Managing elasticity across Multi-cloud providersManaging elasticity across Multi-cloud providers
Managing elasticity across Multi-cloud providers
 
A middleware platform_to_federate_complex_event_processing
A middleware platform_to_federate_complex_event_processingA middleware platform_to_federate_complex_event_processing
A middleware platform_to_federate_complex_event_processing
 
A Federated Multi-Cloud PaaS Infrasctructure
A Federated Multi-Cloud PaaS InfrasctructureA Federated Multi-Cloud PaaS Infrasctructure
A Federated Multi-Cloud PaaS Infrasctructure
 

Recently uploaded

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
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
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
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
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
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
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
 
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
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
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
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
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
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
"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
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
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
 
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
 

Recently uploaded (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
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
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
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
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
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
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
 
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
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
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
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
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
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
"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
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
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
 
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
 

Distributed CEP Museum Alerts

  • 1. Distributed Complex Event Processing Fernand Paraiso, Lionel Seinturier, Romain Rouvoy INRIA Lille – Nord Europe Project-team ADAM
  • 2. Use case: The Museum Architecture Configuration: 4 zones  3 guardians  3 visitors Alert: Whenever a visitor enters a zone not covered by a guardian Objective Propagating events across several CEP engines  Running on separated JVMs  Connected through SCA bindings (JMS, REST…) DiCEPE: Distributed Complex Event Processing Engine
  • 3. Museum: Architecture Overview Binding REST Guardian composite Alert-system composite Visitor composite Binding JMS DiCEPE: Distributed Complex Event Processing Engine
  • 4. Museum: Architecture Details frascati binding.rest or binding.jms guardian stmt engineWire guardian-stmt guarded gui engine run logview stat-guardian Guardian composite Esper-engine alert-stmt alert stmt engineWire visitor-stmt visitor logview stat-visitor gui engine run visited stmt group-stmt Visitor composite DiCEPE: Distributed Complex Event Processing Engine
  • 5. Museum: Visitor Composite "{ 'GuardedLocation': { 'zone':'1','count':'1'}}" <guardedLocation> <count>1</count> <zone>1</zone> </guardedLocation> stmt engineWire visitor-stmt Client logview stat-visitor frascati run visitor engine binding.rest stmt or group-stmt binding.jms Visitor composite DiCEPE: Distributed Complex Event Processing Engine
  • 6. DiCEPE: Supported Bindings REST (HTTP) Events pushed into CEP via HTTP POST Support for multiple representations: XML, JSON… WADL interface description available Based on existing SCA binding: <binding.rest uri=“…“/> Implemented with CXF communication stack JMS Events pushed into JMS channels CEP engine subscribe to and publish into the channels Based on existing SCA binding: <binding.jms jndiURL=“…“/> Implemented with JORAM middleware DiCEPE: Distributed Complex Event Processing Engine
  • 7. DiCEPE: Dynamic Reconfiguration Support for reconfiguring CEP engines Dynamic reconfiguration at runtime Manageable from FraSCAti Explorer CRUD reconfigurations currently supported EPL statements Statement listeners Remote bindings DiCEPE: Distributed Complex Event Processing Engine
  • 8. DiCEPE open support for CEP Engines A simple «push» interface public interface Notification<T> { void notify(T event); } Associated to an SCA constraining type <constrainingType name=“cep-engine”> <service name=“notification”> <interface.java interface=“soceda.cep.Notification”/> </service> <!-- … --> </constrainingtype> One component implementation by CEP library Esper (EPL) available Etalis (Prolog) under tests DiCEPE: Distributed Complex Event Processing Engine
  • 9. Demonstration Questions? DiCEPE: Distributed Complex Event Processing Engine
  • 10. Perspectives Including support for the WS-Notification standard REST and JMS protocols are already supported Using <sca:binding.ws uri=“…”/> Including more semantics into events POJO and XML documents are already supported Reflecting events as RDF triples