event driven architecture andré hoekzema enterprise technology architect microsoft nederland...

41
Event Driven Architecture André Hoekzema Enterprise Technology Architect Microsoft Nederland [email protected]

Upload: darlene-sandford

Post on 31-Mar-2015

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Event Driven Architecture André Hoekzema Enterprise Technology Architect Microsoft Nederland andre.hoekzema@microsoft.com

Event Driven ArchitectureAndré HoekzemaEnterprise Technology ArchitectMicrosoft [email protected]

Page 2: Event Driven Architecture André Hoekzema Enterprise Technology Architect Microsoft Nederland andre.hoekzema@microsoft.com

Agenda• Introduction• Standardize on Event Based Interaction• Use Event Processing Effectively• Patterns of Response

Page 3: Event Driven Architecture André Hoekzema Enterprise Technology Architect Microsoft Nederland andre.hoekzema@microsoft.com

Introduction

Page 4: Event Driven Architecture André Hoekzema Enterprise Technology Architect Microsoft Nederland andre.hoekzema@microsoft.com

Aspirations in the Global Event Cloud

• Situational Awareness• Sense & Respond• Track & Trace

Page 5: Event Driven Architecture André Hoekzema Enterprise Technology Architect Microsoft Nederland andre.hoekzema@microsoft.com

.NET Linux

J2EEUnix

OS/390

MQ

DB2

Finance

PeopleSoft

SAP

Siebel Dir

Outlook

CustomerEmployee

ProductSales

Digital Archeology

CBDI

Passwd change

new auto pay

account login

account login

deposit

activity history

withdrawal

logout

account login

account balance

transfer

deposit

new auto pay

enquiry

enquiry

logout

Passwdchange

new auto pay

account login

account login

deposit

activity history

withdrawal

logout

account login

transfer

deposit

new auto pay

enquiry

enquiry

logout

Passwd change

new auto pay

account login

account login

deposit

activity history

withdrawal

logout

account login

account balance

transfer

deposit

new auto pay

enquiry

enquiry

logout

Passwdchange

new auto pay

account login

account login

deposit

activity history

withdrawal

logout

account login

transfer

deposit

new auto pay

enquiry

enquiry

logout

Passwd change

new auto pay

account login

account login

deposit

activity history

withdrawal

logout

account login

account balance

transfer

deposit

new auto pay

enquiry

enquiry

logout

Passwdchange

new auto pay

account login

account login

deposit

activity history

withdrawal

logout

account login

transfer

deposit

new auto pay

enquiry

enquiry

logout

Passwd change

new auto pay

account login

account login

deposit

activity history

withdrawal

logout

account login

account balance

transfer

deposit

new auto pay

enquiry

enquiry

logout

Passwdchange

new auto pay

account login

account login

deposit

activity history

withdrawal

logout

account login

transfer

deposit

new auto pay

enquiry

enquiry

logout

Passwd change

new auto pay

account login

account login

deposit

activity history

withdrawal

logout

account login

account balance

transfer

deposit

new auto pay

enquiry

enquiry

logout

Passwdchange

new auto pay

account login

account login

deposit

activity history

withdrawal

logout

account login

transfer

deposit

new auto pay

enquiry

enquiry

logout

/

Page 6: Event Driven Architecture André Hoekzema Enterprise Technology Architect Microsoft Nederland andre.hoekzema@microsoft.com

EDA Characteristics

Aggregate events across multiple sources; compare reality with expectations

Analyze

Detect events across extended environment in real-time

SenseUpdate expectations; Invoke

distributed services in real-time

Respond

Page 7: Event Driven Architecture André Hoekzema Enterprise Technology Architect Microsoft Nederland andre.hoekzema@microsoft.com

Standardise on Event-Based InteractionSense

Page 8: Event Driven Architecture André Hoekzema Enterprise Technology Architect Microsoft Nederland andre.hoekzema@microsoft.com

Some Definitions

• Bank Depostit• Stock Trade• Customer Order

• Password Change• Shipment Delivery

• Business Event: An event relevant to a commercial enterprise

• Event object (sometimes also just called “event”): A report or record of an event happening

• XML document describing the bank deposit• Shipping notification in e-mail• Row in a database table

