Download presentation
Presentation is loading. Please wait.
Published byRodger Doyle Modified over 9 years ago
1
SOA-10: Event-Driven SOA: EDA in an SOA World Ken Wilner Vice President of Technology
2
2© 2005 Progress Software Corporation SOA-10: Event-Driven SOA: EDA in an SOA World Process Order Service External Credit Rating Service Process Order Fulfill Order Validate Order Check Credit Credit Rating 1 2 3 Heavy Weight Request/Reply Light Weight Request/Reply
3
3© 2005 Progress Software Corporation SOA-10: Event-Driven SOA: EDA in an SOA World Process Order Service External Credit Rating Service Process Order – Separate Polling Process Process Order Fulfill Order Validate Order Check Credit Credit Rating 1 2 3 Customer Mgmt Service Customer Mgmt Check Credit 1 2 2a Light Weight Request/Reply Heavy Weight Request/Reply Sent Periodically Medium Weight Request/Reply
4
4© 2005 Progress Software Corporation SOA-10: Event-Driven SOA: EDA in an SOA World External Credit Rating Service Process Order – Event Driven Way Process Order Fulfill Order Validate Order Check Credit Credit Rating 1 2 3 Process Order Service Customer Mgmt Service Customer Mgmt Check Credit 1 2 2a Light Weight Request/Reply One-Way Event sent in Real Time Medium Weight Request/Reply
5
5© 2005 Progress Software Corporation SOA-10: Event-Driven SOA: EDA in an SOA World The Business Value of Software Events n Efficiency –Push technology –Replaces batch processing or polling –Real-time monitoring of business state –Parallel activities n Agility –Facilitates instance-level long running business processes –Promotes flexible processes that are adaptable to changes in the business environment
6
6© 2005 Progress Software Corporation SOA-10: Event-Driven SOA: EDA in an SOA World Agenda n Event-Driven Applications n Events and SOA n OpenEdge™ RA and Events n Case Study n Summary
7
7© 2005 Progress Software Corporation SOA-10: Event-Driven SOA: EDA in an SOA World Invocation Models n Request/Reply –Request - a request to do something –Reply - an indication that the request was processed n Event –an indication that something occurred in the past
8
8© 2005 Progress Software Corporation SOA-10: Event-Driven SOA: EDA in an SOA World Request/Reply Consumer Provider Request Reply Synchronous Bi-directional Communication Please do this for me. I’ll wait until I get the reply. Did it. Sorry it took me so long!!! n Physical connection couples request/reply n Failure of connection terminates execution n Consumer assumes reply received shortly after request sent n Single provider receives request implies limited scalability
9
9© 2005 Progress Software Corporation SOA-10: Event-Driven SOA: EDA in an SOA World Order Mgmt Service Supplier Service Request/Reply Flow Online Ordering Application Online Ordering Application Inventory Mgmt Service Inventory Mgmt Service Credit Services
10
10© 2005 Progress Software Corporation SOA-10: Event-Driven SOA: EDA in an SOA World Event Source Event Source Event Sink Event Sink Event It happened n Each event sent independently of another n Coupling between events handling by source and sink n Multiple sources may send the same event and multiple sinks may receive same event so highly scaleable Asynchronous uni-directional communication
11
11© 2005 Progress Software Corporation SOA-10: Event-Driven SOA: EDA in an SOA World Order Mgmt Service Event Flow Inventory Mgmt Service Inventory Mgmt Service Credit Services Fork Join Online Ordering Application Online Ordering Application Shipping and Fulfilling
12
12© 2005 Progress Software Corporation SOA-10: Event-Driven SOA: EDA in an SOA World Request/Reply vs. Events Request/ReplyEvents Component to Component Coupling 1 to 1Many to many Flow of Control SynchronousAsynchronous Path of Execution Linear and hierarchical Supports dynamic and parallel Reactivity Closed loopDynamically reactive
13
13© 2005 Progress Software Corporation SOA-10: Event-Driven SOA: EDA in an SOA World Events-Driven Application Models n Simple Events n Brokered Events n Enterprise Service Busses n Event Stream Processing Engines Asynchronous One-way Communication
14
14© 2005 Progress Software Corporation SOA-10: Event-Driven SOA: EDA in an SOA World Simple Event Event Source Event Source Event Sink Event Sink Event It happened
15
15© 2005 Progress Software Corporation SOA-10: Event-Driven SOA: EDA in an SOA World Event Source Event Sink Request Event (req-id) n Req-id couples request/reply n Reply sent independently of request n Consumer assumes reply may be received along time after request Consumer Provider Simple Events – Simulating Request/Reply Reply Event (req-id)
16
16© 2005 Progress Software Corporation SOA-10: Event-Driven SOA: EDA in an SOA World Brokered Events Event Source Event Source Event Sink Event Sink Event Sink Event Sink Message Broker Event Source Event Source Event Message n Event routed from source to one or more sink n Optionally stored persistently until delivered n Various ack modes guarantee delivery, e.g. auto, client, duplicates O.K.
17
17© 2005 Progress Software Corporation SOA-10: Event-Driven SOA: EDA in an SOA World Message Broker Queue Brokered Events – Point to Point Event Source Event Source connect Event Sink Event Sink Send to One Interested Party SenderReceiver
18
18© 2005 Progress Software Corporation SOA-10: Event-Driven SOA: EDA in an SOA World Message Broker Queue Brokered Events – Point to Point Send to One Interested Party – Multiple Receivers SenderReceiver Event Source Event Source Event Sink Event Sink Event Sink Event Sink n Event delivered to one receiver n Multiple receivers promotes scalability n All clients are created equal
19
19© 2005 Progress Software Corporation SOA-10: Event-Driven SOA: EDA in an SOA World Brokered Events – Publish/Subscribe Message Broker Topic Event Sink Event Sink Event Sink Event Sink subscribe Send to All Interested Parties Event Source Event Source Publisher Subscribers n Event broadcast to all interested parties, e.g. “Hot Deals” n Subscribers can be added dynamically n Durable subscriptions support guaranteed delivery
20
20© 2005 Progress Software Corporation SOA-10: Event-Driven SOA: EDA in an SOA World Enterprise Service Bus – Routed Events Event Source Event Source Intelligent Routing Event Sink Event Sink Event Sink Event Sink ESB Yes No order count < 100 n Combined with brokered event mechanisms n Content-based routing n Transformation n Standards-based; e.g. XML and Web Services
21
21© 2005 Progress Software Corporation SOA-10: Event-Driven SOA: EDA in an SOA World Enterprise Service Bus - Orchestration Service Sophisticated Process Flow Event Source Event Source Event Sink Event Sink Event Sink Event Sink Event ESB Event Source Event Source n Combines basic ESB services with long running stateful processes n Supports looping constructs, state management, conditional constructs, fork thread, join, etc. n Publish event, wait for event, etc.
22
22© 2005 Progress Software Corporation SOA-10: Event-Driven SOA: EDA in an SOA World Event Stream Processing (ESP) Event Stream Event Source Event Source Event Sink Event Sink Event Rules Event Manager Events IF PRGS Price < PRGS VWAP THEN Buy PRGS Aggregating and Correlating Events n Filter rules n Aggregation of events n Event detection patterns
23
23© 2005 Progress Software Corporation SOA-10: Event-Driven SOA: EDA in an SOA World Agenda n Event-Driven Applications n Events and SOA n OpenEdge RA and Events n Case Study n Summary
24
24© 2005 Progress Software Corporation SOA-10: Event-Driven SOA: EDA in an SOA World Service-Oriented Architecture An approach for building distributed computing systems based on encapsulating business functions as services that can be easily accessed in a loosely coupled fashion.
25
25© 2005 Progress Software Corporation SOA-10: Event-Driven SOA: EDA in an SOA World How Do Events Support These Principles? n SOA is good. n Events are good. n How do I marry the two????
26
26© 2005 Progress Software Corporation SOA-10: Event-Driven SOA: EDA in an SOA World SOA: Component Architecture Bind / Invoke Service Consumer Service Consumer Service Provide r Service Provide r Service Director y Find / Details Publish
27
27© 2005 Progress Software Corporation SOA-10: Event-Driven SOA: EDA in an SOA World Service Contracts Service Requestor Service Requestor Service Provide r Service Provide r Contract Everything You Need to Know to Access the Service Provider n Service Interface n Service Location and Transport n Service Description and Sequencing Requirements n Error Handling n SLAs
28
28© 2005 Progress Software Corporation SOA-10: Event-Driven SOA: EDA in an SOA World SOA and Events Service Consumer Service Consumer Service Provide r Service Provide r Event Sink Event Source Service Consumer Service Consumer Service Provide r Service Provide r Notification One-way Event Sink Event Source
29
29© 2005 Progress Software Corporation SOA-10: Event-Driven SOA: EDA in an SOA World SOA Architectural Layers Business Process Services Intermediary Services Basic Services Application Client Layer Brokered Events ESP, ESB Routed Event ESB Orch. Service
30
30© 2005 Progress Software Corporation SOA-10: Event-Driven SOA: EDA in an SOA World Broker as an Intermediary Service One-way Event Source Event Source Event Sink Event Sink Event Sink Event Sink Message Broker Event Source Event Source Event One-way Service Consumer Service Consumer Service Consumer Service Consumer One-way Event Service Intermediary Service Provide r Service Provide r Service Provide r Service Provide r
31
31© 2005 Progress Software Corporation SOA-10: Event-Driven SOA: EDA in an SOA World Enterprise Service Bus – Routed Events Intelligent Routing ESB Yes No order count < 100 Service Intermediary Event Source Event Source Service Consumer Service Consumer One-way Event Sink Event Sink Event Sink Event Sink Event Service Provide r Service Provide r Service Provide r Service Provide r One-way
32
32© 2005 Progress Software Corporation SOA-10: Event-Driven SOA: EDA in an SOA World Agenda n Event-Driven Applications n Events and SOA n OpenEdge RA and Events n Case Study n Summary
33
33© 2005 Progress Software Corporation SOA-10: Event-Driven SOA: EDA in an SOA World 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
34© 2005 Progress Software Corporation SOA-10: Event-Driven SOA: EDA in an SOA World Business Layer Integration Presentation Layer/s Integration Layer/s Data Access Layers Managed Unmanaged Users Enterprise Services Service Interface Business Workflows Business Tasks Business Entities Service Adapter
35
35© 2005 Progress Software Corporation SOA-10: Event-Driven SOA: EDA in an SOA World Service Elements and Service Contracts Service Interface Service Adapter Fn() Request Reply Service Consumer Service Provider Event-Driven Service Interface Event-Driven Service Adapter Fn() One-Way Event-Driven Service Adapter Fn() Notification Event-Driven Service Interface
36
36© 2005 Progress Software Corporation SOA-10: Event-Driven SOA: EDA in an SOA World Agenda n Event-Driven Applications n Events and SOA n OpenEdge RA and Events n Case Study n Summary
37
37© 2005 Progress Software Corporation SOA-10: Event-Driven SOA: EDA in an SOA World Sedgwick Claims Management Services, Inc. Carriers Clients Claimants Examiners States JURIS
38
38© 2005 Progress Software Corporation SOA-10: Event-Driven SOA: EDA in an SOA World JURIS WWW/IVR Change Log JMS XML Email MSG Enterprise Service Bus Email “State- Changed” Events Changed Fields From-value To-Value RULES DATABASE EMAIL ALERT RULES ENGINE Sub-System Sedgwick Event Driven SOA Users New Claim Update Claim Info Rules Processin g Engine IVR Event Capture (DB Triggers) Event Generator/ Quenchin g “State- Changed” Events
39
39© 2005 Progress Software Corporation SOA-10: Event-Driven SOA: EDA in an SOA World Agenda n Event-Driven Applications n Events and SOA n OpenEdge RA and Events n Case Study n Summary
40
40© 2005 Progress Software Corporation SOA-10: Event-Driven SOA: EDA in an SOA World In Summary n SOA is the architecture for the agile business n Events are great for maximum agility, and for building reactive systems n Define the right services and use the right invocation method
41
41© 2005 Progress Software Corporation SOA-10: Event-Driven SOA: EDA in an SOA World Questions?
42
42© 2005 Progress Software Corporation SOA-10: Event-Driven SOA: EDA in an SOA World Thank you for your time!
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.