• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Guido schmutz-jax2011-event-driven soa
 

Guido schmutz-jax2011-event-driven soa

on

  • 2,040 views

How can the concepts of event-driven linked with the concepts of serivce-oriented architectures. and what is the added value of such a combination? ...

How can the concepts of event-driven linked with the concepts of serivce-oriented architectures. and what is the added value of such a combination?
What do events mean in the context of Business Process Management (BPM) and Business Activity Monitoring (BAM), and how can such architectures/solutions be enhanced with the concepts of Complex Event Processing?

Statistics

Views

Total Views
2,040
Views on SlideShare
2,036
Embed Views
4

Actions

Likes
4
Downloads
4
Comments
0

1 Embed 4

http://www.linkedin.com 4

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Guido schmutz-jax2011-event-driven soa Guido schmutz-jax2011-event-driven soa Presentation Transcript

    • Event-Driven SOA: Events meet Services
      Guido Schmutz (guido.schmutz@trivadis.com)
      Senior Architect/Technology Manager
      Trivadis AG
    • Guido Schmutz
      Working for Trivadis for more than 14 years
      Oracle ACE Director for Fusion Middleware and SOA
      Co-Author of different books
      Consultant, Trainer Software Architect for Java, Oracle, SOA and EDA
      Member of Trivadis Architecture Board
      Trivadis Technology Manager
      More than 20 years of software development experience
      Contact: guido.schmutz@trivadis.com
      Blog: http://guidoschmutz.wordpress.com
    • Trivadis facts & figures
      Swiss IT consulting company
      11 locationswithmorethan 550 employees
      Financially independent and sustainably profitable
      Key figures 2009
      Revenue CHF 100 / EUR 66 mio.
      Services for more than 650 clients in over 1‘600 projects
      Over 160 Service Level Agreements
      More than 5'000 training participants
      Research and development budget: CHF 5.0 / EUR 3.3 mio.
    • Trivadis Integration Architecture Blueprint
    • Agenda
      Introduction to Events
      Event Processing
      Event Delivery Network
      Events meet Services
      Events and BPM
      Summary
    • Whatis an Event?
      An Event is a significant (in the sense that it may affect some action), atomic (happens completely or not at all) occurrence (e.g. fact becoming true, a state transition) in the reality.
      Events may represent various things:
      Update of a database
      State of Change in a process/workflow
      Reported Problem
      Anticipated Problem
      Any “business situation” raised by an application
    • “Event-Driven”
      Events
      Events
      Things that happen or change
      Business Events
      Events that are meaningful in a business context
      Event Objects
      Discrete report of events
      Event-Driven
      The behaviour of an entity that acts when it recognizes an event
      EDA
      Architectural style in which one or more components are event-driven and minimally coupled
      Other
      Events
      Business
      Events
      Event objects
      Event-driven
      EDA
    • Event Types
      Ordinary Events
      common non-critical events
      Typically generated intermittently
      Notable Events
      Important and need to be acted upon
      Typically occur at low volume
      Stream Events
      Continuous stream of events
      May not be significant individually but part of a critical pattern
      Transactional Events
      Important events generated through business transactions
      Could be high volume without necessarily having a correlation pattern
    • Event Metamodel
      Standardize structure for events across enterprise
      Simplifies event integration
      Events generally have to major parts
      Header
      Body
      Similar to a Web Service (SOAP) message but there is no official standard yet
    • How does an Event look like?
    • EDA Simplified Conceptual View
      Basic concept
      large number of inbound events and messages are captured and processed to produce a smaller number of outbound events
    • EDA High Level Conceptual View
    • 5 Principles of an EDA
      Reports current events
      Notification reports a discrete occurrence as it happens
      Pushes notifications
      Pushed by the event producer, not pulled by the event consumer
      Respond immediately
      Consumer reacts immediately after it recognizes the event
      Communicates one-way
      Notification is “fire-and-forget” type of communication
      Is free of commands
      Notification is a report, not a specific request or command
      Does not prescribe the action the event consumer will perform
    • When vs. What
      When
      Event Processing
      (CEP, SEP)
      What
      SOA / BPM
    • Agenda
      Introduction to Events
      Event Processing
      Event Delivery Network
      Events meet SOA/BPM
      Events and BPM
      Summary
    • Event Processing
      Events at sources are rarely directly actionable
      Not significant enough for the business to react and take meaningful action
      Especially true for streaming and high volume events
      Event processing is the manipulation of eventsthrough the application of business rules to identify actionable
      Threads
      Opportunities
      Anomalies
    • Building blocks of Event Processing
    • 3 Typesof Event Processing
      Relativity can be causal
      temporal, spatial or other
    • Simple Event Processing (SEP)
    • Event Stream Processing (ESP)
    • Complex Event Processing (CEP)
    • Complex Event Processing (CEP)
      Complex
      Event
      Processor
      Event Source
      Filtering; Temporal and causality constraints
      Validate
      Aggregation; event-data join
      Enrich
      Transform
      Create “complex event”
      Intelligent routing; content-based routing; event-driven flows
      Route
      Operate
      Service invocation; alert; dynamic flows
      Event Consumer
      Source: IBM
    • Complex Event Processing vs. Traditional Analysis
    • Fundamental CEP Design Pattern
      Filtering
      In-memory caching
      Aggregation over windows
      Database lookups
      Database Writes
      Correlation (Joins)
      Event pattern matching
      State machines
      Hierarchical Events
      Dynamic Queries
      Source: http://www.coral8.com/system/files/assets/pdf/Coral8DesignPatterns.pdf
    • Event Processing Network (EPN)
      Event processing needs several processing steps intermingled with user logic
      Events are filtered
      Events are derived
      Requires the components (event processors, channels) to be connected in a network fashion=> EPN
    • Event Processing with Oracle CEPOracle CEP – Constructs & Visual Tooling
      Event-driven components
      Adapter
      Complex Event Processor
      Sink
      Event types
      Event objects are instances of event types
      Implemented as JavaBeans, Maps or “Tuples”
      Graphical visualization and editing of Event Processing Network (EPN) through Eclipse
    • Event Processing with Oracle CEPCQL Source Editing
      Syntax Highlighting
      Validation
      Query templates
    • Event Processing with IBM WebSphere Business Event
      Empower Business Users to define and procatively manage business events
    • Agenda
      Introduction to Events
      Event Processing
      Event Delivery Network
      Events meet Services (SOA/BPM)
      Events and BPM
      Summary
    • Event Delivery Network (EDN)
      Provides an abstract mediation layer for event publishing and delivery
      Goal: Decrease coupling between producer and consumers
    • Capabilities of EDN
      Event Definition
      Defined using a neutral language such as Event Definition Language (EDL)
      Publish-subscribe abstraction
      Details totally abstracted from consumers and producers
      Routing
      Routed to interested parties using defined rules
      Declarative specification
      Events and rules specified in a declarative manner
      Rich semantics
      Rich subscription semantics allow flexibility
      Subscription granularity
      Subscriptions can be based on namespaces, event names and content
      Implementation abstraction
      Totally abstracted from the users of the EDN (JMS, Database)
    • Event Delivery Network in Oracle SOA platform
      PATTERNDETECTION
      BUSINESSVISIBILITY
      MANAGEMONITOR
      DESIGN
      SECURE
      JDEV
      POLICYMANAGER
      EM
      BAM
      CEP
      BPEL /BPMNBUSINESS RULESHUMAN WORKFLOW
      ORCHESTRATE
      SERVICE BUS / MEDIATOREVENT DELIVERY NETWORK (EDN) DATA INTEGRATOR
      INTEGRATEVIRTUALIZE
      REG/REP
      EVENTS
      SERVICES
      ERP
      MAINFRAME
      PARTNERS
      DB
      Source: Oracle
      Adapters & B2B
    • Agenda
      Introduction to Events
      Event Processing
      Event Delivery Network
      Events meet Services (SOA/BPM)
      Events and BPM
      Summary
    • Events meet Services
      Using Events to increase decoupling in your SOA!
      Event-Driven Services
      Events producedby a Service
    • Different Typesof Interaction
      Time-Driven
      An agent or group of agents initiates an interaction at a specified time
      Request-Driven
      A client requests a service from a server
      Initiated by the client and completes when server replies
      Event-Driven
      Event Producer initiates interaction by creating an event
    • Customer ManagementSample Scenario
      Customer Management Application is created
      New Customer operation is implemented in BPEL orchestrating service calls
      One of the service calls is informing another system (Account Management) of the new customer
    • Customer ManagementSample Implementation
      Implementation with Oracle SOA Suite
    • Customer ManagementEnhancement of Scenario
      An Other system is interested when a new customer is added
      Offers a service Create New Customer
      Therefore the Customer Management system has to be changed
      a new service call has to be added to the service orchestration
    • Customer ManagementEnhancement Implementation
      Implementation with Oracle SOA Suite
    • Customer ManagementEvaluation of enhancement
      New interested parties can only be added through changing the Customer Management system
      Resources need to be coordinated
      Difficult if the responsibilities for those systems are different
      Each new system will be a source for new errors
      System will be less reliable
      Adaption has to be handledby Customer Management
      Has to bechanged!!
    • Customer ManagementScenario: Using Event instead
      Instead of the Customer Management system having to inform each interested party, it just signals an “New Customer” event
      All interested party subscribe at the EDN and get informed, when such an event has been signaled
    • Customer ManagementImplementation with Events
      Implementation using Business Events (EDN)
    • Customer ManagementImplementation with Events
    • Customer ManagementImplementation with Events
      XML schemadefinespayload
      Event Definition Language (EDL) definesevent
    • Customer ManagementImplementation with Events
      Using BPEL invokeactivitytopublishtheevent
    • Customer ManagementImplementation with Events
      Mediator could also publishevents
    • Customer ManagementImplementation with Events
      Mediator with „Subscribe to Events“
    • Customer ManagementImplementation with Events
    • Customer ManagementImplementation with Events
      Filter on eventpayloadusingXpathexpression
    • Customer ManagementEvaluation of “Using Events instead”
      Customer Management is decoupled from other systems
      No longer dependent on the availability
      Potential new interested parties can be introduced without having to change the Customer Management system
      Separation of Concerns => Transformation done when consuming event
      Decoupling
    • Customer ManagementScenario Event with not enough info
      To reduce overhead, you might only want to pass minimal information with an event
      Not the complete customer like shown before
      Subscriber can use any service offered to enrich the event
      Similar to Claim Check Pattern with messaging
      “Inversion of Control”
    • Event-Driven SOA (ED-SOA)Decoupling on Domain Level
    • Event-Driven SOA (ED-SOA)Decoupling on Domain Level
      Application Landscape organized through domains
    • Event-Driven improves agility
      Event-Driven systems are more agile than request-driven systems because they are minimally coupled
      When a reply to the transaction originator is required, a request-driven approach should be used
      Inserting request-driven service Inserting event-driven service
    • Capture Events at the point of greatest value
      Requirements determine which source of event data are most relevant
    • Agenda
      Introduction to Events
      Event Processing
      Event Delivery Network
      Events meet Services (SOA/BPM)
      Events and BPM
      Summary
    • Event-Drivenand BPM
      Business Processes always involve business events in a general sense
      Not event-driven in every aspect
      Not EDA for all interactions
      Most processes are a mix of event-, request- and time-driven interactions
    • Using CEP with BPM
    • Order Fulfillment Process – Event vs. Request-Driven
      Event-Driven
      Request-Driven
    • Agenda
      Introduction to Events
      Event Processing
      Event Delivery Network
      Events meet Services (SOA/BPM)
      Events and BPM
      Summary
    • Summary: EDA, BPM and BAM
    • EDN, CEP and BAM – the event-driven enterprise
      EDA delivers real-time event processing for monitoring, analyzing, and acting on business process optimization
    • Thanks a lot!
      Q & A
    • Event-Driven SOA: Events meet Services
      Guido Schmutz (guido.schmutz@Trivadis.com)
      Senior Architect/Technology Manager
      Trivadis AG