Page 9: Event Driven Architecture André Hoekzema Enterprise Technology Architect Microsoft Nederland andre.hoekzema@microsoft.com

What Makes EDA Different from Most Conventional Business Applications? • Event-driven Architecture (Gartner)

– Events are pushed not pulled (recipient need not poll repeatedly)

– Recipients act immediately upon event arrival, not when a request is made or on a pre-planned schedule (runs sooner)

– Event source does not specify what action the recipient will perform – the recipient determines the operation (less coupling)

Page 10: Event Driven Architecture André Hoekzema Enterprise Technology Architect Microsoft Nederland andre.hoekzema@microsoft.com

Observer pattern• One-to-many dependency - when one object changes state, all

dependents are notified and updated

Page 11: Event Driven Architecture André Hoekzema Enterprise Technology Architect Microsoft Nederland andre.hoekzema@microsoft.com

Event-Based Interaction

Notification Service Decouples Producer and Consumer with Publish Subscribe Functionality

Communications

Consumers (Sink)

Event

Producers

Notification Service

Notification Service

Notification Notification

Publish Subscribe

Event BasedInteraction

Act

Service Oriented

Page 12: Event Driven Architecture André Hoekzema Enterprise Technology Architect Microsoft Nederland andre.hoekzema@microsoft.com

Service Oriented Communication• Two fundamental aspects of a service-oriented

(SO) world are:

– A common protocol for communication between SO applications

– A common foundation for creating SO applications

Application Y

Application X

Application Y

Windows Communication

Foundation

Page 13: Event Driven Architecture André Hoekzema Enterprise Technology Architect Microsoft Nederland andre.hoekzema@microsoft.com

Service Oriented Infrastructure• SOAP is not enough:

– Must connect with existing applications that don’t speak SOAP

– Need to translate among different data formats– No agreement on a queued messaging protocol

Notification

Service

SOAP

Messages

Application X

Application Y

Page 14: Event Driven Architecture André Hoekzema Enterprise Technology Architect Microsoft Nederland andre.hoekzema@microsoft.com

Standards EmergingWS-Notification

WS-Base Notification

WS-BrokeredNotification

WS-Topics

approved OASIS standard as of October 2006

WS-EventNotification (new)

W3C Submission in March 2006 WS-Eventing

WS-Resource Transfer (new)

Page 15: Event Driven Architecture André Hoekzema Enterprise Technology Architect Microsoft Nederland andre.hoekzema@microsoft.com

Event Passing

• Benefit is experienced mostly in the IT department– The absence of control coupling – Easy to add new sinks, move a sink, or eliminate a sink

Publish Subscribe

Sink++Source++

SinkEvent

Event

Event

SourceEven

t

Page 16: Event Driven Architecture André Hoekzema Enterprise Technology Architect Microsoft Nederland andre.hoekzema@microsoft.com

Notification Technologies• WS Protocol Based

– WCF + Customer Finance Framework (CFF),

– WCF + Robotics Studio

• Rules Based– BizTalk Rules Engine, – SQL Server Notification

Service, – SQL Server Service Broker

•Notification Protocols

•Notification Rules

Publish Subscribe

Sink++Source++

SinkEvent

Event

Event

SourceEven

t

Page 17: Event Driven Architecture André Hoekzema Enterprise Technology Architect Microsoft Nederland andre.hoekzema@microsoft.com

Summary Event-Driven Interaction

CommunicationsRe-use of Service Oriented InfrastructureMicrosoft Platform: WCF, BizTalk Server, W2K3

Protocol Ws-Eventing, WS-Notification, (WS-EventNotification)

“Extreme” Decoupling with Notification Service

• Rules Based: BTS Rules Engine, SQL Service Broker, SQL Notification Service

• Protocol Based: not yet oo the box, WCF + CFF, WCF + Robotic Studio

Event Driven InteractionEvents are pushed,Immediate response by Consumer, Reaction unknown by Sender.

Benefits Flexibility and MaintainabilitySystems that possibly align with global event cloud

Page 18: Event Driven Architecture André Hoekzema Enterprise Technology Architect Microsoft Nederland andre.hoekzema@microsoft.com

