soa-10: event-driven soa: eda in an soa world ken wilner vice president of technology
Post on 05-Jan-2016
216 views
Embed Size (px)
TRANSCRIPT
SOA-10: Event-Driven SOA: EDA in an SOA WorldKen WilnerVice President of Technology
* 2005 Progress Software Corporation
Process OrderProcess OrderFulfill OrderValidate OrderCheck CreditCredit Rating123Heavy Weight Request/ReplyLight Weight Request/Reply
* 2005 Progress Software Corporation
Process Order Separate Polling ProcessProcess OrderFulfill OrderValidate OrderCheck CreditCredit Rating123Customer MgmtCheck Credit122aLight Weight Request/ReplyHeavy Weight Request/Reply Sent PeriodicallyMedium Weight Request/Reply
* 2005 Progress Software Corporation
Process Order Event Driven WayExternal Credit Rating ServiceProcess OrderFulfill OrderValidate OrderCheck CreditCredit Rating123Process Order ServiceCustomer Mgmt ServiceCustomer MgmtCheck Credit122aLight Weight Request/ReplyOne-Way Event sent in Real TimeMedium Weight Request/Reply
* 2005 Progress Software Corporation
The Business Value of Software EventsEfficiencyPush technologyReplaces batch processing or pollingReal-time monitoring of business stateParallel activitiesAgilityFacilitates instance-level long running business processesPromotes flexible processes that are adaptable to changes in the business environment
* 2005 Progress Software Corporation
AgendaEvent-Driven ApplicationsEvents and SOAOpenEdge RA and EventsCase StudySummary
* 2005 Progress Software Corporation
Invocation ModelsRequest/ReplyRequest - a request to do somethingReply - an indication that the request was processedEventan indication that something occurred in the past
* 2005 Progress Software Corporation
Request/ReplyConsumerProviderRequestReplySynchronous Bi-directional CommunicationPlease do this for me. Ill wait until I get the reply.Did it. Sorry it took me so long!!!Physical connection couples request/replyFailure of connection terminates executionConsumer assumes reply received shortly after request sentSingle provider receives request implies limited scalability
* 2005 Progress Software Corporation
Request/Reply FlowOrder Mgmt ServiceSupplier ServiceOnline Ordering ApplicationInventory Mgmt ServiceCredit Services
* 2005 Progress Software Corporation
EventEventSourceEventSinkEventIt happened Each event sent independently of anotherCoupling between events handling by source and sinkMultiple sources may send the same event and multiple sinks may receive same event so highly scaleableAsynchronous uni-directional communication
* 2005 Progress Software Corporation
Event FlowOrder Mgmt ServiceInventory Mgmt ServiceCredit ServicesForkJoinOnline Ordering ApplicationShipping and Fulfilling
* 2005 Progress Software Corporation
Request/Reply vs. Events
* 2005 Progress Software Corporation
Events-Driven Application ModelsSimple EventsBrokered EventsEnterprise Service BussesEvent Stream Processing EnginesAsynchronous One-way Communication
* 2005 Progress Software Corporation
Simple EventEventSourceEventSinkEventIt happened
* 2005 Progress Software Corporation
Simple Events Simulating Request/ReplyEvent SourceEvent SinkRequest Event (req-id)Req-id couples request/replyReply sent independently of requestConsumer assumes reply may be received along time after requestConsumerProviderReply Event (req-id)
* 2005 Progress Software Corporation
Brokered EventsEventEventSourceEventSinkEventSinkMessage BrokerEventSourceEventEventEventMessageEvent routed from source to one or more sinkOptionally stored persistently until deliveredVarious ack modes guarantee delivery, e.g. auto, client, duplicates O.K.
* 2005 Progress Software Corporation
Brokered Events Point to PointEventSourceconnectEventSinkSend to One Interested Party SenderReceiver
* 2005 Progress Software Corporation
Brokered Events Point to PointSend to One Interested Party Multiple Receivers SenderReceiverEventSourceEventSinkEventSinkEvent delivered to one receiverMultiple receivers promotes scalabilityAll clients are created equal
* 2005 Progress Software Corporation
Brokered Events Publish/SubscribeEventSinkEventSinksubscribeSend to All Interested PartiesEventSourcePublisherSubscribersEvent broadcast to all interested parties, e.g. Hot DealsSubscribers can be added dynamicallyDurable subscriptions support guaranteed delivery
* 2005 Progress Software Corporation
Enterprise Service Bus Routed EventsEventSourceIntelligent RoutingCombined with brokered event mechanismsContent-based routingTransformationStandards-based; e.g. XML and Web Services
* 2005 Progress Software Corporation
Enterprise Service Bus - Orchestration ServiceSophisticated Process Flow EventEventSourceEventSinkEventSinkEventESBEventEventEventSourceCombines basic ESB services with long running stateful processesSupports looping constructs, state management, conditional constructs, fork thread, join, etc.Publish event, wait for event, etc.
* 2005 Progress Software Corporation
Event Stream Processing (ESP)Event StreamEventSourceEventSinkEventEvent ManagerEventsIF PRGS Price < PRGS VWAP THEN Buy PRGSAggregating and Correlating Events Filter rulesAggregation of eventsEvent detection patterns
* 2005 Progress Software Corporation
AgendaEvent-Driven ApplicationsEvents and SOAOpenEdge RA and EventsCase StudySummary
* 2005 Progress Software Corporation
Service-Oriented ArchitectureAn approach for building distributed computing systems based on encapsulating business functions as services that can be easily accessed in a loosely coupled fashion.
* 2005 Progress Software Corporation
How Do Events Support These Principles?SOA is good.Events are good.How do I marry the two????
* 2005 Progress Software Corporation
SOA: Component Architecture
* 2005 Progress Software Corporation
Service ContractsService RequestorServiceProviderContractEverything You Need to Know to Access the Service ProviderService InterfaceService Location and TransportService Description and Sequencing RequirementsError HandlingSLAs
* 2005 Progress Software Corporation
SOA and EventsService ConsumerServiceProviderEvent SinkEvent SourceService ConsumerNotificationOne-wayEvent SinkEvent Source
* 2005 Progress Software Corporation
SOA Architectural LayersBusiness Process ServicesIntermediary ServicesBasic ServicesApplication Client LayerBrokered Events ESP, ESB Routed EventESB Orch. Service
* 2005 Progress Software Corporation
Broker as an Intermediary ServiceOne-wayEventSourceEventSinkEventSinkMessage BrokerEventSourceEventEventOne-wayService ConsumerService ConsumerOne-wayOne-wayEventEventService Intermediary
* 2005 Progress Software Corporation
Enterprise Service Bus Routed EventsIntelligent RoutingESBYesNoorder count < 100Service IntermediaryEventEventSourceService ConsumerOne-wayEventEventOne-wayOne-way
* 2005 Progress Software Corporation
AgendaEvent-Driven ApplicationsEvents and SOAOpenEdge RA and EventsCase StudySummary
* 2005 Progress Software Corporation
OpenEdge RA Service ComponentsService ProviderService Consumer
Users
Presentation LayerBusiness Servicing LayerData Access LayerManaged Data StoresUnmanaged Data Stores
Enterprise Services
Integration Layer
* 2005 Progress Software Corporation
Business Layer IntegrationPresentation Layer/sIntegration Layer/sData Access Layers ManagedUnmanagedService InterfaceBusinessWorkflowsBusiness TasksBusiness EntitiesService Adapter
* 2005 Progress Software Corporation
Service Elements and Service ContractsService InterfaceService AdapterFn()RequestReplyService ConsumerService ProviderEvent-Driven Service InterfaceEvent-Driven Service AdapterFn()One-WayEvent-Driven Service AdapterFn()NotificationEvent-Driven Service Interface
* 2005 Progress Software Corporation
AgendaEvent-Driven ApplicationsEvents and SOAOpenEdge RA and EventsCase StudySummary
* 2005 Progress Software Corporation
Sedgwick Claims Management Services, Inc.
* 2005 Progress Software Corporation
Sedgwick Event Driven SOAChange Log Enterprise Service Bus EmailState-ChangedEventsChanged FieldsFrom-valueTo-ValueRULESDATABASEEMAILALERTRULES ENGINE Sub-System Users
NewClaimUpdate Claim InfoRulesProcessingEngine IVREvent Capture(DB Triggers) Event Generator/ QuenchingState-ChangedEvents
* 2005 Progress Software Corporation
AgendaEvent-Driven ApplicationsEvents and SOAOpenEdge RA and EventsCase StudySummary
* 2005 Progress Software Corporation
In SummarySOA is the architecture for the agile businessEvents are great for maximum agility, and for building reactive systemsDefine the right services and use the right invocation method
* 2005 Progress Software Corporation
Questions?
* 2005 Progress Software Corporation
Thank you for your time!
See Gartner the case for event-driven design Real-time monitoring of business state w/o polling?