wso2complex-event-processingwso2-cepwso2-bam

WSO2 CEP vs BAM


I am trying to understand the whole WSO2 SOA topology, but not able to understand how the CEP and BAM fit together

  1. Can CEP provide visual monitoring of processed events e.g. integration with WSO2 GS
  2. Although WSO2 website says CEP is tightly integrated with BAM for post processing I couldnt find any scenario explaining the same or how its done..( can CEP feed BAM ? how to configure the same)
  3. Why would you have CEP + BAM together ? Any use case

Solution

  • Answers

    1. All WSO2 projects are capable of integrating with each other because they are based on the same underlying platform (WSO2 Carbon). In this particular case, WSO2 CEP and GS. One way is, persisting processed results from CEP in a data store or file, and reading it from a Gadget backend so that the gadget (the frontend) can visualize it in the GS. If you want, you can install GS features (dashboard, gadget repo, etc) on top of CEP as well and use the same server runtime. But, for the latter it has to be based on the same Carbon version

    2. This means, that the same data agent can send events to BAM as well as CEP. They both share the Thrift and REST APIs. Similar to 1, CEP and BAM can exist in the same runtime or can be downloaded and used separately. One related article is at here

    3. The primary use case was processing the same event for real time analytics for CEP and a just-in-time (near real time) batch based processing for BAM. Ex: Processing up time related analytics for servers can be broken down to fit both servers. For CEP the query can do, Alert me a server does not respond for 3 requests in 30 secs. For BAM, you can plot the uptime trend within a hour/day/week.