SOA-10: Event-Driven SOA: EDA in an SOA World

Post on 05-Jan-2016

53 views 3 download

Tags:

description

SOA-10: Event-Driven SOA: EDA in an SOA World. Ken Wilner Vice President of Technology. Process Order. Process Order Service. External Credit Rating Service. Process Order. Light Weight Request/Reply. 2. 3. 1. Fulfill Order. Validate Order. Check Credit. Credit Rating. - PowerPoint PPT Presentation

transcript

SOA-10: Event-Driven SOA: EDA in an SOA World

Ken WilnerVice President of Technology

2 SOA-10: Event-Driven SOA: EDA in an SOA World© 2005 Progress Software Corporation

ProcessOrder Service

ExternalCreditRatingService

Process Order

Process Order

Fulfill Order

ValidateOrder

Check Credit

Credit Rating

1

23

Heavy Weight Request/Reply

Light Weight Request/Reply

3 SOA-10: Event-Driven SOA: EDA in an SOA World© 2005 Progress Software Corporation

ProcessOrder Service

ExternalCreditRatingService

Process Order – Separate Polling Process

Process Order

Fulfill Order

ValidateOrder

Check Credit

Credit Rating

1

23

Customer Mgmt

Service

CustomerMgmt

CheckCredit

12

2a

Light Weight Request/Reply

Heavy Weight Request/Reply

Sent Periodically

Medium Weight

Request/Reply

4 SOA-10: Event-Driven SOA: EDA in an SOA World© 2005 Progress Software Corporation

ExternalCreditRatingService

Process Order – Event Driven Way

Process Order

Fulfill Order

ValidateOrder

Check Credit

Credit Rating

1

23

ProcessOrder Service

Customer Mgmt

Service

CustomerMgmt

CheckCredit

12

2a

Light Weight Request/Reply

One-Way Event sent in

Real TimeMedium Weight

Request/Reply

5 SOA-10: Event-Driven SOA: EDA in an SOA World© 2005 Progress Software Corporation

The Business Value of Software Events

Efficiency– Push technology

– Replaces batch processing or polling

– Real-time monitoring of business state

– Parallel activities Agility

– Facilitates instance-level long running business processes

– Promotes flexible processes that are adaptable to changes in the business environment

6 SOA-10: Event-Driven SOA: EDA in an SOA World© 2005 Progress Software Corporation

Agenda

Event-Driven Applications Events and SOA OpenEdge™ RA and Events Case Study Summary

7 SOA-10: Event-Driven SOA: EDA in an SOA World© 2005 Progress Software Corporation

Invocation Models

Request/Reply– Request - a request to do something

– Reply - an indication that the request was processed

Event– an indication that something occurred in

the past

8 SOA-10: Event-Driven SOA: EDA in an SOA World© 2005 Progress Software Corporation

Request/Reply

ConsumerConsumer ProviderProvider

Request

Reply

Synchronous Bi-directional CommunicationPlease do this

for me. I’ll wait until I get

the reply.

Did it. Sorry it took me so

long!!! Physical connection couples request/reply

Failure of connection terminates execution

Consumer assumes reply received shortly after request sent

Single provider receives request implies limited scalability

9 SOA-10: Event-Driven SOA: EDA in an SOA World© 2005 Progress Software Corporation

Order Mgmt Service

Order Mgmt Service

Supplier ServiceSupplier Service

Request/Reply Flow

Online Ordering Application

Online Ordering Application

Inventory Mgmt Service

Inventory Mgmt Service

Credit ServicesCredit Services

10 SOA-10: Event-Driven SOA: EDA in an SOA World© 2005 Progress Software Corporation

Event

EventSource

EventSource

EventSink

EventSink

Event

It happened

Each event sent independently of another

Coupling between events handling by source and sink

Multiple sources may send the same event and multiple sinks may receive same event so highly scaleable

Asynchronous uni-directional communication

11 SOA-10: Event-Driven SOA: EDA in an SOA World© 2005 Progress Software Corporation

Order Mgmt Service

Order Mgmt Service

Event Flow

Inventory Mgmt

Service

Inventory Mgmt

Service

Credit ServicesCredit Services

ForkJoin

Online Ordering

Application

Online Ordering

Application

Shipping and

Fulfilling

Shipping and

Fulfilling

12 SOA-10: Event-Driven SOA: EDA in an SOA World© 2005 Progress Software Corporation

Request/Reply vs. Events

Request/Reply Events

Component to Component

Coupling

1 to 1 Many to many

Flow of Control Synchronous Asynchronous

Path of Execution Linear and hierarchical

Supports dynamic and

parallelReactivity Closed loop Dynamically

reactive

13 SOA-10: Event-Driven SOA: EDA in an SOA World© 2005 Progress Software Corporation

Events-Driven Application Models

