110 likes | 156 Views
Explore the PyEDA framework for event-driven architecture, enabling quick monitoring of special events and intelligent automation. Learn about the PyEDA logical architecture, terms, and examples for efficient event detection and reaction. Discover the benefits, hype, and reality of real-time intelligence in modern IT enterprises.
E N D
PyEDA Python Event Driven Architecture By Abe Usher (abe.usher@sharp-ideas.net)
Outline • What is an event-driven architecture? • Why PyEDA? • PyEDA architecture • PyEDA logic • PyEDA examples • Future work
What is an event-based architecture? • Application development focused on detecting, analyzing, and reacting to conditions in information repositories in near real-time • Event: a condition within a dataset that can be evaluated as true or false (e.g. 5 is an integer that falls within the range 1-10)
Why PyEDA? • The information “sense and respond” cycle must be very fast in the cyber realm • PyEDA facilitates quick creation of ad-hoc monitoring of special events • Knowledge workers cannot possibly watch and interpret all incoming data streams for hundreds of conditions • Intelligent automation of event detection provides knowledge workers with more time for their primary function: analysis • I have created a GPLed application that facilitates event-drive architecture. This framework is instantiated in the application PyEDA.
Hype vs. reality • Hype: • “An event processing language is an essential element in developing event driven business solutions. This really is the next big thing.” Roy Schulte, VP of Research at Gartner group • “Real time intelligence is information delivered now based on rapidly occurring changes inside and outside the enterprise” from iSpheres.com Web site • Reality: • “Real time” and near real time processing is not the solution for all problem domains. However, commercial companies that employ real time data analysis (Wal-Mart, Dell) enjoy huge competitive advantages over their competitors. • IT enterprises can realize substantial time savings, operational efficiencies, and knowledge discovery through the application of event driven architectures.
PyEDA architecture terms • Event source: a data repository that can be queried by automated means • Event monitor: a software agent that continuously checks for the existence of special events • Event catalog: collection of event metadata in XML format that includes event conditions and responses • Event log: a text log file in syslog format of all event monitor actions • Event notification (destination): an entity that receives data as a result of an event being detected
PyEDA logic • Execute Event Monitor: • Loop forever: • For each alert: • Is the time_since_last_check > check_interval? • If no: wait • If yes: log * check for alert condition: • Reset time_since_last_check to now • If alert condition does not exist: • (log and wait) • If alert condition does exist: • (log and alert)
PyEDA physical architecture Each red box is a separate physical system
Future work • Finish implementing PyEDA GPL source code • Create demonstration application of PyEDA with MySQL • Create demonstration application of PyEDA with MS-SQL
PyEDA examples • (TBD)