Event Driven Architecture When we have to use an Event Driven Architecture? Initially, Current Practices and Future
What we will cover here What is the Event Driven Apps? When is the Event Driven Architecture was started? What is the Benefit? When we have to use? What is the Implementation in the real world? What is the trend?
What is the Event Driven Apps? What is an Event? What is in an Event? What is the Reaction when an Event fires?
Ask Wiki! An event is a notable thing that happens inside or outside your business The term event is often used interchangeably to refer to both the specification (definition) of the event, and each individual occurrence (instance) of the event Each event occurrence has an event header and event body as the delivered information
How’s an Event being consumed? It should be Published! And then Fired! And someone must Listen! And he /she will give some Reaction! Or, just ignore it!...
Simply, EDA will be as Event Listener Event Action
Publishing Events
Various Reactions to the Events
The Problem on Event Trigger Triggered by Predictable Events Triggered by Un Predictable Events Required Active Listeners
Listening Event Activity
The Problem on the Action Synchronous Action Asynchronous Action
When is the Event Driven Architecture was started? Four years from now, "mere mortals" will begin to adopt an event-driven architecture (EDA) for the sort of complex event processing that has been attempted only by software gurus building operating systems or systems management tools, and sophisticated developers at financial institutions. (Roy Schulte, an analyst at Stamford, Conn.-based Gartner - 2003)
What is the Benefit? Scalable Reaction based Staged Staged + Reaction =
When we have to use? Samples: Best used for Asynchronous Flows of Work and Information When you need a Fast Responsive in front, but Asynchronous process in the background Fire and Forget handling Samples: The Web Server
What else? (Quiz) Use these following key words: Replication Scheduler Reporting Synchronization Messenger Then add with word “Engine“
What is the Implementation in the real world? SOA based implementation Messaging based solution Automation solution Workflow solution
Sample of Messaging Solution
Sample of Workflow
Sample of Complex Workflow
Existing Sample NatPOS WindMills using SEDA Implementation
What is the trend? Workflow enabled application From Enterprise Level to Single Instance Application
From Enterprise Level: Biztalk
To Single Instance: WWF Sequential Workflow State Machine Workflow Rule Driven Activities
WWF in brief Sequential Workflow State Machine Workflow structure prescribes processing order External events drive processing order Step1 State1 Event State2 Step2 Event Prescriptive, formal Automation scenarios Flowchart metaphor Reactive, event-driven Skip/re-work, exception handling Graph metaphor Rules-driven Activities Rule1 Step1 Rules + data state drive processing order Data Rule2 Step2 Data-driven Simple Conditions, complex Policies Constrained Activity Group
Demo
Questions & Discussions
Thank you References: 4 Years prediction on SOA implementation - Gartner Event Driven Architecture – InfoQ article Microsoft .NET Framework 3.0, 3.5, WWF NatPOS workflow engine - WindMills