PTW095: EventDriven SOA: EDA in an SOA World - PowerPoint PPT Presentation

1 / 43
About This Presentation
Title:

PTW095: EventDriven SOA: EDA in an SOA World

Description:

... functions as services that can be easily accessed in a loosely coupled fashion. ... Locates service provider through agreed upon service directory ... – PowerPoint PPT presentation

Number of Views:73
Avg rating:3.0/5.0
Slides: 44
Provided by: kenwilnerv
Category:
Tags: eda | eventdriven | soa | ptw095 | world

less

Transcript and Presenter's Notes

Title: PTW095: EventDriven SOA: EDA in an SOA World


1
PTW-095 Event-Driven SOA EDA in an SOA World
  • Ken Wilner
  • Vice President of Technology

2
Agenda
  • The Case for Events
  • Event-Driven Applications
  • Events and SOA
  • Events and OpenEdge RA
  • Case Study
  • Summary

3
Business Events
  • Meaningful change in enterprise
  • Two types
  • Routine normal part of business process
    pre-defined action
  • Credit rating changed
  • Enter an order
  • Truck unloaded
  • Stock traded
  • Exception Events an unanticipated occurrence
    no pre-defined action
  • A machine breaks down
  • The weather delays a shipment
  • An employee is late

4
Software Event
An automated record, typically in the form of a
message, of a business event.
5
Process Order
Process Order
Light Weight Request/Reply
2
3
1
2a
Fulfill Order
ValidateOrder
Check Credit
Credit Rating
Heavy Weight Request/Reply
6
Process Order Separate Polling Process
Process Order
Light Weight Request/Reply
2
3
1
Fulfill Order
ValidateOrder
Check Credit
Credit Rating
Heavy Weight Request/Reply Sent Periodically
Medium Weight Request/Reply
2a
2
1
CustomerMgmt
CheckCredit
7
Process Order Event Driven Way
Light Weight Request/Reply
One-Way Event sent in Real Time
Medium Weight Request/Reply
8
Invocation Models
  • Request/Reply
  • Request - a request to do something
  • Reply - an indication that the request was
    processed
  • Event
  • an indication that something happened

9
Request/Reply
Synchronous Bi-directional Communication
Please do this for me. Ill wait until I get the
reply.
Request
Consumer
Provider
Reply
Did it. Sorry it took me so long!!!
  • Physical connection couples request/reply
  • Consumer assumes reply received shortly after
    request sent
  • Single provider receives each request implies
    limited flexibility

10
Request/Reply Flow
Online Ordering Application
Supplier Service
Inventory Mgmt Service
Order Mgmt Service
Credit Services
11
Event
Asynchronous uni-directional communication
It happened
Event Source
Event Sink
Event
  • Each event sent independently of another
  • No built-in coupling between messages implies
    gives flexibility and agility

12
Event Flow
Fork
Join
Inventory Mgmt Service
Online Ordering Application
Order Mgmt Service
Shipping and Fulfilling
Credit Services
13
Request/Reply vs. Events
asynchronous rpc
14
Agenda
  • The Case for Events
  • Event-Driven Applications
  • Events and SOA
  • Events and OpenEdge RA
  • Case Study
  • Summary

15
Events-Driven Application Models
Asynchronous One-way Communication
  • Simple Events
  • Brokered Events
  • Enterprise Service Busses
  • Event Stream Processing Engines

16
Simple Event
Event
Event Source
Event Sink
It happened
17
Simple Events Simulating Request/Reply
Request Event (req-id)
Event Source
Event Sink
Consumer
Provider
Reply Event (req-id)
  • Req-id couples request/reply
  • Reply sent independently of request
  • Consumer assumes reply may be received along time
    after request

18
Brokered Events
Event Source
Event Sink
Event
Event
Message Broker
Message
Event Sink
Event Source
Event
Event
  • Event routed from source to one or more sink
  • Optionally stored persistently until delivered

19
Brokered Events Point to Point
Send to One Interested Party
Sender
Receiver
Event Source
Event Sink
connect
20
Brokered Events Point to Point
Send to One Interested Party Multiple Receivers
Sender
Receiver
Event Sink
Event Source
Event Sink
  • Event delivered to one receiver
  • Multiple receivers promotes scalability
  • All receivers are created equally

21
Brokered Events Publish/Subscribe
Send to All Interested Parties
Subscribers
Publisher
Event Sink
Event Source
Event Sink
subscribe
  • Event broadcast to all interested parties, e.g.
    Hot Deals
  • Subscribers can be added dynamically

