Oracle Event Delivery Network (EDN) of SOA Suite 11g


Published on

The Event Delivery Network (EDN) in Oracle SOA Suite 11g provides a declarative way to use a publish/subscribe model. Business Events can be published and consumed without worrying about the underlying message infrastructure. Events can be published from different programming enviornments. Events provide another way of interaction within a SOA and offer a much more loosely coupled model.

Published in: Technology
No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Hier könnte eine Kopfzeile stehen 03.05.10 Hier könnte eine Fusszeile stehen
  • 03.05.10
  • 03.05.10
  • Oracle Event Delivery Network (EDN) of SOA Suite 11g

    1. 1. Oracle Event Delivery Network (EDN) DOAG SIG SOA Guido Schmutz, Senior Architect / Partner Trivadis AG 03.05.2010, Frankfurt
    2. 2. Introduction <ul><li>Guido Schmutz </li></ul><ul><ul><li>Working for Trivadis for more than 13 years </li></ul></ul><ul><ul><li>Oracle Ace Director for Fusion Middleware and SOA </li></ul></ul><ul><ul><li>Co-Author of different books </li></ul></ul><ul><ul><li>Consultant, Trainer Software Architect for Java, Oracle, SOA and EDA </li></ul></ul><ul><ul><li>Member of Trivadis Architecture Board </li></ul></ul><ul><ul><li>Trivadis Technology Manager </li></ul></ul><ul><ul><li>More than 20 years of software development experience </li></ul></ul><ul><ul><li>Contact: [email_address] </li></ul></ul><ul><ul><li>Blog: </li></ul></ul>Oracle Event Delivery Network (EDN)
    3. 3. Trivadis facts & figures <ul><li>Swiss IT consulting company </li></ul><ul><ul><li>11 locations with more than 550 employees </li></ul></ul><ul><li>Financially independent and sustainably profitable </li></ul><ul><li>Key figures 2009 </li></ul><ul><ul><li>Revenue CHF 100 / EUR 66 mio. </li></ul></ul><ul><ul><li>Services for more than 650 clients in over 1‘600 projects </li></ul></ul><ul><ul><li>Over 160 Service Level Agreements </li></ul></ul><ul><ul><li>More than 5'000 training participants </li></ul></ul><ul><ul><li>Research and development budget: CHF 5.0 / EUR 3.3 mio. </li></ul></ul>Hamburg Düsseldorf Frankfurt Stuttgart Munich Freiburg Vienna Basel Bern Zurich Lausanne ~370 employees ~170 employees ~20 employees Oracle Event Delivery Network (EDN)
    4. 4. Trivadis Integration Architecture Blueprint Oracle Event Delivery Network (EDN)
    5. 5. Agenda <ul><li>Introducing the Event Delivery Network (EDN) </li></ul><ul><li>Working with the EDN </li></ul><ul><li>Uses cases for EDN </li></ul><ul><li>Summary </li></ul>Oracle Event Delivery Network (EDN) Data are always part of the game.
    7. 7. Business Events <ul><li>Business Events are signaled whenever a situation of interest ( to the business ) occurs </li></ul><ul><li>Other applications can listen for these events and then take appropriate action </li></ul><ul><li>Business Events are typically a one-way , fire-and-forget , asynchronous way to send a notification of a business occurrence </li></ul><ul><li>The sender of the event does not </li></ul><ul><ul><li>need to know if there are subscribers and what they do with the event </li></ul></ul><ul><ul><li>care if a service component receives the event </li></ul></ul>Oracle Event Delivery Network (EDN) aka. Publish/Subscribe
    8. 8. Event Delivery Network (EDN) <ul><li>Work with Business Events – not Messaging Infrastructure! </li></ul><ul><li>Declarative way to use the power of publish-subscribe semantics within SOA Suite 11g </li></ul><ul><li>Rich subscription capabilities </li></ul><ul><ul><li>Event Names </li></ul></ul><ul><ul><li>Content-Based XPath Filter </li></ul></ul><ul><li>Two different implementations </li></ul><ul><ul><li>EDN-DB – uses a database as a back-end store </li></ul></ul><ul><ul><li>EDN-JMS – uses a JMS queue as a back-end store </li></ul></ul><ul><li>Supported programming environments </li></ul><ul><ul><li>SCA Composite (Mediator, BPEL, BPMN), ADF, PL/SQL, Java, … </li></ul></ul>Oracle Event Delivery Network (EDN)
    9. 9. Agenda <ul><li>Introducing the Event Delivery Network (EDN) </li></ul><ul><li>Working with the EDN </li></ul><ul><li>Uses cases for EDN </li></ul><ul><li>Summary </li></ul>Oracle Event Delivery Network (EDN) Data are always part of the game.
    10. 10. Create Business Events <ul><li>Events are defined using the Event Definition Language (EDL) </li></ul><ul><ul><li>XML Schema used to build business event definitions </li></ul></ul><ul><li>An EDL consists of the following </li></ul><ul><ul><li>A global name </li></ul></ul><ul><ul><ul><li>Typically a Java package name, but not required </li></ul></ul></ul><ul><ul><li>Payload definition </li></ul></ul><ul><ul><ul><li>Defined using an XML Schema (XSD) </li></ul></ul></ul><ul><li>Event definition can be created declaratively in JDeveloper </li></ul>Oracle Event Delivery Network (EDN)
    11. 11. Create Business Events Oracle Event Delivery Network (EDN)
    12. 12. Create Business Events Oracle Event Delivery Network (EDN) XML Schema defines payload Event Definition Language (EDL) defines event
    13. 13. Publish Business Events (from Mediator) <ul><li>Mediator with static routing rule set to Event </li></ul>Oracle Event Delivery Network (EDN)
    14. 14. Publish Business Events (from BPEL) <ul><li>Using BPEL invoke activity to publish an event </li></ul>Oracle Event Delivery Network (EDN)
    15. 15. Subscribe to Business Events <ul><li>Mediator with “Subscribe to Events” </li></ul>Oracle Event Delivery Network (EDN)
    16. 16. Subscribe to Business Events Oracle Event Delivery Network (EDN)
    17. 17. Subscribe to Business Events <ul><li>Filter on event payload using XPath expression </li></ul>Oracle Event Delivery Network (EDN)
    18. 18. Level of Consistency <ul><li>One and Only One </li></ul><ul><ul><li>Events delivered in its own global transaction </li></ul></ul><ul><ul><li>changes by subscriber within that transaction are committed after event processing </li></ul></ul><ul><ul><li>If the subscriber fails, the transaction is rolled back </li></ul></ul><ul><ul><li>Failed events are retried </li></ul></ul><ul><li>Guaranteed </li></ul><ul><ul><li>Events are delivered to the subscriber asynchronously without a global transaction </li></ul></ul><ul><ul><li>subscriber can create its own local transaction </li></ul></ul><ul><ul><li>event is guaranteed to be handed to the subscriber with possibility that event is delivered more than once </li></ul></ul><ul><ul><li>If the subscriber throws an exception, the event is not resent </li></ul></ul><ul><li>Immediate </li></ul><ul><ul><li>Events are delivered in the same global transaction and same thread as the publisher </li></ul></ul><ul><ul><li>publish call does not return until all immediate subscribers have completed processing </li></ul></ul><ul><ul><li>If any subscribers throw an exception, no additional subscribers are invoked and exception is thrown to the publisher </li></ul></ul>Oracle Event Delivery Network (EDN)
    19. 19. Services vs. Messages vs. Events Oracle Event Delivery Network (EDN) Events are a perfect extension to the service in a SOA ! Service Message Event (EDN) Interface Definition WSDL JMS API EDL Payload Definition XSD Not defined (raw, text, object serialization) XSD Coupling Strong Strong Weak Interoperability High Weak High Message Exchange Patterns Request/Reply One Way “ One Way” Publish/Subscribe Publish/Subscribe
    20. 20. Agenda <ul><li>Introducing the Event Delivery Network (EDN) </li></ul><ul><li>Working with the EDN </li></ul><ul><li>Uses cases for EDN </li></ul><ul><li>Summary </li></ul>Oracle Event Delivery Network (EDN) Data are always part of the game.
    21. 21. Using PL/SQL to publish events to EDN <ul><li>Trigger publishes changes via the PL/SQL EDN API </li></ul><ul><ul><li>procedure EDN_PUBLISH_EVENT </li></ul></ul>Oracle Event Delivery Network (EDN)
    22. 22. Claim Check Pattern with EDN <ul><li>Instead of passing an event with a huge payload, only publish some key information through EDN </li></ul><ul><li>Potential subscribers enriches the event using an extra service call </li></ul>Oracle Event Delivery Network (EDN)
    23. 23. Event Normalizer <ul><li>Events have the same meaning, but follow different form </li></ul><ul><li>Use a Mediator to map these events into a “canonical” event </li></ul>Oracle Event Delivery Network (EDN)
    24. 24. Using the Java API to publish events to EDN <ul><li>Java API can be used to publish an event to EDN </li></ul><ul><li>See my blog “Using the event API to publish an event to EDN – the Spring way”: </li></ul><ul><ul><li> </li></ul></ul>Oracle Event Delivery Network (EDN)
    25. 25. Decoupling SOA domains through Events <ul><li>leads to Event-Driven SOA (ED-SOA) </li></ul>Oracle Event Delivery Network (EDN)
    26. 26. EDN, CEP and BAM – the event-driven enterprise <ul><li>EDA delivers real-time event processing for monitoring, analyzing, and acting on business process optimization </li></ul>Oracle Event Delivery Network (EDN) BAM Dashboards ADF (active RCF & DVT) Mobile Devices BAM CEP EDN SOA composite createSupplier Java (ADF, Spring) event Analytic Views Exception Alerts Integrated Actions Pattern Matching across - time - channels Context Enrichment Pub-Sub abstraction Declarative Rich subscription semantics event close loop JMS Source: Oracle
    27. 27. Agenda <ul><li>Introducing the Event Delivery Network (EDN) </li></ul><ul><li>Working with the EDN </li></ul><ul><li>Uses cases for EDN </li></ul><ul><li>Summary </li></ul>Oracle Event Delivery Network (EDN) Data are always part of the game.
    28. 28. Summary <ul><li>EDN brings the power of events to the SOA Suite 11g </li></ul><ul><li>Declarative way to work with events </li></ul><ul><li>Publish / Subscribe semantics without direct usage of JMS </li></ul><ul><li>Perfect extension to services </li></ul><ul><li>Allows for better decoupling in a SOA </li></ul><ul><li>Support for different programming environments </li></ul><ul><li>Leads to an Event-Driven SOA (ED-SOA) </li></ul>Oracle Event Delivery Network (EDN)
    29. 29. Thank you! DOAG SIG SOA Guido Schmutz, Technology Manager / Partner Trivadis AG 03.05.2010, Frankfurt