Use Event Processing EffectivelyAnalyse

Page 19: Event Driven Architecture André Hoekzema Enterprise Technology Architect Microsoft Nederland andre.hoekzema@microsoft.com

Types of Event Processing

• Simple Event Processing• Event Stream Processing• Complex Event Processing

Page 20: Event Driven Architecture André Hoekzema Enterprise Technology Architect Microsoft Nederland andre.hoekzema@microsoft.com

Event Stream Processing (ESP)• Multiple ordered events in one or a few event streams.

Typically high-volume and low-latency• Stock quotes, click streams, RFID

Event Streams

Response(ERP,BAM,

BPM, ..)Event

Event

Service Oriented Communication

ESP System

Event Processing Agent (EPA)

Fast filtering, calculate aggregates (sum, average), Boolean

Page 21: Event Driven Architecture André Hoekzema Enterprise Technology Architect Microsoft Nederland andre.hoekzema@microsoft.com

Event Stream ProcessingRFID Inventory Management

Inventory < $4K

> $1,500

Page 22: Event Driven Architecture André Hoekzema Enterprise Technology Architect Microsoft Nederland andre.hoekzema@microsoft.com

RFID Support in BizTalk Server R2

DistributionInventoryManufacturing Packaging Warehouse ReceptionQuality Assurance

Device Layer

Physical Layer

Business Applications

RFID Event Processes

Business IntelligenceSQL / SQL BI for data analytics

R2

R2

Page 23: Event Driven Architecture André Hoekzema Enterprise Technology Architect Microsoft Nederland andre.hoekzema@microsoft.com

BizTalk RFID Server

DistributionInventoryManufacturing Packaging Warehouse ReceptionQuality Assurance

Event Processing Agent

Custom Event Handlers

Rules Engine Event Handlers

SQL Server Event Sink

BizTalk RFID API & Web Services

RFID Sink Database

Biztalk Server orBusiness Application

RFID Devices

Device Providers

Device Service Provider Interface (DSPI)

Device Layer

Physical Layer

Business Applications

RFID Event Processes

Page 24: Event Driven Architecture André Hoekzema Enterprise Technology Architect Microsoft Nederland andre.hoekzema@microsoft.com

A Distributed Notification Architecture

Local Broker (middleware

)

Local Broker (middleware

)

Border Broker

InnerBroke

r

InnerBroke

r

Border Broker

Border Broker

Local Broker (middleware

)

Local Broker (middleware

)

Border Broker

Border Network

Filter-based or Flooding

Producer

Consumer

Page 25: Event Driven Architecture André Hoekzema Enterprise Technology Architect Microsoft Nederland andre.hoekzema@microsoft.com

iGPS : Transforming the Retail Pallet Pooling Industry

Retail StorePallet Manufacturer Retail Supplier

Retail Regional DC

Retail Pallet Depot

• XAM RFID Portal

• Retailer RFID Portal

• Pallet Pool for Major Retailers• RFID Tags Embedded• End-to-End Solution

Microsoft.com/rfid

Page 26: Event Driven Architecture André Hoekzema Enterprise Technology Architect Microsoft Nederland andre.hoekzema@microsoft.com

Deployments

Deployments

4/2007 - Central & 2 Sites

6/2007 - 6 Sites

9/2007 - 15 Sites

12/2007 - 30 Sites

Q1 2008 > 50 Sites

-Central Server- Edge Server (Mfg)- Edge Server (Depot)

TBH

M Allen

TBH

D Ray

Q3 2007: >2,000,000 transactions/month

Q2 2008: >10,000,000 transactions/month

RFID Readers RFID Readers RFID Reader Mobile

External WMS, ERP

Central Server

Edge Server Edge ServerEdge ServerCustomer ERP

Web ServicesWCF

Page 27: Event Driven Architecture André Hoekzema Enterprise Technology Architect Microsoft Nederland andre.hoekzema@microsoft.com

Complex Event Processing• Cloud may contain many Event Types, Streams, Channels• The events may be unrelated• CEP System issues pattern detection using

Rules and Algorithms

Service Oriented Communication

CEP System

Event Processing Agent (EPA)

Complex-event Objects

Response(BAM, BPM)Event