Simple Events Brokered Events Enterprise Service Busses Event Stream Processing Engines

Asynchronous One-way Communication

14 SOA-10: Event-Driven SOA: EDA in an SOA World© 2005 Progress Software Corporation

Simple Event

EventSource

EventSource

EventSink

EventSink

Event

It happened

15 SOA-10: Event-Driven SOA: EDA in an SOA World© 2005 Progress Software Corporation

Event SourceEvent Source Event SinkEvent Sink

Request Event (req-id)

Req-id couples request/reply

Reply sent independently of request

Consumer assumes reply may be received along time after request

ConsumerConsumer ProviderProvider

Simple Events – Simulating Request/Reply

Reply Event (req-id)

16 SOA-10: Event-Driven SOA: EDA in an SOA World© 2005 Progress Software Corporation

Brokered Events

EventEvent

Source

EventSource

EventSink

EventSink

EventSink

EventSink

Message Broker

EventSource

EventSource

Event

EventEvent

Message

Event routed from source to one or more sink

Optionally stored persistently until delivered

Various ack modes guarantee delivery, e.g. auto, client, duplicates O.K.

17 SOA-10: Event-Driven SOA: EDA in an SOA World© 2005 Progress Software Corporation

Message Broker

Queue

Brokered Events – Point to Point

EventSource

EventSource

connect

EventSink

EventSink

Send to One Interested Party

Sender Receiver

18 SOA-10: Event-Driven SOA: EDA in an SOA World© 2005 Progress Software Corporation

Message Broker

Queue

Brokered Events – Point to PointSend to One Interested Party – Multiple Receivers

Sender Receiver

EventSource

EventSource

EventSink

EventSink

EventSink

EventSink

Event delivered to one receiver

Multiple receivers promotes scalability

All clients are created equal

19 SOA-10: Event-Driven SOA: EDA in an SOA World© 2005 Progress Software Corporation

Brokered Events – Publish/Subscribe

Message Broker

Topic

EventSink

EventSink

EventSink

EventSink

subscribe

Send to All Interested Parties

EventSource

EventSource

Publisher Subscribers

Event broadcast to all interested parties, e.g. “Hot Deals”

Subscribers can be added dynamically

Durable subscriptions support guaranteed delivery

20 SOA-10: Event-Driven SOA: EDA in an SOA World© 2005 Progress Software Corporation

Enterprise Service Bus – Routed Events

EventSource

EventSource

Intelligent Routing

EventSink

EventSink

EventSink

EventSink

ESBYes

No

order count < 100

Combined with brokered event mechanisms

Content-based routing

Transformation

Standards-based; e.g. XML and Web Services

21 SOA-10: Event-Driven SOA: EDA in an SOA World© 2005 Progress Software Corporation

Enterprise Service Bus - Orchestration Service

Sophisticated Process Flow

EventEventSource

EventSource

EventSink

EventSink

EventSink

EventSink

EventESB

EventEventEvent

Source

EventSource

Combines basic ESB services with long running stateful processes

Supports looping constructs, state management, conditional constructs, fork thread, join, etc.

Publish event, wait for event, etc.

22 SOA-10: Event-Driven SOA: EDA in an SOA World© 2005 Progress Software Corporation

Event Stream Processing (ESP)

EventStreamEvent

Source

EventSource

EventSink

EventSink

Event

Rules

EventManager

Events

IF PRGS Price < PRGS VWAP THEN Buy PRGS

Aggregating and Correlating Events

Filter rules

Aggregation of events

Event detection patterns

23 SOA-10: Event-Driven SOA: EDA in an SOA World© 2005 Progress Software Corporation

Agenda

Event-Driven Applications Events and SOA OpenEdge RA and Events Case Study Summary

24 SOA-10: Event-Driven SOA: EDA in an SOA World© 2005 Progress Software Corporation

Service-Oriented Architecture

An approach for building distributedcomputing systems based on

encapsulating business functions as services that can be easily accessed

in a loosely coupled fashion.

25 SOA-10: Event-Driven SOA: EDA in an SOA World© 2005 Progress Software Corporation

How Do Events Support These Principles?

SOA is good. Events are good. How do I marry

the two????

26 SOA-10: Event-Driven SOA: EDA in an SOA World© 2005 Progress Software Corporation

SOA: Component Architecture

Bind / Invoke

Service

Consumer

Service

ConsumerService

Provider

Service

Provider

ServiceDirector

y

ServiceDirector

y

Find / Details Publish

27 SOA-10: Event-Driven SOA: EDA in an SOA World© 2005 Progress Software Corporation

Service Contracts

Service

Requestor

Service

RequestorService

Provider

Service

Provider

ContractContract

Everything You Need to Know to Access the Service Provider

Service Interface

Service Location and Transport

Service Description and Sequencing Requirements

Error Handling

