Wednesday, 14 May 2014

Event Driven Network(EDN) in Oracle SOA11g - Part 1


A nice new addition to OFM11g is the Event Delivery Network (EDN). 
This makes it possible to publish and subscribe to business events in a SOA composite application

Event Delivery Network allows publish-subscribe type of loose coupling between SCA components. 
Events carry information between SCA Components – without direct dependencies or interaction between these components. Events are published by components in a fire-and-forget style into the Event Delivery Network. This EDN will make the events available to any subscribers to the event. These subscribers for now are all Mediator components. If no subscribers are found, the event goes nowhere from the EDN. That’s life in an Event Driven Architecture.

Events are messages that are not targeted at a specific consumer. Any component with an interest in specific business events can subscribe as a listener for these events with the event handler infrastructure. Whenever an event of a certain business event type is passed to the event handler, it will publish the event to all subscribed listeners. The consumers of the event do not need to know where the event originated and how it has been delivered to them.

The complete absence of a link between the event publishers and the event consumers is the main attraction of the usage of events and event drive architecture patterns. Collaboration without any dependencies is almost an architect's Holy Grail.

Events in the Oracle SOA Suite: EDN and BPEL

The Oracle SOA Suite 11g ships with an event handler infrastructure that is the intermediary for publishers of business events as well as the consumers of such events. This infrastructure is called the Event Delivery Network (EDN). Note: on a more technical level and with more development effort, JMS and AQ can also be used to work with events in SCA Composite applications.
One of the components that can subscribe with the EDN on specific events is BPEL. Mediator and BPMN are the other potential subscribers to EDN events. A BPEL process can receive EDN events in one of two ways:
·        1- The event causes a new BPEL process instance to be created
·        2-The event is consumed into a running BPEL process instance
If a business condition is recognized as one corresponding to a predefined business event, the event is published. What should happen in response to the event, where and by which actors, is invisible and even irrelevant to the publisher of the event.