Event

CEP System

Event

Event Cloud

Page 28: Event Driven Architecture André Hoekzema Enterprise Technology Architect Microsoft Nederland andre.hoekzema@microsoft.com

Complex Event Processing B2B Scenario

Multiple txns on same credit card within 10 min at locations over 20 miles apart?

Suspicious purchase? (Notify cardholder)

Suspicious or multiple txns

Page 29: Event Driven Architecture André Hoekzema Enterprise Technology Architect Microsoft Nederland andre.hoekzema@microsoft.com

Patterns for Complex Event Processing

Filtering

Database Lookups

In-memory Caching Hierarchal Events

Correlations (Joins)

Event Pattern Matching

Dynamic Queries

Aggregation over Windows

State Machines

http://www.coral8.com/system/files/assets/pdf/Coral8DesignPatterns.pdf

Page 30: Event Driven Architecture André Hoekzema Enterprise Technology Architect Microsoft Nederland andre.hoekzema@microsoft.com
Page 31: Event Driven Architecture André Hoekzema Enterprise Technology Architect Microsoft Nederland andre.hoekzema@microsoft.com

Summary Use Event Processing Effectively

Technologies BizTalk Server 2006/R2 + RFID Edge ServerSQL Server 2005, .NET Framework

Event Processing CapabilitiesPatterns for Event Processing leverage full Platform Capabilities: SOA/BPM, Data/BI, Scalability

Basic Types • Simple Event Processing, • Event Stream Processing• Complex Event Processing

Benefits Earlier and Improved Businss Insight

Page 32: Event Driven Architecture André Hoekzema Enterprise Technology Architect Microsoft Nederland andre.hoekzema@microsoft.com

Patterns of ResponseRespond

Page 33: Event Driven Architecture André Hoekzema Enterprise Technology Architect Microsoft Nederland andre.hoekzema@microsoft.com

Sample Applications That Use CEP with Business Events• Algorithmic trading — Finance, energy• Compliance reporting and monitoring — RegNMS, others• Customer experience management — Call center and Web clicks• Financial controls — "Track and trace," surveillance• Fraud detection — Anti-money-laundering, credit cards, telco• Hospital monitoring — Emergency room management• Military — Intelligence, battlefield operations, satellite• Pharmaceutical — Supply chain management, pedigree tracking• Security — Intrusion detection, denial of service• Sensor networks — RFID, GPS and others• Transportation operations — Trucks, airlines, ships or trains• "Triple play" telco — Telephone, television and Internet

Page 34: Event Driven Architecture André Hoekzema Enterprise Technology Architect Microsoft Nederland andre.hoekzema@microsoft.com

Patterns of Response• Invoke Service (Orchestration)• Update BAM Dashboard• Initiate Human Workflow• Web 2.0 Subscriptions

Notification

Service

Application X

Application Y

BAM

Web 2.0

Page 35: Event Driven Architecture André Hoekzema Enterprise Technology Architect Microsoft Nederland andre.hoekzema@microsoft.com

BAM as Key Enabler for CEP

Predlogpripravljen

Predlaganogradivo

Obravnavagradiva

Služba Vladeza zakonodjo

Drug organ DU

Mnenje SlužbeVlade

Obravnava na DT Vlade

Delovna telesa Vlade

PripravapredlogaPredlagatelj DO

Obravnava gradiva

Mnenje DO

Obravnava zaključena

Mnenje DT

Obravnava zaključena

Obravnava naseji Vlade

mnenje pozitivno

Vlada

Predlaganogradivo

Dopoljnjevanje gradiva

Gradivo dopoljnjeno

Dopoljnjeno gradivo

Predlaganogradivo

Dopoljnjeno gradivo

Priprava mnenja

Obravnava zaključena

negativno mnenje

negativno mnenje

Besedilo predloga zakona

za prvo obravnavo

Matično delovno telo DZ

Prva obravnava

Mnenje pripravljeno

Priprava mnenja

Sekretariat zazakonodajo

Pripombe

pozitivno mnenje

Mnenjesekreteriata

Zapisnik seje

Sklepi in stališča

Državni zbor

Zakon ni sprejet

PredlagateljPriprava predloga za drugo obravnavo

