Mandas Deb S O Aand E D A Benefits And Best Practices V1
1. This Presentation Courtesy of the
International SOA Symposium
October 7-8, 2008 Amsterdam Arena
www.soasymposium.com
info@soasymposium.com
Founding Sponsors
Platinum Sponsors
Gold Sponsors Silver Sponsors
2.
3. <Insert Picture Here>
ED-SOA – Fusing Two Concepts ..
Benefits and Best Practices
Manas K. Deb, Ph.D., MBA, Sr. Director, FMW/SOA Suite
Clemens Utschig-Utschig, Sr. Principal Prod. Mgr., FMW/SOA Suite
4. The preceding is intended to outline our general
product direction. It is intended for information
purposes only, and may not be incorporated into any
contract. It is not a commitment to deliver any
material, code, or functionality, and should not be
relied upon in making purchasing decisions.
The development, release, and timing of any
features or functionality described for Oracle’s
products remains at the sole discretion of Oracle.
5. Session Agenda
<Insert Picture Here>
• Different Views of a Business
• SOA – Quick Recap
• Events and EDA
• Analysis of a Familiar Problem
• Combining SOA and EDA – Best Practice Essentials
• Concluding Remarks
9. Session Agenda
<Insert Picture Here>
• Different Views of a Business
• SOA – Quick Recap
• Events and EDA
• Analysis of a Familiar Problem
• Combining SOA and EDA – Best Practice Essentials
• Concluding Remarks
10. “SOA” – Why, How, and Where
Core Strategies, Key Benefits, and Applicability
Provides:
• Smaller Business-IT Gap
• Common semantics using “services” - core competencies
• Smaller project cycles – more opportunities
• Higher Business Agility/IT Flexibility at Lower Cost
• Mostly “assemble” - Re-use of services
• “Loosely-coupled” – lower consumer-provider dependency
• Clearer software/app building process (lower skill-set requirement)
• Better Operational Control
• Higher scalability and availability, “On-demand” services
• Better management and visibility, better SLAs
Highly Suitable For:
• Deterministic processes – orchestrations, choreography of end-points
• Transactional systems
• “Request-Reply” paradigms
• Application integration as well as Workflows and portals
12. Session Agenda
<Insert Picture Here>
• Different Views of a Business
• SOA – Quick Recap
• Events and EDA
• Analysis of a Familiar Problem
• Combining SOA and EDA – Best Practice Essentials
• Concluding Remarks
13. Events & EDA – Basics
Definitions & Characteristics
• Events and events processing
• A “signature” of an (expected) change in state
• Simple events -> Event processor -> Complex events
• In-stream processing versus queue or DB based processing
• Event processing graphs and networks versus rules engines
• Event-driven application
• An application that can consume/process/react to events
• Works in a very-loosely-coupled manner
• Event-Driven Architecture (EDA)
• An EA pattern that supports event-driven applications
• Some components may be similar to other paradigms
• Events versus (Traditional) Messages
• Events have many similarities to traditional messages
• No large payloads, context might be enriched in the processor
14. How Event-Driven Applications Work
The Basic Elements
• Way to represent events
(event objects – tuple/pojo/xml)
• Way to transport/route events
(service bus, messaging layer)
• Way to process (filter, aggregate, correlate) events – actionable events
(complex event processor)
• Way to engage business users in resulting events
(business activity monitoring, invoking processes/services/apps)
Generator
Complex Event
Event
Event
* * Event * Sink -
Object
Processor Service
* Enterprise Service Bus
15. EDA Foundation: An Event Server
Low Latency, Extreme High Throughput, small kernel
EDA Java Application Container
Data/Msg.
Data Feed Process Listener/SINK:
Feeds Adapters Events User Code
(CEP) (Plain Java)
Aggregate, correlate, filter data
Can Handle 1,000s of Queries
Incoming Data Streams Resulting Data fed to
1,000,000 Messages/Sec Latency
consumer
<1K message size < 1 Millisecond Latency (Avg.)
<5% data matches filter
10 Millisecond Latency (Max)
criteria
16. Session Agenda
<Insert Picture Here>
• Different Views of a Business
• SOA – Quick Recap
• Events and EDA
• Analysis of a Familiar Problem
• Combining SOA and EDA – Best Practice Essentials
• Concluding Remarks
17. Airline Operations –
A World of Services or Events?
Reservations and Ticketing
Reservations and Ticketing
Passenger Check-in
Passenger Check-in
Baggage Checked
Baggage Checked
Reservation Changed
Reservation Changed
……
Baggage Handling Flight Operations
Baggage Handling Flight Operations
Bag Scan Flight Open
Bag Scan Flight Open
Bag On Plane Flight Boarding
Bag On Plane Flight Boarding
Bag Off Plane Flight Delayed
Bag Off Plane Flight Delayed
… …
… …
18. A Familiar Problem
“Where are my bags?”
• Scenario:
• An airline passenger and his/her bag(s) are separated at check-in. Multiple
processes must interact to reunite them at the passenger’s destination.
• Sample processes
• Check-in counter, Security, Baggage handling, Gate operations, Flight operations
• Airport operations control (BAM) dashboard
• Customer service
• Ideal outcome
• Plane leaves on time, with passenger and bags loaded
• Possible exceptions
• Bag is lost between check-in and loading
• Passenger is delayed in security
• Bag contains hazardous material and is delayed
• Flight cancelled, passenger rerouted
• Customer changes plans after check-in
• …
19. Modeling the solution – Key Characteristics
Use SOA? Use EDA? Event-Driven/Enabled SOA?
• Airline passenger boarding problem is NOT one process/service
• It is a set of processes collaborating with each other
• Individual processes/services are either in apps or orchestrated
• Process/service collaboration
• Each process/service requesting status unnecessarily is undesirable
• Collaboration is “on-demand” and “sense-and-respond”
• Handle relevant events using event-enabled processes/services
Process Events
Check-in Passenger checked in, bag(s) checked
Security Passenger enters/exits security
Baggage handling Bag scanned at checkpoint, bag loaded into container
Gate operations Flight open, boarding, final boarding, closed
Flight operations Flight at gate, containers loaded, departure, take-off
Customer service Bag rechecked on new flight
20. Session Agenda
<Insert Picture Here>
• Different Views of a Business
• SOA – Quick Recap
• Events and EDA
• Analysis of a Familiar Problem
• Combining SOA and EDA – Event-Driven/Enabled SOA
• Concluding Remarks
21. EDA At Work Telecommunications &
Services
Telecommunications:
Distributed order orchestration
Transportation & Logistics:
Asset management
Transportation &
Logistics
Financial Services:
Algorithmic trading
Financial Services Manufacturing
Manufacturing:
‘Negative Working
Capital’ inventory
Public Sector & Military management
Defense:
• Intrusion detection systems
• Military asset allocation Insurance
Insurance:
Reponses to calamities –
earthquake, flooding
22. Four Classes of Event Processing in SOA
• Simple
• Publish/subscribe model
• Enterprise Service Bus
• Event processing for visibility
• Event-driven, real-time Dashboards and Alerts
• Business Activity Monitoring
• Complex event processing for decision making
• Automated, algorithmic decision making
• Event Stream/Complex Event Processors
• Event processing networks
• Distributed event processing across multiple nodes
• Distributed event networks/ event caches
23. ED-SOA, Where/How to do What ..
Questions: Number of incoming messages vs. outgoing; number of messages;
level of producer-consumer coupling; a-priori knowledge, etc.
Use-case Process-based Event-based
implementation implementation
An event that can happen several Only the final seat is interesting to
times (e.g. seat change) the process
A message within the flow that A callback from the event system The aggregation of several events
takes a different path because of into the process instance
the event (e.g., bag contains
hazardous material)
A set of (one-way) notifications Call to a service Reporting in business-activity
without a direct impact (e.g., monitoring (BAM)
passenger left check-in and
entered security screening)
Callout to services/ orchestration Only in the process!
Macro view: several events from A callback from the event system A set of atomic, single instances,
different process instances into the process instance with the outcome based on
leading to the final outcome (e.g., aggregation
all passengers have passed
through security screening)
24. Air Travel Example
Event-Driven SOA and Event-Driven Architecture (EDA)
Service Bus
Ticketing Reservations
check-in
Flight Operations bag-check Gate Operations
flight-open passenger-on
flight-boarding passenger-off
flight-closed
“Situational Awareness”
flight-push-back missing-bag
flight-wheels-up Event Server BAM flight-delay
statistics
CEP
Baggage Handling BPM/ BPEL lost-bag
Edge Device (RFID) WLRT
bag-tracking Legend
bag-in-container SOA Message
container-on-plane Event
25. Session Agenda
<Insert Picture Here>
• Different Views of a Business
• SOA – Quick Recap
• Events and EDA
• Analysis of a Familiar Problem
• Combining SOA and EDA – Event-Driven/Enabled SOA
• Concluding Remarks
26. Concluding Remarks
SOA + EDA – “2 + 2 > 4?”
• Should we care about a combined approach?
• Yes – many real-life problems are not amenable ONLY to one
• Combined strategies need systematic approach
• SOA and EDA are complementary
• SOA specializes in orchestrated, predefined logic/process
execution using request-reply communications
• Typical ED application uses (often anonymous) pub-sub,
processes very large number events very fast producing few
actionable events
• SOA+EDA provides the ability to create truly on-demand, sense-
and-respond applications with high business value
• Technology is ready – need solution-building experience