• Save
Kaleidoscope 2011 - Overview of Eventing in Oracle SOA Suite 11g
Upcoming SlideShare
Loading in...5
×
 

Kaleidoscope 2011 - Overview of Eventing in Oracle SOA Suite 11g

on

  • 5,875 views

Services and events are highly complementary instead of competing paradigms in the ICT landscape. Oracle SOA Suite 11g emphasizes the importance of events by introducing the Event Delivery Network (or ...

Services and events are highly complementary instead of competing paradigms in the ICT landscape. Oracle SOA Suite 11g emphasizes the importance of events by introducing the Event Delivery Network (or EDN) into the SCA infrastructure. This session provides an introduction of eventing in SOA Suite 11g. It will start by explaining the basics of events [also with respect to services], introduce several messaging patterns such as fire-and-forget and publish/subscribe, and explain some real life examples of using events in an SOA landscape. It will then dive into the underlying eventing infrastructure of Oracle WebLogic Server 11g and Oracle SOA Suite 11g that is based on JMS and AQ, and demo their use both inside and outside SCA composites using resource adapters, PL/SQL, and Java. The session will finish with the introduction of Oracle SOA Suite 11g’s EDN and the use of (composite) sensors in SCA composites.

Statistics

Views

Total Views
5,875
Views on SlideShare
5,452
Embed Views
423

Actions

Likes
2
Downloads
0
Comments
0

3 Embeds 423

http://blog.vennster.nl 421
http://www.slideshare.net 1
http://translate.googleusercontent.com 1

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
  • Overview  not much details, but can ask questions
  • Example: Abandoned shopping cart Event is also called notification, change in state EDA is an architecture-style/pattern based around events Contract: e.g. durable, interface: headers + body (payload)  small payload/claim check pattern Producer is unaware of consumer  big difference with non-eventing paradigms Other types of events: non-event, Events can be time-based, e.g. end of the month that triggers billing process
  • SOA often about services that are orchestrated into processes  formal contracts Rijkswaterstaat Corporate Dienst
  • Rijkswaterstaat Corporate Dienst
  • Using events keeps processes and services decoupled from each other (see Figure 4). There are several patterns you can use for this: publish-subscribe, blackboard, fire and forget, and so on. BPM tools like Oracle BPM and Oracle BPEL Process Manager have built in constructs to handle events or notifications. In Oracle BPM Suite, you can use the built in “Message Wait” event to handle an incoming event. In Oracle BPEL PM you can define an event handler:   < .. /> Correctly handling the occurrence of an exceptional event is often very hard to design for several reasons:   Exceptions are hard to predict, and can occur any time in the process. To handle the exception, a lot of detailed information about the current situation is necessary. Handling the exception often means that actions need to be undone, so this is a process in itself It is better to monitor the occurrence, let the knowledge worker handle the event and analyze the cause of these exceptions using BI and BAM. When you have gathered information about the nature and cause of the exception, you can start optimizing the process to avoid the exceptions and improve the business process. Ultimately, that is what business process management is about: managing your process in an effective and efficient way, not over-designing every possible outcome. Rijkswaterstaat Corporate Dienst
  • 3rd party MOM: MQ Series Others: e.g. polling changed database records Debatching
  • Queue: dequeue order (e.g. priority) Special cases: Request/reply queue & Error queue Durability Transaction Delivery (guaranteed, duplicates) Correlation
  • Payload type: Raw, Oracle Object (ADT)  JMS Type not supported Filtering: Dequeue condition example: amount > 10,000
  • Publish/subscribe: topic Durability
  • MDB: durable
  • Publish/subscribe : all revisions of a SOA Composite are subscribed to an event  change from AQ and JMS Stopping older revisions means in-flight receives won’t work MDS
  • Multiple versions composite  EDN
  • Notable versus ordinary events CEP is about detecting patterns in event streams. Examples: Church bells, rice, man in tuxedo, woman in white gown  wedding Car warning you’re falling asleep Applicance: fraud, banking, and so on Important: time and/or location dimension! E.g. no wedding when events occur lots of time apart
  • Fire-and-forget: publisher does not care what happens with the event, publisher also is not influenced by publishing the event * Nog te noemen  Paintboard/blackboard
  • Synchronicity indicates whether the client is blocked or not after sending the request and receiving the response Publisher knows subscriber  also in onEvent (in-flight receive)
  • Asynchronous not always a goal on itself: example of ordering Chinese food
  • Composite sensor: also for fault handling Sensor: also for additional autorisation
  • Not only events  have overhead
  • This is the final slide of the presentation.

Kaleidoscope 2011 - Overview of Eventing in Oracle SOA Suite 11g Kaleidoscope 2011 - Overview of Eventing in Oracle SOA Suite 11g Presentation Transcript

  • Overview of Eventing in Oracle SOA Suite 11g Ronald van Luttikhuizen Vennster
  • Abstract
    • Services and events are highly complementary instead of competing paradigms in the ICT landscape. Oracle SOA Suite 11g emphasizes the importance of events by introducing the Event Delivery Network (or EDN) into the SCA infrastructure. This session provides an introduction of eventing in SOA Suite 11g. It will start by explaining the basics of events [also with respect to services], introduce several messaging patterns such as fire-and-forget and publish/subscribe, and explain some real life examples of using events in an SOA landscape. It will then dive into the underlying eventing infrastructure of Oracle WebLogic Server 11g and Oracle SOA Suite 11g that is based on JMS and AQ, and demo their use both inside and outside SCA composites using resource adapters, PL/SQL, and Java. The session will finish with the introduction of Oracle SOA Suite 11g’s EDN and the use of (composite) sensors in SCA composites.
  • Agenda
    • What is eventing and why use it?
    • Scenario
      • Patterns, implementation & demos
    • Summary and Best Practices
  • What are events?
    • Event is the occurrence of something relevant that usually requires action
      • Business: customer has moved, new employee
      • Technology: server down, response time above threshold
    • Producer, consumer
    • Contract, interface, and implementation
  • Why use events in SOA?
    • Case Organization modeling notifications in processes.
    • Mistake Dependencies between processes modeled directly in the processes itself.
    • Explanation Process flow sometimes is influenced by other processes. This was modeled into every process: this makes processes tightly coupled to each other and hard to change. It resulted in deadlocks.
  • Case: Explanation
  • Case: Best Practice
  • Why eventing?
    • Business
      • Businesses are about events
      • Better communication with business stakeholders
    • Technology
      • Decoupling
      • Different rates of processing speed
      • Different up-times
      • Easier release management
  • Agenda
    • What is eventing and why use it?
    • Scenario
      • Patterns, implementation & demo
    • Summary and Best Practices
  • Scenario “Order2Cash” Order2Cash Webshop CRM Billing Dunning payment evt order evt billing evt dunning evt Chat order evt
  • Implementation/channel
    • AQ
    • JMS
    • EDN
    • Sensors
    • Others: Oracle CEP, 3rd party MOM, mail, file, Twitter, polling, custom-built, Java Action Listeners, and so on …
  • Messaging patterns
    • Queueing
    • Publish-subscribe
    • Complex-event processing
    • Fire-and-forget
    Consumer Producer
  • Advanced Queuing (AQ)
    • Oracle Database
    • Payload
    • PL/SQL interface, AQ Resource Adapter
    • Single vs. multi-consumer
    • Transactionality
    • Filtering
    • Correlation
  • Creation of AQ schema and objects
    • CREATE USER jmsuser IDENTIFIED BY jmsuser;
    • GRANT CONNECT, RESOURCE, AQ_ADMINISTRATOR_ROLE, AQ_USER_ROLE to jmsuser;
    • GRANT EXECUTE ON DBMS_AQADM TO jmsuser;
    • GRANT EXECUTE ON DBMS_AQ TO jmsuser;
    • DBMS_AQADM.CREATE_QUEUE_TABLE(
    • Queue_table => ‘JMSUSER.NEW_CUST_ADDRESS_QT’,
    • Queue_payload_type => ‘SYS.XMLTYPE’,
    • Sort_list => ‘PRIORITY, ENQ_TIME’,
    • Multiple_consumers => ‘TRUE’);
    • DBMS_AQADM.CREATE_QUEUE(
    • Queue_name => 'JMSUSER.NEW_CUST_ADDRESS_QUEUE',
    • Queue_table => 'JMSUSER.NEW_CUST_ADDRESS_QT',
    • Max_retries => 5,
    • Retention_time => 10512000,
    • Retry_delay => 5);
    • DBMS_AQADM.START_QUEUE(Queue_name => 'JMSUSER.NEW_CUST_ADDRESS_QUEUE');
  • Demo AQ
    • New order request inserted in Webshop Database with trigger that publishes event
    • Start of SOA Composite Order2Cash instance through AQ Adapter
    • Stopping SOA Composite and insert new order
    Webshop Database SOA Composite Order2Cash AQ queue New Order Chat
  • Messaging patterns
    • Queueing
    • Publish/subscribe
    • Complex-event processing
    • Fire-and-forget
    Consumer Producer Consumer Consumer
  • Java Message Service (JMS)
    • Application server such as WebLogic Server
    • In-memory and file-based
    • Queues and topics
    • Java, MDB, JMS Resource Adapter
    • Transactionality
    • Filtering
    • Correlation
    • Hybrid: JMS over AQ
  • Demo JMS
    • SOA Composite Order2Cash publishes new billing event through JMS Topic
    • SOA Composite Billing generates invoice
    • Java CRM Application stores billing info with customer records
    SOA Composite Order2Cash JMS topic SOA Composite BillingService Java CRM Application
  • Event Delivery Network (EDN)
    • SOA Suite 11g
    • Light-weight framework on top of AQ or JMS; EDN-DB and EDN-JMS
    • Technology-neutral and declarative
    • XML Payload (Event Definition Language)
    • Publish/subscribe
    • Filtering
    • ADF BC, PL/SQL API and Java API
  • Demo EDN
    • SOA Composite Order2Cash publishes dunning event through EDN; SOA Composite DunningService is subscribed and started
    • Publication of payment event through EM correlated to Order2Cash
    SOA Composite Order2Cash SOA Composite DunningService EDN
  • Messaging patterns
    • Queueing
    • Publish/subscribe
    • Complex-event processing
    • Fire-and-forget
    Producer Producer Producer Engine
  • Messaging patterns
    • Queueing
    • Publish/subscribe
    • Complex-event processing
    • Fire-and-forget
    Producer ?
  • Eventing and synchronicity
    • Asynchronocity can also be achieved without eventing; eventing is often more decoupled
  • Eventing and synchronicity (II)
    • Eventing usually is asynchronous; but not necessarily
    Product DB Request Q Response Q ProductWS
  • Sensors
    • Publish relevant process data in SOA Suite 11g
    • BAM
    • JMS, Database, Custom
    • Also: Composite Sensors
  • Demo sensors and composite sensors
    • Composite sensor to capture relevant data
    • Sensor to notify other systems that human task is started and completed
  • Agenda
    • What is eventing and why use it?
    • Scenario
      • Patterns, implementation & demos
    • Summary and Best practices
  • Summary & best practices
    • SOA is not only about (synchronous) services; also events
    • Model events in BPM/SOA efforts, use events to notify running processes
    • Use events for decoupling
    • Not just queuing, also pub/sub
    • Expand service registry to include events
    • Not a single best technology
  • Overview of Eventing in Oracle SOA Suite 11g Please Fill Out Your Evaluations Ronald van Luttikhuizen Managing Partner @ Vennster, Oracle ACE Director for FMW & SOA Vennster, Netherland