SLAs

28 SOA-10: Event-Driven SOA: EDA in an SOA World© 2005 Progress Software Corporation

SOA and Events

Service

Consumer

Service

ConsumerService

Provider

Service

Provider

Event Sink

Event Source

Service

Consumer

Service

ConsumerService

Provider

Service

Provider

Notification

One-way

Event Sink

Event Source

29 SOA-10: Event-Driven SOA: EDA in an SOA World© 2005 Progress Software Corporation

SOA Architectural Layers

Business Process Services

Intermediary Services

Basic Services

Application Client Layer

Brokered EventsESP, ESB Routed Event

ESB Orch. Service

30 SOA-10: Event-Driven SOA: EDA in an SOA World© 2005 Progress Software Corporation

Broker as an Intermediary Service

One-way

EventSource

EventSource

EventSink

EventSink

EventSink

EventSink

Message Broker

EventSource

EventSource

Event

Event

One-way

Service

Consumer

Service

Consumer

Service

Consumer

Service

Consumer

One-way

One-way

Event

Event

ServiceIntermediary

ServiceIntermediary

Service

Provider

Service

Provider

Service

Provider

Service

Provider

31 SOA-10: Event-Driven SOA: EDA in an SOA World© 2005 Progress Software Corporation

Enterprise Service Bus – Routed Events

Intelligent Routing

ESBYes

No

order count < 100Service

Intermediary

ServiceIntermediary

EventEvent

Source

EventSource

Service

Consumer

Service

ConsumerOne-way

EventSink

EventSink

EventSink

EventSink

Event

Event

Service

Provider

Service

Provider

Service

Provider

Service

Provider

One-way

One-way

32 SOA-10: Event-Driven SOA: EDA in an SOA World© 2005 Progress Software Corporation

Agenda

Event-Driven Applications Events and SOA OpenEdge RA and Events Case Study Summary

33 SOA-10: Event-Driven SOA: EDA in an SOA World© 2005 Progress Software Corporation

OpenEdge RA Service Components

Service Provider

Service Consumer

Users

Presentation Layer

Business Servicing Layer

Data Access Layer

Managed Data Stores

Unmanaged Data Stores

Enterprise Services

Integration Layer

34 SOA-10: Event-Driven SOA: EDA in an SOA World© 2005 Progress Software Corporation

Business Layer Integration

Presentation Layer/s Integration Layer/s

Data Access Layers

Managed Unmanaged

Users EnterpriseServices

Service Interface

Business

Workflows

Business

TasksBusiness Entities

Service Adapter

35 SOA-10: Event-Driven SOA: EDA in an SOA World© 2005 Progress Software Corporation

Service Elements and Service Contracts

Service Interface

Service Adapter

Service Adapter

Fn()Fn()

RequestReply

Service Consumer

Service Provider

Event-Driven Service

Interface

Event-Driven Service Adapter

Event-Driven Service Adapter

Fn()Fn()

One-Way

Event-Driven Service Adapter

Event-Driven Service Adapter

Fn()Fn()

Notification

Event-Driven Service

Interface

36 SOA-10: Event-Driven SOA: EDA in an SOA World© 2005 Progress Software Corporation

Agenda

Event-Driven Applications Events and SOA OpenEdge RA and Events Case Study Summary

37 SOA-10: Event-Driven SOA: EDA in an SOA World© 2005 Progress Software Corporation

Sedgwick Claims Management Services, Inc.

Carriers

Clients

Claimants

Examiners

States

JURIS

38 SOA-10: Event-Driven SOA: EDA in an SOA World© 2005 Progress Software Corporation

JURIS

WWW/IVR

Change Log

JMS

XMLEmail

MSG

Enterprise Service Bus

Email

“State-Changed”

Events

Changed FieldsFrom-valueTo-Value

RULESDATABASE

EMAILALERT

RULES ENGINE Sub-SystemRULES ENGINE Sub-System

Sedgwick Event Driven SOA

Users Users

NewClaim

Update Claim Info

RulesProcessin

gEngine

IVR

Event Capture(DB Triggers)

Event Generator/ Quenching“State-

Changed”Events

39 SOA-10: Event-Driven SOA: EDA in an SOA World© 2005 Progress Software Corporation

Agenda

Event-Driven Applications Events and SOA OpenEdge RA and Events Case Study Summary

40 SOA-10: Event-Driven SOA: EDA in an SOA World© 2005 Progress Software Corporation

In Summary

SOA is the architecture for the agile business

Events are great for maximum agility, and for building reactive systems

Define the right services and use the right invocation method

41 SOA-10: Event-Driven SOA: EDA in an SOA World© 2005 Progress Software Corporation

Questions?

42 SOA-10: Event-Driven SOA: EDA in an SOA World© 2005 Progress Software Corporation

Thank you for your time!