1 / 11

Event-Driven Architecture

Event-Driven Architecture. Team 4 – Idris Callins, Jestin Keaton, Bill Pegg, Steven Ng. Introduction. What is Event-Driven Architecture? An architecture style, which uses an event dispatcher to mediate between components.

ursala
Download Presentation

Event-Driven Architecture

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Event-Driven Architecture Team 4 – Idris Callins, Jestin Keaton, Bill Pegg, Steven Ng

  2. Introduction What is Event-Driven Architecture? • An architecture style, which uses an event dispatcher to mediate between components. • Components communicate with an event dispatcher, which then sends communication to other components to notify all related components of its completion. • In many cases the event dispatcher is built into the system such as a button, which uses an actionListener to notify the event dispatcher that the button has been clicked and to execute some task. • This style is often used in dynamic/real-time environments.

  3. Overview What are some characteristics? • System is loosely coupled. • System must be designed to support interoperability. • Events must be captured and processed at the most granular level. • System must be modular.

  4. High-Level Diagram of the Event-Driven Architectural Style Determined Output Determined Output Determined Output Event Stimulus Event Stimulus Event Stimulus Event Stimulus Event Stimulus Event Stimulus Trigger Event Cloud Trigger Trigger

  5. Style Variations • Events may be dispatched synchronously or asynchronously. • Events may be simple notifications, or they may carry packets of data from the event announcer to the event responders. • Events may have priorities or timing constraints honored by the event dispatcher, or the event dispatcher may manipulate events. • Registering interest in events may be constrained in various ways. Components may be allowed to register and unregister with the event dispatcher arbitrarily during execution, or registrations may have to be set up when the program is coded.

  6. Where are the Events? Events, though often invisible to users, are all over the place. Some can be seen in the example below.

  7. Illustration of Event Driven Architecture In Society • A Network Intrusion Detection System (NIDS) is a piece of software that automates the network intrusion detection process to detect intrusion attempts. • For years, NIDSs were not flexible and could not react correctly to mutating viruses. This is because the systems were comparing incoming viruses to exact instances of previously encountered viruses, instead of tracking events. • In the following diagrams, observe how an Event-Driven Architecture provides the foundation for the system to function.

  8. System Design Preprocessing Layer Input from Network Rules in Packet Format DB with IDS Rules Detection Engine Interesting Events Event Detection Layer Translator to IDML DB with Events Rules in Event Format Event Engine Incidents Decision Layer Decision Engine Decision List DB with Decision List

  9. Process Description The system depicted in the previous diagram behaves as follows: The Preprocessing layer examines in real-time the packets of interest that are transmitted through the protected network. Based on the information in the rule database, if the packet is deemed interesting, the Detection Engine passes it through a translator to the Event Engine. The Event Detection layer must determine if the events from the previous layer represent a complex attack or if they are safe network packets. If the event is included in a predetermined, directed path of attack, the event is stored in memory as the current state of the attacker and if the attacker hasn’t yet reached the final state in that path, will wait until the next event. If the final state is reached, the Event Detection layer informs the Decision Engine. In the Decision Layer, the Decision Engine must determine how to handle an encountered attack based on the rules listed in the appropriate database.

  10. Advantages of Event-Driven Design • Loosely-coupled architecture permits a lower level subject to communicate with higher level entities. • Easier to understand and maintain • Adds a great degree of flexibility to the system • Promotes component and service reuse • Extremely useful for GUI development

  11. Disadvantages of Event-Driven Design • Harder to control • Potential for slow transactions depending on the number of events executable for an operation • Components don’t know if or when events will be handled. • Different components might register for the same events, causing conflicts when the event handling results are made available. • Difficult/time-consuming to implement

More Related