22
Enterprise Service Bus Routed Events
Intelligent Routing
Event Source
  • Combined with brokered event mechanisms
  • Content-based routing

23
Enterprise Service Bus - Orchestration Service
Sophisticated Process Flow
Event
Event
Event Source
Event Sink
ESB
Event Sink
Event Source
Event
Event
  • 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.

24
Event Stream Processing (ESP)
Aggregating and Correlating Events
IF PRGS Price lt PRGS VWAP THEN Buy PRGS
EventManager
EventStream
Event
Event Source
Event Sink
Events
  • Filter rules
  • Aggregation of events
  • Event detection patterns

25
Agenda
  • The Case for Events
  • Event-Driven Applications
  • Events and SOA
  • Events and OpenEdge RA
  • Case Study
  • Summary

26
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.
27
How Do Events Support These Principles?
  • SOA is good.
  • Events are good.
  • How do I marry the two????

28
SOA Model
Loosely Coupled Components Communicating Via
Well-Defined Interfaces
ServiceDirectory
Contract
Find / Details
SOAInfrastructure
Publish
Service Consumer
Service Provider
Contract
Bind / Invoke
29
Service Elements
  • Presentation layer or another service
  • Locates service provider through agreed upon
    service directory
  • Binds/invokes service based service interface

Fn()
Service Consumer
Fn()
  • Only the service interfaces are exposed
  • Service implementation is hidden from the service
    consumer
  • Data store encapsulated by service

Service Implementation
Service Provider
ServiceLogic
Data
30
Service Contracts
Everything You Need to Know to Access the Service
Provider
Service Requestor
Service Provider
Contract
  • Service Interface
  • Service Location and Transport
  • Service Description and Sequencing Requirements
  • Error Handling
  • SLAs

31
SOA and Events
Event Sink
Event Source
Service Consumer
Service Provider
Notification
Event Sink
Event Source
Service Consumer
One-way
32
SOA Architectural Layers
Application Client Layer
Business Process Services
ESB Orch. Service
Intermediary Services
Brokered EventsESP, ESB Routed Event
Basic Services
Simple Events
33
Broker as an Intermediary Service
Service Consumer
Event Source
Event Sink
Event
Event
ServiceIntermediary
One-way
One-way
Message Broker
One-way
One-way
Service Consumer
Event
Event Sink
Event Source
Event
34
Enterprise Service Bus Routed Events
Intelligent Routing
ServiceIntermediary
ESB
One-way
Event
Yes
Event
Service Consumer
Event Source
order count lt 100
One-way
No
Event
One-way
35
Agenda
  • The Case for Events
  • Event-Driven Applications
  • Events and SOA
  • Events and OpenEdge RA
  • Case Study
  • Summary

36
OpenEdge RA Service Components
Users
Enterprise Services
Service Consumer
Presentation Layer
Integration Layer
Business Servicing Layer
Data Access Layer
Service Provider
Managed Data Stores
Unmanaged Data Stores
37
Business Layer Integration
Presentation Layer/s
Integration Layer/s
Service Adapter
Service Interface
Business Workflows
Business Tasks
Business Entities
Data Access Layers
Managed
Unmanaged
38
Service Adapter/Interface Requirements
Service Consumer
Event-Driven Service Adapter
Service Provider
39
Service Adapter/Interface Requirements
40
Agenda
  • The Case for Events
  • Event-Driven Applications
  • Events and SOA
  • Events and OpenEdge RA
  • Case Study
  • Summary

41
Sedgwick Claims Management Services, Inc.
42
Sedgwick Event Driven SOA
Update Claim Info
Changed Fields From-value To-Value
Event Capture (DB Triggers)
Users
Event Generator/ Quenching
New Claim
Change Log
EMAIL ALERT
State-Changed Events
Enterprise Service Bus
RULES ENGINE Sub-System
State-Changed Events
Email
IVR
Rules Processing Engine
RULES DATABASE
43
Agenda
  • Event-Driven Applications
  • Events and SOA
  • OpenEdge RA and Events
  • Case Study
  • Summary

44
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

45
Questions?
46
Thank you for your time!
47
The Business Value of Software Events
  • Efficiency
  • Push technology
  • Replaces polling or batch processing mechanisms
  • 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
Write a Comment
User Comments (0)
About PowerShow.com