soa-10: event-driven soa: eda in an soa world ken wilner vice president of technology

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

Post on 05-Jan-2016

216 views

Category:

Documents

2 download

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?