Mandas Deb S O Aand E D A Benefits And Best Practices V1
-
Upload
soa-symposium -
Category
Technology
-
view
645 -
download
0
description
Transcript of Mandas Deb S O Aand E D A Benefits And Best Practices V1
Founding Sponsors
This Presentation Courtesy of the
International SOA Symposium
October 7-8, 2008 Amsterdam Arena
www.soasymposium.com
Gold Sponsors
Platinum Sponsors
Silver Sponsors
<Insert Picture Here>
ED-SOA – Fusing Two Concepts ..Benefits and Best PracticesManas K. Deb, Ph.D., MBA, Sr. Director, FMW/SOA SuiteClemens Utschig-Utschig, Sr. Principal Prod. Mgr., FMW/SOA Suite
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.
<Insert Picture Here>
Session Agenda
• 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
Business as Functions
ManufacturingFinance Sales
ERP
DB
CRM
Business as Processes
ERP
DB
CRM
FinanceManufacturing
Sales
Business as Events
ERP
DB
CRM
FinanceManufacturing
Sales
<Insert Picture Here>
Session Agenda
• 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
“SOA” – Why, How, and WhereCore 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
SOA Reference Architecture Planning SOA As An Enterprise Architecture Pattern
<Insert Picture Here>
Session Agenda
• 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
Events & EDA – BasicsDefinitions & 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
How Event-Driven Applications WorkThe 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)
ComplexEvent
Processor
Event Sink -
Service
EventObject
Even
t G
ener
ator
* * *
Enterprise Service Bus*
EDA Foundation: An Event ServerLow Latency, Extreme High Throughput, small kernel
Data/Msg.Feeds Listener/SINK:
User Code(Plain Java)
Data Feed Adapters
ProcessEvents(CEP)
Incoming Data Streams1,000,000 Messages/Sec
<1K message size
Aggregate, correlate, filter dataCan Handle 1,000s of Queries
Resulting Data fed to consumer
<5% data matches filter criteria
Latency< 1 Millisecond Latency (Avg.)10 Millisecond Latency (Max)
EDA Java Application Container
<Insert Picture Here>
Session Agenda
• 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
Airline Operations –A World of Services or Events?
Reservations and TicketingPassenger Check-inBaggage Checked
Reservation Changed…
Reservations and TicketingPassenger Check-inBaggage Checked
Reservation Changed…
Flight OperationsFlight Open
Flight BoardingFlight Delayed
…
Flight OperationsFlight Open
Flight BoardingFlight Delayed
…
Baggage HandlingBag Scan
Bag On PlaneBag Off Plane
…
Baggage HandlingBag Scan
Bag On PlaneBag Off Plane
…
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• …
Modeling the solution – Key CharacteristicsUse 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
Bag rechecked on new flightCustomer service
Flight at gate, containers loaded, departure, take-offFlight operations
Flight open, boarding, final boarding, closedGate operations
Bag scanned at checkpoint, bag loaded into containerBaggage handling
Passenger enters/exits securitySecurity
Passenger checked in, bag(s) checkedCheck-in
EventsProcess
<Insert Picture Here>
Session Agenda
• 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
EDA At Work
Financial Services
Transportation & Logistics
Public Sector & Military
Manufacturing
Insurance
Telecommunications & Services
Financial Services:Algorithmic trading
Transportation & Logistics:Asset management
Telecommunications:Distributed order orchestration
Manufacturing:‘Negative Working Capital’ inventory management
Insurance:Reponses to calamities –earthquake, flooding
Defense:• Intrusion detection systems• Military asset allocation
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
ED-SOA, Where/How to do What ..
Use-case Process-based implementation
Event-based implementation
An event that can happen several times (e.g. seat change)
Only the final seat is interesting to the process
A message within the flow that takes a different path because of the event (e.g., bag contains hazardous material)
A callback from the event system into the process instance
The aggregation of several events
A set of (one-way) notifications without a direct impact (e.g., passenger left check-in and entered security screening)
Call to a service Reporting in business-activity monitoring (BAM)
Callout to services/ orchestration Only in the process!
Macro view: several events from different process instances leading to the final outcome (e.g., all passengers have passed through security screening)
A callback from the event system into the process instance
A set of atomic, single instances, with the outcome based on aggregation
Questions: Number of incoming messages vs. outgoing; number of messages;
level of producer-consumer coupling; a-priori knowledge, etc.
Air Travel ExampleEvent-Driven SOA and Event-Driven Architecture (EDA)
“Situational Awareness”
Ticketing Reservations
bag-trackingbag-in-containercontainer-on-plane
Gate OperationsFlight Operations
Baggage Handling
missing-bagflight-delaystatistics
BAM
flight-openflight-boardingflight-closedflight-push-backflight-wheels-up
BPM/ BPEL
passenger-onpassenger-off
lost-bag
Event Server
WLRT
CEP
check-inbag-check
SOA Message
Event
Legend
Service Bus
Edge Device (RFID)
<Insert Picture Here>
Session Agenda
• 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
Concluding RemarksSOA + 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