1 / 42

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

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.

Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SOA-10: Event-Driven SOA: EDA in an SOA World Ken Wilner Vice President of Technology

  2. Process Order ProcessOrder Service ExternalCreditRatingService Process Order Light Weight Request/Reply 2 3 1 Fulfill Order ValidateOrder Check Credit Credit Rating Heavy Weight Request/Reply SOA-10: Event-Driven SOA: EDA in an SOA World

  3. Process Order – Separate Polling Process ProcessOrder Service ExternalCreditRatingService Customer MgmtService 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 SOA-10: Event-Driven SOA: EDA in an SOA World

  4. Process Order – Event Driven Way ProcessOrder Service Process Order Light Weight Request/Reply ExternalCreditRatingService 2 3 1 Fulfill Order ValidateOrder Check Credit Credit Rating One-Way Event sent in Real Time Medium Weight Request/Reply Customer MgmtService 2a 2 1 CustomerMgmt CheckCredit SOA-10: Event-Driven SOA: EDA in an SOA World

  5. 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 SOA-10: Event-Driven SOA: EDA in an SOA World

  6. Agenda • Event-Driven Applications • Events and SOA • OpenEdge™ RA and Events • Case Study • Summary SOA-10: Event-Driven SOA: EDA in an SOA World

  7. 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 SOA-10: Event-Driven SOA: EDA in an SOA World

  8. Request/Reply Synchronous Bi-directional Communication Please do this for me. I’ll wait until I get the reply. Request Provider Consumer 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 SOA-10: Event-Driven SOA: EDA in an SOA World

  9. Request/Reply Flow Online Ordering Application Supplier Service Inventory Mgmt Service Order Mgmt Service Credit Services SOA-10: Event-Driven SOA: EDA in an SOA World

  10. Event Asynchronous uni-directional communication It happened Event Source Event Sink Event • 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 SOA-10: Event-Driven SOA: EDA in an SOA World

  11. Event Flow Fork Join Inventory Mgmt Service Online Ordering Application Order Mgmt Service Shipping and Fulfilling Credit Services SOA-10: Event-Driven SOA: EDA in an SOA World

  12. Request/Reply vs. Events SOA-10: Event-Driven SOA: EDA in an SOA World

  13. Events-Driven Application Models AsynchronousOne-wayCommunication • Simple Events • Brokered Events • Enterprise Service Busses • Event Stream Processing Engines SOA-10: Event-Driven SOA: EDA in an SOA World

  14. Simple Event Event Event Source Event Sink It happened SOA-10: Event-Driven SOA: EDA in an SOA World

  15. Simple Events – Simulating Request/Reply Request Event (req-id) Event Sink Provider Event Source Consumer Reply Event (req-id) • Req-id couples request/reply • Reply sent independently of request • Consumer assumes reply may be received along time after request SOA-10: Event-Driven SOA: EDA in an SOA World

  16. Brokered Events Event Source Event Sink Event Event Message Broker Message Event Source Event Sink Event Event • 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. SOA-10: Event-Driven SOA: EDA in an SOA World

  17. Brokered Events – Point to Point Message Broker Queue SendtoOneInterestedParty Sender Receiver Event Source Event Sink connect SOA-10: Event-Driven SOA: EDA in an SOA World

  18. Brokered Events – Point to Point Message Broker Queue SendtoOneInterestedParty – MultipleReceivers Sender Receiver Event Sink Event Source Event Sink • Event delivered to one receiver • Multiple receivers promotes scalability • All clients are created equal SOA-10: Event-Driven SOA: EDA in an SOA World

  19. Brokered Events – Publish/Subscribe Message Broker Topic SendtoAllInterestedParties Subscribers Publisher Event Sink Event Source Event Sink subscribe • Event broadcast to all interested parties, e.g. “Hot Deals” • Subscribers can be added dynamically • Durable subscriptions support guaranteed delivery SOA-10: Event-Driven SOA: EDA in an SOA World

  20. Enterprise Service Bus – Routed Events ESB Yes order count < 100 Event Sink No Event Sink IntelligentRouting Event Source • Combined with brokered event mechanisms • Content-based routing • Transformation • Standards-based; e.g. XML and Web Services SOA-10: Event-Driven SOA: EDA in an SOA World

  21. Enterprise Service Bus - Orchestration Service SophisticatedProcessFlow Event Event Event Source Event Sink ESB Event Source Event Sink 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. SOA-10: Event-Driven SOA: EDA in an SOA World

  22. Event Stream Processing (ESP) Rules AggregatingandCorrelatingEvents IF PRGS Price < PRGS VWAP THENBuy PRGS EventManager EventStream Event Event Sink Event Source Events • Filter rules • Aggregation of events • Event detection patterns SOA-10: Event-Driven SOA: EDA in an SOA World

  23. Agenda • Event-Driven Applications • Events and SOA • OpenEdge RA and Events • Case Study • Summary SOA-10: Event-Driven SOA: EDA in an SOA World

  24. 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. SOA-10: Event-Driven SOA: EDA in an SOA World

  25. How Do Events Support These Principles? • SOA is good. • Events are good. • How do I marry the two???? SOA-10: Event-Driven SOA: EDA in an SOA World

  26. SOA: Component Architecture ServiceDirectory Find / Details Publish Service Consumer Service Provider Bind / Invoke SOA-10: Event-Driven SOA: EDA in an SOA World

  27. Service Contracts EverythingYouNeedtoKnow to AccesstheServiceProvider Service Requestor Service Provider Contract • Service Interface • Service Location and Transport • Service Description and Sequencing Requirements • Error Handling • SLAs SOA-10: Event-Driven SOA: EDA in an SOA World

  28. SOA and Events Service Provider Event Sink Event Source Service Consumer Service Provider Notification Event Source Event Sink Service Consumer One-way SOA-10: Event-Driven SOA: EDA in an SOA World

  29. SOA Architectural Layers Application Client Layer Business Process Services ESB Orch. Service Brokered EventsESP, ESB Routed Event Intermediary Services Basic Services SOA-10: Event-Driven SOA: EDA in an SOA World

  30. Broker as an Intermediary Service Service Provider Service Provider Service Consumer Event Source Event Sink Event Event ServiceIntermediary One-way One-way Message Broker One-way One-way Service Consumer Event Event Source Event Sink Event SOA-10: Event-Driven SOA: EDA in an SOA World

  31. Enterprise Service Bus – Routed Events Event Sink Service Provider Service Provider Event Sink IntelligentRouting ServiceIntermediary ESB One-way Event Yes Event Service Consumer Event Source order count < 100 One-way No Event One-way SOA-10: Event-Driven SOA: EDA in an SOA World

  32. Agenda • Event-Driven Applications • Events and SOA • OpenEdge RA and Events • Case Study • Summary SOA-10: Event-Driven SOA: EDA in an SOA World

  33. 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 SOA-10: Event-Driven SOA: EDA in an SOA World

  34. Business Layer Integration Users EnterpriseServices Presentation Layer/s IntegrationLayer/s Service Adapter Service Interface Business Workflows Business Tasks Business Entities Data Access Layers Managed Unmanaged SOA-10: Event-Driven SOA: EDA in an SOA World

  35. Service Elements and Service Contracts Fn() Fn() Fn() Service Consumer Event-Driven Service Adapter Service Adapter Event-Driven Service Adapter Notification Request One-Way Reply Service Interface Event-Driven Service Interface Event-Driven Service Interface Service Provider SOA-10: Event-Driven SOA: EDA in an SOA World

  36. Agenda • Event-Driven Applications • Events and SOA • OpenEdge RA and Events • Case Study • Summary SOA-10: Event-Driven SOA: EDA in an SOA World

  37. SedgwickClaimsManagementServices,Inc. Claimants Carriers JURIS States Clients Examiners SOA-10: Event-Driven SOA: EDA in an SOA World

  38. Sedgwick Event Driven SOA JURIS WWW/IVR Email JMS MSG XML 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 SOA-10: Event-Driven SOA: EDA in an SOA World

  39. Agenda • Event-Driven Applications • Events and SOA • OpenEdge RA and Events • Case Study • Summary SOA-10: Event-Driven SOA: EDA in an SOA World

  40. 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 SOA-10: Event-Driven SOA: EDA in an SOA World

  41. Questions? SOA-10: Event-Driven SOA: EDA in an SOA World

  42. Thank you for your time! SOA-10: Event-Driven SOA: EDA in an SOA World

More Related