Prva obravnavazaključena

Priprava dopolnitveSekretariat zazakonodajo

zakon se ne sprejme

Druga obravnava

potrebni večji popravki

potrebni manjši popravki

Amandmaji

Poslanci

Matično delovno telo DZ

Predlagatelj

Drugo zainter. DT

Priprava amandmajev

Amandmaji vloženi

Dopolnitevpripravljena

Državni zbor

Besedilo predloga za drugo obravnavo

Besedilo predloga za drugo obravnavo

Druga obravnavazaključena

besedilo

za prvo obravnavo

za drugo obravnavo

Besedilo predloga zakona za drugo

obravnavo

Besedilopredloga zakona

za tretjo obravnavo

število sprejetihamandmajev

Stališča in sklepi DZSprejeti amandmaji

Priprava predloga za tretjo obravnavo

velikoPriprava dopolnitvemajhno

Tretja obravnava

Dopolnitev pripravljena

Besedilo predlogaza tretjo obravnavo

Sekretariat zazakonodajo

za tretjo obravnavo

Državni zbor

Mnenje MDT DZ

Mnenjesekreteriata

Mnenje MDT DZ

Mnenje MDT DZ Mnenjesekreteriata

Besedilopredloga zakona

za tretjo obravnavo

Zakon ni izglasovan

Zapisnik seje

Zakon jeizglasovan

Sprejetzakon

Letni program ali

zahtevek Vlade

Predlog za tretjo obravnavo

Predlagatelj

Predlog za drugo obravnavo

Event Driven Process Design

BAM Dash Board

Event

Activity

Page 36: Event Driven Architecture André Hoekzema Enterprise Technology Architect Microsoft Nederland andre.hoekzema@microsoft.com

Summary Patterns of Response

Benefits Ability to act on earlier and Improved Businss Insight

Where to StartEvent Driven Process Design + BAM as enabler for CEP

Patterns of Response Once you have gained business insight ..

Page 37: Event Driven Architecture André Hoekzema Enterprise Technology Architect Microsoft Nederland andre.hoekzema@microsoft.com

Platform Architecture

User Experience

Composite Apps Office App DevicesWeb

Portal Collaboration

Composition Layer

Data Aggregation

Workflow Orchestration

Eventing

Service Agents Business Rules

Data Platform

Data ManagementData Integration

Core InfrastructureApplication Server

Applications

ERP SCM CICS CRM

Business Intelligence

Develo

pm

en

t an

d

Toolin

g

Iden

tity &

Access

Man

ag

em

en

t

Page 38: Event Driven Architecture André Hoekzema Enterprise Technology Architect Microsoft Nederland andre.hoekzema@microsoft.com

Microsoft Platform Stack

User Experience

Composite Apps Office App DevicesWeb

Portal Collaboration

Composition Layer

Data Aggregation

Workflow Orchestration

Eventing

Service Agents Business Rules

Data Platform

Data ManagementData Integration

Core InfrastructureApplication Server

Applications

ERP SCM CICS CRM

Business Intelligence

Develo

pm

en

t an

d

Toolin

g

Iden

tity &

Access

Man

ag

em

en

t

Office Business

Applications (OBA)

Page 39: Event Driven Architecture André Hoekzema Enterprise Technology Architect Microsoft Nederland andre.hoekzema@microsoft.com

Conlusion• Event Driven Architecture for Flexible and

Maintainable Systems

• Event Processing for improved Business Insight

• Leverage full Platform Capabilities to support Event Driven Architecture

Resources: Roy Schulte (Gartner), Brenda Michelson (EventLinks), David Luckham (Power of Events), Nico Copier (Microsoft), Eric van Bever (Microsoft), Richard Evdemon (Microsoft), Shy Cohen (Microsoft), Jack van Hoof (Dutch Railways), CBDI-Forum

Page 40: Event Driven Architecture André Hoekzema Enterprise Technology Architect Microsoft Nederland andre.hoekzema@microsoft.com

Discussion, Questions & Issues

Page 41: Event Driven Architecture André Hoekzema Enterprise Technology Architect Microsoft Nederland andre.hoekzema@microsoft.com

© 2007 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.