Guido schmutz-jax2011-event-driven soa

  • 1,680 views
Uploaded on

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?

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,680
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
4
Comments
0
Likes
6

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Event-Driven SOA: Events meet Services
    Guido Schmutz (guido.schmutz@trivadis.com)
    Senior Architect/Technology Manager
    Trivadis AG
  • 2. 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
  • 3. 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.
  • 4. Trivadis Integration Architecture Blueprint
  • 5. Agenda
    Introduction to Events
    Event Processing
    Event Delivery Network
    Events meet Services
    Events and BPM
    Summary
  • 6. 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
  • 7. “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
  • 8. 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
  • 9. 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
  • 10. How does an Event look like?
  • 11. 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
  • 12. EDA High Level Conceptual View
  • 13. 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
  • 14. When vs. What
    When
    Event Processing
    (CEP, SEP)
    What
    SOA / BPM
  • 15. Agenda
    Introduction to Events
    Event Processing
    Event Delivery Network
    Events meet SOA/BPM
    Events and BPM
    Summary
  • 16. 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
  • 17. Building blocks of Event Processing
  • 18. 3 Typesof Event Processing
    Relativity can be causal
    temporal, spatial or other
  • 19. Simple Event Processing (SEP)
  • 20. Event Stream Processing (ESP)
  • 21. Complex Event Processing (CEP)
  • 22. 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
  • 23. Complex Event Processing vs. Traditional Analysis
  • 24. 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
  • 25. 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
  • 26. 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
  • 27. Event Processing with Oracle CEPCQL Source Editing
    Syntax Highlighting
    Validation
    Query templates
  • 28. Event Processing with IBM WebSphere Business Event
    Empower Business Users to define and procatively manage business events
  • 29. Agenda
    Introduction to Events
    Event Processing
    Event Delivery Network
    Events meet Services (SOA/BPM)
    Events and BPM
    Summary
  • 30. Event Delivery Network (EDN)
    Provides an abstract mediation layer for event publishing and delivery
    Goal: Decrease coupling between producer and consumers
  • 31. 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)
  • 32. 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
  • 33. Agenda
    Introduction to Events
    Event Processing
    Event Delivery Network
    Events meet Services (SOA/BPM)
    Events and BPM
    Summary
  • 34. Events meet Services
    Using Events to increase decoupling in your SOA!
    Event-Driven Services
    Events producedby a Service
  • 35. 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
  • 36. 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
  • 37. Customer ManagementSample Implementation
    Implementation with Oracle SOA Suite
  • 38. 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
  • 39. Customer ManagementEnhancement Implementation
    Implementation with Oracle SOA Suite
  • 40. 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!!
  • 41. 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
  • 42. Customer ManagementImplementation with Events
    Implementation using Business Events (EDN)
  • 43. Customer ManagementImplementation with Events
  • 44. Customer ManagementImplementation with Events
    XML schemadefinespayload
    Event Definition Language (EDL) definesevent
  • 45. Customer ManagementImplementation with Events
    Using BPEL invokeactivitytopublishtheevent
  • 46. Customer ManagementImplementation with Events
    Mediator could also publishevents
  • 47. Customer ManagementImplementation with Events
    Mediator with „Subscribe to Events“
  • 48. Customer ManagementImplementation with Events
  • 49. Customer ManagementImplementation with Events
    Filter on eventpayloadusingXpathexpression
  • 50. 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
  • 51. 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”
  • 52. Event-Driven SOA (ED-SOA)Decoupling on Domain Level
  • 53. Event-Driven SOA (ED-SOA)Decoupling on Domain Level
    Application Landscape organized through domains
  • 54. 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
  • 55. Capture Events at the point of greatest value
    Requirements determine which source of event data are most relevant
  • 56. Agenda
    Introduction to Events
    Event Processing
    Event Delivery Network
    Events meet Services (SOA/BPM)
    Events and BPM
    Summary
  • 57. 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
  • 58. Using CEP with BPM
  • 59. Order Fulfillment Process – Event vs. Request-Driven
    Event-Driven
    Request-Driven
  • 60. Agenda
    Introduction to Events
    Event Processing
    Event Delivery Network
    Events meet Services (SOA/BPM)
    Events and BPM
    Summary
  • 61. Summary: EDA, BPM and BAM
  • 62. EDN, CEP and BAM – the event-driven enterprise
    EDA delivers real-time event processing for monitoring, analyzing, and acting on business process optimization
  • 63. Thanks a lot!
    Q & A
  • 64. Event-Driven SOA: Events meet Services
    Guido Schmutz (guido.schmutz@Trivadis.com)
    Senior Architect/Technology Manager
    Trivadis AG